Accepting request 353462 from Base:System

1

OBS-URL: https://build.opensuse.org/request/show/353462
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/plymouth?expand=0&rev=51
This commit is contained in:
Dominique Leuenberger 2016-01-20 08:54:01 +00:00 committed by Git OBS Bridge
commit 224a366670
18 changed files with 369 additions and 701 deletions

View File

@ -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);

View File

@ -1,26 +0,0 @@
From 54951cef0e5ea3caeae1eb0ec33db7ed37d0d4b3 Mon Sep 17 00:00:00 2001
From: Frederic Crozat <fcrozat@suse.com>
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

View File

@ -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,10 +42,10 @@ 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];
@ -54,138 +54,135 @@ Index: plymouth-0.9.0/src/libply/ply-utils.c
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 <termios.h>
#include <unistd.h>
@@ -1974,25 +1978,20 @@ dump_debug_buffer_to_file (void)
#include <termios.h>
#include <unistd.h>
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.

View File

@ -1,26 +0,0 @@
From 920009efa99204de172332486de5ccff6a3332d5 Mon Sep 17 00:00:00 2001
From: Frederic Crozat <fcrozat@suse.com>
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

View File

@ -1,47 +0,0 @@
From 84eb4381db85877a9a56b35994e6c10d43e46ebe Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
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;
}

View File

@ -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;

View File

@ -1,56 +0,0 @@
From 95b775ea543489c688595e94a96909402b2b56f1 Mon Sep 17 00:00:00 2001
From: Frederic Crozat <fcrozat@suse.com>
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

View File

@ -1,101 +0,0 @@
From 61525fba34c724b6e319f6b3b8198c0c0f8aa677 Mon Sep 17 00:00:00 2001
From: Frederic Crozat <fcrozat@suse.com>
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

View File

@ -1,37 +0,0 @@
From 40c2dd36c5da64919f69dd4f37de2ecf19f23058 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
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", ' ');
}

View File

@ -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);

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d3e22e750a8a83de7377e9fa88975f146f875bbd030055411a2faf74c2e6cd4d
size 1159218

3
plymouth-0.9.2.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2f0ce82042cf9c7eadd2517a1f74c8a85fa8699781d9f294a06eade29fbed57f
size 1231336

View File

@ -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;

View File

@ -14,23 +14,25 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
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));
}

View File

@ -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;
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;
+ 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);
/* 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);

View File

@ -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

View File

@ -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*

View File

@ -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