Accepting request 452822 from Base:System
- Remove patch which causes breakage with systemd-vconsole-setup (bsc#1020327): * 0001-let-it-become-a-real-daemon.patch - Add upstream patch to fix crash on boot: * 0001-device-manager-handle-NULL-renderer-better.patch - Replace removal of framebuffer driver and plymouth-ignore-cirrusdrm.patch with single patch: * only_use_fb_for_cirrus_bochs.patch (forwarded request 452722 from favogt) OBS-URL: https://build.opensuse.org/request/show/452822 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/plymouth?expand=0&rev=53
This commit is contained in:
commit
0941e62024
47
0001-device-manager-handle-NULL-renderer-better.patch
Normal file
47
0001-device-manager-handle-NULL-renderer-better.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
From fdda9af2c305ecf57407856b1d061c076ae8fe4a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ray Strode <rstrode@redhat.com>
|
||||||
|
Date: Wed, 18 Jan 2017 10:07:00 -0500
|
||||||
|
Subject: [PATCH] device-manager: handle NULL renderer better
|
||||||
|
|
||||||
|
Right now we'll pass a NULL device name and crash if the renderer
|
||||||
|
fails to open.
|
||||||
|
|
||||||
|
This commit fixes that.
|
||||||
|
---
|
||||||
|
src/libply-splash-core/ply-device-manager.c | 18 ++++++++++--------
|
||||||
|
1 file changed, 10 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/libply-splash-core/ply-device-manager.c b/src/libply-splash-core/ply-device-manager.c
|
||||||
|
index 4004e11..b4c33d4 100644
|
||||||
|
--- a/src/libply-splash-core/ply-device-manager.c
|
||||||
|
+++ b/src/libply-splash-core/ply-device-manager.c
|
||||||
|
@@ -689,16 +689,18 @@ create_devices_for_terminal_and_renderer_type (ply_device_manager_t *manager,
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
- old_renderer = ply_hashtable_lookup (manager->renderers,
|
||||||
|
- (void *) ply_renderer_get_device_name (renderer));
|
||||||
|
+ if (renderer != NULL) {
|
||||||
|
+ old_renderer = ply_hashtable_lookup (manager->renderers,
|
||||||
|
+ (void *) ply_renderer_get_device_name (renderer));
|
||||||
|
|
||||||
|
- if (old_renderer != NULL) {
|
||||||
|
- ply_trace ("ignoring device %s since it's alerady managed",
|
||||||
|
- ply_renderer_get_device_name (renderer));
|
||||||
|
- ply_renderer_free (renderer);
|
||||||
|
+ if (old_renderer != NULL) {
|
||||||
|
+ ply_trace ("ignoring device %s since it's alerady managed",
|
||||||
|
+ ply_renderer_get_device_name (renderer));
|
||||||
|
+ ply_renderer_free (renderer);
|
||||||
|
|
||||||
|
- renderer = NULL;
|
||||||
|
- return;
|
||||||
|
+ renderer = NULL;
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.11.0
|
||||||
|
|
@ -1,188 +0,0 @@
|
|||||||
Related to bnc#892526 -- let plymouthd become a real daemon that
|
|
||||||
is it should use its own session with the help of the system call
|
|
||||||
setsid(2). Also avoid an EBUSY on ioctl TIOCCONS if a former
|
|
||||||
plymouthd had failed. And a crash or termination may restore not
|
|
||||||
only the current virtual console but also any serial console as
|
|
||||||
well restore the system console.
|
|
||||||
|
|
||||||
---
|
|
||||||
plymouth-0.9.0/src/libply-splash-core/ply-device-manager.c | 9 ++
|
|
||||||
plymouth-0.9.0/src/libply-splash-core/ply-device-manager.h | 1
|
|
||||||
plymouth-0.9.0/src/libply/ply-terminal-session.c | 7 ++
|
|
||||||
plymouth-0.9.0/src/libply/ply-utils.c | 2
|
|
||||||
plymouth-0.9.0/src/main.c | 42 +++++++------
|
|
||||||
5 files changed, 43 insertions(+), 18 deletions(-)
|
|
||||||
|
|
||||||
Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c
|
|
||||||
===================================================================
|
|
||||||
--- plymouth-0.9.2.orig/src/libply-splash-core/ply-device-manager.c
|
|
||||||
+++ plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c
|
|
||||||
@@ -926,3 +926,12 @@ ply_device_manager_deactivate_keyboards
|
|
||||||
node = next_node;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+void
|
|
||||||
+ply_close_all_terminals (ply_device_manager_t *manager)
|
|
||||||
+{
|
|
||||||
+ ply_hashtable_foreach (manager->terminals,
|
|
||||||
+ (ply_hashtable_foreach_func_t *)
|
|
||||||
+ ply_terminal_close,
|
|
||||||
+ manager);
|
|
||||||
+}
|
|
||||||
Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.h
|
|
||||||
===================================================================
|
|
||||||
--- plymouth-0.9.2.orig/src/libply-splash-core/ply-device-manager.h
|
|
||||||
+++ plymouth-0.9.2/src/libply-splash-core/ply-device-manager.h
|
|
||||||
@@ -52,6 +52,7 @@ void ply_device_manager_deactivate_keybo
|
|
||||||
void ply_device_manager_activate_renderers (ply_device_manager_t *manager);
|
|
||||||
void ply_device_manager_deactivate_renderers (ply_device_manager_t *manager);
|
|
||||||
ply_terminal_t *ply_device_manager_get_default_terminal (ply_device_manager_t *manager);
|
|
||||||
+void ply_close_all_terminals (ply_device_manager_t *manager);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
Index: plymouth-0.9.2/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
|
|
||||||
ply_open_unidirectional_pipe (int *sender_fd,
|
|
||||||
@@ -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)
|
|
||||||
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();
|
|
||||||
+
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
Index: plymouth-0.9.2/src/libply/ply-terminal-session.c
|
|
||||||
===================================================================
|
|
||||||
--- plymouth-0.9.2.orig/src/libply/ply-terminal-session.c
|
|
||||||
+++ plymouth-0.9.2/src/libply/ply-terminal-session.c
|
|
||||||
@@ -187,6 +187,12 @@ ply_terminal_session_redirect_console (p
|
|
||||||
|
|
||||||
assert (terminal_name != NULL);
|
|
||||||
|
|
||||||
+ fd = open ("/dev/console", O_RDWR | O_NOCTTY);
|
|
||||||
+ if (fd >= 0) {
|
|
||||||
+ ioctl (fd, TIOCCONS); /* Undo any current map if any */
|
|
||||||
+ close (fd);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
fd = open (terminal_name, O_RDWR | O_NOCTTY);
|
|
||||||
|
|
||||||
if (fd < 0)
|
|
||||||
Index: plymouth-0.9.2/src/main.c
|
|
||||||
===================================================================
|
|
||||||
--- plymouth-0.9.2.orig/src/main.c
|
|
||||||
+++ plymouth-0.9.2/src/main.c
|
|
||||||
@@ -1026,6 +1026,7 @@ on_seat_added (state_t *state,
|
|
||||||
on_enter, state);
|
|
||||||
}
|
|
||||||
|
|
||||||
+static ply_device_manager_t *manager;
|
|
||||||
static void
|
|
||||||
load_devices (state_t *state,
|
|
||||||
ply_device_manager_flags_t flags)
|
|
||||||
@@ -1033,6 +1034,8 @@ load_devices (state_t
|
|
||||||
state->device_manager = ply_device_manager_new (state->default_tty, flags);
|
|
||||||
state->local_console_terminal = ply_device_manager_get_default_terminal (state->device_manager);
|
|
||||||
|
|
||||||
+ manager = state->device_manager;
|
|
||||||
+
|
|
||||||
ply_device_manager_watch_seats (state->device_manager,
|
|
||||||
(ply_seat_added_handler_t)
|
|
||||||
on_seat_added,
|
|
||||||
@@ -1058,6 +1061,7 @@ quit_splash (state_t *state)
|
|
||||||
ply_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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -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;
|
|
||||||
|
|
||||||
- fd = open ("/dev/tty1", O_RDWR | O_NOCTTY);
|
|
||||||
- if (fd < 0) fd = open ("/dev/hvc0", O_RDWR | O_NOCTTY);
|
|
||||||
-
|
|
||||||
- ioctl (fd, KDSETMODE, KD_TEXT);
|
|
||||||
-
|
|
||||||
- tcgetattr (fd, &term_attributes);
|
|
||||||
-
|
|
||||||
- term_attributes.c_iflag |= BRKINT | IGNPAR | ICRNL | IXON;
|
|
||||||
- term_attributes.c_oflag |= OPOST;
|
|
||||||
- term_attributes.c_lflag |= ECHO | ICANON | ISIG | IEXTEN;
|
|
||||||
-
|
|
||||||
- tcsetattr (fd, TCSAFLUSH, &term_attributes);
|
|
||||||
+ if (manager) {
|
|
||||||
+ ply_device_manager_deactivate_keyboards (manager);
|
|
||||||
+ ply_close_all_terminals (manager);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- close (fd);
|
|
||||||
+ fd = open ("/dev/console", O_RDWR | O_NOCTTY);
|
|
||||||
+ if (fd >= 0) {
|
|
||||||
+ ioctl (fd, TIOCCONS); /* Undo any current map if any */
|
|
||||||
+ close (fd);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
if (debug_buffer != NULL) {
|
|
||||||
dump_debug_buffer_to_file ();
|
|
||||||
@@ -2005,7 +2004,6 @@ on_crash (int signum)
|
|
||||||
pid_file = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
- signal (signum, SIG_DFL);
|
|
||||||
raise (signum);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -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");
|
|
||||||
@@ -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);
|
|
||||||
|
|
||||||
/* before do anything we need to make sure we have a working
|
|
||||||
* environment.
|
|
@ -1,64 +0,0 @@
|
|||||||
From a6eff09852c2eb4d684526b814d2b2df578938d0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Frederic Crozat <fcrozat@suse.com>
|
|
||||||
Date: Thu, 12 Jun 2014 18:51:24 +0200
|
|
||||||
Subject: [PATCH] seats: guard against NULL terminal
|
|
||||||
|
|
||||||
---
|
|
||||||
src/libply-splash-core/ply-keyboard.c | 7 +++++--
|
|
||||||
src/libply-splash-core/ply-seat.c | 6 +++---
|
|
||||||
src/libply-splash-core/ply-terminal.c | 11 +++++++----
|
|
||||||
3 files changed, 15 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
Index: plymouth-0.9.2/src/libply-splash-core/ply-seat.c
|
|
||||||
===================================================================
|
|
||||||
--- plymouth-0.9.2.orig/src/libply-splash-core/ply-seat.c
|
|
||||||
+++ plymouth-0.9.2/src/libply-splash-core/ply-seat.c
|
|
||||||
@@ -101,10 +101,10 @@ add_text_displays (ply_seat_t *seat)
|
|
||||||
{
|
|
||||||
ply_text_display_t *display;
|
|
||||||
|
|
||||||
- if (!ply_terminal_is_open (seat->terminal)) {
|
|
||||||
- if (!ply_terminal_open (seat->terminal)) {
|
|
||||||
+ if (!seat->terminal || !ply_terminal_is_open (seat->terminal)) {
|
|
||||||
+ if (!seat->terminal || !ply_terminal_open (seat->terminal)) {
|
|
||||||
ply_trace ("could not add terminal %s: %m",
|
|
||||||
- ply_terminal_get_name (seat->terminal));
|
|
||||||
+ seat->terminal ? ply_terminal_get_name (seat->terminal) : "none");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Index: plymouth-0.9.2/src/libply-splash-core/ply-terminal.c
|
|
||||||
===================================================================
|
|
||||||
--- plymouth-0.9.2.orig/src/libply-splash-core/ply-terminal.c
|
|
||||||
+++ plymouth-0.9.2/src/libply-splash-core/ply-terminal.c
|
|
||||||
@@ -639,24 +639,27 @@ ply_terminal_get_fd (ply_terminal_t *ter
|
|
||||||
bool
|
|
||||||
ply_terminal_is_vt (ply_terminal_t *terminal)
|
|
||||||
{
|
|
||||||
- return terminal->vt_number > 0;
|
|
||||||
+ return terminal ? terminal->vt_number > 0 : false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool
|
|
||||||
ply_terminal_is_open (ply_terminal_t *terminal)
|
|
||||||
{
|
|
||||||
- return terminal->is_open;
|
|
||||||
+ return terminal ? terminal->is_open : false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool
|
|
||||||
ply_terminal_is_active (ply_terminal_t *terminal)
|
|
||||||
{
|
|
||||||
- return terminal->is_active;
|
|
||||||
+ return terminal ? terminal->is_active : false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
ply_terminal_close (ply_terminal_t *terminal)
|
|
||||||
{
|
|
||||||
+ if (!terminal)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
if (!terminal->is_open) {
|
|
||||||
ply_trace ("terminal %s is already closed", terminal->name);
|
|
||||||
return;
|
|
14
_service
Normal file
14
_service
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<services>
|
||||||
|
<service mode="disabled" name="tar_scm">
|
||||||
|
<param name="url">git://anongit.freedesktop.org/plymouth</param>
|
||||||
|
<param name="scm">git</param>
|
||||||
|
<param name="changesgenerate">enable</param>
|
||||||
|
<param name="filename">plymouth</param>
|
||||||
|
<param name="versionformat">0.9.2+git%cd.%h</param>
|
||||||
|
</service>
|
||||||
|
<service mode="disabled" name="recompress">
|
||||||
|
<param name="file">*.tar</param>
|
||||||
|
<param name="compression">xz</param>
|
||||||
|
</service>
|
||||||
|
<service mode="disabled" name="set_version"/>
|
||||||
|
</services>
|
4
_servicedata
Normal file
4
_servicedata
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<servicedata>
|
||||||
|
<service name="tar_scm">
|
||||||
|
<param name="url">git://anongit.freedesktop.org/plymouth</param>
|
||||||
|
<param name="changesrevision">18dd75589bbdf0ddc07a61421f05078df88ee768</param></service></servicedata>
|
@ -1,83 +0,0 @@
|
|||||||
Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c
|
|
||||||
===================================================================
|
|
||||||
--- plymouth-0.9.2.orig/src/libply-splash-core/ply-device-manager.c
|
|
||||||
+++ plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c
|
|
||||||
@@ -62,6 +62,7 @@ struct _ply_device_manager
|
|
||||||
ply_seat_added_handler_t seat_added_handler;
|
|
||||||
ply_seat_removed_handler_t seat_removed_handler;
|
|
||||||
void *seat_event_handler_data;
|
|
||||||
+ bool has_serial_consoles;
|
|
||||||
};
|
|
||||||
|
|
||||||
static void
|
|
||||||
@@ -501,6 +502,7 @@ ply_device_manager_new (const char
|
|
||||||
manager->loop = NULL;
|
|
||||||
manager->terminals = ply_hashtable_new (ply_hashtable_string_hash, ply_hashtable_string_compare);
|
|
||||||
manager->local_console_terminal = ply_terminal_new (default_tty);
|
|
||||||
+ manager->has_serial_consoles = false;
|
|
||||||
ply_hashtable_insert (manager->terminals,
|
|
||||||
(void *) ply_terminal_get_name (manager->local_console_terminal),
|
|
||||||
manager->local_console_terminal);
|
|
||||||
@@ -663,18 +665,16 @@ create_seat_for_terminal (const char
|
|
||||||
static bool
|
|
||||||
create_seats_from_terminals (ply_device_manager_t *manager)
|
|
||||||
{
|
|
||||||
- bool has_serial_consoles;
|
|
||||||
-
|
|
||||||
ply_trace ("checking for consoles");
|
|
||||||
|
|
||||||
if (manager->flags & PLY_DEVICE_MANAGER_FLAGS_IGNORE_SERIAL_CONSOLES) {
|
|
||||||
- has_serial_consoles = false;
|
|
||||||
+ manager->has_serial_consoles = false;
|
|
||||||
ply_trace ("ignoring all consoles but default console because explicitly told to.");
|
|
||||||
} else {
|
|
||||||
- has_serial_consoles = add_consoles_from_file (manager, "/sys/class/tty/console/active");
|
|
||||||
+ manager->has_serial_consoles = add_consoles_from_file (manager, "/sys/class/tty/console/active");
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (has_serial_consoles) {
|
|
||||||
+ if (manager->has_serial_consoles) {
|
|
||||||
ply_trace ("serial consoles detected, managing them with details forced");
|
|
||||||
ply_hashtable_foreach (manager->terminals,
|
|
||||||
(ply_hashtable_foreach_func_t *)
|
|
||||||
@@ -821,6 +821,15 @@ ply_device_manager_has_open_seats (ply_d
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
+bool
|
|
||||||
+ply_device_manager_has_serial_consoles (ply_device_manager_t *manager)
|
|
||||||
+{
|
|
||||||
+ if (manager)
|
|
||||||
+ return manager->has_serial_consoles;
|
|
||||||
+ else
|
|
||||||
+ return false;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
ply_list_t *
|
|
||||||
ply_device_manager_get_seats (ply_device_manager_t *manager)
|
|
||||||
{
|
|
||||||
Index: plymouth-0.9.2/src/main.c
|
|
||||||
===================================================================
|
|
||||||
--- plymouth-0.9.2.orig/src/main.c
|
|
||||||
+++ plymouth-0.9.2/src/main.c
|
|
||||||
@@ -854,7 +854,7 @@ plymouth_should_show_default_splash (sta
|
|
||||||
};
|
|
||||||
int i;
|
|
||||||
|
|
||||||
- if (state->should_force_details)
|
|
||||||
+ if (ply_device_manager_has_serial_consoles(state->device_manager) || state->should_force_details)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
for (i = 0; strings[i] != NULL; i++) {
|
|
||||||
Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.h
|
|
||||||
===================================================================
|
|
||||||
--- plymouth-0.9.2.orig/src/libply-splash-core/ply-device-manager.h
|
|
||||||
+++ plymouth-0.9.2/src/libply-splash-core/ply-device-manager.h
|
|
||||||
@@ -44,6 +44,7 @@ void ply_device_manager_watch_seats (ply
|
|
||||||
ply_seat_removed_handler_t seat_removed_handler,
|
|
||||||
void *data);
|
|
||||||
bool ply_device_manager_has_open_seats (ply_device_manager_t *manager);
|
|
||||||
+bool ply_device_manager_has_serial_consoles (ply_device_manager_t *manager);
|
|
||||||
ply_list_t *ply_device_manager_get_seats (ply_device_manager_t *manager);
|
|
||||||
void ply_device_manager_free (ply_device_manager_t *manager);
|
|
||||||
void ply_device_manager_activate_keyboards (ply_device_manager_t *manager);
|
|
47
only_use_fb_for_cirrus_bochs.patch
Normal file
47
only_use_fb_for_cirrus_bochs.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
From: Fabian Vogt <fvogt@suse.com>
|
||||||
|
Subject: force fb for cirrus and bochs, force drm otherwise
|
||||||
|
References: bsc#888590, bsc#980750
|
||||||
|
|
||||||
|
DRM does not work well with cirrus and bochs (no display) but the framebuffer driver
|
||||||
|
prevents DRM drivers from loading.
|
||||||
|
As we need to support cirrus for libvirt and bochs for QEMU, we cannot just remove support for frame-buffer.
|
||||||
|
|
||||||
|
Index: plymouth-0.9.2+git20161215.18dd755/src/libply-splash-core/ply-device-manager.c
|
||||||
|
===================================================================
|
||||||
|
--- plymouth-0.9.2+git20161215.18dd755.orig/src/libply-splash-core/ply-device-manager.c
|
||||||
|
+++ plymouth-0.9.2+git20161215.18dd755/src/libply-splash-core/ply-device-manager.c
|
||||||
|
@@ -227,13 +227,33 @@ create_devices_for_udev_device (ply_devi
|
||||||
|
subsystem = udev_device_get_subsystem (device);
|
||||||
|
ply_trace ("device subsystem is %s", subsystem);
|
||||||
|
|
||||||
|
+ const char *card_vendor = udev_device_get_sysattr_value (device, "device/vendor");
|
||||||
|
+ const char *card_device = udev_device_get_sysattr_value (device, "device/device");
|
||||||
|
+ bool use_fb = false;
|
||||||
|
+ if (card_vendor) {
|
||||||
|
+ /* Cirrus */
|
||||||
|
+ if (strcmp ("0x1013", card_vendor) == 0)
|
||||||
|
+ use_fb = true;
|
||||||
|
+ /* "Technical Corp", also used by bochs */
|
||||||
|
+ else if (strcmp ("0x1234", card_vendor) == 0)
|
||||||
|
+ use_fb = strcmp("0x1111", card_device) == 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (subsystem != NULL && strcmp (subsystem, SUBSYSTEM_DRM) == 0) {
|
||||||
|
ply_trace ("found DRM device %s", device_path);
|
||||||
|
renderer_type = PLY_RENDERER_TYPE_DRM;
|
||||||
|
+ if (use_fb) {
|
||||||
|
+ ply_trace ("forcing use of framebuffer for cirrusdrmfb");
|
||||||
|
+ renderer_type = PLY_RENDERER_TYPE_NONE;
|
||||||
|
+ }
|
||||||
|
} else if (strcmp (subsystem, SUBSYSTEM_FRAME_BUFFER) == 0) {
|
||||||
|
ply_trace ("found frame buffer device %s", device_path);
|
||||||
|
- if (!fb_device_has_drm_device (manager, device))
|
||||||
|
+ if (use_fb) {
|
||||||
|
renderer_type = PLY_RENDERER_TYPE_FRAME_BUFFER;
|
||||||
|
+ }
|
||||||
|
+ else if (!fb_device_has_drm_device (manager, device)) {
|
||||||
|
+ ply_trace ("avoiding use of framebuffer to not block DRM drivers from working");
|
||||||
|
+ }
|
||||||
|
else
|
||||||
|
ply_trace ("ignoring, since there's a DRM device associated with it");
|
||||||
|
}
|
3
plymouth-0.9.2+git20161215.18dd755.tar.xz
Normal file
3
plymouth-0.9.2+git20161215.18dd755.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:eb7c15c1b0261fd0079fae5174abd7154cc3786ae3a7367c3544f3b866d7595f
|
||||||
|
size 871936
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:2f0ce82042cf9c7eadd2517a1f74c8a85fa8699781d9f294a06eade29fbed57f
|
|
||||||
size 1231336
|
|
@ -1,19 +0,0 @@
|
|||||||
Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c
|
|
||||||
===================================================================
|
|
||||||
--- plymouth-0.9.2.orig/src/libply-splash-core/ply-device-manager.c
|
|
||||||
+++ plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c
|
|
||||||
@@ -102,12 +102,13 @@ device_is_for_local_console (ply_device_
|
|
||||||
* card the kernel is using for its console. */
|
|
||||||
device_path = udev_device_get_syspath (device);
|
|
||||||
asprintf (&bus_device_path, "%s/device", device_path);
|
|
||||||
+ ply_trace ("Testing device path %s\n", bus_device_path);
|
|
||||||
bus_device = udev_device_new_from_syspath (manager->udev_context, bus_device_path);
|
|
||||||
|
|
||||||
boot_vga = udev_device_get_sysattr_value (bus_device, "boot_vga");
|
|
||||||
free (bus_device_path);
|
|
||||||
|
|
||||||
- if (boot_vga != NULL && strcmp (boot_vga, "1") == 0)
|
|
||||||
+ if (boot_vga == NULL /* framebuffer case */ || strcmp (boot_vga, "1") == 0)
|
|
||||||
for_local_console = true;
|
|
||||||
else
|
|
||||||
for_local_console = false;
|
|
@ -1,15 +0,0 @@
|
|||||||
Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c
|
|
||||||
===================================================================
|
|
||||||
--- plymouth-0.9.2.orig/src/libply-splash-core/ply-device-manager.c
|
|
||||||
+++ plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c
|
|
||||||
@@ -157,6 +157,10 @@ fb_device_has_drm_device (ply_device_man
|
|
||||||
const char *id_path;
|
|
||||||
bool has_drm_device = false;
|
|
||||||
|
|
||||||
+ const char *card_name = udev_device_get_sysattr_value (fb_device, "name");
|
|
||||||
+ if (card_name && strcmp ("cirrusdrmfb", card_name) == 0)
|
|
||||||
+ return false;
|
|
||||||
+
|
|
||||||
/* We want to see if the framebuffer is associated with a DRM-capable
|
|
||||||
* graphics card, if it is, we'll use the DRM device */
|
|
||||||
card_matches = udev_enumerate_new (manager->udev_context);
|
|
@ -1,3 +1,76 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jan 25 14:38:09 UTC 2017 - fvogt@suse.com
|
||||||
|
|
||||||
|
- Remove patch which causes breakage with systemd-vconsole-setup (bsc#1020327):
|
||||||
|
* 0001-let-it-become-a-real-daemon.patch
|
||||||
|
- Add upstream patch to fix crash on boot:
|
||||||
|
* 0001-device-manager-handle-NULL-renderer-better.patch
|
||||||
|
- Replace removal of framebuffer driver and plymouth-ignore-cirrusdrm.patch
|
||||||
|
with single patch:
|
||||||
|
* only_use_fb_for_cirrus_bochs.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jan 09 17:01:44 UTC 2017 - zaitor@opensuse.org
|
||||||
|
|
||||||
|
- Update to version 0.9.2+git20161215.18dd755:
|
||||||
|
* terminal: refresh geometry after drm device arrives
|
||||||
|
* logger: stop using carriage returns
|
||||||
|
* build-goo: don't install systemd units during distcheck
|
||||||
|
* systemd-units: Fix uninstall script
|
||||||
|
* configure: switch to tar.xz instead tar.bz2
|
||||||
|
* libply: fix HiDPI detection
|
||||||
|
* libply, main: Add device scale setting
|
||||||
|
* main: support plymouth.force-scale on the kernel command line
|
||||||
|
* build-goo: make udev support build time optional
|
||||||
|
* device-manager: dont pass terminal as renderer device
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 06 09:23:50 UTC 2016 - tchvatal@suse.com
|
||||||
|
|
||||||
|
- Update to version 0.9.2+git20160823.e4b7e49:
|
||||||
|
* libply: fix HiDPI detection
|
||||||
|
* libply, main: Add device scale setting
|
||||||
|
* main: support plymouth.force-scale on the kernel command line
|
||||||
|
- Refresh patch:
|
||||||
|
* 0001-let-it-become-a-real-daemon.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 6 09:22:50 UTC 2016 - tchvatal@suse.com
|
||||||
|
|
||||||
|
- Add systemd to buildrequires to properly detect systemd-ask-password
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Aug 4 11:15:47 UTC 2016 - tchvatal@suse.com
|
||||||
|
|
||||||
|
- Sort out with spec-cleaner and move all buildrequires to main scope
|
||||||
|
not to subpkgs, sometimes interpreted wrongly by rpm if it is split
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Aug 4 11:06:30 UTC 2016 - tchvatal@suse.com
|
||||||
|
|
||||||
|
- Reduce patches list removing merged upstream (bit differently tho):
|
||||||
|
* 0001-seats-guard-against-NULL-terminal.patch
|
||||||
|
* fix-serial-consoles.patch
|
||||||
|
* plymouth-boot-vga-framebuffer.patch
|
||||||
|
- Refresh patches:
|
||||||
|
* 0001-let-it-become-a-real-daemon.patch
|
||||||
|
- Update to version 0.9.2+git20160620.0e65b86:
|
||||||
|
* configure: tweak defaults to be more systemd friendly
|
||||||
|
* text: don't draw if not animating
|
||||||
|
* terminal: always open terminal in non-blocking mode
|
||||||
|
* device-manager: probe existing DRM devices at startup
|
||||||
|
* drm: don't pick up drm master implicitly
|
||||||
|
* terminal: refresh geometry after drm device arrives
|
||||||
|
* logger: stop using carriage returns
|
||||||
|
* build-goo: don't install systemd units during distcheck
|
||||||
|
* systemd-units: Fix uninstall script
|
||||||
|
* configure: switch to tar.xz instead tar.bz2
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jun 1 10:20:05 UTC 2016 - idonmez@suse.com
|
||||||
|
|
||||||
|
- Remove framebuffer support bsc#980750 and bsc#982226
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Feb 8 15:00:06 UTC 2016 - fvogt@suse.com
|
Mon Feb 8 15:00:06 UTC 2016 - fvogt@suse.com
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package plymouth
|
# spec file for package plymouth
|
||||||
#
|
#
|
||||||
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
|
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -20,15 +20,15 @@
|
|||||||
%define plymouthclient_execdir %{_bindir}
|
%define plymouthclient_execdir %{_bindir}
|
||||||
%define plymouth_libdir %{_libdir}
|
%define plymouth_libdir %{_libdir}
|
||||||
%define plymouth_initrd_file /boot/initrd-plymouth.img
|
%define plymouth_initrd_file /boot/initrd-plymouth.img
|
||||||
|
|
||||||
Name: plymouth
|
Name: plymouth
|
||||||
Version: 0.9.2
|
Version: 0.9.2+git20161215.18dd755
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Graphical Boot Animation and Logger
|
Summary: Graphical Boot Animation and Logger
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
Group: System/Base
|
Group: System/Base
|
||||||
Url: http://freedesktop.org/software/plymouth/releases
|
Url: http://freedesktop.org/software/plymouth/releases
|
||||||
Source0: http://www.freedesktop.org/software/plymouth/releases/%{name}-%{version}.tar.bz2
|
# Switched to git snapshot to ease bugfix inclusion
|
||||||
|
Source0: %{name}-%{version}.tar.xz
|
||||||
Source1: boot-duration
|
Source1: boot-duration
|
||||||
# PATCH-OPENSUSE -- Handle correctly multiple displays with different sizes
|
# PATCH-OPENSUSE -- Handle correctly multiple displays with different sizes
|
||||||
Patch3: plymouth-fix-window-size
|
Patch3: plymouth-fix-window-size
|
||||||
@ -41,44 +41,46 @@ Patch10: 0001-Some-greenish-openSUSE-colors.patch
|
|||||||
Patch16: plymouth-correct-runtime-dir.patch
|
Patch16: plymouth-correct-runtime-dir.patch
|
||||||
# PATCH-FIX-UPSTREAM plymouth-manpages.patch idoenmez@suse.de -- Fix man page installation
|
# PATCH-FIX-UPSTREAM plymouth-manpages.patch idoenmez@suse.de -- Fix man page installation
|
||||||
Patch17: plymouth-manpages.patch
|
Patch17: plymouth-manpages.patch
|
||||||
Patch18: fix-serial-consoles.patch
|
# PATCH-FIX-UPSTREAM 0001-device-manager-handle-NULL-renderer-better.patch rstrode@redhat.com -- device-manager: handle NULL renderer better
|
||||||
|
Patch18: 0001-device-manager-handle-NULL-renderer-better.patch
|
||||||
# PATCH-FIX-OPENSUSE use-mkinitrd.patch fcrozat@suse.com -- call mkinitrd -B for now
|
# PATCH-FIX-OPENSUSE use-mkinitrd.patch fcrozat@suse.com -- call mkinitrd -B for now
|
||||||
Patch20: use-mkinitrd.patch
|
Patch20: use-mkinitrd.patch
|
||||||
# PATCH-FIX-UPSTREAM 0001-seats-guard-against-NULL-terminal.patch fcrozat@suse.com -- guard against null terminal
|
# PATCH-FIX-OPENSUSE only_use_fb_for_cirrus_bochs.patch fvogt@suse.com -- force fb for cirrus and bochs, force drm otherwise
|
||||||
Patch21: 0001-seats-guard-against-NULL-terminal.patch
|
Patch26: only_use_fb_for_cirrus_bochs.patch
|
||||||
# PATCH-FIX-UPSTREAM plymouth-ignore-cirrusdrm.patch fcrozat@suse.com -- ignore cirrusdrm, use fb instead
|
|
||||||
Patch26: plymouth-ignore-cirrusdrm.patch
|
|
||||||
Patch28: plymouth-boot-vga-framebuffer.patch
|
|
||||||
Patch29: 0001-let-it-become-a-real-daemon.patch
|
|
||||||
# PATCH-FIX-UPSTREAM 0001-Add-label-ft-plugin.patch fvogt@suse.com -- add ability to output text in initrd
|
# PATCH-FIX-UPSTREAM 0001-Add-label-ft-plugin.patch fvogt@suse.com -- add ability to output text in initrd
|
||||||
Patch30: 0001-Add-label-ft-plugin.patch
|
Patch30: 0001-Add-label-ft-plugin.patch
|
||||||
Patch31: 0002-Install-label-ft-plugin-into-initrd-if-available.patch
|
Patch31: 0002-Install-label-ft-plugin-into-initrd-if-available.patch
|
||||||
Patch32: 0003-fix_null_deref.patch
|
Patch32: 0003-fix_null_deref.patch
|
||||||
|
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: docbook-xsl-stylesheets
|
BuildRequires: docbook-xsl-stylesheets
|
||||||
BuildRequires: kernel-headers
|
BuildRequires: kernel-headers
|
||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
BuildRequires: libudev-devel
|
|
||||||
BuildRequires: libxslt
|
BuildRequires: libxslt
|
||||||
BuildRequires: module-init-tools
|
BuildRequires: module-init-tools
|
||||||
BuildRequires: systemd >= 186
|
BuildRequires: pkgconfig
|
||||||
|
BuildRequires: suse-module-tools
|
||||||
|
# needed for systemd-tty-ask-password-agent
|
||||||
|
BuildRequires: systemd
|
||||||
BuildRequires: update-desktop-files
|
BuildRequires: update-desktop-files
|
||||||
BuildRequires: xz
|
BuildRequires: xz
|
||||||
|
BuildRequires: pkgconfig(cairo)
|
||||||
|
BuildRequires: pkgconfig(freetype2)
|
||||||
BuildRequires: pkgconfig(gtk+-3.0) >= 3.14.0
|
BuildRequires: pkgconfig(gtk+-3.0) >= 3.14.0
|
||||||
BuildRequires: pkgconfig(libdrm)
|
BuildRequires: pkgconfig(libdrm)
|
||||||
|
BuildRequires: pkgconfig(libsystemd) >= 186
|
||||||
|
BuildRequires: pkgconfig(libudev)
|
||||||
|
BuildRequires: pkgconfig(pango) >= 1.21.0
|
||||||
BuildRequires: pkgconfig(systemd) >= 186
|
BuildRequires: pkgconfig(systemd) >= 186
|
||||||
Requires(post): coreutils
|
|
||||||
Requires(postun): coreutils
|
|
||||||
Requires: %{name}-branding
|
Requires: %{name}-branding
|
||||||
Requires: gnu-unifont-bitmap-fonts
|
Requires: gnu-unifont-bitmap-fonts
|
||||||
Requires: systemd >= 186
|
Requires: systemd >= 186
|
||||||
|
Requires(post): coreutils
|
||||||
Requires(post): plymouth-scripts = %{version}
|
Requires(post): plymouth-scripts = %{version}
|
||||||
BuildRequires: suse-module-tools
|
Requires(postun): coreutils
|
||||||
Suggests: plymouth-plugin-label
|
|
||||||
Recommends: plymouth-plugin-label-ft
|
Recommends: plymouth-plugin-label-ft
|
||||||
Provides: bootsplash = 3.4
|
Suggests: plymouth-plugin-label
|
||||||
Obsoletes: bootsplash <= 3.4
|
Provides: bootsplash = 3.5
|
||||||
|
Obsoletes: bootsplash < 3.5
|
||||||
Provides: systemd-plymouth = 44-10.2
|
Provides: systemd-plymouth = 44-10.2
|
||||||
Obsoletes: systemd-plymouth <= 44-10.1
|
Obsoletes: systemd-plymouth <= 44-10.1
|
||||||
|
|
||||||
@ -138,8 +140,8 @@ and headers needed to develop 3rd party splash plugins for Plymouth.
|
|||||||
%package dracut
|
%package dracut
|
||||||
Summary: Plymouth related utilities for dracut
|
Summary: Plymouth related utilities for dracut
|
||||||
Group: System/Base
|
Group: System/Base
|
||||||
Supplements: packageand(plymouth:dracut)
|
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
|
Supplements: packageand(plymouth:dracut)
|
||||||
|
|
||||||
%description dracut
|
%description dracut
|
||||||
This package contains utilities that integrate dracut with Plymouth
|
This package contains utilities that integrate dracut with Plymouth
|
||||||
@ -156,11 +158,11 @@ behavior on environments with a valid DISPLAY.
|
|||||||
%package scripts
|
%package scripts
|
||||||
Summary: Plymouth related scripts
|
Summary: Plymouth related scripts
|
||||||
Group: System/Base
|
Group: System/Base
|
||||||
Requires(pre): %{name} = %{version}
|
|
||||||
Requires: coreutils
|
Requires: coreutils
|
||||||
Requires: cpio
|
Requires: cpio
|
||||||
Requires: findutils
|
Requires: findutils
|
||||||
Requires: pigz
|
Requires: pigz
|
||||||
|
Requires(pre): %{name} = %{version}
|
||||||
|
|
||||||
%description scripts
|
%description scripts
|
||||||
This package contains scripts that help integrate Plymouth with
|
This package contains scripts that help integrate Plymouth with
|
||||||
@ -169,8 +171,6 @@ the system.
|
|||||||
%package plugin-label
|
%package plugin-label
|
||||||
Summary: Plymouth label plugin
|
Summary: Plymouth label plugin
|
||||||
Group: System/Base
|
Group: System/Base
|
||||||
BuildRequires: pkgconfig(cairo)
|
|
||||||
BuildRequires: pkgconfig(pango) >= 1.21.0
|
|
||||||
Requires: libply-splash-graphics4 = %{version}
|
Requires: libply-splash-graphics4 = %{version}
|
||||||
|
|
||||||
%description plugin-label
|
%description plugin-label
|
||||||
@ -181,7 +181,6 @@ graphical boot splashes using pango and cairo.
|
|||||||
%package plugin-label-ft
|
%package plugin-label-ft
|
||||||
Summary: Plymouth FreeType label plugin
|
Summary: Plymouth FreeType label plugin
|
||||||
Group: System/Base
|
Group: System/Base
|
||||||
BuildRequires: pkgconfig(freetype2)
|
|
||||||
Requires: fontconfig
|
Requires: fontconfig
|
||||||
Requires: libply-splash-graphics4 = %{version}
|
Requires: libply-splash-graphics4 = %{version}
|
||||||
|
|
||||||
@ -285,8 +284,8 @@ while stars twinkle around the logo during system boot up.
|
|||||||
Summary: Plymouth "Spinfinity" theme
|
Summary: Plymouth "Spinfinity" theme
|
||||||
Group: System/Base
|
Group: System/Base
|
||||||
Requires: %{name}-plugin-throbgress = %{version}
|
Requires: %{name}-plugin-throbgress = %{version}
|
||||||
Requires(pre): %{name}
|
|
||||||
Requires(post): %{name}-scripts
|
Requires(post): %{name}-scripts
|
||||||
|
Requires(pre): %{name}
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
%description theme-spinfinity
|
%description theme-spinfinity
|
||||||
@ -343,25 +342,21 @@ plugin.
|
|||||||
%setup -q
|
%setup -q
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
%patch9 -p0
|
%patch9
|
||||||
%patch10 -p1
|
%patch10 -p1
|
||||||
%patch16 -p1
|
%patch16 -p1
|
||||||
%patch17 -p1
|
%patch17 -p1
|
||||||
%patch18 -p1
|
%patch18 -p1
|
||||||
%patch20 -p1
|
%patch20 -p1
|
||||||
%patch21 -p1
|
|
||||||
%patch26 -p1
|
%patch26 -p1
|
||||||
%patch28 -p1
|
|
||||||
%patch29 -p1
|
|
||||||
%patch30 -p1
|
%patch30 -p1
|
||||||
%patch31 -p1
|
%patch31 -p1
|
||||||
%patch32 -p1
|
%patch32 -p1
|
||||||
|
|
||||||
# replace builddate with patch0date
|
# replace builddate with patch0date
|
||||||
sed -i "s/__DATE__/\"$(stat -c %y %{_sourcedir}/%{name}.changes)\"/" src/main.c
|
sed -i "s/__DATE__/\"$(stat -c %%y %{_sourcedir}/%{name}.changes)\"/" src/main.c
|
||||||
|
|
||||||
# Change the default theme
|
# Change the default theme
|
||||||
|
|
||||||
%if 0%{?is_opensuse}
|
%if 0%{?is_opensuse}
|
||||||
sed -i -e 's/spinner/openSUSE/g' src/plymouthd.defaults
|
sed -i -e 's/spinner/openSUSE/g' src/plymouthd.defaults
|
||||||
%else
|
%else
|
||||||
@ -370,9 +365,11 @@ sed -i -e 's/spinner/SLE/g' src/plymouthd.defaults
|
|||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf -fiv
|
autoreconf -fiv
|
||||||
%configure --disable-static \
|
%configure \
|
||||||
|
--disable-silent-rules \
|
||||||
|
--disable-static \
|
||||||
--enable-systemd-integration \
|
--enable-systemd-integration \
|
||||||
--enable-tracing --disable-tests \
|
--enable-tracing \
|
||||||
--with-background-start-color-stop=0x1A3D1F \
|
--with-background-start-color-stop=0x1A3D1F \
|
||||||
--with-background-end-color-stop=0x4EA65C \
|
--with-background-end-color-stop=0x4EA65C \
|
||||||
--with-background-color=0x3391cd \
|
--with-background-color=0x3391cd \
|
||||||
@ -381,27 +378,24 @@ autoreconf -fiv
|
|||||||
--without-rhgb-compat-link \
|
--without-rhgb-compat-link \
|
||||||
--with-boot-tty=/dev/tty7 \
|
--with-boot-tty=/dev/tty7 \
|
||||||
--with-shutdown-tty=/dev/tty1 \
|
--with-shutdown-tty=/dev/tty1 \
|
||||||
--without-gdm-autostart-file \
|
--with-release-file=%{_sysconfdir}/os-release
|
||||||
--with-release-file=/etc/os-release
|
|
||||||
|
|
||||||
make %{?_smp_mflags} V=1
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
|
||||||
%make_install
|
%make_install
|
||||||
rm -f %{buildroot}/%{_bindir}/rhgb-client
|
rm -f %{buildroot}/%{_bindir}/rhgb-client
|
||||||
|
|
||||||
#Link the plymouth client binary also to /bin until the move to /usr is completed
|
#Link the plymouth client binary also to /bin until the move to /usr is completed
|
||||||
mkdir %{buildroot}/bin
|
mkdir %{buildroot}/bin
|
||||||
(cd %{buildroot}/bin; ln -s ../usr/bin/plymouth)
|
(cd %{buildroot}/bin; ln -s ..%{_bindir}/plymouth)
|
||||||
|
|
||||||
# Glow isn't quite ready for primetime
|
# Glow isn't quite ready for primetime
|
||||||
rm -rf %{buildroot}%{_datadir}/plymouth/glow/
|
rm -rf %{buildroot}%{_datadir}/plymouth/glow/
|
||||||
rm -rf %{buildroot}%{_datadir}/plymouth/themes/glow/
|
rm -rf %{buildroot}%{_datadir}/plymouth/themes/glow/
|
||||||
rm -f %{buildroot}%{_libdir}/plymouth/glow.so
|
rm -f %{buildroot}%{_libdir}/plymouth/glow.so
|
||||||
|
|
||||||
find %{buildroot} -name '*.a' -exec rm -f {} \;
|
find %{buildroot} -type f -name "*.la" -delete -print
|
||||||
find %{buildroot} -name '*.la' -exec rm -f {} \;
|
|
||||||
|
|
||||||
mkdir -p %{buildroot}%{_localstatedir}/lib/plymouth
|
mkdir -p %{buildroot}%{_localstatedir}/lib/plymouth
|
||||||
mkdir -p %{buildroot}/run/plymouth
|
mkdir -p %{buildroot}/run/plymouth
|
||||||
@ -414,7 +408,7 @@ cp %{buildroot}/%{_datadir}/plymouth/plymouthd.defaults %{buildroot}/%{_sysconfd
|
|||||||
|
|
||||||
%post
|
%post
|
||||||
%{?regenerate_initrd_post}
|
%{?regenerate_initrd_post}
|
||||||
if [ ! -e /.buildenv ]; then
|
if [ ! -e /.buildenv ]; then
|
||||||
[ -f %{_localstatedir}/lib/plymouth/boot-duration ] || cp -f %{_datadir}/plymouth/default-boot-duration %{_localstatedir}/lib/plymouth/boot-duration
|
[ -f %{_localstatedir}/lib/plymouth/boot-duration ] || cp -f %{_datadir}/plymouth/default-boot-duration %{_localstatedir}/lib/plymouth/boot-duration
|
||||||
fi
|
fi
|
||||||
[ -x /bin/systemctl ] && /bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
[ -x /bin/systemctl ] && /bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||||
@ -431,21 +425,13 @@ fi
|
|||||||
%{?regenerate_initrd_posttrans}
|
%{?regenerate_initrd_posttrans}
|
||||||
|
|
||||||
%post -n libply-boot-client4 -p /sbin/ldconfig
|
%post -n libply-boot-client4 -p /sbin/ldconfig
|
||||||
|
|
||||||
%postun -n libply-boot-client4 -p /sbin/ldconfig
|
%postun -n libply-boot-client4 -p /sbin/ldconfig
|
||||||
|
|
||||||
%post -n libply-splash-core4 -p /sbin/ldconfig
|
%post -n libply-splash-core4 -p /sbin/ldconfig
|
||||||
|
|
||||||
%postun -n libply-splash-core4 -p /sbin/ldconfig
|
%postun -n libply-splash-core4 -p /sbin/ldconfig
|
||||||
|
|
||||||
%post -n libply-splash-graphics4 -p /sbin/ldconfig
|
%post -n libply-splash-graphics4 -p /sbin/ldconfig
|
||||||
|
|
||||||
%postun -n libply-splash-graphics4 -p /sbin/ldconfig
|
%postun -n libply-splash-graphics4 -p /sbin/ldconfig
|
||||||
|
|
||||||
%post -n libply4 -p /sbin/ldconfig
|
%post -n libply4 -p /sbin/ldconfig
|
||||||
|
|
||||||
%postun -n libply4 -p /sbin/ldconfig
|
%postun -n libply4 -p /sbin/ldconfig
|
||||||
|
|
||||||
%post theme-spinfinity
|
%post theme-spinfinity
|
||||||
if [ $1 -eq 1 ]; then
|
if [ $1 -eq 1 ]; then
|
||||||
set -x
|
set -x
|
||||||
@ -456,7 +442,7 @@ if [ $1 -eq 1 ]; then
|
|||||||
%{_sbindir}/plymouth-set-default-theme -R spinfinity
|
%{_sbindir}/plymouth-set-default-theme -R spinfinity
|
||||||
else
|
else
|
||||||
%{_sbindir}/plymouth-set-default-theme spinfinity
|
%{_sbindir}/plymouth-set-default-theme spinfinity
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -478,7 +464,7 @@ if [ $1 -eq 1 ]; then
|
|||||||
%{_sbindir}/plymouth-set-default-theme -R fade-in
|
%{_sbindir}/plymouth-set-default-theme -R fade-in
|
||||||
else
|
else
|
||||||
%{_sbindir}/plymouth-set-default-theme fade-in
|
%{_sbindir}/plymouth-set-default-theme fade-in
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -500,7 +486,7 @@ if [ $1 -eq 1 ]; then
|
|||||||
%{_sbindir}/plymouth-set-default-theme -R solar
|
%{_sbindir}/plymouth-set-default-theme -R solar
|
||||||
else
|
else
|
||||||
%{_sbindir}/plymouth-set-default-theme solar
|
%{_sbindir}/plymouth-set-default-theme solar
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user