From 321da5a86e7d194b4a8d45327d932f0ea2e0237b Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 26 Oct 2012 11:16:53 -0400 Subject: [PATCH 1/5] Latest upstream release - includes systemd fixes and system update fixes --- .gitignore | 1 + plymouth.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6590cd8..5e1f06f 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ plymouth-0.8.4.tar.bz2 /plymouth-0.8.6.1.tar.bz2 /plymouth-0.8.6.2.tar.bz2 /plymouth-0.8.7.tar.bz2 +/plymouth-0.8.8.tar.bz2 diff --git a/plymouth.spec b/plymouth.spec index 7d1576c..a5b7e20 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -5,7 +5,7 @@ Summary: Graphical Boot Animation and Logger Name: plymouth -Version: 0.8.7 +Version: 0.8.8 Release: 1%{?dist} License: GPLv2+ Group: System Environment/Base @@ -504,6 +504,10 @@ fi %defattr(-, root, root) %changelog +* Fri Oct 26 2012 Ray Strode 0.8.8-1 +- Latest upstream release +- includes systemd fixes and system update fixes + * Tue Aug 21 2012 Ray Strode 0.8.7-1 - Latest upstream release - includes systemd fixes diff --git a/sources b/sources index dd5dea0..597a589 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9f2ac7a9982198d32a8e083d5d8fb4cb plymouth-0.8.7.tar.bz2 +38f5e613e5ab17806b950cee2d0d0d4e plymouth-0.8.8.tar.bz2 From 767da6cc7e67f0c8d5af59296a8ac54182ef85f5 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 1 Nov 2012 17:26:42 -0400 Subject: [PATCH 2/5] - Fix crash when deactivating multiple times Related: #870695 --- fix-crash.patch | 68 +++++++++++++++++++++++++++++++++++++++++++++++++ plymouth.spec | 9 ++++++- 2 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 fix-crash.patch diff --git a/fix-crash.patch b/fix-crash.patch new file mode 100644 index 0000000..07160c5 --- /dev/null +++ b/fix-crash.patch @@ -0,0 +1,68 @@ +From 6ccedf7b6ecdc8314ed97355cfe5499fffb13a1e Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Thu, 1 Nov 2012 17:04:33 -0400 +Subject: [PATCH 1/2] main: if deactivate when already deactivated return + immediately + +We were trying to ignore second deactivate requests, but +were instead crashing because we're trying to use a nullified +trigger. + +This commit makes sure things don't go crashy when a user +does "plymouth deactivate" on an already deactivated plymouthd. +--- + src/main.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/src/main.c b/src/main.c +index 88e5002..60ca28f 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -1135,7 +1135,13 @@ static void + on_deactivate (state_t *state, + ply_trigger_t *deactivate_trigger) + { +- if ((state->deactivate_trigger != NULL) || state->is_inactive) ++ if (state->is_inactive) ++ { ++ ply_trigger_pull (deactivate_trigger, NULL); ++ return; ++ } ++ ++ if (state->deactivate_trigger != NULL) + { + ply_trigger_add_handler (state->deactivate_trigger, + (ply_trigger_handler_t) +-- +1.7.12.1 + + +From b3548ebaf76d222f56d6a7b34c5940b930d47609 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Thu, 1 Nov 2012 17:16:07 -0400 +Subject: [PATCH 2/2] two-step: don't update progress when idle + +We've already reach a state where we aren't drawing anymore, etc, +so don't update progress and potentially fire off animations +that won't be seen. +--- + src/plugins/splash/two-step/plugin.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/plugins/splash/two-step/plugin.c b/src/plugins/splash/two-step/plugin.c +index 2998beb..541a108 100644 +--- a/src/plugins/splash/two-step/plugin.c ++++ b/src/plugins/splash/two-step/plugin.c +@@ -1067,6 +1067,9 @@ on_boot_progress (ply_boot_splash_plugin_t *plugin, + if (plugin->state != PLY_BOOT_SPLASH_DISPLAY_NORMAL) + return; + ++ if (plugin->is_idle) ++ return; ++ + if (percent_done >= SHOW_ANIMATION_PERCENT) + { + if (plugin->stop_trigger == NULL) +-- +1.7.12.1 + diff --git a/plymouth.spec b/plymouth.spec index a5b7e20..bef429b 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -6,7 +6,7 @@ Summary: Graphical Boot Animation and Logger Name: plymouth Version: 0.8.8 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2+ Group: System Environment/Base Source0: http://freedesktop.org/software/plymouth/releases/%{name}-%{version}.tar.bz2 @@ -33,6 +33,8 @@ Obsoletes: plymouth-theme-pulser < 0.7.0-0.2009.05.08.2 Obsoletes: plymouth-gdm-hooks < 0.8.4-0.20101119.4 Obsoletes: plymouth-utils < 0.8.4-0.20101119.4 +Patch0: fix-crash.patch + %description Plymouth provides an attractive graphical boot animation in place of the text messages that normally get shown. Text @@ -240,6 +242,7 @@ Plymouth. It features a small spinner on a dark background. %prep %setup -q +%patch0 -p1 -b .fix-crash # Change the default theme sed -i -e 's/fade-in/charge/g' src/plymouthd.defaults @@ -504,6 +507,10 @@ fi %defattr(-, root, root) %changelog +* Thu Nov 01 2012 Ray Strode 0.8.8-2 +- Fix crash when deactivating multiple times + Related: #870695 + * Fri Oct 26 2012 Ray Strode 0.8.8-1 - Latest upstream release - includes systemd fixes and system update fixes From 5d01314b1ebd2e6f7d4da6372348e31bff22cdc6 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 2 Nov 2012 19:09:52 -0400 Subject: [PATCH 3/5] More boot blocking fixes Related: #870695 --- fix-crash.patch | 73 +++++++++++++++++++++++++++++++++++++++++++++++-- plymouth.spec | 6 +++- 2 files changed, 76 insertions(+), 3 deletions(-) diff --git a/fix-crash.patch b/fix-crash.patch index 07160c5..66fbaad 100644 --- a/fix-crash.patch +++ b/fix-crash.patch @@ -1,7 +1,7 @@ From 6ccedf7b6ecdc8314ed97355cfe5499fffb13a1e Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 1 Nov 2012 17:04:33 -0400 -Subject: [PATCH 1/2] main: if deactivate when already deactivated return +Subject: [PATCH 1/3] main: if deactivate when already deactivated return immediately We were trying to ignore second deactivate requests, but @@ -40,7 +40,7 @@ index 88e5002..60ca28f 100644 From b3548ebaf76d222f56d6a7b34c5940b930d47609 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 1 Nov 2012 17:16:07 -0400 -Subject: [PATCH 2/2] two-step: don't update progress when idle +Subject: [PATCH 2/3] two-step: don't update progress when idle We've already reach a state where we aren't drawing anymore, etc, so don't update progress and potentially fire off animations @@ -66,3 +66,72 @@ index 2998beb..541a108 100644 -- 1.7.12.1 + +From a6129abfc527ac247685d80fc5c20144be1badca Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Fri, 2 Nov 2012 17:26:41 -0400 +Subject: [PATCH 3/3] main: make plymouth show-splash idempotent + +plymouth show-splash causes hairy things, that should only happen once, +like activating renderers to happen. + +This commit makes subsequent show-splash calls be no-ops. +--- + src/main.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/src/main.c b/src/main.c +index 60ca28f..ff06163 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -113,6 +113,7 @@ typedef struct + uint32_t should_be_attached : 1; + uint32_t should_retain_splash : 1; + uint32_t is_inactive : 1; ++ uint32_t is_shown : 1; + uint32_t should_force_details : 1; + + char *kernel_console_tty; +@@ -871,6 +872,12 @@ on_show_splash (state_t *state) + { + bool has_display; + ++ if (state->is_shown) ++ { ++ ply_trace ("show splash called while already shown"); ++ return; ++ } ++ + if (state->is_inactive) + { + ply_trace ("show splash called while inactive"); +@@ -884,6 +891,8 @@ on_show_splash (state_t *state) + return; + } + ++ state->is_shown = true; ++ + check_for_consoles (state, state->default_tty, true); + + has_display = ply_list_get_length (state->pixel_displays) > 0 || +@@ -1012,6 +1021,8 @@ dump_details_and_quit_splash (state_t *state) + if (state->boot_splash != NULL) + ply_boot_splash_hide (state->boot_splash); + ++ state->is_shown = false; ++ + quit_splash (state); + } + +@@ -1116,6 +1127,8 @@ on_boot_splash_idle (state_t *state) + ply_renderer_deactivate (state->renderer); + if (state->boot_splash != NULL) + ply_boot_splash_hide (state->boot_splash); ++ ++ state->is_shown = false; + } + + ply_trace ("quitting splash"); +-- +1.7.12.1 + diff --git a/plymouth.spec b/plymouth.spec index bef429b..895cb33 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -6,7 +6,7 @@ Summary: Graphical Boot Animation and Logger Name: plymouth Version: 0.8.8 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2+ Group: System Environment/Base Source0: http://freedesktop.org/software/plymouth/releases/%{name}-%{version}.tar.bz2 @@ -507,6 +507,10 @@ fi %defattr(-, root, root) %changelog +* Fri Nov 02 2012 Ray Strode 0.8.8-3 +- More boot blocking fixes + Related: #870695 + * Thu Nov 01 2012 Ray Strode 0.8.8-2 - Fix crash when deactivating multiple times Related: #870695 From 5eeba1efaf65829e9adad10d439ca54018a71b68 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 15 Nov 2012 23:03:08 -0500 Subject: [PATCH 4/5] - Drop set-default-plugin compat script - Just use upstream update-initrd --- jlaska-test.patch | 34 --------------------------------- plymouth-fix-udev-trigger.patch | 12 ------------ plymouth-set-default-plugin | 2 -- plymouth-update-initrd | 2 -- plymouth.spec | 16 +++++----------- 5 files changed, 5 insertions(+), 61 deletions(-) delete mode 100644 jlaska-test.patch delete mode 100644 plymouth-fix-udev-trigger.patch delete mode 100644 plymouth-set-default-plugin delete mode 100755 plymouth-update-initrd diff --git a/jlaska-test.patch b/jlaska-test.patch deleted file mode 100644 index b08ef28..0000000 --- a/jlaska-test.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 502d5951aa5b8ece34fa21032d513254ef146f69 Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Tue, 1 Mar 2011 17:26:16 -0500 -Subject: [PATCH] terminal: apply terminal settings immediately - ---- - src/libply-splash-core/ply-terminal.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/libply-splash-core/ply-terminal.c b/src/libply-splash-core/ply-terminal.c -index 3f126bc..3e6e8cc 100644 ---- a/src/libply-splash-core/ply-terminal.c -+++ b/src/libply-splash-core/ply-terminal.c -@@ -272,7 +272,7 @@ ply_terminal_set_buffered_input (ply_terminal_t *terminal) - term_attributes.c_oflag |= OPOST; - term_attributes.c_lflag |= ECHO | ICANON | ISIG | IEXTEN; - -- if (tcsetattr (terminal->fd, TCSAFLUSH, &term_attributes) != 0) -+ if (tcsetattr (terminal->fd, TCSANOW, &term_attributes) != 0) - return false; - - terminal->is_unbuffered = false; -@@ -280,7 +280,7 @@ ply_terminal_set_buffered_input (ply_terminal_t *terminal) - return true; - } - -- if (tcsetattr (terminal->fd, TCSAFLUSH, &terminal->original_term_attributes) != 0) -+ if (tcsetattr (terminal->fd, TCSANOW, &terminal->original_term_attributes) != 0) - return false; - - terminal->is_unbuffered = false; --- -1.7.4.1 - diff --git a/plymouth-fix-udev-trigger.patch b/plymouth-fix-udev-trigger.patch deleted file mode 100644 index fb13cd3..0000000 --- a/plymouth-fix-udev-trigger.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up plymouth-0.8.6.2/systemd-units/plymouth-start.service.in.dma plymouth-0.8.6.2/systemd-units/plymouth-start.service.in ---- plymouth-0.8.6.2/systemd-units/plymouth-start.service.in.dma 2012-08-21 09:11:22.906284758 +1000 -+++ plymouth-0.8.6.2/systemd-units/plymouth-start.service.in 2012-08-21 09:11:32.707345054 +1000 -@@ -2,7 +2,7 @@ - Description=Show Plymouth Boot Screen - DefaultDependencies=no - Wants=systemd-ask-password-plymouth.path --After=systemd-vconsole-setup.service systemd-udev-settle.service -+After=systemd-vconsole-setup.service systemd-udev-trigger.service - Before=systemd-ask-password-plymouth.service - ConditionKernelCommandLine=!plymouth.enable=0 - ConditionPathExists=!@plymouthruntimedir@/pid diff --git a/plymouth-set-default-plugin b/plymouth-set-default-plugin deleted file mode 100644 index 610f89e..0000000 --- a/plymouth-set-default-plugin +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -echo "plymouth-set-default-plugin has been deprecated by plymouth-set-default-theme" diff --git a/plymouth-update-initrd b/plymouth-update-initrd deleted file mode 100755 index c07b561..0000000 --- a/plymouth-update-initrd +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/sbin/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --install $(uname -r) diff --git a/plymouth.spec b/plymouth.spec index 895cb33..bc0f1dd 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -6,14 +6,12 @@ Summary: Graphical Boot Animation and Logger Name: plymouth Version: 0.8.8 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2+ Group: System Environment/Base Source0: http://freedesktop.org/software/plymouth/releases/%{name}-%{version}.tar.bz2 Source1: boot-duration Source2: charge.plymouth -Source3: plymouth-set-default-plugin -Source4: plymouth-update-initrd URL: http://www.freedesktop.org/wiki/Software/Plymouth BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -283,16 +281,9 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/charge cp %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/charge cp $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/glow/{box,bullet,entry,lock}.png $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/charge -# Override plymouth-update-initrd to work dracut or mkinitrd -cp -f $RPM_SOURCE_DIR/plymouth-update-initrd $RPM_BUILD_ROOT%{_libexecdir}/plymouth/plymouth-update-initrd - # Drop glow, it's not very Fedora-y rm -rf $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/glow -# Add compat script for upgrades -cp $RPM_SOURCE_DIR/plymouth-set-default-plugin $RPM_BUILD_ROOT%{_sbindir} -chmod +x $RPM_BUILD_ROOT%{_sbindir}/plymouth-set-default-plugin - %clean rm -rf $RPM_BUILD_ROOT @@ -430,7 +421,6 @@ fi %files scripts %defattr(-, root, root) %{_sbindir}/plymouth-set-default-theme -%{_sbindir}/plymouth-set-default-plugin %{_libexecdir}/plymouth/plymouth-update-initrd %{_libexecdir}/plymouth/plymouth-generate-initrd %{_libexecdir}/plymouth/plymouth-populate-initrd @@ -507,6 +497,10 @@ fi %defattr(-, root, root) %changelog +* Thu Nov 15 2012 Ray Strode 0.8.8-4 +- Drop set-default-plugin compat script +- Just use upstream update-initrd + * Fri Nov 02 2012 Ray Strode 0.8.8-3 - More boot blocking fixes Related: #870695 From 18b4655ef8e07f7579d44f474365aacd7cac614d Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 13 Dec 2012 13:20:43 -0500 Subject: [PATCH 5/5] Ensure fedup gets right splash screen Related: #879295 --- fix-fed-up.patch | 45 +++++++++++++++++++++++++++++++++++++++++++++ plymouth.spec | 8 +++++++- 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 fix-fed-up.patch diff --git a/fix-fed-up.patch b/fix-fed-up.patch new file mode 100644 index 0000000..3c09c98 --- /dev/null +++ b/fix-fed-up.patch @@ -0,0 +1,45 @@ +From a9703fb6e3112bbf63ae0f1b0d4d1b5c55befd32 Mon Sep 17 00:00:00 2001 +From: Will Woods +Date: Thu, 29 Nov 2012 10:25:03 -0500 +Subject: [PATCH] populate-initrd: If PLYMOUTH_THEME_NAME is set, write it + into plymouthd.conf + +You can set PLYMOUTH_THEME_NAME when building initramfs to get a +different theme into initramfs, but this doesn't change the default +theme, so the resulting initramfs won't actually use the theme we +installed. + +This patch makes plymouth-populate-initrd rewrite the 'Theme=XXX' line +in plymouthd.conf, so plymouth will use the theme we install. +--- + scripts/plymouth-populate-initrd.in | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/scripts/plymouth-populate-initrd.in b/scripts/plymouth-populate-initrd.in +index 8d1eec0..d901a9b 100755 +--- a/scripts/plymouth-populate-initrd.in ++++ b/scripts/plymouth-populate-initrd.in +@@ -8,6 +8,7 @@ + [ -z "$PLYMOUTH_DATADIR" ] && PLYMOUTH_DATADIR="@PLYMOUTH_DATADIR@" + [ -z "$PLYMOUTH_PLUGIN_PATH" ] && PLYMOUTH_PLUGIN_PATH="$(plymouth --get-splash-plugin-path)" + [ -z "$PLYMOUTH_LOGO_FILE" ] && PLYMOUTH_LOGO_FILE="@PLYMOUTH_LOGO_FILE@" ++[ -n "$PLYMOUTH_THEME_NAME" ] && THEME_OVERRIDE=1 + [ -z "$PLYMOUTH_THEME_NAME" ] && PLYMOUTH_THEME_NAME=$(plymouth-set-default-theme) + [ -z "$PLYMOUTH_CONFDIR" ] && PLYMOUTH_CONFDIR="@PLYMOUTH_CONF_DIR@" + [ -z "$PLYMOUTH_POLICYDIR" ] && PLYMOUTH_POLICYDIR="@PLYMOUTH_POLICY_DIR@" +@@ -388,6 +389,12 @@ if [ -z "$PLYMOUTH_THEME_NAME" ]; then + exit 1 + fi + ++if [ $THEME_OVERRIDE ]; then ++ conf=$INITRDDIR/${PLYMOUTH_CONFDIR}/plymouthd.conf ++ echo "modifying plymouthd.conf: Theme=$PLYMOUTH_THEME_NAME" > /dev/stderr ++ sed -i "s/^ *Theme *=.*/# theme modified by plymouth-populate-initrd\nTheme=$PLYMOUTH_THEME_NAME/" $conf ++fi ++ + PLYMOUTH_MODULE_NAME=$(grep "ModuleName *= *" ${PLYMOUTH_DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/ModuleName *= *//') + + if [ ! -f ${PLYMOUTH_PLUGIN_PATH}/${PLYMOUTH_MODULE_NAME}.so ]; then +-- +1.7.11.7 + diff --git a/plymouth.spec b/plymouth.spec index bc0f1dd..600f3e7 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -6,7 +6,7 @@ Summary: Graphical Boot Animation and Logger Name: plymouth Version: 0.8.8 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv2+ Group: System Environment/Base Source0: http://freedesktop.org/software/plymouth/releases/%{name}-%{version}.tar.bz2 @@ -32,6 +32,7 @@ Obsoletes: plymouth-gdm-hooks < 0.8.4-0.20101119.4 Obsoletes: plymouth-utils < 0.8.4-0.20101119.4 Patch0: fix-crash.patch +Patch1: fix-fed-up.patch %description Plymouth provides an attractive graphical boot animation in @@ -241,6 +242,7 @@ Plymouth. It features a small spinner on a dark background. %prep %setup -q %patch0 -p1 -b .fix-crash +%patch1 -p1 -b .fix-fed-up # Change the default theme sed -i -e 's/fade-in/charge/g' src/plymouthd.defaults @@ -497,6 +499,10 @@ fi %defattr(-, root, root) %changelog +* Thu Dec 13 2012 Ray Strode 0.8.8-5 +- Ensure fedup gets right splash screen + Related: #879295 + * Thu Nov 15 2012 Ray Strode 0.8.8-4 - Drop set-default-plugin compat script - Just use upstream update-initrd