[plymouth/f16] May fix stall at boot splash exit for some users
Ray Strode
rstrode at fedoraproject.org
Thu Sep 6 19:26:10 UTC 2012
commit 0d49b64755e44123b016d3870660145ac1e24c5a
Author: Ray Strode <rstrode at redhat.com>
Date: Thu Sep 6 15:25:43 2012 -0400
May fix stall at boot splash exit for some users
Resolves: #787512
fix-stall-at-exit.patch | 61 +++++++++++++++++++++++++++++++++++++++++++++++
plymouth.spec | 9 ++++++-
2 files changed, 69 insertions(+), 1 deletions(-)
---
diff --git a/fix-stall-at-exit.patch b/fix-stall-at-exit.patch
new file mode 100644
index 0000000..e17755c
--- /dev/null
+++ b/fix-stall-at-exit.patch
@@ -0,0 +1,61 @@
+From 1445b5a6bfb87957a918b69dca94a62d4a36af7a Mon Sep 17 00:00:00 2001
+From: "Dr. Tilmann Bubeck" <t.bubeck at reinform.de>
+Date: Wed, 2 May 2012 18:18:13 +0200
+Subject: [PATCH] two-step: quit properly when boot finishes while waiting for
+ password
+
+When the computer is progressing through its boot up process, plymouth
+calls into the splash plugin's on_boot_progress function at regular
+intervals with increasing values for "percent_done". At some point, it
+gets to 90% done, and that's when two-step begins its finishing
+animation sequence. As soon as this sequence finishes, two-step pulls
+its stop trigger, which
+
+1) sets its "is_idle" flag to true and
+2) pulls the core plymouthd code's idle trigger, to notify that
+ code that it's at a good animation frame to quit (if the core
+ plymouthd code has an idle trigger set up)
+
+During the boot process, the user may need to enter a password
+(the "plymouth ask-for-password" command). When that happens,
+the splash waits for the user to enter a password, but boot progresses
+in the background.
+
+If the user then enters a password, the boot animation restarts again
+(from the display_normal function). This restarting of the boot
+animation will cause the "is_idle" flag of the splash to get set back
+to false.
+
+Later when plymouthd wants to quit, it calls the become_idle function
+of the splash plugin. That function notices "is_idle" is false, and
+the stop_trigger is not NULL. The function isn't suited to work
+with this combination, and so at this point the splash never
+tells the code daemon code it's idle.
+
+This commit changes on_boot_progress to return before looking at
+percent_done, if the user is getting asked a question. This way
+the stop_trigger won't get created prematurely, and is_idle won't
+get out of sync.
+
+https://bugs.freedesktop.org/show_bug.cgi?id=49355
+---
+ src/plugins/splash/two-step/plugin.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/plugins/splash/two-step/plugin.c b/src/plugins/splash/two-step/plugin.c
+index 8f69e0f..1e6a7d0 100644
+--- a/src/plugins/splash/two-step/plugin.c
++++ b/src/plugins/splash/two-step/plugin.c
+@@ -1077,7 +1077,8 @@ on_boot_progress (ply_boot_splash_plugin_t *plugin,
+ double duration,
+ double percent_done)
+ {
+-
++ if (plugin->state != PLY_BOOT_SPLASH_DISPLAY_NORMAL)
++ return;
+
+ if (percent_done >= SHOW_ANIMATION_PERCENT)
+ {
+--
+1.7.12
+
diff --git a/plymouth.spec b/plymouth.spec
index 8b81f8b..a3ab30f 100644
--- a/plymouth.spec
+++ b/plymouth.spec
@@ -6,7 +6,7 @@
Summary: Graphical Boot Animation and Logger
Name: plymouth
Version: 0.8.4
-Release: 0.20110822.5%{?dist}
+Release: 0.20110822.6%{?dist}
License: GPLv2+
Group: System Environment/Base
Source0: http://freedesktop.org/software/plymouth/releases/%{name}-%{version}.tar.bz2
@@ -15,6 +15,7 @@ Source2: charge.plymouth
Source3: plymouth-set-default-plugin
Source4: plymouth-update-initrd
Patch0: plymouth-0.8.6.1-fix-fail-to-start.patch
+Patch1: fix-stall-at-exit.patch
URL: http://freedesktop.org/software/plymouth/releases
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -241,6 +242,8 @@ Plymouth. It features a small spinner on a dark background.
# Resolves bz 704658
# GDM doesn't start properly when spinfinity theme is used.
%patch0 -p1 -b .fix-fail-to-start
+# May be resolve 787512
+%patch1 -p1 -b .fix-stall-at-exit
# Change the default theme
sed -i -e 's/fade-in/charge/g' src/plymouthd.defaults
@@ -505,6 +508,10 @@ fi
%defattr(-, root, root)
%changelog
+* Thu Sep 06 2012 Ray Strode <rstrode at redhat.com> 0.8.4-0.20110822.6
+- May fix stall at boot splash exit for some users
+ Resolves: #787512
+
* Mon Jul 23 2012 Tom Callaway <spot at fedoraproject.org> - 0.8.4-0.20110822.5
- fix bz704658 (thanks to Ian Pilcher for the patch), resolves issue where spinfinity theme
never goes idle and thus, never exits to gdm
More information about the scm-commits
mailing list