From 779d27502dec3e30bba085802eea5d93839519d9f4663294ad13214ddf634270 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Wed, 13 Jan 2016 18:15:35 +0000 Subject: [PATCH] Accepting request 351108 from home:dimstar:branches:Base:System Update to 0.9.2 OBS-URL: https://build.opensuse.org/request/show/351108 OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=168 --- 0001-Some-greenish-openSUSE-colors.patch | 70 +++--- ...-manager-only-call-ply_terminal_free.patch | 26 -- 0001-let-it-become-a-real-daemon.patch | 223 +++++++++--------- ...re-also-monitor-for-file-removal-in-.patch | 26 -- ...-more-forgiving-in-the-case-there-s-.patch | 47 ---- 0001-seats-guard-against-NULL-terminal.patch | 92 +++----- ...process-display-lists-if-it-is-empty.patch | 56 ----- ...xel_pixel-in-sprite-lib-when-notifie.patch | 101 -------- ...e-correct-utf-8-multibyte-sequence-f.patch | 37 --- fix-serial-consoles.patch | 106 ++++----- plymouth-0.9.0.tar.bz2 | 3 - plymouth-0.9.2.tar.bz2 | 3 + plymouth-boot-vga-framebuffer.patch | 32 +-- plymouth-fix-window-size | 38 +-- plymouth-ignore-cirrusdrm.patch | 30 +-- plymouth.changes | 32 +++ plymouth.spec | 134 ++++------- stop-graphical.patch | 14 +- 18 files changed, 369 insertions(+), 701 deletions(-) delete mode 100644 0001-device-manager-only-call-ply_terminal_free.patch delete mode 100644 0001-libply-splash-core-also-monitor-for-file-removal-in-.patch delete mode 100644 0001-seat-be-a-little-more-forgiving-in-the-case-there-s-.patch delete mode 100644 0001-splash-do-not-process-display-lists-if-it-is-empty.patch delete mode 100644 0001-splash-remove-pixel_pixel-in-sprite-lib-when-notifie.patch delete mode 100644 0001-text-step-bar-use-correct-utf-8-multibyte-sequence-f.patch delete mode 100644 plymouth-0.9.0.tar.bz2 create mode 100644 plymouth-0.9.2.tar.bz2 diff --git a/0001-Some-greenish-openSUSE-colors.patch b/0001-Some-greenish-openSUSE-colors.patch index 9670e56..5918819 100644 --- a/0001-Some-greenish-openSUSE-colors.patch +++ b/0001-Some-greenish-openSUSE-colors.patch @@ -7,45 +7,41 @@ Subject: [PATCH] Some greenish openSUSE colors src/plugins/splash/text/plugin.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) -Index: plymouth-0.9.0/src/plugins/splash/text/plugin.c +Index: plymouth-0.9.2/src/plugins/splash/text/plugin.c =================================================================== ---- plymouth-0.9.0.orig/src/plugins/splash/text/plugin.c -+++ plymouth-0.9.0/src/plugins/splash/text/plugin.c -@@ -174,13 +174,13 @@ view_start_animation (view_t *view) - 0x000000); - ply_terminal_set_color_hex_value (terminal, - PLY_TERMINAL_COLOR_WHITE, -- 0xffffff); -+ 0x40ff00); - ply_terminal_set_color_hex_value (terminal, - PLY_TERMINAL_COLOR_BLUE, -- 0x3465a4); -+ 0x20a000); - ply_terminal_set_color_hex_value (terminal, - PLY_TERMINAL_COLOR_BROWN, -- 0x979a9b); -+ 0x106000); +--- plymouth-0.9.2.orig/src/plugins/splash/text/plugin.c ++++ plymouth-0.9.2/src/plugins/splash/text/plugin.c +@@ -174,10 +174,10 @@ view_start_animation (view_t *view) + 0x2e3436); + ply_terminal_set_color_hex_value (terminal, + PLY_TERMINAL_COLOR_WHITE, +- 0xffffff); ++ 0x40ff00); + ply_terminal_set_color_hex_value (terminal, + PLY_TERMINAL_COLOR_BROWN, +- 0x979a9b); ++ 0x106000); - ply_text_display_set_background_color (view->display, - PLY_TERMINAL_COLOR_BLACK); -Index: plymouth-0.9.0/src/plugins/splash/tribar/plugin.c + ply_text_display_set_background_color (view->display, + PLY_TERMINAL_COLOR_BLACK); +Index: plymouth-0.9.2/src/plugins/splash/tribar/plugin.c =================================================================== ---- plymouth-0.9.0.orig/src/plugins/splash/tribar/plugin.c -+++ plymouth-0.9.0/src/plugins/splash/tribar/plugin.c +--- plymouth-0.9.2.orig/src/plugins/splash/tribar/plugin.c ++++ plymouth-0.9.2/src/plugins/splash/tribar/plugin.c @@ -177,13 +177,13 @@ view_start_animation (view_t *view) - 0x000000); - ply_terminal_set_color_hex_value (terminal, - PLY_TERMINAL_COLOR_WHITE, -- 0xffffff); -+ 0x40ff00); - ply_terminal_set_color_hex_value (terminal, - PLY_TERMINAL_COLOR_BLUE, -- 0x0073B3); -+ 0x20a000); - ply_terminal_set_color_hex_value (terminal, - PLY_TERMINAL_COLOR_BROWN, -- 0x00457E); -+ 0x106000); + 0x000000); + ply_terminal_set_color_hex_value (terminal, + PLY_TERMINAL_COLOR_WHITE, +- 0xffffff); ++ 0x40ff00); + ply_terminal_set_color_hex_value (terminal, + PLY_TERMINAL_COLOR_BLUE, +- 0x0073B3); ++ 0x20a000); + ply_terminal_set_color_hex_value (terminal, + PLY_TERMINAL_COLOR_BROWN, +- 0x00457E); ++ 0x106000); - ply_text_display_set_background_color (view->display, - PLY_TERMINAL_COLOR_BLACK); + ply_text_display_set_background_color (view->display, + PLY_TERMINAL_COLOR_BLACK); diff --git a/0001-device-manager-only-call-ply_terminal_free.patch b/0001-device-manager-only-call-ply_terminal_free.patch deleted file mode 100644 index 2b46fc5..0000000 --- a/0001-device-manager-only-call-ply_terminal_free.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 54951cef0e5ea3caeae1eb0ec33db7ed37d0d4b3 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Thu, 12 Jun 2014 13:50:51 +0200 -Subject: [PATCH] device-manager: only call ply_terminal_free - -ply_terminal_free will call ply_terminal_close anyway and is guarded -against NULL terminal (ply_terminal_close is not). ---- - src/libply-splash-core/ply-device-manager.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/src/libply-splash-core/ply-device-manager.c b/src/libply-splash-core/ply-device-manager.c -index dbc203d..aa4d15c 100644 ---- a/src/libply-splash-core/ply-device-manager.c -+++ b/src/libply-splash-core/ply-device-manager.c -@@ -442,7 +442,6 @@ free_terminal (char *device, - { - ply_hashtable_remove (manager->terminals, device); - -- ply_terminal_close (terminal); - ply_terminal_free (terminal); - } - --- -1.8.4.5 - diff --git a/0001-let-it-become-a-real-daemon.patch b/0001-let-it-become-a-real-daemon.patch index 0301e5c..dca4eed 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.0/src/libply-splash-core/ply-device-manager.c +Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c =================================================================== ---- plymouth-0.9.0.orig/src/libply-splash-core/ply-device-manager.c -+++ plymouth-0.9.0/src/libply-splash-core/ply-device-manager.c -@@ -933,3 +933,12 @@ ply_device_manager_deactivate_keyboards - node = next_node; - } +--- 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; + } } + +void @@ -30,11 +30,11 @@ Index: plymouth-0.9.0/src/libply-splash-core/ply-device-manager.c + ply_terminal_close, + manager); +} -Index: plymouth-0.9.0/src/libply-splash-core/ply-device-manager.h +Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.h =================================================================== ---- plymouth-0.9.0.orig/src/libply-splash-core/ply-device-manager.h -+++ plymouth-0.9.0/src/libply-splash-core/ply-device-manager.h -@@ -49,6 +49,7 @@ void ply_device_manager_deactivate_keybo +--- 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 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,150 +42,147 @@ Index: plymouth-0.9.0/src/libply-splash-core/ply-device-manager.h #endif -Index: plymouth-0.9.0/src/libply/ply-utils.c +Index: plymouth-0.9.2/src/libply/ply-utils.c =================================================================== ---- plymouth-0.9.0.orig/src/libply/ply-utils.c -+++ plymouth-0.9.0/src/libply/ply-utils.c +--- plymouth-0.9.2.orig/src/libply/ply-utils.c ++++ plymouth-0.9.2/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 + bool ply_open_unidirectional_pipe (int *sender_fd, -@@ -797,6 +798,7 @@ ply_create_daemon (void) - { - int read_error = errno; - int status; -+ inChild = true; +@@ -771,6 +772,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) - { -@@ -843,6 +845,9 @@ ply_detach_daemon (ply_daemon_handle_t * - close (sender_fd); - free (handle); + 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 * + close (sender_fd); + free (handle); -+ if (inChild) -+ setsid(); ++ if (inChild) ++ setsid(); + - return true; + return true; } -Index: plymouth-0.9.0/src/libply/ply-terminal-session.c +Index: plymouth-0.9.2/src/libply/ply-terminal-session.c =================================================================== ---- plymouth-0.9.0.orig/src/libply/ply-terminal-session.c -+++ plymouth-0.9.0/src/libply/ply-terminal-session.c -@@ -187,6 +187,13 @@ ply_terminal_session_redirect_console (p +--- plymouth-0.9.2.orig/src/libply/ply-terminal-session.c ++++ plymouth-0.9.2/src/libply/ply-terminal-session.c +@@ -187,6 +187,12 @@ ply_terminal_session_redirect_console (p - assert (terminal_name != NULL); + 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 ("/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); + fd = open (terminal_name, O_RDWR | O_NOCTTY); - if (fd < 0) -Index: plymouth-0.9.0/src/main.c + if (fd < 0) +Index: plymouth-0.9.2/src/main.c =================================================================== ---- plymouth-0.9.0.orig/src/main.c -+++ plymouth-0.9.0/src/main.c -@@ -1042,6 +1042,7 @@ on_seat_added (state_t *state, - +--- 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); } +static ply_device_manager_t *manager; static void - load_devices (state_t *state, - ply_device_manager_flags_t flags) -@@ -1049,6 +1050,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); + load_devices (state_t *state, + ply_device_manager_flags_t flags) +@@ -1033,6 +1034,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; ++ manager = state->device_manager; + - ply_device_manager_watch_seats (state->device_manager, - (ply_seat_added_handler_t) - on_seat_added, -@@ -1077,6 +1080,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); + 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_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); + } } - } -@@ -2075,25 +2079,22 @@ dump_debug_buffer_to_file (void) - #include - #include +@@ -1974,25 +1978,20 @@ dump_debug_buffer_to_file (void) + #include + #include static void -on_crash (int signum) +dosigaction (int signum) { -- struct termios term_attributes; - int fd; +- struct termios term_attributes; + int fd; -- fd = open ("/dev/tty1", O_RDWR | O_NOCTTY); -- if (fd < 0) fd = open ("/dev/hvc0", O_RDWR | O_NOCTTY); +- fd = open ("/dev/tty1", O_RDWR | O_NOCTTY); +- if (fd < 0) fd = open ("/dev/hvc0", O_RDWR | O_NOCTTY); - -- ioctl (fd, KDSETMODE, KD_TEXT); +- ioctl (fd, KDSETMODE, KD_TEXT); - -- tcgetattr (fd, &term_attributes); +- 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; +- 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); -+ } +- 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); -+ } +- 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) - { -@@ -2108,7 +2109,6 @@ on_crash (int signum) - pid_file = NULL; - } + if (debug_buffer != NULL) { + dump_debug_buffer_to_file (); +@@ -2005,7 +2004,6 @@ on_crash (int signum) + pid_file = NULL; + } -- signal (signum, SIG_DFL); - raise(signum); +- signal (signum, SIG_DFL); + raise (signum); } -@@ -2145,6 +2145,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; +@@ -2039,6 +2037,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"); -@@ -2256,8 +2257,13 @@ main (int argc, - if (debug) - debug_buffer = ply_buffer_new (); + state.start_time = ply_get_timestamp (); + state.command_parser = ply_command_parser_new ("plymouthd", "Splash server"); +@@ -2141,8 +2140,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); +- 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. + /* before do anything we need to make sure we have a working + * environment. diff --git a/0001-libply-splash-core-also-monitor-for-file-removal-in-.patch b/0001-libply-splash-core-also-monitor-for-file-removal-in-.patch deleted file mode 100644 index dc9aed3..0000000 --- a/0001-libply-splash-core-also-monitor-for-file-removal-in-.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 920009efa99204de172332486de5ccff6a3332d5 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Thu, 19 Jun 2014 17:58:50 +0200 -Subject: [PATCH] libply-splash-core: also monitor for file removal in udev - directory - ---- - src/libply-splash-core/ply-device-manager.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/libply-splash-core/ply-device-manager.c b/src/libply-splash-core/ply-device-manager.c -index aa4d15c..06d751c 100644 ---- a/src/libply-splash-core/ply-device-manager.c -+++ b/src/libply-splash-core/ply-device-manager.c -@@ -761,7 +761,7 @@ watch_for_coldplug_completion (ply_device_manager_t *manager) - } - - fd = inotify_init1 (IN_CLOEXEC); -- result = inotify_add_watch (fd, "/run/udev", IN_MOVED_TO); -+ result = inotify_add_watch (fd, "/run/udev", IN_MOVED_TO | IN_DELETE); - - if (result < 0) - { --- -1.8.4.5 - diff --git a/0001-seat-be-a-little-more-forgiving-in-the-case-there-s-.patch b/0001-seat-be-a-little-more-forgiving-in-the-case-there-s-.patch deleted file mode 100644 index 64a5bee..0000000 --- a/0001-seat-be-a-little-more-forgiving-in-the-case-there-s-.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 84eb4381db85877a9a56b35994e6c10d43e46ebe Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Mon, 14 Jul 2014 08:04:54 -0400 -Subject: [PATCH] seat: be a little more forgiving in the case there's no open - terminal - -We can end up in a situation where a seat object doesn't have a terminal -associated with it. In that case we shouldn't crash, but continue on -with no input available for that seat. - -https://bugs.freedesktop.org/show_bug.cgi?id=80553 ---- - src/libply-splash-core/ply-seat.c | 17 +++++++++++++---- - 1 file changed, 13 insertions(+), 4 deletions(-) - -Index: plymouth-0.9.0/src/libply-splash-core/ply-seat.c -=================================================================== ---- plymouth-0.9.0.orig/src/libply-splash-core/ply-seat.c -+++ plymouth-0.9.0/src/libply-splash-core/ply-seat.c -@@ -154,14 +154,23 @@ ply_seat_open (ply_seat_t *seat - add_pixel_displays (seat); - - } -- else -+ else if (seat->terminal != NULL) - { - seat->keyboard = ply_keyboard_new_for_terminal (seat->terminal); - } -- add_text_displays (seat); - -- ply_keyboard_watch_for_input (seat->keyboard); -- seat->keyboard_active = true; -+ if (seat->terminal != NULL) { -+ add_text_displays (seat); -+ } else { -+ ply_trace ("not adding text display for seat, since seat has no associated terminal"); -+ } -+ -+ if (seat->keyboard != NULL) { -+ ply_keyboard_watch_for_input (seat->keyboard); -+ seat->keyboard_active = true; -+ } else { -+ ply_trace ("not watching seat for input"); -+ } - - return true; - } diff --git a/0001-seats-guard-against-NULL-terminal.patch b/0001-seats-guard-against-NULL-terminal.patch index 5e5ea50..8a01f00 100644 --- a/0001-seats-guard-against-NULL-terminal.patch +++ b/0001-seats-guard-against-NULL-terminal.patch @@ -9,86 +9,56 @@ Subject: [PATCH] seats: guard against NULL terminal src/libply-splash-core/ply-terminal.c | 11 +++++++---- 3 files changed, 15 insertions(+), 9 deletions(-) -diff --git a/src/libply-splash-core/ply-keyboard.c b/src/libply-splash-core/ply-keyboard.c -index 624f906..1bed19f 100644 ---- a/src/libply-splash-core/ply-keyboard.c -+++ b/src/libply-splash-core/ply-keyboard.c -@@ -423,8 +423,11 @@ ply_keyboard_free (ply_keyboard_t *keyboard) - } - else - { -- ply_buffer_free (keyboard->provider.if_terminal->key_buffer); -- free (keyboard->provider.if_terminal); -+ if (keyboard->provider.if_terminal) -+ { -+ ply_buffer_free (keyboard->provider.if_terminal->key_buffer); -+ free (keyboard->provider.if_terminal); -+ } - } - - free (keyboard); -diff --git a/src/libply-splash-core/ply-seat.c b/src/libply-splash-core/ply-seat.c -index 2ac8bf7..29e2dfa 100644 ---- a/src/libply-splash-core/ply-seat.c -+++ b/src/libply-splash-core/ply-seat.c -@@ -102,12 +102,12 @@ add_text_displays (ply_seat_t *seat) +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; + ply_text_display_t *display; -- if (!ply_terminal_is_open (seat->terminal)) -+ if (!seat->terminal || !ply_terminal_is_open (seat->terminal)) - { -- if (!ply_terminal_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; +- 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; + } } - } -diff --git a/src/libply-splash-core/ply-terminal.c b/src/libply-splash-core/ply-terminal.c -index 992dd3f..b52b108 100644 ---- a/src/libply-splash-core/ply-terminal.c -+++ b/src/libply-splash-core/ply-terminal.c -@@ -654,30 +654,33 @@ ply_terminal_open (ply_terminal_t *terminal) - int - ply_terminal_get_fd (ply_terminal_t *terminal) - { -- return terminal->fd; -+ return terminal ? terminal->fd : -1; - } - +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; +- 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; +- 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; +- return terminal->is_active; ++ return terminal ? terminal->is_active : false; } void ply_terminal_close (ply_terminal_t *terminal) { -+ if (!terminal) -+ return; ++ if (!terminal) ++ return; + - if (!terminal->is_open) - { - ply_trace ("terminal %s is already closed", terminal->name); --- -1.8.4.5 - + if (!terminal->is_open) { + ply_trace ("terminal %s is already closed", terminal->name); + return; diff --git a/0001-splash-do-not-process-display-lists-if-it-is-empty.patch b/0001-splash-do-not-process-display-lists-if-it-is-empty.patch deleted file mode 100644 index eb36c37..0000000 --- a/0001-splash-do-not-process-display-lists-if-it-is-empty.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 95b775ea543489c688595e94a96909402b2b56f1 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Fri, 20 Jun 2014 16:01:12 +0200 -Subject: [PATCH] splash: do not process display lists if it is empty or NULL - ---- - src/plugins/splash/script/plugin.c | 1 + - src/plugins/splash/script/script-lib-sprite.c | 7 +++++++ - 2 files changed, 8 insertions(+) - -diff --git a/src/plugins/splash/script/plugin.c b/src/plugins/splash/script/plugin.c -index 8e37b37..cd9e052 100644 ---- a/src/plugins/splash/script/plugin.c -+++ b/src/plugins/splash/script/plugin.c -@@ -334,6 +334,7 @@ stop_script_animation (ply_boot_splash_plugin_t *plugin) - - script_state_destroy (plugin->script_state); - script_lib_sprite_destroy (plugin->script_sprite_lib); -+ plugin->script_sprite_lib = NULL; - script_lib_image_destroy (plugin->script_image_lib); - script_lib_plymouth_destroy (plugin->script_plymouth_lib); - script_lib_math_destroy (plugin->script_math_lib); -diff --git a/src/plugins/splash/script/script-lib-sprite.c b/src/plugins/splash/script/script-lib-sprite.c -index 166c7e7..f1cd57f 100644 ---- a/src/plugins/splash/script/script-lib-sprite.c -+++ b/src/plugins/splash/script/script-lib-sprite.c -@@ -704,6 +704,9 @@ void script_lib_sprite_pixel_display_removed (script_lib_sprite_data_t *data, pl - ply_list_node_t *next_node; - script_lib_display_t* display; - -+ if (!data) -+ return; -+ - node = ply_list_get_first_node (data->displays); - while (node) - { -@@ -725,6 +728,9 @@ script_lib_sprite_refresh (script_lib_sprite_data_t *data) - ply_region_t *region = ply_region_new (); - ply_list_t *rectable_list; - -+ if (!data) -+ return; -+ - ply_list_sort_stable (data->sprite_list, &sprite_compare_z); - - node = ply_list_get_first_node (data->sprite_list); -@@ -848,5 +854,6 @@ void script_lib_sprite_destroy (script_lib_sprite_data_t *data) - script_parse_op_free (data->script_main_op); - script_obj_native_class_destroy (data->class); - free (data); -+ data = NULL; - } - --- -1.8.4.5 - diff --git a/0001-splash-remove-pixel_pixel-in-sprite-lib-when-notifie.patch b/0001-splash-remove-pixel_pixel-in-sprite-lib-when-notifie.patch deleted file mode 100644 index ccc4063..0000000 --- a/0001-splash-remove-pixel_pixel-in-sprite-lib-when-notifie.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 61525fba34c724b6e319f6b3b8198c0c0f8aa677 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Thu, 19 Jun 2014 16:18:12 +0200 -Subject: [PATCH] splash: remove pixel_pixel in sprite-lib when notified they - are gone - ---- - src/plugins/splash/script/plugin.c | 1 + - src/plugins/splash/script/script-lib-sprite.c | 28 +++++++++++++++++++++++---- - src/plugins/splash/script/script-lib-sprite.h | 1 + - 3 files changed, 26 insertions(+), 4 deletions(-) - -diff --git a/src/plugins/splash/script/plugin.c b/src/plugins/splash/script/plugin.c -index c5c1e16..8e37b37 100644 ---- a/src/plugins/splash/script/plugin.c -+++ b/src/plugins/splash/script/plugin.c -@@ -401,6 +401,7 @@ static void - remove_pixel_display (ply_boot_splash_plugin_t *plugin, - ply_pixel_display_t *display) - { -+ script_lib_sprite_pixel_display_removed (plugin->script_sprite_lib, display); - ply_list_remove_data(plugin->displays, display); - } - -diff --git a/src/plugins/splash/script/script-lib-sprite.c b/src/plugins/splash/script/script-lib-sprite.c -index e0ced7e..166c7e7 100644 ---- a/src/plugins/splash/script/script-lib-sprite.c -+++ b/src/plugins/splash/script/script-lib-sprite.c -@@ -77,7 +77,7 @@ static script_return_t sprite_get_image (script_state_t *state, - { - script_lib_sprite_data_t *data = user_data; - sprite_t *sprite = script_obj_as_native_of_class (state->this, data->class); -- -+ - if (sprite && sprite->image_obj) - { - script_obj_ref (sprite->image_obj); -@@ -481,7 +481,7 @@ static void script_lib_sprite_draw_area (script_lib_display_t *display, - } - } - --static void -+static void - draw_area (script_lib_sprite_data_t *data, - int x, - int y, -@@ -533,10 +533,10 @@ script_lib_sprite_data_t *script_lib_sprite_setup (script_state_t *state, - ply_pixel_display_t *pixel_display = ply_list_node_get_data (node); - script_lib_display_t *script_display = malloc (sizeof(script_lib_display_t)); - script_display->pixel_display = pixel_display; -- -+ - script_display->x = (max_width - ply_pixel_display_get_width (pixel_display)) / 2; - script_display->y = (max_height - ply_pixel_display_get_height (pixel_display)) / 2; -- -+ - script_display->data = data; - ply_pixel_display_set_draw_handler (pixel_display, - (ply_pixel_display_draw_handler_t) -@@ -698,6 +698,26 @@ region_add_area (ply_region_t *region, - ply_region_add_rectangle (region, &rectangle); - } - -+void script_lib_sprite_pixel_display_removed (script_lib_sprite_data_t *data, ply_pixel_display_t *pixel_display) -+{ -+ ply_list_node_t *node; -+ ply_list_node_t *next_node; -+ script_lib_display_t* display; -+ -+ node = ply_list_get_first_node (data->displays); -+ while (node) -+ { -+ next_node = ply_list_get_next_node (data->displays, node); -+ display = ply_list_node_get_data (node); -+ -+ if (display->pixel_display == pixel_display) -+ { -+ ply_list_remove_node (data->displays, node); -+ } -+ node = next_node; -+ } -+} -+ - void - script_lib_sprite_refresh (script_lib_sprite_data_t *data) - { -diff --git a/src/plugins/splash/script/script-lib-sprite.h b/src/plugins/splash/script/script-lib-sprite.h -index 0cb0681..2404b85 100644 ---- a/src/plugins/splash/script/script-lib-sprite.h -+++ b/src/plugins/splash/script/script-lib-sprite.h -@@ -65,6 +65,7 @@ typedef struct - - script_lib_sprite_data_t *script_lib_sprite_setup (script_state_t *state, - ply_list_t *displays); -+void script_lib_sprite_pixel_display_removed (script_lib_sprite_data_t *data, ply_pixel_display_t *pixel_display); - void script_lib_sprite_refresh (script_lib_sprite_data_t *data); - void script_lib_sprite_destroy (script_lib_sprite_data_t *data); - --- -1.8.4.5 - diff --git a/0001-text-step-bar-use-correct-utf-8-multibyte-sequence-f.patch b/0001-text-step-bar-use-correct-utf-8-multibyte-sequence-f.patch deleted file mode 100644 index cfdd5e1..0000000 --- a/0001-text-step-bar-use-correct-utf-8-multibyte-sequence-f.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 40c2dd36c5da64919f69dd4f37de2ecf19f23058 Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Mon, 28 Jul 2014 09:58:49 -0400 -Subject: [PATCH] =?UTF-8?q?text-step-bar:=20use=20correct=20utf-8=20multib?= - =?UTF-8?q?yte=20sequence=20for=20=E2=96=A0?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -For some reason in commit 113526408c5706c9efc7f43c3f8258354e762677 -I commited the sequence \x25\x96\xa0 in place of the block character -that was there before. I don't know where I got \x25 from, but it's -not right (and couldn't even be right since the high order bit isn't -set which is a requirement for the first byte in multi-byte utf-8 -sequences). - -This commit uses \xe2 instead which I got from doing: - -$ echo ■ | xxd -0000000: e296 a00a .... ---- - src/libply-splash-core/ply-text-step-bar.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: plymouth-0.9.0/src/libply-splash-core/ply-text-step-bar.c -=================================================================== ---- plymouth-0.9.0.orig/src/libply-splash-core/ply-text-step-bar.c -+++ plymouth-0.9.0/src/libply-splash-core/ply-text-step-bar.c -@@ -96,7 +96,7 @@ ply_text_step_bar_draw (ply_text_step_ba - } - - /* U+25A0 BLACK SQUARE */ -- ply_text_display_write (step_bar->display, "%s", "\x25\x96\xa0"); -+ ply_text_display_write (step_bar->display, "%s", "\xe2\x96\xa0"); - ply_text_display_write (step_bar->display, "%c", ' '); - } - diff --git a/fix-serial-consoles.patch b/fix-serial-consoles.patch index 2066006..d104151 100644 --- a/fix-serial-consoles.patch +++ b/fix-serial-consoles.patch @@ -1,51 +1,47 @@ -Index: plymouth-0.8.8_git20140327/src/libply-splash-core/ply-device-manager.c +Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c =================================================================== ---- plymouth-0.8.8_git20140327.orig/src/libply-splash-core/ply-device-manager.c -+++ plymouth-0.8.8_git20140327/src/libply-splash-core/ply-device-manager.c -@@ -58,6 +58,8 @@ struct _ply_device_manager - int udev_queue_fd; - ply_fd_watch_t *udev_queue_fd_watch; - struct udev_monitor *udev_monitor; -+ bool has_serial_consoles; -+ +--- 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; + }; - ply_seat_added_handler_t seat_added_handler; - ply_seat_removed_handler_t seat_removed_handler; -@@ -501,6 +503,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); -@@ -670,21 +673,19 @@ create_seat_for_terminal (const char + 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; +- bool has_serial_consoles; - - ply_trace ("checking for 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 (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, -@@ -838,6 +839,15 @@ ply_device_manager_has_open_seats (ply_d - return false; +- 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 @@ -60,26 +56,26 @@ Index: plymouth-0.8.8_git20140327/src/libply-splash-core/ply-device-manager.c ply_list_t * ply_device_manager_get_seats (ply_device_manager_t *manager) { -Index: plymouth-0.8.8_git20140327/src/main.c +Index: plymouth-0.9.2/src/main.c =================================================================== ---- plymouth-0.8.8_git20140327.orig/src/main.c -+++ plymouth-0.8.8_git20140327/src/main.c -@@ -848,7 +848,7 @@ plymouth_should_show_default_splash (sta - }; - int i; +--- 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; +- 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.8.8_git20140327/src/libply-splash-core/ply-device-manager.h + for (i = 0; strings[i] != NULL; i++) { +Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.h =================================================================== ---- plymouth-0.8.8_git20140327.orig/src/libply-splash-core/ply-device-manager.h -+++ plymouth-0.8.8_git20140327/src/libply-splash-core/ply-device-manager.h -@@ -42,6 +42,7 @@ void ply_device_manager_watch_seats (ply +--- 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); + 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); diff --git a/plymouth-0.9.0.tar.bz2 b/plymouth-0.9.0.tar.bz2 deleted file mode 100644 index 7e6c2b9..0000000 --- a/plymouth-0.9.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d3e22e750a8a83de7377e9fa88975f146f875bbd030055411a2faf74c2e6cd4d -size 1159218 diff --git a/plymouth-0.9.2.tar.bz2 b/plymouth-0.9.2.tar.bz2 new file mode 100644 index 0000000..0670630 --- /dev/null +++ b/plymouth-0.9.2.tar.bz2 @@ -0,0 +1,3 @@ +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 index 045b8fb..282a525 100644 --- a/plymouth-boot-vga-framebuffer.patch +++ b/plymouth-boot-vga-framebuffer.patch @@ -1,19 +1,19 @@ -Index: plymouth-0.9.0/src/libply-splash-core/ply-device-manager.c +Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c =================================================================== ---- plymouth-0.9.0.orig/src/libply-splash-core/ply-device-manager.c -+++ plymouth-0.9.0/src/libply-splash-core/ply-device-manager.c -@@ -101,12 +101,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); +--- 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); + 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; +- 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-fix-window-size b/plymouth-fix-window-size index 636b25a..fe36ff9 100644 --- a/plymouth-fix-window-size +++ b/plymouth-fix-window-size @@ -14,23 +14,25 @@ Signed-off-by: Jeff Mahoney src/plugins/splash/script/script-lib-sprite.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ---- a/src/plugins/splash/script/script-lib-sprite.c -+++ b/src/plugins/splash/script/script-lib-sprite.c -@@ -233,7 +233,7 @@ static script_return_t sprite_window_get - if (width == 0) - width = ply_pixel_display_get_width (display->pixel_display); - else -- width = MIN (width, ply_pixel_display_get_width (display->pixel_display)); -+ width = MAX (width, ply_pixel_display_get_width (display->pixel_display)); - } - return script_return_obj (script_obj_new_number (width)); +Index: plymouth-0.9.2/src/plugins/splash/script/script-lib-sprite.c +=================================================================== +--- plymouth-0.9.2.orig/src/plugins/splash/script/script-lib-sprite.c ++++ plymouth-0.9.2/src/plugins/splash/script/script-lib-sprite.c +@@ -231,7 +231,7 @@ static script_return_t sprite_window_get + if (width == 0) + width = ply_pixel_display_get_width (display->pixel_display); + else +- width = MIN (width, ply_pixel_display_get_width (display->pixel_display)); ++ width = MAX (width, ply_pixel_display_get_width (display->pixel_display)); + } + return script_return_obj (script_obj_new_number (width)); } -@@ -273,7 +273,7 @@ static script_return_t sprite_window_get - if (height == 0) - height = ply_pixel_display_get_height (display->pixel_display); - else -- height = MIN (height, ply_pixel_display_get_height (display->pixel_display)); -+ height = MAX (height, ply_pixel_display_get_height (display->pixel_display)); - } - return script_return_obj (script_obj_new_number (height)); +@@ -269,7 +269,7 @@ static script_return_t sprite_window_get + if (height == 0) + height = ply_pixel_display_get_height (display->pixel_display); + else +- height = MIN (height, ply_pixel_display_get_height (display->pixel_display)); ++ height = MAX (height, ply_pixel_display_get_height (display->pixel_display)); + } + return script_return_obj (script_obj_new_number (height)); } diff --git a/plymouth-ignore-cirrusdrm.patch b/plymouth-ignore-cirrusdrm.patch index 55c6e49..ef673c0 100644 --- a/plymouth-ignore-cirrusdrm.patch +++ b/plymouth-ignore-cirrusdrm.patch @@ -1,15 +1,15 @@ -diff --git a/src/libply-splash-core/ply-device-manager.c b/src/libply-splash-core/ply-device-manager.c -index a5aa59d..0be2117 100644 ---- a/src/libply-splash-core/ply-device-manager.c -+++ b/src/libply-splash-core/ply-device-manager.c -@@ -125,6 +125,10 @@ fb_device_has_drm_device (ply_device_manager_t *manager, - 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); +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 9ce8d59..ce4d01a 100644 --- a/plymouth.changes +++ b/plymouth.changes @@ -1,3 +1,35 @@ +------------------------------------------------------------------- +Mon Dec 28 14:48:48 UTC 2015 - dimstar@opensuse.org + +- Update to version 0.9.2: + + two-step: Add separate startup / shutdown animations. + + device-manager: try fb device if drm device failed. + + Port to GTK+ 3.0. + + script support system update events. + + Drop the obsolete log-viewer +- Rebase patches: + + plymouth-fix-window-size + + stop-graphical.patch + + 0001-Some-greenish-openSUSE-colors.patch + + fix-serial-consoles.patch + + 0001-seats-guard-against-NULL-terminal.patch + + plymouth-ignore-cirrusdrm.patch + + plymouth-boot-vga-framebuffer.patch + + 0001-let-it-become-a-real-daemon.patch +- Drop upstream fixed patches: + + 0001-device-manager-only-call-ply_terminal_free.patch + + 0001-splash-remove-pixel_pixel-in-sprite-lib-when-notifie.patch + + 0001-splash-do-not-process-display-lists-if-it-is-empty.patch + + 0001-libply-splash-core-also-monitor-for-file-removal-in-.patch + + 0001-seat-be-a-little-more-forgiving-in-the-case-there-s-.patch + + 0001-text-step-bar-use-correct-utf-8-multibyte-sequence-f.patch +- Replace pkgconfig(gtk+-2.0) BuildRequires with + pkgconfig(gtk+-3.0), following upstreams port to GTK+ 3.0. +- Rename library subpackage from *2 to *4, followings upstreams + soname bump. +- Drop utils subpackage: the log-viewer, which was the only tool + left, has been dropped. + ------------------------------------------------------------------- Thu Dec 10 17:15:36 CET 2015 - tiwai@suse.de diff --git a/plymouth.spec b/plymouth.spec index f034f94..a1fdb6f 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -22,13 +22,13 @@ %define plymouth_initrd_file /boot/initrd-plymouth.img Name: plymouth -Version: 0.9.0 +Version: 0.9.2 Release: 0 Summary: Graphical Boot Animation and Logger License: GPL-2.0+ Group: System/Base Url: http://freedesktop.org/software/plymouth/releases -Source0: %{name}-%{version}.tar.bz2 +Source0: http://www.freedesktop.org/software/plymouth/releases/%{name}-%{version}.tar.bz2 Source1: boot-duration # PATCH-OPENSUSE -- Handle correctly multiple displays with different sizes Patch3: plymouth-fix-window-size @@ -42,24 +42,12 @@ 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-UPSTREAM 0001-device-manager-only-call-ply_terminal_free.patch fcrozat@suse.com -- Fix crash -Patch19: 0001-device-manager-only-call-ply_terminal_free.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 0001-splash-remove-pixel_pixel-in-sprite-lib-when-notifie.patch fcrozat@suse.com -- prevent crash if pixel display is removed -Patch22: 0001-splash-remove-pixel_pixel-in-sprite-lib-when-notifie.patch -# PATCH-FIX-UPSTREAM 0001-splash-do-not-process-display-lists-if-it-is-empty.patch fcrozat@suse.com -- do no crash when removing displays -Patch23: 0001-splash-do-not-process-display-lists-if-it-is-empty.patch -# PATCH-FIX-UPSTREAM 0001-libply-splash-core-also-monitor-for-file-removal-in-.patch fcrozat@suse.com -- handle recent udev -Patch24: 0001-libply-splash-core-also-monitor-for-file-removal-in-.patch -# PATCH-FIX-UPSTREAM 0001-seat-be-a-little-more-forgiving-in-the-case-there-s-.patch fcrozat@suse.com -- handle empty seat better -Patch25: 0001-seat-be-a-little-more-forgiving-in-the-case-there-s-.patch # PATCH-FIX-UPSTREAM plymouth-ignore-cirrusdrm.patch fcrozat@suse.com -- ignore cirrusdrm, use fb instead Patch26: plymouth-ignore-cirrusdrm.patch -# PATCH-FIX-UPSTREAM 0001-text-step-bar-use-correct-utf-8-multibyte-sequence-f.patch bnc#886148 fcrozat@suse.com -- fix UTF-8 code for square -Patch27: 0001-text-step-bar-use-correct-utf-8-multibyte-sequence-f.patch Patch28: plymouth-boot-vga-framebuffer.patch Patch29: 0001-let-it-become-a-real-daemon.patch @@ -73,6 +61,7 @@ BuildRequires: module-init-tools BuildRequires: systemd >= 186 BuildRequires: update-desktop-files BuildRequires: xz +BuildRequires: pkgconfig(gtk+-3.0) >= 3.14.0 BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(systemd) >= 186 Requires(post): coreutils @@ -94,36 +83,36 @@ place of the text messages that normally get shown. Text messages are instead redirected to a log file for viewing after boot. -%package -n libply-boot-client2 +%package -n libply-boot-client4 Summary: Plymouth core library Group: Development/Libraries/C and C++ -%description -n libply-boot-client2 +%description -n libply-boot-client4 This package contains the libply-boot-client library used by Plymouth. -%package -n libply-splash-core2 +%package -n libply-splash-core4 Summary: Plymouth core library Group: Development/Libraries/C and C++ -%description -n libply-splash-core2 +%description -n libply-splash-core4 This package contains the libply-splash-core library used by graphical Plymouth splashes. -%package -n libply-splash-graphics2 +%package -n libply-splash-graphics4 Summary: Plymouth graphics libraries Group: Development/Libraries/C and C++ BuildRequires: libpng-devel -%description -n libply-splash-graphics2 +%description -n libply-splash-graphics4 This package contains the libply-splash-graphics library used by graphical Plymouth splashes. -%package -n libply2 +%package -n libply4 Summary: Plymouth core library Group: Development/Libraries/C and C++ -Requires: libply-boot-client2 = %{version} +Requires: libply-boot-client4 = %{version} -%description -n libply2 +%description -n libply4 This package contains the libply library used by Plymouth. %package devel @@ -131,26 +120,16 @@ Summary: Libraries and headers for writing Plymouth splash plugins Group: Development/Libraries/C and C++ Requires: %{name} = %{version} Requires: %{name}-x11-renderer = %{version} -Requires: libply-boot-client2 = %{version} -Requires: libply-splash-core2 = %{version} -Requires: libply-splash-graphics2 = %{version} -Requires: libply2 = %{version} +Requires: libply-boot-client4 = %{version} +Requires: libply-splash-core4 = %{version} +Requires: libply-splash-graphics4 = %{version} +Requires: libply4 = %{version} Requires: pkgconfig %description devel This package contains the libply and libplybootsplash libraries and headers needed to develop 3rd party splash plugins for Plymouth. -%package utils -Summary: Plymouth related utilities -Group: System/Base -BuildRequires: pkgconfig(gtk+-2.0) -Requires: %{name} = %{version} - -%description utils -This package contains utilities that integrate with Plymouth -including a boot log viewing application. - %package dracut Summary: Plymouth related utilities for dracut Group: System/Base @@ -187,7 +166,7 @@ Summary: Plymouth label plugin Group: System/Base BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(pango) >= 1.21.0 -Requires: libply-splash-core2 = %{version} +Requires: libply-splash-core4 = %{version} %description plugin-label This package contains the label control plugin for @@ -197,9 +176,9 @@ graphical boot splashes using pango and cairo. %package plugin-fade-throbber Summary: Plymouth "Fade-Throbber" plugin Group: System/Base -Requires: libply-splash-core2 = %{version} -Requires: libply-splash-graphics2 = %{version} -Requires: libply2 = %{version} +Requires: libply-splash-core4 = %{version} +Requires: libply-splash-graphics4 = %{version} +Requires: libply4 = %{version} %description plugin-fade-throbber This package contains the "Fade-In" boot splash plugin for @@ -210,9 +189,9 @@ while other images pulsate around during system boot up. Summary: Plymouth "Throbgress" plugin Group: System/Base Requires: %{name}-plugin-label = %{version} -Requires: libply-splash-core2 = %{version} -Requires: libply-splash-graphics2 = %{version} -Requires: libply2 = %{version} +Requires: libply-splash-core4 = %{version} +Requires: libply-splash-graphics4 = %{version} +Requires: libply4 = %{version} %description plugin-throbgress This package contains the "throbgress" boot splash plugin for @@ -224,9 +203,9 @@ the screen. Summary: Plymouth "space-flares" plugin Group: System/Base Requires: %{name}-plugin-label = %{version} -Requires: libply-splash-core2 = %{version} -Requires: libply-splash-graphics2 = %{version} -Requires: libply2 = %{version} +Requires: libply-splash-core4 = %{version} +Requires: libply-splash-graphics4 = %{version} +Requires: libply4 = %{version} %description plugin-space-flares This package contains the "space-flares" boot splash plugin for @@ -235,9 +214,9 @@ Plymouth. It features a corner image with animated flares. %package plugin-two-step Summary: Plymouth "two-step" plugin Group: System/Base -Requires: libply-splash-core2 = %{version} -Requires: libply-splash-graphics2 = %{version} -Requires: libply2 = %{version} +Requires: libply-splash-core4 = %{version} +Requires: libply-splash-graphics4 = %{version} +Requires: libply4 = %{version} Requires: plymouth-plugin-label = %{version} %description plugin-two-step @@ -249,9 +228,9 @@ short, fast one-shot animation. %package plugin-script Summary: Plymouth "script" plugin Group: System/Base -Requires: libply-splash-core2 = %{version} -Requires: libply-splash-graphics2 = %{version} -Requires: libply2 = %{version} +Requires: libply-splash-core4 = %{version} +Requires: libply-splash-graphics4 = %{version} +Requires: libply4 = %{version} %description plugin-script This package contains the "script" boot splash plugin for @@ -262,9 +241,9 @@ boot splash themes. %package plugin-tribar Summary: Plymouth "script" plugin Group: System/Base -Requires: libply-splash-core2 = %{version} -Requires: libply-splash-graphics2 = %{version} -Requires: libply2 = %{version} +Requires: libply-splash-core4 = %{version} +Requires: libply-splash-graphics4 = %{version} +Requires: libply4 = %{version} %description plugin-tribar This package contains the "tribar" boot splash plugin for @@ -352,15 +331,9 @@ plugin. %patch16 -p1 %patch17 -p1 %patch18 -p1 -%patch19 -p1 %patch20 -p1 %patch21 -p1 -%patch22 -p1 -%patch23 -p1 -%patch24 -p1 -%patch25 -p1 %patch26 -p1 -%patch27 -p1 %patch28 -p1 %patch29 -p1 @@ -385,7 +358,6 @@ autoreconf -fiv --with-background-color=0x3391cd \ --disable-gdm-transition \ --without-system-root-install \ - --with-log-viewer \ --without-rhgb-compat-link \ --with-boot-tty=/dev/tty7 \ --with-shutdown-tty=/dev/tty1 \ @@ -438,21 +410,21 @@ fi %posttrans %{?regenerate_initrd_posttrans} -%post -n libply-boot-client2 -p /sbin/ldconfig +%post -n libply-boot-client4 -p /sbin/ldconfig -%postun -n libply-boot-client2 -p /sbin/ldconfig +%postun -n libply-boot-client4 -p /sbin/ldconfig -%post -n libply-splash-core2 -p /sbin/ldconfig +%post -n libply-splash-core4 -p /sbin/ldconfig -%postun -n libply-splash-core2 -p /sbin/ldconfig +%postun -n libply-splash-core4 -p /sbin/ldconfig -%post -n libply-splash-graphics2 -p /sbin/ldconfig +%post -n libply-splash-graphics4 -p /sbin/ldconfig -%postun -n libply-splash-graphics2 -p /sbin/ldconfig +%postun -n libply-splash-graphics4 -p /sbin/ldconfig -%post -n libply2 -p /sbin/ldconfig +%post -n libply4 -p /sbin/ldconfig -%postun -n libply2 -p /sbin/ldconfig +%postun -n libply4 -p /sbin/ldconfig %post theme-spinfinity if [ $1 -eq 1 ]; then @@ -568,21 +540,21 @@ fi %{_libdir}/pkgconfig/ply-boot-client.pc %{_includedir}/plymouth-1 -%files -n libply-boot-client2 +%files -n libply-boot-client4 %defattr(-, root, root) -%{_libdir}/libply-boot-client.so.2* +%{_libdir}/libply-boot-client.so.4* -%files -n libply-splash-core2 +%files -n libply-splash-core4 %defattr(-, root, root) -%{plymouth_libdir}/libply-splash-core.so.2* +%{plymouth_libdir}/libply-splash-core.so.4* -%files -n libply-splash-graphics2 +%files -n libply-splash-graphics4 %defattr(-, root, root) -%{_libdir}/libply-splash-graphics.so.2* +%{_libdir}/libply-splash-graphics.so.4* -%files -n libply2 +%files -n libply4 %defattr(-, root, root) -%{plymouth_libdir}/libply.so.2* +%{plymouth_libdir}/libply.so.4* %files scripts %defattr(-, root, root) @@ -590,10 +562,6 @@ fi %{_sbindir}/plymouth-set-default-theme %{_libexecdir}/plymouth/plymouth-update-initrd -%files utils -%defattr(-, root, root) -%{_bindir}/plymouth-log-viewer - %files x11-renderer %defattr(-,root,root,-) %{_libdir}/plymouth/renderers/x11* diff --git a/stop-graphical.patch b/stop-graphical.patch index 99100cc..3b03097 100644 --- a/stop-graphical.patch +++ b/stop-graphical.patch @@ -1,19 +1,19 @@ -Index: plymouth-0.9.0/systemd-units/plymouth-quit-wait.service.in +Index: plymouth-0.9.2/systemd-units/plymouth-quit-wait.service.in =================================================================== ---- plymouth-0.9.0.orig/systemd-units/plymouth-quit-wait.service.in -+++ plymouth-0.9.0/systemd-units/plymouth-quit-wait.service.in +--- plymouth-0.9.2.orig/systemd-units/plymouth-quit-wait.service.in ++++ plymouth-0.9.2/systemd-units/plymouth-quit-wait.service.in @@ -1,6 +1,7 @@ [Unit] - Description=Wait for Plymouth Boot Screen to Quit + Description=Hold until boot process finishes up After=rc-local.service plymouth-start.service systemd-user-sessions.service +Conflicts=graphical.target [Service] ExecStart=-@PLYMOUTH_CLIENT_DIR@/plymouth --wait -Index: plymouth-0.9.0/systemd-units/plymouth-quit.service.in +Index: plymouth-0.9.2/systemd-units/plymouth-quit.service.in =================================================================== ---- plymouth-0.9.0.orig/systemd-units/plymouth-quit.service.in -+++ plymouth-0.9.0/systemd-units/plymouth-quit.service.in +--- plymouth-0.9.2.orig/systemd-units/plymouth-quit.service.in ++++ plymouth-0.9.2/systemd-units/plymouth-quit.service.in @@ -1,6 +1,7 @@ [Unit] Description=Terminate Plymouth Boot Screen