Add patches fixing crash on monitor hot(un)plug (rhbz#1809681)

Add patches fixing delay between gdm telling us to deactivate and
  us telling gdm it is ok to continue
Drop plymouth-plugin-throbgress sub-package, the spinfinity theme now
  uses the two-step plugin
This commit is contained in:
Hans de Goede 2020-03-09 10:58:24 +01:00
parent e6bcab41bc
commit f97cb31771
11 changed files with 537 additions and 23 deletions

1
.gitignore vendored
View File

@ -13,3 +13,4 @@ plymouth-0.8.4.tar.bz2
/plymouth-0.9.4.tar.xz /plymouth-0.9.4.tar.xz
/plymouth-a8aad27.tar.gz /plymouth-a8aad27.tar.gz
/plymouth-32c097c.tar.gz /plymouth-32c097c.tar.gz
/plymouth-58a7289.tar.gz

View File

@ -0,0 +1,80 @@
From d5afbcc4475d2cc1944ef51d4fe787792dc1c893 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
---
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

View File

@ -0,0 +1,44 @@
From c9b084882bb26a339acb06aa96f748c8f6b465e4 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
---
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

View File

@ -0,0 +1,88 @@
From 82a1aaaaddeb4dc65728c28d6ccc776f38cd6f5d Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
---
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

View File

@ -0,0 +1,37 @@
From b6ae2adabfef64ace22698f76afae454a6419492 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
---
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

View File

@ -0,0 +1,43 @@
From 9c25da99889439924eeae953f357233bdb99d569 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
---
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

View File

@ -0,0 +1,170 @@
From aba38f13c1af535efefb09683ced0920600e7dde Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
---
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

View File

@ -0,0 +1,41 @@
From a575605b7dd835bab626f07ff37f283049da7b3c Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
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 <hdegoede@redhat.com>
---
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

View File

@ -8,3 +8,5 @@ addFilter("non-readable")
# Upstream (and RHEL) has named the logrotate file after the logfilename # Upstream (and RHEL) has named the logrotate file after the logfilename
# rather then after the package-name # rather then after the package-name
addFilter("incoherent-logrotate-file") addFilter("incoherent-logrotate-file")
# No provides, the throbgress plugin has been removed upstream
addFilter("W: obsolete-not-provided plymouth-plugin-throbgress")

View File

@ -1,11 +1,11 @@
%global commit 32c097cbcae1d106db4a75337a78310ad22267be %global commit 58a728982cfa911a06326620a599333aea38960e
%global commitdate 20191022 %global commitdate 20200306
%global shortcommit %(c=%{commit}; echo ${c:0:7}) %global shortcommit %(c=%{commit}; echo ${c:0:7})
Summary: Graphical Boot Animation and Logger Summary: Graphical Boot Animation and Logger
Name: plymouth Name: plymouth
Version: 0.9.4 Version: 0.9.4
Release: 12.%{commitdate}git%{shortcommit}%{?dist} Release: 13.%{commitdate}git%{shortcommit}%{?dist}
License: GPLv2+ License: GPLv2+
URL: http://www.freedesktop.org/wiki/Software/Plymouth URL: http://www.freedesktop.org/wiki/Software/Plymouth
@ -16,7 +16,21 @@ Source2: charge.plymouth
# but we really do not want to change soname in Fedora during a cycle. # but we really do not want to change soname in Fedora during a cycle.
# The only libply* user in Fedora outside this pkg is plymouth-theme-breeze # The only libply* user in Fedora outside this pkg is plymouth-theme-breeze
# and that does not need the removed symbols. # and that does not need the removed symbols.
Patch1: 0001-Revert-configure-bump-so-name.patch 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: gcc libtool git
BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libdrm)
@ -129,24 +143,14 @@ This package contains the "space-flares" boot splash plugin for
Plymouth. It features a corner image with animated flares. Plymouth. It features a corner image with animated flares.
%package plugin-throbgress
Summary: Plymouth "Throbgress" plugin
Requires: %{name} = %{version}-%{release}
Requires: %{name}-graphics-libs = %{version}-%{release}
Requires: plymouth-plugin-label = %{version}-%{release}
%description plugin-throbgress
This package contains the "throbgress" boot splash plugin for
Plymouth. It features a centered logo and animated spinner that
spins repeatedly while a progress bar advances at the bottom of
the screen.
%package plugin-two-step %package plugin-two-step
Summary: Plymouth "two-step" plugin Summary: Plymouth "two-step" plugin
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
Requires: %{name}-graphics-libs = %{version}-%{release} Requires: %{name}-graphics-libs = %{version}-%{release}
Requires: plymouth-plugin-label = %{version}-%{release} Requires: plymouth-plugin-label = %{version}-%{release}
# Spinifinity like themes should now use two-step instead of throbgress
# No provides, the throbgress plugin has been removed upstream
Obsoletes: %{name}-plugin-throbgress < %{version}-%{release}
%description plugin-two-step %description plugin-two-step
This package contains the "two-step" boot splash plugin for This package contains the "two-step" boot splash plugin for
@ -200,7 +204,7 @@ Plymouth. It features a blue flamed sun with animated solar flares.
%package theme-spinfinity %package theme-spinfinity
Summary: Plymouth "Spinfinity" theme Summary: Plymouth "Spinfinity" theme
Requires: %{name}-plugin-throbgress = %{version}-%{release} Requires: %{name}-plugin-two-step = %{version}-%{release}
Requires(post): plymouth-scripts Requires(post): plymouth-scripts
%description theme-spinfinity %description theme-spinfinity
@ -222,7 +226,7 @@ Plymouth. It features a small spinner on a dark background.
%prep %prep
%autosetup -n %{name}-%{commit} %autosetup -p1 -n %{name}-%{commit}
autoreconf --install --symlink -Wno-portability autoreconf --install --symlink -Wno-portability
# Change the default theme # Change the default theme
sed -i -e 's/spinner/bgrt/g' src/plymouthd.defaults sed -i -e 's/spinner/bgrt/g' src/plymouthd.defaults
@ -380,9 +384,6 @@ fi
%files plugin-space-flares %files plugin-space-flares
%{_libdir}/plymouth/space-flares.so %{_libdir}/plymouth/space-flares.so
%files plugin-throbgress
%{_libdir}/plymouth/throbgress.so
%files plugin-two-step %files plugin-two-step
%{_libdir}/plymouth/two-step.so %{_libdir}/plymouth/two-step.so
@ -410,6 +411,13 @@ fi
%changelog %changelog
* Mon Mar 9 2020 Hans de Goede <jwrdegoede@fedoraproject.org> - 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
us telling gdm it is ok to continue
- Drop plymouth-plugin-throbgress sub-package, the spinfinity theme now
uses the two-step plugin
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.4-12.20191022git32c097c * Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.4-12.20191022git32c097c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (plymouth-32c097c.tar.gz) = 479d9a7b27ad676fb3ce118269da947ebb95c2d7800945ea261d8aa70d0456ad51d51d5294b7d1a4d0ee87e248b6d3ff68334e4f9d3297ecda0c8131a44da979 SHA512 (plymouth-58a7289.tar.gz) = e3d8daebc24f8c53ea1de819170a4ba9842ec1a98904243802e1f15b51b6aa234ef8d22db44b90b8fa42af960e2c71207b3e326c389c12d83327655149e84b2a