diff --git a/.gitignore b/.gitignore index 6d1bba1..3248c17 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ plymouth-0.8.4.tar.bz2 /plymouth-a8aad27.tar.gz /plymouth-32c097c.tar.gz /plymouth-58a7289.tar.gz +/plymouth-e31c81f.tar.gz diff --git a/0001-ply-capslock-icon-Do-not-draw-on-free.patch b/0001-ply-capslock-icon-Do-not-draw-on-free.patch deleted file mode 100644 index cd483dd..0000000 --- a/0001-ply-capslock-icon-Do-not-draw-on-free.patch +++ /dev/null @@ -1,80 +0,0 @@ -From d5afbcc4475d2cc1944ef51d4fe787792dc1c893 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Tue, 18 Feb 2020 11:45:55 +0100 -Subject: [PATCH 1/7] ply-capslock-icon: Do not draw on free - -One case where the various widgets are being freed is the pixel-display-s -being removed because of a monitor being hot(un)plugged. When the monitor -configuration changes ply-device-manager removes all old pixel-displays -and then adds the pixel-displays from the new config. - -Calling ply_pixel_display_draw_area on a pixel-display which is about to be -freed is a bad idea, if the monitor was actually unplugged this leads to -various sort of errors, including crashes in some cases. - -ply-capslock-icon is a recently added widget, none of the other -(older) widgets redraw themselves as hidden on free because there is -no reason to do this. - -This commit adds a new stop_polling helper and replaces the troublesome -hide call (which involves redrawing) with this. This fixes plymouth -sometimes crashing when monitors are hot(un)plugged while plymouth is -running. - -Signed-off-by: Hans de Goede ---- - src/libply-splash-graphics/ply-capslock-icon.c | 16 ++++++++++++---- - 1 file changed, 12 insertions(+), 4 deletions(-) - -diff --git a/src/libply-splash-graphics/ply-capslock-icon.c b/src/libply-splash-graphics/ply-capslock-icon.c -index 7d19a18..e60457f 100644 ---- a/src/libply-splash-graphics/ply-capslock-icon.c -+++ b/src/libply-splash-graphics/ply-capslock-icon.c -@@ -52,6 +52,8 @@ struct _ply_capslock_icon - bool is_on; - }; - -+static void ply_capslock_stop_polling (ply_capslock_icon_t *capslock_icon); -+ - ply_capslock_icon_t * - ply_capslock_icon_new (const char *image_dir) - { -@@ -74,7 +76,7 @@ ply_capslock_icon_free (ply_capslock_icon_t *capslock_icon) - return; - - if (!capslock_icon->is_hidden) -- ply_capslock_icon_hide (capslock_icon); -+ ply_capslock_stop_polling (capslock_icon); - - if (capslock_icon->buffer != NULL) - ply_pixel_buffer_free (capslock_icon->buffer); -@@ -121,6 +123,14 @@ on_timeout (void *user_data, - on_timeout, capslock_icon); - } - -+static void -+ply_capslock_stop_polling (ply_capslock_icon_t *capslock_icon) -+{ -+ ply_event_loop_stop_watching_for_timeout (capslock_icon->loop, -+ (ply_event_loop_timeout_handler_t) -+ on_timeout, capslock_icon); -+} -+ - bool - ply_capslock_icon_load (ply_capslock_icon_t *capslock_icon) - { -@@ -183,10 +193,8 @@ ply_capslock_icon_hide (ply_capslock_icon_t *capslock_icon) - capslock_icon->is_hidden = true; - - ply_capslock_icon_draw (capslock_icon); -+ ply_capslock_stop_polling (capslock_icon); - -- ply_event_loop_stop_watching_for_timeout (capslock_icon->loop, -- (ply_event_loop_timeout_handler_t) -- on_timeout, capslock_icon); - capslock_icon->loop = NULL; - capslock_icon->display = NULL; - } --- -2.25.1 - diff --git a/0002-ply-keymap-icon-Do-not-draw-on-free.patch b/0002-ply-keymap-icon-Do-not-draw-on-free.patch deleted file mode 100644 index 68de947..0000000 --- a/0002-ply-keymap-icon-Do-not-draw-on-free.patch +++ /dev/null @@ -1,44 +0,0 @@ -From c9b084882bb26a339acb06aa96f748c8f6b465e4 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Tue, 18 Feb 2020 11:50:17 +0100 -Subject: [PATCH 2/7] ply-keymap-icon: Do not draw on free - -One case where the various widgets are being freed is the pixel-display-s -being removed because of a monitor being hot(un)plugged. When the monitor -configuration changes ply-device-manager removes all old pixel-displays -and then adds the pixel-displays from the new config. - -Calling ply_pixel_display_draw_area on a pixel-display which is about to be -freed is a bad idea, if the monitor was actually unplugged this leads to -various sort of errors, including crashes in some cases. - -ply-keymap-icon is a recently added widget, none of the other -(older) widgets redraw themselves as hidden on free because there is -no reason to do this. - -This commit removes the troublesome hide call (which involves redrawing). -This fixes plymouth sometimes crashing when monitors are hot(un)plugged -while plymouth is running. - -Signed-off-by: Hans de Goede ---- - src/libply-splash-graphics/ply-keymap-icon.c | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/src/libply-splash-graphics/ply-keymap-icon.c b/src/libply-splash-graphics/ply-keymap-icon.c -index f9ec614..d537527 100644 ---- a/src/libply-splash-graphics/ply-keymap-icon.c -+++ b/src/libply-splash-graphics/ply-keymap-icon.c -@@ -130,9 +130,6 @@ ply_keymap_icon_free (ply_keymap_icon_t *keymap_icon) - if (keymap_icon == NULL) - return; - -- if (!keymap_icon->is_hidden) -- ply_keymap_icon_hide (keymap_icon); -- - ply_pixel_buffer_free (keymap_icon->icon_buffer); - ply_pixel_buffer_free (keymap_icon->keymap_buffer); - --- -2.25.1 - diff --git a/0003-ply-throbber-Do-not-redraw-when-we-need-to-stop-thro.patch b/0003-ply-throbber-Do-not-redraw-when-we-need-to-stop-thro.patch deleted file mode 100644 index a3e8241..0000000 --- a/0003-ply-throbber-Do-not-redraw-when-we-need-to-stop-thro.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 82a1aaaaddeb4dc65728c28d6ccc776f38cd6f5d Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Tue, 18 Feb 2020 11:51:03 +0100 -Subject: [PATCH 3/7] ply-throbber: Do not redraw when we need to stop - throbbing on free - -One case where the various widgets are being freed is the pixel-display-s -being removed because of a monitor being hot(un)plugged. When the monitor -configuration changes ply-device-manager removes all old pixel-displays -and then adds the pixel-displays from the new config. - -Calling ply_pixel_display_draw_area on a pixel-display which is about to be -freed is a bad idea, if the monitor was actually unplugged this leads to -various sort of errors, including crashes in some cases. - -ply-throbber is the only (older) widget which does a redraw on free, -this likely was not noticed until now because typically the throbber -will already have been stopped on free. - -This commit adds a redraw parameter to ply_throbber_stop_now and sets -this to false when calling ply_throbber_stop_now from ply_throbber_free. -This fixes plymouth sometimes crashing when monitors are hot(un)plugged -while plymouth is running. - -Signed-off-by: Hans de Goede ---- - src/libply-splash-graphics/ply-throbber.c | 21 ++++++++++++--------- - 1 file changed, 12 insertions(+), 9 deletions(-) - -diff --git a/src/libply-splash-graphics/ply-throbber.c b/src/libply-splash-graphics/ply-throbber.c -index a4311fd..bf0855e 100644 ---- a/src/libply-splash-graphics/ply-throbber.c -+++ b/src/libply-splash-graphics/ply-throbber.c -@@ -78,7 +78,7 @@ struct _ply_throbber - uint32_t is_stopped : 1; - }; - --static void ply_throbber_stop_now (ply_throbber_t *throbber); -+static void ply_throbber_stop_now (ply_throbber_t *throbber, bool redraw); - - ply_throbber_t * - ply_throbber_new (const char *image_dir, -@@ -126,7 +126,7 @@ ply_throbber_free (ply_throbber_t *throbber) - return; - - if (!throbber->is_stopped) -- ply_throbber_stop_now (throbber); -+ ply_throbber_stop_now (throbber, false); - - ply_throbber_remove_frames (throbber); - ply_array_free (throbber->frames); -@@ -324,15 +324,18 @@ ply_throbber_start (ply_throbber_t *throbber, - } - - static void --ply_throbber_stop_now (ply_throbber_t *throbber) -+ply_throbber_stop_now (ply_throbber_t *throbber, bool redraw) - { - throbber->is_stopped = true; - -- ply_pixel_display_draw_area (throbber->display, -- throbber->x, -- throbber->y, -- throbber->frame_area.width, -- throbber->frame_area.height); -+ if (redraw) { -+ ply_pixel_display_draw_area (throbber->display, -+ throbber->x, -+ throbber->y, -+ throbber->frame_area.width, -+ throbber->frame_area.height); -+ } -+ - if (throbber->loop != NULL) { - ply_event_loop_stop_watching_for_timeout (throbber->loop, - (ply_event_loop_timeout_handler_t) -@@ -356,7 +359,7 @@ ply_throbber_stop (ply_throbber_t *throbber, - } - - if (stop_trigger == NULL) { -- ply_throbber_stop_now (throbber); -+ ply_throbber_stop_now (throbber, true); - return; - } - --- -2.25.1 - diff --git a/0004-event-loop-Fix-debug-log-failed-to-delete-fd-from-ep.patch b/0004-event-loop-Fix-debug-log-failed-to-delete-fd-from-ep.patch deleted file mode 100644 index 1d7e4ec..0000000 --- a/0004-event-loop-Fix-debug-log-failed-to-delete-fd-from-ep.patch +++ /dev/null @@ -1,37 +0,0 @@ -From b6ae2adabfef64ace22698f76afae454a6419492 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Tue, 18 Feb 2020 21:16:38 +0100 -Subject: [PATCH 4/7] event-loop: Fix debug-log "failed to delete fd # from - epoll watch list" spam - -The boot server uses a disconnect handler which closes the fd, this -causes deleting the fd from the epoll watch list to fail with an EBADF -error. Since the fd was closed it was already removed from the epoll -watch list, so the failure is harmless, silence these errors getting logged -to the debug logs. - -Signed-off-by: Hans de Goede ---- - src/libply/ply-event-loop.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/src/libply/ply-event-loop.c b/src/libply/ply-event-loop.c -index 0e8ad7c..5eb601c 100644 ---- a/src/libply/ply-event-loop.c -+++ b/src/libply/ply-event-loop.c -@@ -641,7 +641,11 @@ ply_event_loop_remove_source_node (ply_event_loop_t *loop, - - status = epoll_ctl (loop->epoll_fd, EPOLL_CTL_DEL, source->fd, NULL); - -- if (status < 0) -+ /* -+ * EBADF means that there was a disconnect handler, which has -+ * closed the fd, which is fine, do not log an error for this. -+ */ -+ if (status < 0 && errno != EBADF) - ply_trace ("failed to delete fd %d from epoll watch list: %m", source->fd); - source->is_getting_polled = false; - } --- -2.25.1 - diff --git a/0005-event-loop-Remove-ply_trace-calls-around-the-disconn.patch b/0005-event-loop-Remove-ply_trace-calls-around-the-disconn.patch deleted file mode 100644 index 79dc4dc..0000000 --- a/0005-event-loop-Remove-ply_trace-calls-around-the-disconn.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 9c25da99889439924eeae953f357233bdb99d569 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Tue, 18 Feb 2020 21:19:38 +0100 -Subject: [PATCH 5/7] event-loop: Remove ply_trace calls around the disconnect - handler - -Doing a ply_trace both before and after the disconnect handler, which -gets called every time a boot client asks something of us through by -calling /sbin/plymouth leads to a lot of not really informative messages -in the debug-log. - -This removes the 2 ply_trace calls around the disconnect handlers to make -the logs easier to read. - -Signed-off-by: Hans de Goede ---- - src/libply/ply-event-loop.c | 8 +------- - 1 file changed, 1 insertion(+), 7 deletions(-) - -diff --git a/src/libply/ply-event-loop.c b/src/libply/ply-event-loop.c -index 5eb601c..57751c2 100644 ---- a/src/libply/ply-event-loop.c -+++ b/src/libply/ply-event-loop.c -@@ -1061,15 +1061,9 @@ ply_event_loop_handle_disconnect_for_source (ply_event_loop_t *loop, - destination = (ply_event_destination_t *) ply_list_node_get_data (node); - next_node = ply_list_get_next_node (source->destinations, node); - -- if (destination->disconnected_handler != NULL) { -- ply_trace ("calling disconnected_handler %p for fd %d", -- destination->disconnected_handler, source->fd); -+ if (destination->disconnected_handler != NULL) - destination->disconnected_handler (destination->user_data, source->fd); - -- ply_trace ("done calling disconnected_handler %p for fd %d", -- destination->disconnected_handler, source->fd); -- } -- - node = next_node; - } - } --- -2.25.1 - diff --git a/0006-two-step-Add-UseEndAnimation-setting.patch b/0006-two-step-Add-UseEndAnimation-setting.patch deleted file mode 100644 index dc4619c..0000000 --- a/0006-two-step-Add-UseEndAnimation-setting.patch +++ /dev/null @@ -1,170 +0,0 @@ -From aba38f13c1af535efefb09683ced0920600e7dde Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Tue, 18 Feb 2020 22:03:58 +0100 -Subject: [PATCH 6/7] two-step: Add UseEndAnimation setting - -We try to start the end animation early based on our progress accounting -but this is highly unreliable because e.g.: --It counts time to enter the diskcrypt passwd as normal boot time, while - this varies wildly from boot to boot --Boot times for laptops can differ significantly between docked / undocked - state - -Between gdm calling /bin/plymouth deactivate and the drm plugin's deactivate -method getting called there can be e.g. 2.1 seconds (from a random boot), -with a theoretical maximum of 3 seconds (2 seconds to finish the throbber + -1 second for the end animation). - -On a modern system userland boot should be able to finish in say 5 seconds, -making gdm wait an additional 1 - 3 seconds for deactivation is a huge amount -of extra wait time! - -This commit adds a new "UseEndAnimation" option to the two-step plugin, -which defaults to true. Setting this to false makes deactivation immediate. - -This works nicely with the spinner (and bgrt) themes since we do not really -do anything special in the end animation there anyways and since we fade-over -into gdm things will still look ok, while shaving a signifcant chunk of our -boot time. - -Signed-off-by: Hans de Goede ---- - src/plugins/splash/two-step/plugin.c | 42 +++++++++++++++++++++++++--- - themes/bgrt/bgrt.plymouth.in | 3 ++ - themes/spinner/spinner.plymouth.in | 9 ++++++ - 3 files changed, 50 insertions(+), 4 deletions(-) - -diff --git a/src/plugins/splash/two-step/plugin.c b/src/plugins/splash/two-step/plugin.c -index 3dfb011..964855c 100644 ---- a/src/plugins/splash/two-step/plugin.c -+++ b/src/plugins/splash/two-step/plugin.c -@@ -121,6 +121,7 @@ typedef struct - bool progress_bar_show_percent_complete; - bool use_progress_bar; - bool use_animation; -+ bool use_end_animation; - bool use_firmware_background; - char *title; - char *subtitle; -@@ -262,12 +263,13 @@ view_free (view_t *view) - static void - view_load_end_animation (view_t *view) - { -+ ply_boot_splash_plugin_t *plugin = view->plugin; - const char *animation_prefix; -- ply_boot_splash_plugin_t *plugin; - -- ply_trace ("loading animation"); -+ if (!plugin->mode_settings[plugin->mode].use_end_animation) -+ return; - -- plugin = view->plugin; -+ ply_trace ("loading animation"); - - switch (plugin->mode) { - case PLY_BOOT_SPLASH_MODE_BOOT_UP: -@@ -315,6 +317,7 @@ view_load_end_animation (view_t *view) - ply_trace ("optional animation didn't load"); - ply_animation_free (view->end_animation); - view->end_animation = NULL; -+ plugin->mode_settings[plugin->mode].use_end_animation = false; - } - - static bool -@@ -995,6 +998,13 @@ load_mode_settings (ply_boot_splash_plugin_t *plugin, - else - settings->use_animation = !settings->use_progress_bar; - -+ /* This defaults to true for compat. with older themes */ -+ if (ply_key_file_has_key (key_file, group_name, "UseEndAnimation")) -+ settings->use_end_animation = -+ ply_key_file_get_bool (key_file, group_name, "UseEndAnimation"); -+ else -+ settings->use_end_animation = true; -+ - /* If any mode uses the firmware background, then we need to load it */ - if (settings->use_firmware_background) - plugin->use_firmware_background = true; -@@ -1260,6 +1270,25 @@ start_end_animation (ply_boot_splash_plugin_t *plugin, - return; - } - -+ if (!plugin->mode_settings[plugin->mode].use_end_animation) { -+ node = ply_list_get_first_node (plugin->views); -+ while (node != NULL) { -+ view = ply_list_node_get_data (node); -+ -+ ply_progress_bar_hide (view->progress_bar); -+ -+ if (view->throbber != NULL) -+ ply_throbber_stop (view->throbber, NULL); -+ -+ if (view->progress_animation != NULL) -+ ply_progress_animation_hide (view->progress_animation); -+ -+ node = ply_list_get_next_node (plugin->views, node); -+ } -+ ply_trigger_pull (trigger, NULL); -+ return; -+ } -+ - ply_trace ("starting end animation"); - - node = ply_list_get_first_node (plugin->views); -@@ -1718,7 +1747,12 @@ on_boot_progress (ply_boot_splash_plugin_t *plugin, - if (plugin->is_idle) - return; - -- if (percent_done >= SHOW_ANIMATION_PERCENT) { -+ /* -+ * If we do not have an end animation, we keep showing progress until -+ * become_idle gets called. -+ */ -+ if (plugin->mode_settings[plugin->mode].use_end_animation && -+ percent_done >= SHOW_ANIMATION_PERCENT) { - if (plugin->stop_trigger == NULL) { - ply_trace ("boot progressed to end"); - -diff --git a/themes/bgrt/bgrt.plymouth.in b/themes/bgrt/bgrt.plymouth.in -index ac07bc9..994a995 100644 ---- a/themes/bgrt/bgrt.plymouth.in -+++ b/themes/bgrt/bgrt.plymouth.in -@@ -25,12 +25,15 @@ DialogClearsFirmwareBackground=true - MessageBelowAnimation=true - - [boot-up] -+UseEndAnimation=false - UseFirmwareBackground=true - - [shutdown] -+UseEndAnimation=false - UseFirmwareBackground=true - - [reboot] -+UseEndAnimation=false - UseFirmwareBackground=true - - [updates] -diff --git a/themes/spinner/spinner.plymouth.in b/themes/spinner/spinner.plymouth.in -index 5e5078e..88121c5 100644 ---- a/themes/spinner/spinner.plymouth.in -+++ b/themes/spinner/spinner.plymouth.in -@@ -23,6 +23,15 @@ ProgressBarBackgroundColor=0x606060 - ProgressBarForegroundColor=0xffffff - MessageBelowAnimation=true - -+[boot-up] -+UseEndAnimation=false -+ -+[shutdown] -+UseEndAnimation=false -+ -+[reboot] -+UseEndAnimation=false -+ - [updates] - SuppressMessages=true - ProgressBarShowPercentComplete=true --- -2.25.1 - diff --git a/0007-themes-Drop-UseFirmwareBackground-true-from-spinner-.patch b/0007-themes-Drop-UseFirmwareBackground-true-from-spinner-.patch deleted file mode 100644 index deae80d..0000000 --- a/0007-themes-Drop-UseFirmwareBackground-true-from-spinner-.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a575605b7dd835bab626f07ff37f283049da7b3c Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Tue, 18 Feb 2020 22:38:06 +0100 -Subject: [PATCH 7/7] themes: Drop UseFirmwareBackground=true from spinner/bgrt - firmware-upgrade settings - -The spinner theme should never have UseFirmwareBackground=true and in the -bgrt case we should not use it for modes which set a Title as the Title -location will conflict with the firmware background vendor logo. - -Signed-off-by: Hans de Goede ---- - themes/bgrt/bgrt.plymouth.in | 1 - - themes/spinner/spinner.plymouth.in | 1 - - 2 files changed, 2 deletions(-) - -diff --git a/themes/bgrt/bgrt.plymouth.in b/themes/bgrt/bgrt.plymouth.in -index 994a995..5455eb7 100644 ---- a/themes/bgrt/bgrt.plymouth.in -+++ b/themes/bgrt/bgrt.plymouth.in -@@ -54,6 +54,5 @@ _SubTitle=Do not turn off your computer - SuppressMessages=true - ProgressBarShowPercentComplete=true - UseProgressBar=true --UseFirmwareBackground=true - _Title=Upgrading Firmware... - _SubTitle=Do not turn off your computer -diff --git a/themes/spinner/spinner.plymouth.in b/themes/spinner/spinner.plymouth.in -index 88121c5..0687d12 100644 ---- a/themes/spinner/spinner.plymouth.in -+++ b/themes/spinner/spinner.plymouth.in -@@ -50,6 +50,5 @@ _SubTitle=Do not turn off your computer - SuppressMessages=true - ProgressBarShowPercentComplete=true - UseProgressBar=true --UseFirmwareBackground=true - _Title=Upgrading Firmware... - _SubTitle=Do not turn off your computer --- -2.25.1 - diff --git a/plymouth.spec b/plymouth.spec index 3bfbfa9..c2e5d4c 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -1,11 +1,11 @@ -%global commit 58a728982cfa911a06326620a599333aea38960e -%global commitdate 20200306 +%global commit e31c81f9849c176d7b293ca79cc4507ba740c2fa +%global commitdate 20200325 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Summary: Graphical Boot Animation and Logger Name: plymouth Version: 0.9.4 -Release: 13.%{commitdate}git%{shortcommit}%{?dist} +Release: 14.%{commitdate}git%{shortcommit}%{?dist} License: GPLv2+ URL: http://www.freedesktop.org/wiki/Software/Plymouth @@ -18,20 +18,6 @@ Source2: charge.plymouth # and that does not need the removed symbols. Patch0: 0001-Revert-configure-bump-so-name.patch -# Patches pending upstream -# https://gitlab.freedesktop.org/plymouth/plymouth/-/merge_requests/92 -# For rhbz 1810070 -Patch1: 0001-ply-capslock-icon-Do-not-draw-on-free.patch -Patch2: 0002-ply-keymap-icon-Do-not-draw-on-free.patch -Patch3: 0003-ply-throbber-Do-not-redraw-when-we-need-to-stop-thro.patch -# https://gitlab.freedesktop.org/plymouth/plymouth/-/merge_requests/93 -Patch4: 0004-event-loop-Fix-debug-log-failed-to-delete-fd-from-ep.patch -Patch5: 0005-event-loop-Remove-ply_trace-calls-around-the-disconn.patch -# https://gitlab.freedesktop.org/plymouth/plymouth/-/merge_requests/94 -Patch6: 0006-two-step-Add-UseEndAnimation-setting.patch -# https://gitlab.freedesktop.org/plymouth/plymouth/-/merge_requests/95 -Patch7: 0007-themes-Drop-UseFirmwareBackground-true-from-spinner-.patch - BuildRequires: gcc libtool git BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libudev) @@ -411,6 +397,11 @@ fi %changelog +* Wed Mar 25 2020 Hans de Goede - 0.9.4-14.20200306git58a7289 +- New upstream git snapshot +- Add RemainAfterExit=yes to plymouth's systemd service files (rhbz#1807771) +- Fix the spinner / animation missing on shutdown and reboot + * Mon Mar 9 2020 Hans de Goede - 0.9.4-13.20200306git58a7289 - Add patches fixing crash on monitor hot(un)plug (rhbz#1809681) - Add patches fixing delay between gdm telling us to deactivate and diff --git a/sources b/sources index 0eab27b..c649404 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (plymouth-58a7289.tar.gz) = e3d8daebc24f8c53ea1de819170a4ba9842ec1a98904243802e1f15b51b6aa234ef8d22db44b90b8fa42af960e2c71207b3e326c389c12d83327655149e84b2a +SHA512 (plymouth-e31c81f.tar.gz) = 1b4e7507d634f37c19d48bc2d479f01af3c1215c8c1d935e3bb84bf19c14a126f3005485dc6e9e718e70e3c82cce7c963d4d31274f6d32161d195317d07b7388