diff --git a/0001-device-manager-handle-NULL-renderer-better.patch b/0001-device-manager-handle-NULL-renderer-better.patch new file mode 100644 index 0000000..032b783 --- /dev/null +++ b/0001-device-manager-handle-NULL-renderer-better.patch @@ -0,0 +1,47 @@ +From fdda9af2c305ecf57407856b1d061c076ae8fe4a Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Wed, 18 Jan 2017 10:07:00 -0500 +Subject: [PATCH] device-manager: handle NULL renderer better + +Right now we'll pass a NULL device name and crash if the renderer +fails to open. + +This commit fixes that. +--- + src/libply-splash-core/ply-device-manager.c | 18 ++++++++++-------- + 1 file changed, 10 insertions(+), 8 deletions(-) + +diff --git a/src/libply-splash-core/ply-device-manager.c b/src/libply-splash-core/ply-device-manager.c +index 4004e11..b4c33d4 100644 +--- a/src/libply-splash-core/ply-device-manager.c ++++ b/src/libply-splash-core/ply-device-manager.c +@@ -689,16 +689,18 @@ create_devices_for_terminal_and_renderer_type (ply_device_manager_t *manager, + return; + } + +- old_renderer = ply_hashtable_lookup (manager->renderers, +- (void *) ply_renderer_get_device_name (renderer)); ++ if (renderer != NULL) { ++ old_renderer = ply_hashtable_lookup (manager->renderers, ++ (void *) ply_renderer_get_device_name (renderer)); + +- if (old_renderer != NULL) { +- ply_trace ("ignoring device %s since it's alerady managed", +- ply_renderer_get_device_name (renderer)); +- ply_renderer_free (renderer); ++ if (old_renderer != NULL) { ++ ply_trace ("ignoring device %s since it's alerady managed", ++ ply_renderer_get_device_name (renderer)); ++ ply_renderer_free (renderer); + +- renderer = NULL; +- return; ++ renderer = NULL; ++ return; ++ } + } + } + +-- +2.11.0 + diff --git a/0001-let-it-become-a-real-daemon.patch b/0001-let-it-become-a-real-daemon.patch deleted file mode 100644 index dca4eed..0000000 --- a/0001-let-it-become-a-real-daemon.patch +++ /dev/null @@ -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 - #include - 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. diff --git a/0001-seats-guard-against-NULL-terminal.patch b/0001-seats-guard-against-NULL-terminal.patch deleted file mode 100644 index 8a01f00..0000000 --- a/0001-seats-guard-against-NULL-terminal.patch +++ /dev/null @@ -1,64 +0,0 @@ -From a6eff09852c2eb4d684526b814d2b2df578938d0 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Thu, 12 Jun 2014 18:51:24 +0200 -Subject: [PATCH] seats: guard against NULL terminal - ---- - src/libply-splash-core/ply-keyboard.c | 7 +++++-- - src/libply-splash-core/ply-seat.c | 6 +++--- - src/libply-splash-core/ply-terminal.c | 11 +++++++---- - 3 files changed, 15 insertions(+), 9 deletions(-) - -Index: plymouth-0.9.2/src/libply-splash-core/ply-seat.c -=================================================================== ---- plymouth-0.9.2.orig/src/libply-splash-core/ply-seat.c -+++ plymouth-0.9.2/src/libply-splash-core/ply-seat.c -@@ -101,10 +101,10 @@ add_text_displays (ply_seat_t *seat) - { - ply_text_display_t *display; - -- if (!ply_terminal_is_open (seat->terminal)) { -- if (!ply_terminal_open (seat->terminal)) { -+ if (!seat->terminal || !ply_terminal_is_open (seat->terminal)) { -+ if (!seat->terminal || !ply_terminal_open (seat->terminal)) { - ply_trace ("could not add terminal %s: %m", -- ply_terminal_get_name (seat->terminal)); -+ seat->terminal ? ply_terminal_get_name (seat->terminal) : "none"); - return; - } - } -Index: plymouth-0.9.2/src/libply-splash-core/ply-terminal.c -=================================================================== ---- plymouth-0.9.2.orig/src/libply-splash-core/ply-terminal.c -+++ plymouth-0.9.2/src/libply-splash-core/ply-terminal.c -@@ -639,24 +639,27 @@ ply_terminal_get_fd (ply_terminal_t *ter - bool - ply_terminal_is_vt (ply_terminal_t *terminal) - { -- return terminal->vt_number > 0; -+ return terminal ? terminal->vt_number > 0 : false; - } - - bool - ply_terminal_is_open (ply_terminal_t *terminal) - { -- return terminal->is_open; -+ return terminal ? terminal->is_open : false; - } - - bool - ply_terminal_is_active (ply_terminal_t *terminal) - { -- return terminal->is_active; -+ return terminal ? terminal->is_active : false; - } - - void - ply_terminal_close (ply_terminal_t *terminal) - { -+ if (!terminal) -+ return; -+ - if (!terminal->is_open) { - ply_trace ("terminal %s is already closed", terminal->name); - return; diff --git a/_service b/_service new file mode 100644 index 0000000..1cfc5b1 --- /dev/null +++ b/_service @@ -0,0 +1,14 @@ + + + git://anongit.freedesktop.org/plymouth + git + enable + plymouth + 0.9.2+git%cd.%h + + + *.tar + xz + + + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..a1575af --- /dev/null +++ b/_servicedata @@ -0,0 +1,4 @@ + + + git://anongit.freedesktop.org/plymouth + 18dd75589bbdf0ddc07a61421f05078df88ee768 \ No newline at end of file diff --git a/fix-serial-consoles.patch b/fix-serial-consoles.patch deleted file mode 100644 index d104151..0000000 --- a/fix-serial-consoles.patch +++ /dev/null @@ -1,83 +0,0 @@ -Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c -=================================================================== ---- plymouth-0.9.2.orig/src/libply-splash-core/ply-device-manager.c -+++ plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c -@@ -62,6 +62,7 @@ struct _ply_device_manager - ply_seat_added_handler_t seat_added_handler; - ply_seat_removed_handler_t seat_removed_handler; - void *seat_event_handler_data; -+ bool has_serial_consoles; - }; - - static void -@@ -501,6 +502,7 @@ ply_device_manager_new (const char - manager->loop = NULL; - manager->terminals = ply_hashtable_new (ply_hashtable_string_hash, ply_hashtable_string_compare); - manager->local_console_terminal = ply_terminal_new (default_tty); -+ manager->has_serial_consoles = false; - ply_hashtable_insert (manager->terminals, - (void *) ply_terminal_get_name (manager->local_console_terminal), - manager->local_console_terminal); -@@ -663,18 +665,16 @@ create_seat_for_terminal (const char - static bool - create_seats_from_terminals (ply_device_manager_t *manager) - { -- bool has_serial_consoles; -- - ply_trace ("checking for consoles"); - - if (manager->flags & PLY_DEVICE_MANAGER_FLAGS_IGNORE_SERIAL_CONSOLES) { -- has_serial_consoles = false; -+ manager->has_serial_consoles = false; - ply_trace ("ignoring all consoles but default console because explicitly told to."); - } else { -- has_serial_consoles = add_consoles_from_file (manager, "/sys/class/tty/console/active"); -+ manager->has_serial_consoles = add_consoles_from_file (manager, "/sys/class/tty/console/active"); - } - -- if (has_serial_consoles) { -+ if (manager->has_serial_consoles) { - ply_trace ("serial consoles detected, managing them with details forced"); - ply_hashtable_foreach (manager->terminals, - (ply_hashtable_foreach_func_t *) -@@ -821,6 +821,15 @@ ply_device_manager_has_open_seats (ply_d - return false; - } - -+bool -+ply_device_manager_has_serial_consoles (ply_device_manager_t *manager) -+{ -+ if (manager) -+ return manager->has_serial_consoles; -+ else -+ return false; -+} -+ - ply_list_t * - ply_device_manager_get_seats (ply_device_manager_t *manager) - { -Index: plymouth-0.9.2/src/main.c -=================================================================== ---- plymouth-0.9.2.orig/src/main.c -+++ plymouth-0.9.2/src/main.c -@@ -854,7 +854,7 @@ plymouth_should_show_default_splash (sta - }; - int i; - -- if (state->should_force_details) -+ if (ply_device_manager_has_serial_consoles(state->device_manager) || state->should_force_details) - return false; - - for (i = 0; strings[i] != NULL; i++) { -Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.h -=================================================================== ---- plymouth-0.9.2.orig/src/libply-splash-core/ply-device-manager.h -+++ plymouth-0.9.2/src/libply-splash-core/ply-device-manager.h -@@ -44,6 +44,7 @@ void ply_device_manager_watch_seats (ply - ply_seat_removed_handler_t seat_removed_handler, - void *data); - bool ply_device_manager_has_open_seats (ply_device_manager_t *manager); -+bool ply_device_manager_has_serial_consoles (ply_device_manager_t *manager); - ply_list_t *ply_device_manager_get_seats (ply_device_manager_t *manager); - void ply_device_manager_free (ply_device_manager_t *manager); - void ply_device_manager_activate_keyboards (ply_device_manager_t *manager); diff --git a/only_use_fb_for_cirrus_bochs.patch b/only_use_fb_for_cirrus_bochs.patch new file mode 100644 index 0000000..af8a88e --- /dev/null +++ b/only_use_fb_for_cirrus_bochs.patch @@ -0,0 +1,47 @@ +From: Fabian Vogt +Subject: force fb for cirrus and bochs, force drm otherwise +References: bsc#888590, bsc#980750 + +DRM does not work well with cirrus and bochs (no display) but the framebuffer driver +prevents DRM drivers from loading. +As we need to support cirrus for libvirt and bochs for QEMU, we cannot just remove support for frame-buffer. + +Index: plymouth-0.9.2+git20161215.18dd755/src/libply-splash-core/ply-device-manager.c +=================================================================== +--- plymouth-0.9.2+git20161215.18dd755.orig/src/libply-splash-core/ply-device-manager.c ++++ plymouth-0.9.2+git20161215.18dd755/src/libply-splash-core/ply-device-manager.c +@@ -227,13 +227,33 @@ create_devices_for_udev_device (ply_devi + subsystem = udev_device_get_subsystem (device); + ply_trace ("device subsystem is %s", subsystem); + ++ const char *card_vendor = udev_device_get_sysattr_value (device, "device/vendor"); ++ const char *card_device = udev_device_get_sysattr_value (device, "device/device"); ++ bool use_fb = false; ++ if (card_vendor) { ++ /* Cirrus */ ++ if (strcmp ("0x1013", card_vendor) == 0) ++ use_fb = true; ++ /* "Technical Corp", also used by bochs */ ++ else if (strcmp ("0x1234", card_vendor) == 0) ++ use_fb = strcmp("0x1111", card_device) == 0; ++ } ++ + if (subsystem != NULL && strcmp (subsystem, SUBSYSTEM_DRM) == 0) { + ply_trace ("found DRM device %s", device_path); + renderer_type = PLY_RENDERER_TYPE_DRM; ++ if (use_fb) { ++ ply_trace ("forcing use of framebuffer for cirrusdrmfb"); ++ renderer_type = PLY_RENDERER_TYPE_NONE; ++ } + } else if (strcmp (subsystem, SUBSYSTEM_FRAME_BUFFER) == 0) { + ply_trace ("found frame buffer device %s", device_path); +- if (!fb_device_has_drm_device (manager, device)) ++ if (use_fb) { + renderer_type = PLY_RENDERER_TYPE_FRAME_BUFFER; ++ } ++ else if (!fb_device_has_drm_device (manager, device)) { ++ ply_trace ("avoiding use of framebuffer to not block DRM drivers from working"); ++ } + else + ply_trace ("ignoring, since there's a DRM device associated with it"); + } diff --git a/plymouth-0.9.2+git20161215.18dd755.tar.xz b/plymouth-0.9.2+git20161215.18dd755.tar.xz new file mode 100644 index 0000000..fb00357 --- /dev/null +++ b/plymouth-0.9.2+git20161215.18dd755.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb7c15c1b0261fd0079fae5174abd7154cc3786ae3a7367c3544f3b866d7595f +size 871936 diff --git a/plymouth-0.9.2.tar.bz2 b/plymouth-0.9.2.tar.bz2 deleted file mode 100644 index 0670630..0000000 --- a/plymouth-0.9.2.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2f0ce82042cf9c7eadd2517a1f74c8a85fa8699781d9f294a06eade29fbed57f -size 1231336 diff --git a/plymouth-boot-vga-framebuffer.patch b/plymouth-boot-vga-framebuffer.patch deleted file mode 100644 index 282a525..0000000 --- a/plymouth-boot-vga-framebuffer.patch +++ /dev/null @@ -1,19 +0,0 @@ -Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c -=================================================================== ---- plymouth-0.9.2.orig/src/libply-splash-core/ply-device-manager.c -+++ plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c -@@ -102,12 +102,13 @@ device_is_for_local_console (ply_device_ - * card the kernel is using for its console. */ - device_path = udev_device_get_syspath (device); - asprintf (&bus_device_path, "%s/device", device_path); -+ ply_trace ("Testing device path %s\n", bus_device_path); - bus_device = udev_device_new_from_syspath (manager->udev_context, bus_device_path); - - boot_vga = udev_device_get_sysattr_value (bus_device, "boot_vga"); - free (bus_device_path); - -- if (boot_vga != NULL && strcmp (boot_vga, "1") == 0) -+ if (boot_vga == NULL /* framebuffer case */ || strcmp (boot_vga, "1") == 0) - for_local_console = true; - else - for_local_console = false; diff --git a/plymouth-ignore-cirrusdrm.patch b/plymouth-ignore-cirrusdrm.patch deleted file mode 100644 index ef673c0..0000000 --- a/plymouth-ignore-cirrusdrm.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c -=================================================================== ---- plymouth-0.9.2.orig/src/libply-splash-core/ply-device-manager.c -+++ plymouth-0.9.2/src/libply-splash-core/ply-device-manager.c -@@ -157,6 +157,10 @@ fb_device_has_drm_device (ply_device_man - const char *id_path; - bool has_drm_device = false; - -+ const char *card_name = udev_device_get_sysattr_value (fb_device, "name"); -+ if (card_name && strcmp ("cirrusdrmfb", card_name) == 0) -+ return false; -+ - /* We want to see if the framebuffer is associated with a DRM-capable - * graphics card, if it is, we'll use the DRM device */ - card_matches = udev_enumerate_new (manager->udev_context); diff --git a/plymouth.changes b/plymouth.changes index 0fa0353..ff8041e 100644 --- a/plymouth.changes +++ b/plymouth.changes @@ -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 diff --git a/plymouth.spec b/plymouth.spec index 71c9ead..9c8505f 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -1,7 +1,7 @@ # # spec file for package plymouth # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,15 +20,15 @@ %define plymouthclient_execdir %{_bindir} %define plymouth_libdir %{_libdir} %define plymouth_initrd_file /boot/initrd-plymouth.img - Name: plymouth -Version: 0.9.2 +Version: 0.9.2+git20161215.18dd755 Release: 0 Summary: Graphical Boot Animation and Logger License: GPL-2.0+ Group: System/Base Url: http://freedesktop.org/software/plymouth/releases -Source0: http://www.freedesktop.org/software/plymouth/releases/%{name}-%{version}.tar.bz2 +# Switched to git snapshot to ease bugfix inclusion +Source0: %{name}-%{version}.tar.xz Source1: boot-duration # PATCH-OPENSUSE -- Handle correctly multiple displays with different sizes Patch3: plymouth-fix-window-size @@ -41,44 +41,46 @@ Patch10: 0001-Some-greenish-openSUSE-colors.patch Patch16: plymouth-correct-runtime-dir.patch # PATCH-FIX-UPSTREAM plymouth-manpages.patch idoenmez@suse.de -- Fix man page installation Patch17: plymouth-manpages.patch -Patch18: fix-serial-consoles.patch +# PATCH-FIX-UPSTREAM 0001-device-manager-handle-NULL-renderer-better.patch rstrode@redhat.com -- device-manager: handle NULL renderer better +Patch18: 0001-device-manager-handle-NULL-renderer-better.patch # PATCH-FIX-OPENSUSE use-mkinitrd.patch fcrozat@suse.com -- call mkinitrd -B for now Patch20: use-mkinitrd.patch -# PATCH-FIX-UPSTREAM 0001-seats-guard-against-NULL-terminal.patch fcrozat@suse.com -- guard against null terminal -Patch21: 0001-seats-guard-against-NULL-terminal.patch -# PATCH-FIX-UPSTREAM plymouth-ignore-cirrusdrm.patch fcrozat@suse.com -- ignore cirrusdrm, use fb instead -Patch26: plymouth-ignore-cirrusdrm.patch -Patch28: plymouth-boot-vga-framebuffer.patch -Patch29: 0001-let-it-become-a-real-daemon.patch +# PATCH-FIX-OPENSUSE only_use_fb_for_cirrus_bochs.patch fvogt@suse.com -- force fb for cirrus and bochs, force drm otherwise +Patch26: only_use_fb_for_cirrus_bochs.patch # PATCH-FIX-UPSTREAM 0001-Add-label-ft-plugin.patch fvogt@suse.com -- add ability to output text in initrd Patch30: 0001-Add-label-ft-plugin.patch Patch31: 0002-Install-label-ft-plugin-into-initrd-if-available.patch Patch32: 0003-fix_null_deref.patch - BuildRequires: automake BuildRequires: docbook-xsl-stylesheets BuildRequires: kernel-headers BuildRequires: libtool -BuildRequires: libudev-devel BuildRequires: libxslt BuildRequires: module-init-tools -BuildRequires: systemd >= 186 +BuildRequires: pkgconfig +BuildRequires: suse-module-tools +# needed for systemd-tty-ask-password-agent +BuildRequires: systemd BuildRequires: update-desktop-files BuildRequires: xz +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(gtk+-3.0) >= 3.14.0 BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libsystemd) >= 186 +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(pango) >= 1.21.0 BuildRequires: pkgconfig(systemd) >= 186 -Requires(post): coreutils -Requires(postun): coreutils Requires: %{name}-branding Requires: gnu-unifont-bitmap-fonts Requires: systemd >= 186 +Requires(post): coreutils Requires(post): plymouth-scripts = %{version} -BuildRequires: suse-module-tools -Suggests: plymouth-plugin-label +Requires(postun): coreutils Recommends: plymouth-plugin-label-ft -Provides: bootsplash = 3.4 -Obsoletes: bootsplash <= 3.4 +Suggests: plymouth-plugin-label +Provides: bootsplash = 3.5 +Obsoletes: bootsplash < 3.5 Provides: systemd-plymouth = 44-10.2 Obsoletes: systemd-plymouth <= 44-10.1 @@ -138,8 +140,8 @@ and headers needed to develop 3rd party splash plugins for Plymouth. %package dracut Summary: Plymouth related utilities for dracut Group: System/Base -Supplements: packageand(plymouth:dracut) Requires: %{name} = %{version} +Supplements: packageand(plymouth:dracut) %description dracut This package contains utilities that integrate dracut with Plymouth @@ -156,11 +158,11 @@ behavior on environments with a valid DISPLAY. %package scripts Summary: Plymouth related scripts Group: System/Base -Requires(pre): %{name} = %{version} Requires: coreutils Requires: cpio Requires: findutils Requires: pigz +Requires(pre): %{name} = %{version} %description scripts This package contains scripts that help integrate Plymouth with @@ -169,8 +171,6 @@ the system. %package plugin-label Summary: Plymouth label plugin Group: System/Base -BuildRequires: pkgconfig(cairo) -BuildRequires: pkgconfig(pango) >= 1.21.0 Requires: libply-splash-graphics4 = %{version} %description plugin-label @@ -181,7 +181,6 @@ graphical boot splashes using pango and cairo. %package plugin-label-ft Summary: Plymouth FreeType label plugin Group: System/Base -BuildRequires: pkgconfig(freetype2) Requires: fontconfig Requires: libply-splash-graphics4 = %{version} @@ -285,8 +284,8 @@ while stars twinkle around the logo during system boot up. Summary: Plymouth "Spinfinity" theme Group: System/Base Requires: %{name}-plugin-throbgress = %{version} -Requires(pre): %{name} Requires(post): %{name}-scripts +Requires(pre): %{name} BuildArch: noarch %description theme-spinfinity @@ -343,25 +342,21 @@ plugin. %setup -q %patch3 -p1 %patch4 -p1 -%patch9 -p0 +%patch9 %patch10 -p1 %patch16 -p1 %patch17 -p1 %patch18 -p1 %patch20 -p1 -%patch21 -p1 %patch26 -p1 -%patch28 -p1 -%patch29 -p1 %patch30 -p1 %patch31 -p1 %patch32 -p1 # replace builddate with patch0date -sed -i "s/__DATE__/\"$(stat -c %y %{_sourcedir}/%{name}.changes)\"/" src/main.c +sed -i "s/__DATE__/\"$(stat -c %%y %{_sourcedir}/%{name}.changes)\"/" src/main.c # Change the default theme - %if 0%{?is_opensuse} sed -i -e 's/spinner/openSUSE/g' src/plymouthd.defaults %else @@ -370,9 +365,11 @@ sed -i -e 's/spinner/SLE/g' src/plymouthd.defaults %build autoreconf -fiv -%configure --disable-static \ +%configure \ + --disable-silent-rules \ + --disable-static \ --enable-systemd-integration \ - --enable-tracing --disable-tests \ + --enable-tracing \ --with-background-start-color-stop=0x1A3D1F \ --with-background-end-color-stop=0x4EA65C \ --with-background-color=0x3391cd \ @@ -381,27 +378,24 @@ autoreconf -fiv --without-rhgb-compat-link \ --with-boot-tty=/dev/tty7 \ --with-shutdown-tty=/dev/tty1 \ - --without-gdm-autostart-file \ - --with-release-file=/etc/os-release + --with-release-file=%{_sysconfdir}/os-release -make %{?_smp_mflags} V=1 +make %{?_smp_mflags} %install - %make_install rm -f %{buildroot}/%{_bindir}/rhgb-client #Link the plymouth client binary also to /bin until the move to /usr is completed mkdir %{buildroot}/bin -(cd %{buildroot}/bin; ln -s ../usr/bin/plymouth) +(cd %{buildroot}/bin; ln -s ..%{_bindir}/plymouth) # Glow isn't quite ready for primetime rm -rf %{buildroot}%{_datadir}/plymouth/glow/ rm -rf %{buildroot}%{_datadir}/plymouth/themes/glow/ rm -f %{buildroot}%{_libdir}/plymouth/glow.so -find %{buildroot} -name '*.a' -exec rm -f {} \; -find %{buildroot} -name '*.la' -exec rm -f {} \; +find %{buildroot} -type f -name "*.la" -delete -print mkdir -p %{buildroot}%{_localstatedir}/lib/plymouth mkdir -p %{buildroot}/run/plymouth @@ -414,7 +408,7 @@ cp %{buildroot}/%{_datadir}/plymouth/plymouthd.defaults %{buildroot}/%{_sysconfd %post %{?regenerate_initrd_post} -if [ ! -e /.buildenv ]; then +if [ ! -e /.buildenv ]; then [ -f %{_localstatedir}/lib/plymouth/boot-duration ] || cp -f %{_datadir}/plymouth/default-boot-duration %{_localstatedir}/lib/plymouth/boot-duration fi [ -x /bin/systemctl ] && /bin/systemctl daemon-reload >/dev/null 2>&1 || : @@ -431,21 +425,13 @@ fi %{?regenerate_initrd_posttrans} %post -n libply-boot-client4 -p /sbin/ldconfig - %postun -n libply-boot-client4 -p /sbin/ldconfig - %post -n libply-splash-core4 -p /sbin/ldconfig - %postun -n libply-splash-core4 -p /sbin/ldconfig - %post -n libply-splash-graphics4 -p /sbin/ldconfig - %postun -n libply-splash-graphics4 -p /sbin/ldconfig - %post -n libply4 -p /sbin/ldconfig - %postun -n libply4 -p /sbin/ldconfig - %post theme-spinfinity if [ $1 -eq 1 ]; then set -x @@ -456,7 +442,7 @@ if [ $1 -eq 1 ]; then %{_sbindir}/plymouth-set-default-theme -R spinfinity else %{_sbindir}/plymouth-set-default-theme spinfinity - fi + fi fi fi @@ -478,7 +464,7 @@ if [ $1 -eq 1 ]; then %{_sbindir}/plymouth-set-default-theme -R fade-in else %{_sbindir}/plymouth-set-default-theme fade-in - fi + fi fi fi @@ -500,7 +486,7 @@ if [ $1 -eq 1 ]; then %{_sbindir}/plymouth-set-default-theme -R solar else %{_sbindir}/plymouth-set-default-theme solar - fi + fi fi fi