From: Will Woods Date: Wed, 20 May 2015 16:03:58 +0000 (-0400) Subject: plymouth-populate-initrd: fix THEME_OVERRIDE with empty conf X-Git-Tag: 0.9.3~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=22e0596c3ff7469e775ed3e59ce489cd92ecef1d;p=thirdparty%2Fplymouth.git plymouth-populate-initrd: fix THEME_OVERRIDE with empty conf If you set PLYMOUTH_THEME_NAME to override the theme in an initrd (as e.g. lorax does when building upgrade.img), plymouth-populate-initrd tries to edit plymouthd.conf to enable that theme. Unfortunately, the existing `sed` line doesn't work if your plymouthd.conf is empty or all commented out - which is how we currently ship it. So before modifying the config, make sure it has a [Daemon] section header, and a Theme=[placeholder] line for us to modify. Resolves: RHBZ#1223344 --- diff --git a/scripts/plymouth-populate-initrd.in b/scripts/plymouth-populate-initrd.in index 43c7f22c..e3326e94 100755 --- a/scripts/plymouth-populate-initrd.in +++ b/scripts/plymouth-populate-initrd.in @@ -392,6 +392,9 @@ fi if [ $THEME_OVERRIDE ]; then conf=$INITRDDIR/${PLYMOUTH_CONFDIR}/plymouthd.conf echo "modifying plymouthd.conf: Theme=$PLYMOUTH_THEME_NAME" > /dev/stderr + # make sure the section and key exist so we can modify them + grep -q "^ *\[Daemon\]" $conf || echo "[Daemon]" >> $conf + grep -q "^ *Theme *=" $conf || echo "Theme=fade-in" >> $conf sed -i "s/^ *Theme *=.*/# theme modified by plymouth-populate-initrd\nTheme=$PLYMOUTH_THEME_NAME/" $conf fi