From 1a7dc602762b314e661ef5b7cb858ae6c3a1f9f5 Mon Sep 17 00:00:00 2001 From: Will Woods Date: Wed, 20 May 2015 12:03:58 -0400 Subject: [PATCH] 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 --- scripts/plymouth-populate-initrd.in | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/plymouth-populate-initrd.in b/scripts/plymouth-populate-initrd.in index 43c7f22..e3326e9 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 -- 2.1.0