From 333b46265af7719b8809cf7944f5e306cf12611113633357e7c2ca7f175b5940 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Wed, 1 Jun 2016 10:25:35 +0000 Subject: [PATCH 1/5] - Remove framebuffer support bsc#980750 and bsc#982226 OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=173 --- plymouth.changes | 5 +++++ plymouth.spec | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/plymouth.changes b/plymouth.changes index 0fa0353..02794cd 100644 --- a/plymouth.changes +++ b/plymouth.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Jun 1 10:20:05 UTC 2016 - idonmez@suse.com + +- Remove framebuffer support bsc#980750 and bsc#982226 + ------------------------------------------------------------------- Mon Feb 8 15:00:06 UTC 2016 - fvogt@suse.com diff --git a/plymouth.spec b/plymouth.spec index 71c9ead..391b25b 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -412,6 +412,9 @@ cp $RPM_SOURCE_DIR/boot-duration %{buildroot}%{_datadir}/plymouth/default-boot-d cp $RPM_SOURCE_DIR/boot-duration %{buildroot}%{_localstatedir}/lib/plymouth cp %{buildroot}/%{_datadir}/plymouth/plymouthd.defaults %{buildroot}/%{_sysconfdir}/plymouth/plymouthd.conf +# Remove framebuffer support, bsc#980750 +rm %{buildroot}%{_libdir}/plymouth/renderers/frame-buffer.so + %post %{?regenerate_initrd_post} if [ ! -e /.buildenv ]; then @@ -530,7 +533,6 @@ fi %{_libdir}/plymouth/details.so %{_libdir}/plymouth/text.so %{_libdir}/plymouth/renderers/drm* -%{_libdir}/plymouth/renderers/frame-buffer* %{_datadir}/plymouth/default-boot-duration %{_datadir}/plymouth/themes/details/details.plymouth %{_datadir}/plymouth/themes/text/text.plymouth From dbc5b1774fe3da37eeaeb14365163df37950d5778d3c5802f01942e89a7080d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Thu, 1 Sep 2016 08:35:45 +0000 Subject: [PATCH 2/5] Accepting request 416896 from home:scarabeus_iv:branches:Base:System - Sort out with spec-cleaner and move all buildrequires to main scope not to subpkgs, sometimes interpreted wrongly by rpm if it is split - Reduce patches list removing merged upstream (bit differently tho): * 0001-seats-guard-against-NULL-terminal.patch * fix-serial-consoles.patch * plymouth-boot-vga-framebuffer.patch - Refresh patches: * 0001-let-it-become-a-real-daemon.patch - Update to version 0.9.2+git20160620.0e65b86: * configure: tweak defaults to be more systemd friendly * text: don't draw if not animating * terminal: always open terminal in non-blocking mode * device-manager: probe existing DRM devices at startup * drm: don't pick up drm master implicitly * terminal: refresh geometry after drm device arrives * logger: stop using carriage returns * build-goo: don't install systemd units during distcheck * systemd-units: Fix uninstall script * configure: switch to tar.xz instead tar.bz2 OBS-URL: https://build.opensuse.org/request/show/416896 OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=174 --- 0001-let-it-become-a-real-daemon.patch | 71 +++++++++-------- 0001-seats-guard-against-NULL-terminal.patch | 64 --------------- _service | 14 ++++ fix-serial-consoles.patch | 83 -------------------- plymouth-0.9.2+git20160620.0e65b86.tar.xz | 3 + plymouth-0.9.2.tar.bz2 | 3 - plymouth-boot-vga-framebuffer.patch | 19 ----- plymouth.changes | 31 ++++++++ plymouth.spec | 80 ++++++++----------- 9 files changed, 116 insertions(+), 252 deletions(-) delete mode 100644 0001-seats-guard-against-NULL-terminal.patch create mode 100644 _service delete mode 100644 fix-serial-consoles.patch create mode 100644 plymouth-0.9.2+git20160620.0e65b86.tar.xz delete mode 100644 plymouth-0.9.2.tar.bz2 delete mode 100644 plymouth-boot-vga-framebuffer.patch diff --git a/0001-let-it-become-a-real-daemon.patch b/0001-let-it-become-a-real-daemon.patch index dca4eed..bc635b8 100644 --- a/0001-let-it-become-a-real-daemon.patch +++ b/0001-let-it-become-a-real-daemon.patch @@ -13,13 +13,13 @@ well restore the system console. plymouth-0.9.0/src/main.c | 42 +++++++------ 5 files changed, 43 insertions(+), 18 deletions(-) -Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c +Index: plymouth-0.9.2+git20160620.0e65b86/src/libply-splash-core/ply-device-manager.c =================================================================== ---- plymouth-0.9.2.orig/src/libply-splash-core/ply-device-manager.c -+++ plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c -@@ -926,3 +926,12 @@ ply_device_manager_deactivate_keyboards - node = next_node; - } +--- plymouth-0.9.2+git20160620.0e65b86.orig/src/libply-splash-core/ply-device-manager.c ++++ plymouth-0.9.2+git20160620.0e65b86/src/libply-splash-core/ply-device-manager.c +@@ -949,3 +949,12 @@ ply_device_manager_deactivate_keyboards + + manager->keyboards_activated = false; } + +void @@ -30,11 +30,11 @@ Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c + ply_terminal_close, + manager); +} -Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.h +Index: plymouth-0.9.2+git20160620.0e65b86/src/libply-splash-core/ply-device-manager.h =================================================================== ---- plymouth-0.9.2.orig/src/libply-splash-core/ply-device-manager.h -+++ plymouth-0.9.2/src/libply-splash-core/ply-device-manager.h -@@ -52,6 +52,7 @@ void ply_device_manager_deactivate_keybo +--- plymouth-0.9.2+git20160620.0e65b86.orig/src/libply-splash-core/ply-device-manager.h ++++ plymouth-0.9.2+git20160620.0e65b86/src/libply-splash-core/ply-device-manager.h +@@ -65,6 +65,7 @@ void ply_device_manager_deactivate_keybo void ply_device_manager_activate_renderers (ply_device_manager_t *manager); void ply_device_manager_deactivate_renderers (ply_device_manager_t *manager); ply_terminal_t *ply_device_manager_get_default_terminal (ply_device_manager_t *manager); @@ -42,10 +42,10 @@ Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.h #endif -Index: plymouth-0.9.2/src/libply/ply-utils.c +Index: plymouth-0.9.2+git20160620.0e65b86/src/libply/ply-utils.c =================================================================== ---- plymouth-0.9.2.orig/src/libply/ply-utils.c -+++ plymouth-0.9.2/src/libply/ply-utils.c +--- plymouth-0.9.2+git20160620.0e65b86.orig/src/libply/ply-utils.c ++++ plymouth-0.9.2+git20160620.0e65b86/src/libply/ply-utils.c @@ -77,6 +77,7 @@ static int errno_stack[PLY_ERRNO_STACK_SIZE]; @@ -54,7 +54,7 @@ Index: plymouth-0.9.2/src/libply/ply-utils.c bool ply_open_unidirectional_pipe (int *sender_fd, -@@ -771,6 +772,7 @@ ply_create_daemon (void) +@@ -794,6 +795,7 @@ ply_create_daemon (void) if (!ply_read (receiver_fd, &byte, sizeof(uint8_t))) { int read_error = errno; int status; @@ -62,7 +62,7 @@ Index: plymouth-0.9.2/src/libply/ply-utils.c if (waitpid (pid, &status, WNOHANG) <= 0) ply_error ("failed to read status from child immediately after starting to daemonize: %s", strerror (read_error)); -@@ -811,6 +813,9 @@ ply_detach_daemon (ply_daemon_handle_t * +@@ -834,6 +836,9 @@ ply_detach_daemon (ply_daemon_handle_t * close (sender_fd); free (handle); @@ -72,10 +72,10 @@ Index: plymouth-0.9.2/src/libply/ply-utils.c return true; } -Index: plymouth-0.9.2/src/libply/ply-terminal-session.c +Index: plymouth-0.9.2+git20160620.0e65b86/src/libply/ply-terminal-session.c =================================================================== ---- plymouth-0.9.2.orig/src/libply/ply-terminal-session.c -+++ plymouth-0.9.2/src/libply/ply-terminal-session.c +--- plymouth-0.9.2+git20160620.0e65b86.orig/src/libply/ply-terminal-session.c ++++ plymouth-0.9.2+git20160620.0e65b86/src/libply/ply-terminal-session.c @@ -187,6 +187,12 @@ ply_terminal_session_redirect_console (p assert (terminal_name != NULL); @@ -89,28 +89,28 @@ Index: plymouth-0.9.2/src/libply/ply-terminal-session.c fd = open (terminal_name, O_RDWR | O_NOCTTY); if (fd < 0) -Index: plymouth-0.9.2/src/main.c +Index: plymouth-0.9.2+git20160620.0e65b86/src/main.c =================================================================== ---- plymouth-0.9.2.orig/src/main.c -+++ plymouth-0.9.2/src/main.c -@@ -1026,6 +1026,7 @@ on_seat_added (state_t *state, - on_enter, state); +--- plymouth-0.9.2+git20160620.0e65b86.orig/src/main.c ++++ plymouth-0.9.2+git20160620.0e65b86/src/main.c +@@ -1083,6 +1083,7 @@ on_text_display_removed (state_t + ply_boot_splash_remove_text_display (state->boot_splash, display); } +static ply_device_manager_t *manager; static void load_devices (state_t *state, ply_device_manager_flags_t flags) -@@ -1033,6 +1034,8 @@ load_devices (state_t +@@ -1090,6 +1091,8 @@ load_devices (state_t state->device_manager = ply_device_manager_new (state->default_tty, flags); state->local_console_terminal = ply_device_manager_get_default_terminal (state->device_manager); + manager = state->device_manager; + - ply_device_manager_watch_seats (state->device_manager, - (ply_seat_added_handler_t) - on_seat_added, -@@ -1058,6 +1061,7 @@ quit_splash (state_t *state) + ply_device_manager_watch_devices (state->device_manager, + state->device_timeout, + (ply_keyboard_added_handler_t) +@@ -1128,6 +1131,7 @@ quit_splash (state_t *state) ply_trace ("Not retaining splash, so deallocating VT"); ply_terminal_deactivate_vt (state->local_console_terminal); ply_terminal_close (state->local_console_terminal); @@ -118,7 +118,7 @@ Index: plymouth-0.9.2/src/main.c } } -@@ -1974,25 +1978,20 @@ dump_debug_buffer_to_file (void) +@@ -2073,28 +2077,20 @@ dump_debug_buffer_to_file (void) #include #include static void @@ -127,14 +127,17 @@ Index: plymouth-0.9.2/src/main.c { - struct termios term_attributes; int fd; - +- static const char *show_cursor_sequence = "\033[?25h"; +- - fd = open ("/dev/tty1", O_RDWR | O_NOCTTY); - if (fd < 0) fd = open ("/dev/hvc0", O_RDWR | O_NOCTTY); - - ioctl (fd, KDSETMODE, KD_TEXT); - -- tcgetattr (fd, &term_attributes); +- write (fd, show_cursor_sequence, sizeof (show_cursor_sequence) - 1); - +- tcgetattr (fd, &term_attributes); + - term_attributes.c_iflag |= BRKINT | IGNPAR | ICRNL | IXON; - term_attributes.c_oflag |= OPOST; - term_attributes.c_lflag |= ECHO | ICANON | ISIG | IEXTEN; @@ -154,7 +157,7 @@ Index: plymouth-0.9.2/src/main.c if (debug_buffer != NULL) { dump_debug_buffer_to_file (); -@@ -2005,7 +2004,6 @@ on_crash (int signum) +@@ -2107,7 +2103,6 @@ on_crash (int signum) pid_file = NULL; } @@ -162,7 +165,7 @@ Index: plymouth-0.9.2/src/main.c raise (signum); } -@@ -2039,6 +2037,7 @@ main (int argc, +@@ -2141,6 +2136,7 @@ main (int argc, char *kernel_command_line = NULL; char *tty = NULL; ply_device_manager_flags_t device_manager_flags = PLY_DEVICE_MANAGER_FLAGS_NONE; @@ -170,7 +173,7 @@ Index: plymouth-0.9.2/src/main.c state.start_time = ply_get_timestamp (); state.command_parser = ply_command_parser_new ("plymouthd", "Splash server"); -@@ -2141,8 +2140,13 @@ main (int argc, +@@ -2243,8 +2239,13 @@ main (int argc, if (debug) debug_buffer = ply_buffer_new (); diff --git a/0001-seats-guard-against-NULL-terminal.patch b/0001-seats-guard-against-NULL-terminal.patch deleted file mode 100644 index 8a01f00..0000000 --- a/0001-seats-guard-against-NULL-terminal.patch +++ /dev/null @@ -1,64 +0,0 @@ -From a6eff09852c2eb4d684526b814d2b2df578938d0 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Thu, 12 Jun 2014 18:51:24 +0200 -Subject: [PATCH] seats: guard against NULL terminal - ---- - src/libply-splash-core/ply-keyboard.c | 7 +++++-- - src/libply-splash-core/ply-seat.c | 6 +++--- - src/libply-splash-core/ply-terminal.c | 11 +++++++---- - 3 files changed, 15 insertions(+), 9 deletions(-) - -Index: plymouth-0.9.2/src/libply-splash-core/ply-seat.c -=================================================================== ---- plymouth-0.9.2.orig/src/libply-splash-core/ply-seat.c -+++ plymouth-0.9.2/src/libply-splash-core/ply-seat.c -@@ -101,10 +101,10 @@ add_text_displays (ply_seat_t *seat) - { - ply_text_display_t *display; - -- if (!ply_terminal_is_open (seat->terminal)) { -- if (!ply_terminal_open (seat->terminal)) { -+ if (!seat->terminal || !ply_terminal_is_open (seat->terminal)) { -+ if (!seat->terminal || !ply_terminal_open (seat->terminal)) { - ply_trace ("could not add terminal %s: %m", -- ply_terminal_get_name (seat->terminal)); -+ seat->terminal ? ply_terminal_get_name (seat->terminal) : "none"); - return; - } - } -Index: plymouth-0.9.2/src/libply-splash-core/ply-terminal.c -=================================================================== ---- plymouth-0.9.2.orig/src/libply-splash-core/ply-terminal.c -+++ plymouth-0.9.2/src/libply-splash-core/ply-terminal.c -@@ -639,24 +639,27 @@ ply_terminal_get_fd (ply_terminal_t *ter - bool - ply_terminal_is_vt (ply_terminal_t *terminal) - { -- return terminal->vt_number > 0; -+ return terminal ? terminal->vt_number > 0 : false; - } - - bool - ply_terminal_is_open (ply_terminal_t *terminal) - { -- return terminal->is_open; -+ return terminal ? terminal->is_open : false; - } - - bool - ply_terminal_is_active (ply_terminal_t *terminal) - { -- return terminal->is_active; -+ return terminal ? terminal->is_active : false; - } - - void - ply_terminal_close (ply_terminal_t *terminal) - { -+ if (!terminal) -+ return; -+ - if (!terminal->is_open) { - ply_trace ("terminal %s is already closed", terminal->name); - return; diff --git a/_service b/_service new file mode 100644 index 0000000..1cfc5b1 --- /dev/null +++ b/_service @@ -0,0 +1,14 @@ + + + git://anongit.freedesktop.org/plymouth + git + enable + plymouth + 0.9.2+git%cd.%h + + + *.tar + xz + + + diff --git a/fix-serial-consoles.patch b/fix-serial-consoles.patch deleted file mode 100644 index d104151..0000000 --- a/fix-serial-consoles.patch +++ /dev/null @@ -1,83 +0,0 @@ -Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c -=================================================================== ---- plymouth-0.9.2.orig/src/libply-splash-core/ply-device-manager.c -+++ plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c -@@ -62,6 +62,7 @@ struct _ply_device_manager - ply_seat_added_handler_t seat_added_handler; - ply_seat_removed_handler_t seat_removed_handler; - void *seat_event_handler_data; -+ bool has_serial_consoles; - }; - - static void -@@ -501,6 +502,7 @@ ply_device_manager_new (const char - manager->loop = NULL; - manager->terminals = ply_hashtable_new (ply_hashtable_string_hash, ply_hashtable_string_compare); - manager->local_console_terminal = ply_terminal_new (default_tty); -+ manager->has_serial_consoles = false; - ply_hashtable_insert (manager->terminals, - (void *) ply_terminal_get_name (manager->local_console_terminal), - manager->local_console_terminal); -@@ -663,18 +665,16 @@ create_seat_for_terminal (const char - static bool - create_seats_from_terminals (ply_device_manager_t *manager) - { -- bool has_serial_consoles; -- - ply_trace ("checking for consoles"); - - if (manager->flags & PLY_DEVICE_MANAGER_FLAGS_IGNORE_SERIAL_CONSOLES) { -- has_serial_consoles = false; -+ manager->has_serial_consoles = false; - ply_trace ("ignoring all consoles but default console because explicitly told to."); - } else { -- has_serial_consoles = add_consoles_from_file (manager, "/sys/class/tty/console/active"); -+ manager->has_serial_consoles = add_consoles_from_file (manager, "/sys/class/tty/console/active"); - } - -- if (has_serial_consoles) { -+ if (manager->has_serial_consoles) { - ply_trace ("serial consoles detected, managing them with details forced"); - ply_hashtable_foreach (manager->terminals, - (ply_hashtable_foreach_func_t *) -@@ -821,6 +821,15 @@ ply_device_manager_has_open_seats (ply_d - return false; - } - -+bool -+ply_device_manager_has_serial_consoles (ply_device_manager_t *manager) -+{ -+ if (manager) -+ return manager->has_serial_consoles; -+ else -+ return false; -+} -+ - ply_list_t * - ply_device_manager_get_seats (ply_device_manager_t *manager) - { -Index: plymouth-0.9.2/src/main.c -=================================================================== ---- plymouth-0.9.2.orig/src/main.c -+++ plymouth-0.9.2/src/main.c -@@ -854,7 +854,7 @@ plymouth_should_show_default_splash (sta - }; - int i; - -- if (state->should_force_details) -+ if (ply_device_manager_has_serial_consoles(state->device_manager) || state->should_force_details) - return false; - - for (i = 0; strings[i] != NULL; i++) { -Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.h -=================================================================== ---- plymouth-0.9.2.orig/src/libply-splash-core/ply-device-manager.h -+++ plymouth-0.9.2/src/libply-splash-core/ply-device-manager.h -@@ -44,6 +44,7 @@ void ply_device_manager_watch_seats (ply - ply_seat_removed_handler_t seat_removed_handler, - void *data); - bool ply_device_manager_has_open_seats (ply_device_manager_t *manager); -+bool ply_device_manager_has_serial_consoles (ply_device_manager_t *manager); - ply_list_t *ply_device_manager_get_seats (ply_device_manager_t *manager); - void ply_device_manager_free (ply_device_manager_t *manager); - void ply_device_manager_activate_keyboards (ply_device_manager_t *manager); diff --git a/plymouth-0.9.2+git20160620.0e65b86.tar.xz b/plymouth-0.9.2+git20160620.0e65b86.tar.xz new file mode 100644 index 0000000..fe52fc9 --- /dev/null +++ b/plymouth-0.9.2+git20160620.0e65b86.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:729120eef3cf44dff4329e89e1122cf389865c0841c500ce10269e17cc3ba962 +size 873172 diff --git a/plymouth-0.9.2.tar.bz2 b/plymouth-0.9.2.tar.bz2 deleted file mode 100644 index 0670630..0000000 --- a/plymouth-0.9.2.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2f0ce82042cf9c7eadd2517a1f74c8a85fa8699781d9f294a06eade29fbed57f -size 1231336 diff --git a/plymouth-boot-vga-framebuffer.patch b/plymouth-boot-vga-framebuffer.patch deleted file mode 100644 index 282a525..0000000 --- a/plymouth-boot-vga-framebuffer.patch +++ /dev/null @@ -1,19 +0,0 @@ -Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c -=================================================================== ---- plymouth-0.9.2.orig/src/libply-splash-core/ply-device-manager.c -+++ plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c -@@ -102,12 +102,13 @@ device_is_for_local_console (ply_device_ - * card the kernel is using for its console. */ - device_path = udev_device_get_syspath (device); - asprintf (&bus_device_path, "%s/device", device_path); -+ ply_trace ("Testing device path %s\n", bus_device_path); - bus_device = udev_device_new_from_syspath (manager->udev_context, bus_device_path); - - boot_vga = udev_device_get_sysattr_value (bus_device, "boot_vga"); - free (bus_device_path); - -- if (boot_vga != NULL && strcmp (boot_vga, "1") == 0) -+ if (boot_vga == NULL /* framebuffer case */ || strcmp (boot_vga, "1") == 0) - for_local_console = true; - else - for_local_console = false; diff --git a/plymouth.changes b/plymouth.changes index 02794cd..9d60d63 100644 --- a/plymouth.changes +++ b/plymouth.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Thu Aug 4 11:15:47 UTC 2016 - tchvatal@suse.com + +- Sort out with spec-cleaner and move all buildrequires to main scope + not to subpkgs, sometimes interpreted wrongly by rpm if it is split + +------------------------------------------------------------------- +Thu Aug 4 11:06:30 UTC 2016 - tchvatal@suse.com + +- Reduce patches list removing merged upstream (bit differently tho): + * 0001-seats-guard-against-NULL-terminal.patch + * fix-serial-consoles.patch + * plymouth-boot-vga-framebuffer.patch +- Refresh patches: + * 0001-let-it-become-a-real-daemon.patch + +------------------------------------------------------------------- +Thu Aug 04 10:50:05 UTC 2016 - opensuse-packaging@opensuse.org + +- Update to version 0.9.2+git20160620.0e65b86: + * configure: tweak defaults to be more systemd friendly + * text: don't draw if not animating + * terminal: always open terminal in non-blocking mode + * device-manager: probe existing DRM devices at startup + * drm: don't pick up drm master implicitly + * terminal: refresh geometry after drm device arrives + * logger: stop using carriage returns + * build-goo: don't install systemd units during distcheck + * systemd-units: Fix uninstall script + * configure: switch to tar.xz instead tar.bz2 + ------------------------------------------------------------------- Wed Jun 1 10:20:05 UTC 2016 - idonmez@suse.com diff --git a/plymouth.spec b/plymouth.spec index 391b25b..a941ac6 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -20,15 +20,15 @@ %define plymouthclient_execdir %{_bindir} %define plymouth_libdir %{_libdir} %define plymouth_initrd_file /boot/initrd-plymouth.img - Name: plymouth -Version: 0.9.2 +Version: 0.9.2+git20160620.0e65b86 Release: 0 Summary: Graphical Boot Animation and Logger License: GPL-2.0+ Group: System/Base Url: http://freedesktop.org/software/plymouth/releases -Source0: http://www.freedesktop.org/software/plymouth/releases/%{name}-%{version}.tar.bz2 +# Switched to git snapshot to ease bugfix inclusion +Source0: %{name}-%{version}.tar.xz Source1: boot-duration # PATCH-OPENSUSE -- Handle correctly multiple displays with different sizes Patch3: plymouth-fix-window-size @@ -41,44 +41,42 @@ Patch10: 0001-Some-greenish-openSUSE-colors.patch Patch16: plymouth-correct-runtime-dir.patch # PATCH-FIX-UPSTREAM plymouth-manpages.patch idoenmez@suse.de -- Fix man page installation Patch17: plymouth-manpages.patch -Patch18: fix-serial-consoles.patch # PATCH-FIX-OPENSUSE use-mkinitrd.patch fcrozat@suse.com -- call mkinitrd -B for now Patch20: use-mkinitrd.patch -# PATCH-FIX-UPSTREAM 0001-seats-guard-against-NULL-terminal.patch fcrozat@suse.com -- guard against null terminal -Patch21: 0001-seats-guard-against-NULL-terminal.patch # PATCH-FIX-UPSTREAM plymouth-ignore-cirrusdrm.patch fcrozat@suse.com -- ignore cirrusdrm, use fb instead Patch26: plymouth-ignore-cirrusdrm.patch -Patch28: plymouth-boot-vga-framebuffer.patch Patch29: 0001-let-it-become-a-real-daemon.patch # PATCH-FIX-UPSTREAM 0001-Add-label-ft-plugin.patch fvogt@suse.com -- add ability to output text in initrd Patch30: 0001-Add-label-ft-plugin.patch Patch31: 0002-Install-label-ft-plugin-into-initrd-if-available.patch Patch32: 0003-fix_null_deref.patch - BuildRequires: automake BuildRequires: docbook-xsl-stylesheets BuildRequires: kernel-headers BuildRequires: libtool -BuildRequires: libudev-devel BuildRequires: libxslt BuildRequires: module-init-tools -BuildRequires: systemd >= 186 +BuildRequires: pkgconfig +BuildRequires: suse-module-tools BuildRequires: update-desktop-files BuildRequires: xz +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(gtk+-3.0) >= 3.14.0 BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(pango) >= 1.21.0 BuildRequires: pkgconfig(systemd) >= 186 -Requires(post): coreutils -Requires(postun): coreutils Requires: %{name}-branding Requires: gnu-unifont-bitmap-fonts Requires: systemd >= 186 +Requires(post): coreutils Requires(post): plymouth-scripts = %{version} -BuildRequires: suse-module-tools -Suggests: plymouth-plugin-label +Requires(postun): coreutils Recommends: plymouth-plugin-label-ft -Provides: bootsplash = 3.4 -Obsoletes: bootsplash <= 3.4 +Suggests: plymouth-plugin-label +Provides: bootsplash = 3.5 +Obsoletes: bootsplash < 3.5 Provides: systemd-plymouth = 44-10.2 Obsoletes: systemd-plymouth <= 44-10.1 @@ -138,8 +136,8 @@ and headers needed to develop 3rd party splash plugins for Plymouth. %package dracut Summary: Plymouth related utilities for dracut Group: System/Base -Supplements: packageand(plymouth:dracut) Requires: %{name} = %{version} +Supplements: packageand(plymouth:dracut) %description dracut This package contains utilities that integrate dracut with Plymouth @@ -156,11 +154,11 @@ behavior on environments with a valid DISPLAY. %package scripts Summary: Plymouth related scripts Group: System/Base -Requires(pre): %{name} = %{version} Requires: coreutils Requires: cpio Requires: findutils Requires: pigz +Requires(pre): %{name} = %{version} %description scripts This package contains scripts that help integrate Plymouth with @@ -169,8 +167,6 @@ the system. %package plugin-label Summary: Plymouth label plugin Group: System/Base -BuildRequires: pkgconfig(cairo) -BuildRequires: pkgconfig(pango) >= 1.21.0 Requires: libply-splash-graphics4 = %{version} %description plugin-label @@ -181,7 +177,6 @@ graphical boot splashes using pango and cairo. %package plugin-label-ft Summary: Plymouth FreeType label plugin Group: System/Base -BuildRequires: pkgconfig(freetype2) Requires: fontconfig Requires: libply-splash-graphics4 = %{version} @@ -285,8 +280,8 @@ while stars twinkle around the logo during system boot up. Summary: Plymouth "Spinfinity" theme Group: System/Base Requires: %{name}-plugin-throbgress = %{version} -Requires(pre): %{name} Requires(post): %{name}-scripts +Requires(pre): %{name} BuildArch: noarch %description theme-spinfinity @@ -343,25 +338,21 @@ plugin. %setup -q %patch3 -p1 %patch4 -p1 -%patch9 -p0 +%patch9 %patch10 -p1 %patch16 -p1 %patch17 -p1 -%patch18 -p1 %patch20 -p1 -%patch21 -p1 %patch26 -p1 -%patch28 -p1 %patch29 -p1 %patch30 -p1 %patch31 -p1 %patch32 -p1 # replace builddate with patch0date -sed -i "s/__DATE__/\"$(stat -c %y %{_sourcedir}/%{name}.changes)\"/" src/main.c +sed -i "s/__DATE__/\"$(stat -c %%y %{_sourcedir}/%{name}.changes)\"/" src/main.c # Change the default theme - %if 0%{?is_opensuse} sed -i -e 's/spinner/openSUSE/g' src/plymouthd.defaults %else @@ -370,9 +361,11 @@ sed -i -e 's/spinner/SLE/g' src/plymouthd.defaults %build autoreconf -fiv -%configure --disable-static \ +%configure \ + --disable-silent-rules \ + --disable-static \ --enable-systemd-integration \ - --enable-tracing --disable-tests \ + --enable-tracing \ --with-background-start-color-stop=0x1A3D1F \ --with-background-end-color-stop=0x4EA65C \ --with-background-color=0x3391cd \ @@ -381,27 +374,24 @@ autoreconf -fiv --without-rhgb-compat-link \ --with-boot-tty=/dev/tty7 \ --with-shutdown-tty=/dev/tty1 \ - --without-gdm-autostart-file \ - --with-release-file=/etc/os-release + --with-release-file=%{_sysconfdir}/os-release -make %{?_smp_mflags} V=1 +make %{?_smp_mflags} %install - %make_install rm -f %{buildroot}/%{_bindir}/rhgb-client #Link the plymouth client binary also to /bin until the move to /usr is completed mkdir %{buildroot}/bin -(cd %{buildroot}/bin; ln -s ../usr/bin/plymouth) +(cd %{buildroot}/bin; ln -s ..%{_bindir}/plymouth) # Glow isn't quite ready for primetime rm -rf %{buildroot}%{_datadir}/plymouth/glow/ rm -rf %{buildroot}%{_datadir}/plymouth/themes/glow/ rm -f %{buildroot}%{_libdir}/plymouth/glow.so -find %{buildroot} -name '*.a' -exec rm -f {} \; -find %{buildroot} -name '*.la' -exec rm -f {} \; +find %{buildroot} -type f -name "*.la" -delete -print mkdir -p %{buildroot}%{_localstatedir}/lib/plymouth mkdir -p %{buildroot}/run/plymouth @@ -417,7 +407,7 @@ rm %{buildroot}%{_libdir}/plymouth/renderers/frame-buffer.so %post %{?regenerate_initrd_post} -if [ ! -e /.buildenv ]; then +if [ ! -e /.buildenv ]; then [ -f %{_localstatedir}/lib/plymouth/boot-duration ] || cp -f %{_datadir}/plymouth/default-boot-duration %{_localstatedir}/lib/plymouth/boot-duration fi [ -x /bin/systemctl ] && /bin/systemctl daemon-reload >/dev/null 2>&1 || : @@ -434,21 +424,13 @@ fi %{?regenerate_initrd_posttrans} %post -n libply-boot-client4 -p /sbin/ldconfig - %postun -n libply-boot-client4 -p /sbin/ldconfig - %post -n libply-splash-core4 -p /sbin/ldconfig - %postun -n libply-splash-core4 -p /sbin/ldconfig - %post -n libply-splash-graphics4 -p /sbin/ldconfig - %postun -n libply-splash-graphics4 -p /sbin/ldconfig - %post -n libply4 -p /sbin/ldconfig - %postun -n libply4 -p /sbin/ldconfig - %post theme-spinfinity if [ $1 -eq 1 ]; then set -x @@ -459,7 +441,7 @@ if [ $1 -eq 1 ]; then %{_sbindir}/plymouth-set-default-theme -R spinfinity else %{_sbindir}/plymouth-set-default-theme spinfinity - fi + fi fi fi @@ -481,7 +463,7 @@ if [ $1 -eq 1 ]; then %{_sbindir}/plymouth-set-default-theme -R fade-in else %{_sbindir}/plymouth-set-default-theme fade-in - fi + fi fi fi @@ -503,7 +485,7 @@ if [ $1 -eq 1 ]; then %{_sbindir}/plymouth-set-default-theme -R solar else %{_sbindir}/plymouth-set-default-theme solar - fi + fi fi fi From 82a38c1fee5fa609357ce1ed6a1ac84bc0047c71865a2bf89eab6bf70c3ceb98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Tue, 6 Sep 2016 09:35:37 +0000 Subject: [PATCH 3/5] Accepting request 424932 from home:scarabeus_iv:branches:Base:System - Update to version 0.9.2+git20160823.e4b7e49: * libply: fix HiDPI detection * libply, main: Add device scale setting * main: support plymouth.force-scale on the kernel command line - Refresh patch: * 0001-let-it-become-a-real-daemon.patch - Add systemd to buildrequires to properly detect systemd-ask-password OBS-URL: https://build.opensuse.org/request/show/424932 OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=175 --- 0001-let-it-become-a-real-daemon.patch | 52 +++++++++++------------ plymouth-0.9.2+git20160620.0e65b86.tar.xz | 3 -- plymouth-0.9.2+git20160823.e4b7e49.tar.xz | 3 ++ plymouth.changes | 19 +++++++-- plymouth.spec | 4 +- 5 files changed, 47 insertions(+), 34 deletions(-) delete mode 100644 plymouth-0.9.2+git20160620.0e65b86.tar.xz create mode 100644 plymouth-0.9.2+git20160823.e4b7e49.tar.xz diff --git a/0001-let-it-become-a-real-daemon.patch b/0001-let-it-become-a-real-daemon.patch index bc635b8..02530da 100644 --- a/0001-let-it-become-a-real-daemon.patch +++ b/0001-let-it-become-a-real-daemon.patch @@ -13,10 +13,10 @@ well restore the system console. plymouth-0.9.0/src/main.c | 42 +++++++------ 5 files changed, 43 insertions(+), 18 deletions(-) -Index: plymouth-0.9.2+git20160620.0e65b86/src/libply-splash-core/ply-device-manager.c +Index: plymouth-0.9.2+git20160823.e4b7e49/src/libply-splash-core/ply-device-manager.c =================================================================== ---- plymouth-0.9.2+git20160620.0e65b86.orig/src/libply-splash-core/ply-device-manager.c -+++ plymouth-0.9.2+git20160620.0e65b86/src/libply-splash-core/ply-device-manager.c +--- plymouth-0.9.2+git20160823.e4b7e49.orig/src/libply-splash-core/ply-device-manager.c ++++ plymouth-0.9.2+git20160823.e4b7e49/src/libply-splash-core/ply-device-manager.c @@ -949,3 +949,12 @@ ply_device_manager_deactivate_keyboards manager->keyboards_activated = false; @@ -30,10 +30,10 @@ Index: plymouth-0.9.2+git20160620.0e65b86/src/libply-splash-core/ply-device-mana + ply_terminal_close, + manager); +} -Index: plymouth-0.9.2+git20160620.0e65b86/src/libply-splash-core/ply-device-manager.h +Index: plymouth-0.9.2+git20160823.e4b7e49/src/libply-splash-core/ply-device-manager.h =================================================================== ---- plymouth-0.9.2+git20160620.0e65b86.orig/src/libply-splash-core/ply-device-manager.h -+++ plymouth-0.9.2+git20160620.0e65b86/src/libply-splash-core/ply-device-manager.h +--- plymouth-0.9.2+git20160823.e4b7e49.orig/src/libply-splash-core/ply-device-manager.h ++++ plymouth-0.9.2+git20160823.e4b7e49/src/libply-splash-core/ply-device-manager.h @@ -65,6 +65,7 @@ void ply_device_manager_deactivate_keybo void ply_device_manager_activate_renderers (ply_device_manager_t *manager); void ply_device_manager_deactivate_renderers (ply_device_manager_t *manager); @@ -42,19 +42,19 @@ Index: plymouth-0.9.2+git20160620.0e65b86/src/libply-splash-core/ply-device-mana #endif -Index: plymouth-0.9.2+git20160620.0e65b86/src/libply/ply-utils.c +Index: plymouth-0.9.2+git20160823.e4b7e49/src/libply/ply-utils.c =================================================================== ---- plymouth-0.9.2+git20160620.0e65b86.orig/src/libply/ply-utils.c -+++ plymouth-0.9.2+git20160620.0e65b86/src/libply/ply-utils.c +--- plymouth-0.9.2+git20160823.e4b7e49.orig/src/libply/ply-utils.c ++++ plymouth-0.9.2+git20160823.e4b7e49/src/libply/ply-utils.c @@ -77,6 +77,7 @@ static int errno_stack[PLY_ERRNO_STACK_SIZE]; static int errno_stack_position = 0; +static bool inChild = false; - bool - ply_open_unidirectional_pipe (int *sender_fd, -@@ -794,6 +795,7 @@ ply_create_daemon (void) + static int overridden_device_scale = 0; + +@@ -796,6 +797,7 @@ ply_create_daemon (void) if (!ply_read (receiver_fd, &byte, sizeof(uint8_t))) { int read_error = errno; int status; @@ -62,7 +62,7 @@ Index: plymouth-0.9.2+git20160620.0e65b86/src/libply/ply-utils.c if (waitpid (pid, &status, WNOHANG) <= 0) ply_error ("failed to read status from child immediately after starting to daemonize: %s", strerror (read_error)); -@@ -834,6 +836,9 @@ ply_detach_daemon (ply_daemon_handle_t * +@@ -836,6 +838,9 @@ ply_detach_daemon (ply_daemon_handle_t * close (sender_fd); free (handle); @@ -72,10 +72,10 @@ Index: plymouth-0.9.2+git20160620.0e65b86/src/libply/ply-utils.c return true; } -Index: plymouth-0.9.2+git20160620.0e65b86/src/libply/ply-terminal-session.c +Index: plymouth-0.9.2+git20160823.e4b7e49/src/libply/ply-terminal-session.c =================================================================== ---- plymouth-0.9.2+git20160620.0e65b86.orig/src/libply/ply-terminal-session.c -+++ plymouth-0.9.2+git20160620.0e65b86/src/libply/ply-terminal-session.c +--- plymouth-0.9.2+git20160823.e4b7e49.orig/src/libply/ply-terminal-session.c ++++ plymouth-0.9.2+git20160823.e4b7e49/src/libply/ply-terminal-session.c @@ -187,6 +187,12 @@ ply_terminal_session_redirect_console (p assert (terminal_name != NULL); @@ -89,11 +89,11 @@ Index: plymouth-0.9.2+git20160620.0e65b86/src/libply/ply-terminal-session.c fd = open (terminal_name, O_RDWR | O_NOCTTY); if (fd < 0) -Index: plymouth-0.9.2+git20160620.0e65b86/src/main.c +Index: plymouth-0.9.2+git20160823.e4b7e49/src/main.c =================================================================== ---- plymouth-0.9.2+git20160620.0e65b86.orig/src/main.c -+++ plymouth-0.9.2+git20160620.0e65b86/src/main.c -@@ -1083,6 +1083,7 @@ on_text_display_removed (state_t +--- plymouth-0.9.2+git20160823.e4b7e49.orig/src/main.c ++++ plymouth-0.9.2+git20160823.e4b7e49/src/main.c +@@ -1101,6 +1101,7 @@ on_text_display_removed (state_t ply_boot_splash_remove_text_display (state->boot_splash, display); } @@ -101,7 +101,7 @@ Index: plymouth-0.9.2+git20160620.0e65b86/src/main.c static void load_devices (state_t *state, ply_device_manager_flags_t flags) -@@ -1090,6 +1091,8 @@ load_devices (state_t +@@ -1108,6 +1109,8 @@ load_devices (state_t state->device_manager = ply_device_manager_new (state->default_tty, flags); state->local_console_terminal = ply_device_manager_get_default_terminal (state->device_manager); @@ -110,7 +110,7 @@ Index: plymouth-0.9.2+git20160620.0e65b86/src/main.c ply_device_manager_watch_devices (state->device_manager, state->device_timeout, (ply_keyboard_added_handler_t) -@@ -1128,6 +1131,7 @@ quit_splash (state_t *state) +@@ -1146,6 +1149,7 @@ quit_splash (state_t *state) ply_trace ("Not retaining splash, so deallocating VT"); ply_terminal_deactivate_vt (state->local_console_terminal); ply_terminal_close (state->local_console_terminal); @@ -118,7 +118,7 @@ Index: plymouth-0.9.2+git20160620.0e65b86/src/main.c } } -@@ -2073,28 +2077,20 @@ dump_debug_buffer_to_file (void) +@@ -2091,28 +2095,20 @@ dump_debug_buffer_to_file (void) #include #include static void @@ -157,7 +157,7 @@ Index: plymouth-0.9.2+git20160620.0e65b86/src/main.c if (debug_buffer != NULL) { dump_debug_buffer_to_file (); -@@ -2107,7 +2103,6 @@ on_crash (int signum) +@@ -2125,7 +2121,6 @@ on_crash (int signum) pid_file = NULL; } @@ -165,7 +165,7 @@ Index: plymouth-0.9.2+git20160620.0e65b86/src/main.c raise (signum); } -@@ -2141,6 +2136,7 @@ main (int argc, +@@ -2159,6 +2154,7 @@ main (int argc, char *kernel_command_line = NULL; char *tty = NULL; ply_device_manager_flags_t device_manager_flags = PLY_DEVICE_MANAGER_FLAGS_NONE; @@ -173,7 +173,7 @@ Index: plymouth-0.9.2+git20160620.0e65b86/src/main.c state.start_time = ply_get_timestamp (); state.command_parser = ply_command_parser_new ("plymouthd", "Splash server"); -@@ -2243,8 +2239,13 @@ main (int argc, +@@ -2261,8 +2257,13 @@ main (int argc, if (debug) debug_buffer = ply_buffer_new (); diff --git a/plymouth-0.9.2+git20160620.0e65b86.tar.xz b/plymouth-0.9.2+git20160620.0e65b86.tar.xz deleted file mode 100644 index fe52fc9..0000000 --- a/plymouth-0.9.2+git20160620.0e65b86.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:729120eef3cf44dff4329e89e1122cf389865c0841c500ce10269e17cc3ba962 -size 873172 diff --git a/plymouth-0.9.2+git20160823.e4b7e49.tar.xz b/plymouth-0.9.2+git20160823.e4b7e49.tar.xz new file mode 100644 index 0000000..bf6fe0c --- /dev/null +++ b/plymouth-0.9.2+git20160823.e4b7e49.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf7b6118993ede8cb46b155d2ca8a3b4d897a74aefe62058f713e92d6d4a17c7 +size 873224 diff --git a/plymouth.changes b/plymouth.changes index 9d60d63..5e9f891 100644 --- a/plymouth.changes +++ b/plymouth.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Tue Sep 06 09:23:50 UTC 2016 - tchvatal@suse.com + +- Update to version 0.9.2+git20160823.e4b7e49: + * libply: fix HiDPI detection + * libply, main: Add device scale setting + * main: support plymouth.force-scale on the kernel command line +- Refresh patch: + * 0001-let-it-become-a-real-daemon.patch + +------------------------------------------------------------------- +Tue Sep 6 09:22:50 UTC 2016 - tchvatal@suse.com + +- Add systemd to buildrequires to properly detect systemd-ask-password + ------------------------------------------------------------------- Thu Aug 4 11:15:47 UTC 2016 - tchvatal@suse.com @@ -13,10 +28,6 @@ Thu Aug 4 11:06:30 UTC 2016 - tchvatal@suse.com * plymouth-boot-vga-framebuffer.patch - Refresh patches: * 0001-let-it-become-a-real-daemon.patch - -------------------------------------------------------------------- -Thu Aug 04 10:50:05 UTC 2016 - opensuse-packaging@opensuse.org - - Update to version 0.9.2+git20160620.0e65b86: * configure: tweak defaults to be more systemd friendly * text: don't draw if not animating diff --git a/plymouth.spec b/plymouth.spec index a941ac6..5945a17 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -21,7 +21,7 @@ %define plymouth_libdir %{_libdir} %define plymouth_initrd_file /boot/initrd-plymouth.img Name: plymouth -Version: 0.9.2+git20160620.0e65b86 +Version: 0.9.2+git20160823.e4b7e49 Release: 0 Summary: Graphical Boot Animation and Logger License: GPL-2.0+ @@ -58,6 +58,8 @@ BuildRequires: libxslt BuildRequires: module-init-tools BuildRequires: pkgconfig BuildRequires: suse-module-tools +# needed for systemd-tty-ask-password-agent +BuildRequires: systemd BuildRequires: update-desktop-files BuildRequires: xz BuildRequires: pkgconfig(cairo) From c6966c589ba95eb792d2a14a21d645d117764d5d49783def39a671dc3e70a2ec Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 25 Jan 2017 13:11:58 +0000 Subject: [PATCH 4/5] Accepting request 451329 from home:Zaitor Not sure this is any better than what we currently have, but subbing anyway. OBS-URL: https://build.opensuse.org/request/show/451329 OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=176 --- _servicedata | 4 ++++ plymouth-0.9.2+git20160823.e4b7e49.tar.xz | 3 --- plymouth-0.9.2+git20161215.18dd755.tar.xz | 3 +++ plymouth.changes | 15 +++++++++++++++ plymouth.spec | 4 ++-- 5 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 _servicedata delete mode 100644 plymouth-0.9.2+git20160823.e4b7e49.tar.xz create mode 100644 plymouth-0.9.2+git20161215.18dd755.tar.xz diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..a1575af --- /dev/null +++ b/_servicedata @@ -0,0 +1,4 @@ + + + git://anongit.freedesktop.org/plymouth + 18dd75589bbdf0ddc07a61421f05078df88ee768 \ No newline at end of file diff --git a/plymouth-0.9.2+git20160823.e4b7e49.tar.xz b/plymouth-0.9.2+git20160823.e4b7e49.tar.xz deleted file mode 100644 index bf6fe0c..0000000 --- a/plymouth-0.9.2+git20160823.e4b7e49.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cf7b6118993ede8cb46b155d2ca8a3b4d897a74aefe62058f713e92d6d4a17c7 -size 873224 diff --git a/plymouth-0.9.2+git20161215.18dd755.tar.xz b/plymouth-0.9.2+git20161215.18dd755.tar.xz new file mode 100644 index 0000000..fb00357 --- /dev/null +++ b/plymouth-0.9.2+git20161215.18dd755.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb7c15c1b0261fd0079fae5174abd7154cc3786ae3a7367c3544f3b866d7595f +size 871936 diff --git a/plymouth.changes b/plymouth.changes index 5e9f891..abecaf0 100644 --- a/plymouth.changes +++ b/plymouth.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Mon Jan 09 17:01:44 UTC 2017 - zaitor@opensuse.org + +- Update to version 0.9.2+git20161215.18dd755: + * terminal: refresh geometry after drm device arrives + * logger: stop using carriage returns + * build-goo: don't install systemd units during distcheck + * systemd-units: Fix uninstall script + * configure: switch to tar.xz instead tar.bz2 + * libply: fix HiDPI detection + * libply, main: Add device scale setting + * main: support plymouth.force-scale on the kernel command line + * build-goo: make udev support build time optional + * device-manager: dont pass terminal as renderer device + ------------------------------------------------------------------- Tue Sep 06 09:23:50 UTC 2016 - tchvatal@suse.com diff --git a/plymouth.spec b/plymouth.spec index 5945a17..a4389e1 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -1,7 +1,7 @@ # # spec file for package plymouth # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,7 +21,7 @@ %define plymouth_libdir %{_libdir} %define plymouth_initrd_file /boot/initrd-plymouth.img Name: plymouth -Version: 0.9.2+git20160823.e4b7e49 +Version: 0.9.2+git20161215.18dd755 Release: 0 Summary: Graphical Boot Animation and Logger License: GPL-2.0+ From 3695444e7c98dfec50fb808c1c036315a2cad19dca0ee95e1eee98528feadb5d Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 26 Jan 2017 21:04:34 +0000 Subject: [PATCH 5/5] Accepting request 452722 from home:favogt:ply-hell - Remove patch which causes breakage with systemd-vconsole-setup (bsc#1020327): * 0001-let-it-become-a-real-daemon.patch - Add upstream patch to fix crash on boot: * 0001-device-manager-handle-NULL-renderer-better.patch - Replace removal of framebuffer driver and plymouth-ignore-cirrusdrm.patch with single patch: * only_use_fb_for_cirrus_bochs.patch OBS-URL: https://build.opensuse.org/request/show/452722 OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=177 --- ...-manager-handle-NULL-renderer-better.patch | 47 +++++ 0001-let-it-become-a-real-daemon.patch | 191 ------------------ only_use_fb_for_cirrus_bochs.patch | 47 +++++ plymouth-ignore-cirrusdrm.patch | 15 -- plymouth.changes | 11 + plymouth.spec | 14 +- 6 files changed, 112 insertions(+), 213 deletions(-) create mode 100644 0001-device-manager-handle-NULL-renderer-better.patch delete mode 100644 0001-let-it-become-a-real-daemon.patch create mode 100644 only_use_fb_for_cirrus_bochs.patch delete mode 100644 plymouth-ignore-cirrusdrm.patch diff --git a/0001-device-manager-handle-NULL-renderer-better.patch b/0001-device-manager-handle-NULL-renderer-better.patch new file mode 100644 index 0000000..032b783 --- /dev/null +++ b/0001-device-manager-handle-NULL-renderer-better.patch @@ -0,0 +1,47 @@ +From fdda9af2c305ecf57407856b1d061c076ae8fe4a Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Wed, 18 Jan 2017 10:07:00 -0500 +Subject: [PATCH] device-manager: handle NULL renderer better + +Right now we'll pass a NULL device name and crash if the renderer +fails to open. + +This commit fixes that. +--- + src/libply-splash-core/ply-device-manager.c | 18 ++++++++++-------- + 1 file changed, 10 insertions(+), 8 deletions(-) + +diff --git a/src/libply-splash-core/ply-device-manager.c b/src/libply-splash-core/ply-device-manager.c +index 4004e11..b4c33d4 100644 +--- a/src/libply-splash-core/ply-device-manager.c ++++ b/src/libply-splash-core/ply-device-manager.c +@@ -689,16 +689,18 @@ create_devices_for_terminal_and_renderer_type (ply_device_manager_t *manager, + return; + } + +- old_renderer = ply_hashtable_lookup (manager->renderers, +- (void *) ply_renderer_get_device_name (renderer)); ++ if (renderer != NULL) { ++ old_renderer = ply_hashtable_lookup (manager->renderers, ++ (void *) ply_renderer_get_device_name (renderer)); + +- if (old_renderer != NULL) { +- ply_trace ("ignoring device %s since it's alerady managed", +- ply_renderer_get_device_name (renderer)); +- ply_renderer_free (renderer); ++ if (old_renderer != NULL) { ++ ply_trace ("ignoring device %s since it's alerady managed", ++ ply_renderer_get_device_name (renderer)); ++ ply_renderer_free (renderer); + +- renderer = NULL; +- return; ++ renderer = NULL; ++ return; ++ } + } + } + +-- +2.11.0 + diff --git a/0001-let-it-become-a-real-daemon.patch b/0001-let-it-become-a-real-daemon.patch deleted file mode 100644 index 02530da..0000000 --- a/0001-let-it-become-a-real-daemon.patch +++ /dev/null @@ -1,191 +0,0 @@ -Related to bnc#892526 -- let plymouthd become a real daemon that -is it should use its own session with the help of the system call -setsid(2). Also avoid an EBUSY on ioctl TIOCCONS if a former -plymouthd had failed. And a crash or termination may restore not -only the current virtual console but also any serial console as -well restore the system console. - ---- - plymouth-0.9.0/src/libply-splash-core/ply-device-manager.c | 9 ++ - plymouth-0.9.0/src/libply-splash-core/ply-device-manager.h | 1 - plymouth-0.9.0/src/libply/ply-terminal-session.c | 7 ++ - plymouth-0.9.0/src/libply/ply-utils.c | 2 - plymouth-0.9.0/src/main.c | 42 +++++++------ - 5 files changed, 43 insertions(+), 18 deletions(-) - -Index: plymouth-0.9.2+git20160823.e4b7e49/src/libply-splash-core/ply-device-manager.c -=================================================================== ---- plymouth-0.9.2+git20160823.e4b7e49.orig/src/libply-splash-core/ply-device-manager.c -+++ plymouth-0.9.2+git20160823.e4b7e49/src/libply-splash-core/ply-device-manager.c -@@ -949,3 +949,12 @@ ply_device_manager_deactivate_keyboards - - manager->keyboards_activated = false; - } -+ -+void -+ply_close_all_terminals (ply_device_manager_t *manager) -+{ -+ ply_hashtable_foreach (manager->terminals, -+ (ply_hashtable_foreach_func_t *) -+ ply_terminal_close, -+ manager); -+} -Index: plymouth-0.9.2+git20160823.e4b7e49/src/libply-splash-core/ply-device-manager.h -=================================================================== ---- plymouth-0.9.2+git20160823.e4b7e49.orig/src/libply-splash-core/ply-device-manager.h -+++ plymouth-0.9.2+git20160823.e4b7e49/src/libply-splash-core/ply-device-manager.h -@@ -65,6 +65,7 @@ void ply_device_manager_deactivate_keybo - void ply_device_manager_activate_renderers (ply_device_manager_t *manager); - void ply_device_manager_deactivate_renderers (ply_device_manager_t *manager); - ply_terminal_t *ply_device_manager_get_default_terminal (ply_device_manager_t *manager); -+void ply_close_all_terminals (ply_device_manager_t *manager); - - #endif - -Index: plymouth-0.9.2+git20160823.e4b7e49/src/libply/ply-utils.c -=================================================================== ---- plymouth-0.9.2+git20160823.e4b7e49.orig/src/libply/ply-utils.c -+++ plymouth-0.9.2+git20160823.e4b7e49/src/libply/ply-utils.c -@@ -77,6 +77,7 @@ - - static int errno_stack[PLY_ERRNO_STACK_SIZE]; - static int errno_stack_position = 0; -+static bool inChild = false; - - static int overridden_device_scale = 0; - -@@ -796,6 +797,7 @@ ply_create_daemon (void) - if (!ply_read (receiver_fd, &byte, sizeof(uint8_t))) { - int read_error = errno; - int status; -+ inChild = true; - - if (waitpid (pid, &status, WNOHANG) <= 0) - ply_error ("failed to read status from child immediately after starting to daemonize: %s", strerror (read_error)); -@@ -836,6 +838,9 @@ ply_detach_daemon (ply_daemon_handle_t * - close (sender_fd); - free (handle); - -+ if (inChild) -+ setsid(); -+ - return true; - } - -Index: plymouth-0.9.2+git20160823.e4b7e49/src/libply/ply-terminal-session.c -=================================================================== ---- plymouth-0.9.2+git20160823.e4b7e49.orig/src/libply/ply-terminal-session.c -+++ plymouth-0.9.2+git20160823.e4b7e49/src/libply/ply-terminal-session.c -@@ -187,6 +187,12 @@ ply_terminal_session_redirect_console (p - - assert (terminal_name != NULL); - -+ fd = open ("/dev/console", O_RDWR | O_NOCTTY); -+ if (fd >= 0) { -+ ioctl (fd, TIOCCONS); /* Undo any current map if any */ -+ close (fd); -+ } -+ - fd = open (terminal_name, O_RDWR | O_NOCTTY); - - if (fd < 0) -Index: plymouth-0.9.2+git20160823.e4b7e49/src/main.c -=================================================================== ---- plymouth-0.9.2+git20160823.e4b7e49.orig/src/main.c -+++ plymouth-0.9.2+git20160823.e4b7e49/src/main.c -@@ -1101,6 +1101,7 @@ on_text_display_removed (state_t - ply_boot_splash_remove_text_display (state->boot_splash, display); - } - -+static ply_device_manager_t *manager; - static void - load_devices (state_t *state, - ply_device_manager_flags_t flags) -@@ -1108,6 +1109,8 @@ load_devices (state_t - state->device_manager = ply_device_manager_new (state->default_tty, flags); - state->local_console_terminal = ply_device_manager_get_default_terminal (state->device_manager); - -+ manager = state->device_manager; -+ - ply_device_manager_watch_devices (state->device_manager, - state->device_timeout, - (ply_keyboard_added_handler_t) -@@ -1146,6 +1149,7 @@ quit_splash (state_t *state) - ply_trace ("Not retaining splash, so deallocating VT"); - ply_terminal_deactivate_vt (state->local_console_terminal); - ply_terminal_close (state->local_console_terminal); -+ ply_close_all_terminals (state->device_manager); - } - } - -@@ -2091,28 +2095,20 @@ dump_debug_buffer_to_file (void) - #include - #include - static void --on_crash (int signum) -+dosigaction (int signum) - { -- struct termios term_attributes; - int fd; -- static const char *show_cursor_sequence = "\033[?25h"; -- -- fd = open ("/dev/tty1", O_RDWR | O_NOCTTY); -- if (fd < 0) fd = open ("/dev/hvc0", O_RDWR | O_NOCTTY); -- -- ioctl (fd, KDSETMODE, KD_TEXT); -- -- write (fd, show_cursor_sequence, sizeof (show_cursor_sequence) - 1); -- -- tcgetattr (fd, &term_attributes); - -- term_attributes.c_iflag |= BRKINT | IGNPAR | ICRNL | IXON; -- term_attributes.c_oflag |= OPOST; -- term_attributes.c_lflag |= ECHO | ICANON | ISIG | IEXTEN; -- -- tcsetattr (fd, TCSAFLUSH, &term_attributes); -+ if (manager) { -+ ply_device_manager_deactivate_keyboards (manager); -+ ply_close_all_terminals (manager); -+ } - -- close (fd); -+ fd = open ("/dev/console", O_RDWR | O_NOCTTY); -+ if (fd >= 0) { -+ ioctl (fd, TIOCCONS); /* Undo any current map if any */ -+ close (fd); -+ } - - if (debug_buffer != NULL) { - dump_debug_buffer_to_file (); -@@ -2125,7 +2121,6 @@ on_crash (int signum) - pid_file = NULL; - } - -- signal (signum, SIG_DFL); - raise (signum); - } - -@@ -2159,6 +2154,7 @@ main (int argc, - char *kernel_command_line = NULL; - char *tty = NULL; - ply_device_manager_flags_t device_manager_flags = PLY_DEVICE_MANAGER_FLAGS_NONE; -+ struct sigaction sa; - - state.start_time = ply_get_timestamp (); - state.command_parser = ply_command_parser_new ("plymouthd", "Splash server"); -@@ -2261,8 +2257,13 @@ main (int argc, - if (debug) - debug_buffer = ply_buffer_new (); - -- signal (SIGABRT, on_crash); -- signal (SIGSEGV, on_crash); -+ sigemptyset(&sa.sa_mask); -+ sa.sa_flags = SA_RESETHAND; -+ sa.sa_handler = dosigaction; -+ sigaction (SIGHUP, &sa, NULL); -+ sigaction (SIGTERM, &sa, NULL); -+ sigaction (SIGABRT, &sa, NULL); -+ sigaction (SIGSEGV, &sa, NULL); - - /* before do anything we need to make sure we have a working - * environment. diff --git a/only_use_fb_for_cirrus_bochs.patch b/only_use_fb_for_cirrus_bochs.patch new file mode 100644 index 0000000..af8a88e --- /dev/null +++ b/only_use_fb_for_cirrus_bochs.patch @@ -0,0 +1,47 @@ +From: Fabian Vogt +Subject: force fb for cirrus and bochs, force drm otherwise +References: bsc#888590, bsc#980750 + +DRM does not work well with cirrus and bochs (no display) but the framebuffer driver +prevents DRM drivers from loading. +As we need to support cirrus for libvirt and bochs for QEMU, we cannot just remove support for frame-buffer. + +Index: plymouth-0.9.2+git20161215.18dd755/src/libply-splash-core/ply-device-manager.c +=================================================================== +--- plymouth-0.9.2+git20161215.18dd755.orig/src/libply-splash-core/ply-device-manager.c ++++ plymouth-0.9.2+git20161215.18dd755/src/libply-splash-core/ply-device-manager.c +@@ -227,13 +227,33 @@ create_devices_for_udev_device (ply_devi + subsystem = udev_device_get_subsystem (device); + ply_trace ("device subsystem is %s", subsystem); + ++ const char *card_vendor = udev_device_get_sysattr_value (device, "device/vendor"); ++ const char *card_device = udev_device_get_sysattr_value (device, "device/device"); ++ bool use_fb = false; ++ if (card_vendor) { ++ /* Cirrus */ ++ if (strcmp ("0x1013", card_vendor) == 0) ++ use_fb = true; ++ /* "Technical Corp", also used by bochs */ ++ else if (strcmp ("0x1234", card_vendor) == 0) ++ use_fb = strcmp("0x1111", card_device) == 0; ++ } ++ + if (subsystem != NULL && strcmp (subsystem, SUBSYSTEM_DRM) == 0) { + ply_trace ("found DRM device %s", device_path); + renderer_type = PLY_RENDERER_TYPE_DRM; ++ if (use_fb) { ++ ply_trace ("forcing use of framebuffer for cirrusdrmfb"); ++ renderer_type = PLY_RENDERER_TYPE_NONE; ++ } + } else if (strcmp (subsystem, SUBSYSTEM_FRAME_BUFFER) == 0) { + ply_trace ("found frame buffer device %s", device_path); +- if (!fb_device_has_drm_device (manager, device)) ++ if (use_fb) { + renderer_type = PLY_RENDERER_TYPE_FRAME_BUFFER; ++ } ++ else if (!fb_device_has_drm_device (manager, device)) { ++ ply_trace ("avoiding use of framebuffer to not block DRM drivers from working"); ++ } + else + ply_trace ("ignoring, since there's a DRM device associated with it"); + } diff --git a/plymouth-ignore-cirrusdrm.patch b/plymouth-ignore-cirrusdrm.patch deleted file mode 100644 index ef673c0..0000000 --- a/plymouth-ignore-cirrusdrm.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c -=================================================================== ---- plymouth-0.9.2.orig/src/libply-splash-core/ply-device-manager.c -+++ plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c -@@ -157,6 +157,10 @@ fb_device_has_drm_device (ply_device_man - const char *id_path; - bool has_drm_device = false; - -+ const char *card_name = udev_device_get_sysattr_value (fb_device, "name"); -+ if (card_name && strcmp ("cirrusdrmfb", card_name) == 0) -+ return false; -+ - /* We want to see if the framebuffer is associated with a DRM-capable - * graphics card, if it is, we'll use the DRM device */ - card_matches = udev_enumerate_new (manager->udev_context); diff --git a/plymouth.changes b/plymouth.changes index abecaf0..ff8041e 100644 --- a/plymouth.changes +++ b/plymouth.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Wed Jan 25 14:38:09 UTC 2017 - fvogt@suse.com + +- Remove patch which causes breakage with systemd-vconsole-setup (bsc#1020327): + * 0001-let-it-become-a-real-daemon.patch +- Add upstream patch to fix crash on boot: + * 0001-device-manager-handle-NULL-renderer-better.patch +- Replace removal of framebuffer driver and plymouth-ignore-cirrusdrm.patch + with single patch: + * only_use_fb_for_cirrus_bochs.patch + ------------------------------------------------------------------- Mon Jan 09 17:01:44 UTC 2017 - zaitor@opensuse.org diff --git a/plymouth.spec b/plymouth.spec index a4389e1..9c8505f 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -41,11 +41,12 @@ Patch10: 0001-Some-greenish-openSUSE-colors.patch Patch16: plymouth-correct-runtime-dir.patch # PATCH-FIX-UPSTREAM plymouth-manpages.patch idoenmez@suse.de -- Fix man page installation Patch17: plymouth-manpages.patch +# PATCH-FIX-UPSTREAM 0001-device-manager-handle-NULL-renderer-better.patch rstrode@redhat.com -- device-manager: handle NULL renderer better +Patch18: 0001-device-manager-handle-NULL-renderer-better.patch # PATCH-FIX-OPENSUSE use-mkinitrd.patch fcrozat@suse.com -- call mkinitrd -B for now Patch20: use-mkinitrd.patch -# PATCH-FIX-UPSTREAM plymouth-ignore-cirrusdrm.patch fcrozat@suse.com -- ignore cirrusdrm, use fb instead -Patch26: plymouth-ignore-cirrusdrm.patch -Patch29: 0001-let-it-become-a-real-daemon.patch +# PATCH-FIX-OPENSUSE only_use_fb_for_cirrus_bochs.patch fvogt@suse.com -- force fb for cirrus and bochs, force drm otherwise +Patch26: only_use_fb_for_cirrus_bochs.patch # PATCH-FIX-UPSTREAM 0001-Add-label-ft-plugin.patch fvogt@suse.com -- add ability to output text in initrd Patch30: 0001-Add-label-ft-plugin.patch Patch31: 0002-Install-label-ft-plugin-into-initrd-if-available.patch @@ -66,6 +67,7 @@ BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(gtk+-3.0) >= 3.14.0 BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libsystemd) >= 186 BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(pango) >= 1.21.0 BuildRequires: pkgconfig(systemd) >= 186 @@ -344,9 +346,9 @@ plugin. %patch10 -p1 %patch16 -p1 %patch17 -p1 +%patch18 -p1 %patch20 -p1 %patch26 -p1 -%patch29 -p1 %patch30 -p1 %patch31 -p1 %patch32 -p1 @@ -404,9 +406,6 @@ cp $RPM_SOURCE_DIR/boot-duration %{buildroot}%{_datadir}/plymouth/default-boot-d cp $RPM_SOURCE_DIR/boot-duration %{buildroot}%{_localstatedir}/lib/plymouth cp %{buildroot}/%{_datadir}/plymouth/plymouthd.defaults %{buildroot}/%{_sysconfdir}/plymouth/plymouthd.conf -# Remove framebuffer support, bsc#980750 -rm %{buildroot}%{_libdir}/plymouth/renderers/frame-buffer.so - %post %{?regenerate_initrd_post} if [ ! -e /.buildenv ]; then @@ -517,6 +516,7 @@ fi %{_libdir}/plymouth/details.so %{_libdir}/plymouth/text.so %{_libdir}/plymouth/renderers/drm* +%{_libdir}/plymouth/renderers/frame-buffer* %{_datadir}/plymouth/default-boot-duration %{_datadir}/plymouth/themes/details/details.plymouth %{_datadir}/plymouth/themes/text/text.plymouth