summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2022-03-01 14:05:14 +0100
committerSimon Rettberg2022-03-01 14:05:14 +0100
commit546d5401b95e2fc09bdf776ba400a7631b8e798d (patch)
tree97dd0b70e7b6e27ee755d991cb8de7eca3bd4eb0
parent[slx-splash] Fix splash.ppm path (diff)
downloadsystemd-init-546d5401b95e2fc09bdf776ba400a7631b8e798d.tar.gz
systemd-init-546d5401b95e2fc09bdf776ba400a7631b8e798d.tar.xz
systemd-init-546d5401b95e2fc09bdf776ba400a7631b8e798d.zip
[slx-splash] Update splashtool (bugfix for ppm with comments)
-rw-r--r--modules.d/slx-splash/scripts/slx-splash-exam.sh1
-rw-r--r--modules.d/slx-splash/scripts/slx-splash-icon-config.sh3
-rw-r--r--modules.d/slx-splash/scripts/slx-splash-icon-hdd.sh3
-rw-r--r--modules.d/slx-splash/scripts/slx-splash-icon-puzzle.sh3
-rw-r--r--modules.d/slx-splash/scripts/slx-splash-icon-rootfs.sh3
-rw-r--r--modules.d/slx-splash/scripts/slx-splash-init.sh2
-rwxr-xr-xmodules.d/slx-splash/scripts/splashtool6
7 files changed, 12 insertions, 9 deletions
diff --git a/modules.d/slx-splash/scripts/slx-splash-exam.sh b/modules.d/slx-splash/scripts/slx-splash-exam.sh
index 9ee4513d..79160fc4 100644
--- a/modules.d/slx-splash/scripts/slx-splash-exam.sh
+++ b/modules.d/slx-splash/scripts/slx-splash-exam.sh
@@ -4,6 +4,7 @@ type warn &>/dev/null || . /lib/dracut-lib.sh
. /etc/openslx
+# Let's do this even in "no splash" mode to be sure
if [ -n "$SLX_EXAM" ]; then
splashtool --tl "/etc/splash.ppm" &
fi
diff --git a/modules.d/slx-splash/scripts/slx-splash-icon-config.sh b/modules.d/slx-splash/scripts/slx-splash-icon-config.sh
index de0b0c46..fb7cd9d0 100644
--- a/modules.d/slx-splash/scripts/slx-splash-icon-config.sh
+++ b/modules.d/slx-splash/scripts/slx-splash-icon-config.sh
@@ -1,3 +1,4 @@
#!/bin/ash
-splashtool --icon "/opt/openslx/icons/active/??-config.ppm"
+grep -wq splash /proc/cmdline \
+ && splashtool --icon "/opt/openslx/icons/active/??-config.ppm"
diff --git a/modules.d/slx-splash/scripts/slx-splash-icon-hdd.sh b/modules.d/slx-splash/scripts/slx-splash-icon-hdd.sh
index 290aaf41..2b1ff4a3 100644
--- a/modules.d/slx-splash/scripts/slx-splash-icon-hdd.sh
+++ b/modules.d/slx-splash/scripts/slx-splash-icon-hdd.sh
@@ -1,3 +1,4 @@
#!/bin/ash
-splashtool --icon "/opt/openslx/icons/active/??-hdd.ppm"
+grep -wq splash /proc/cmdline \
+ && splashtool --icon "/opt/openslx/icons/active/??-hdd.ppm"
diff --git a/modules.d/slx-splash/scripts/slx-splash-icon-puzzle.sh b/modules.d/slx-splash/scripts/slx-splash-icon-puzzle.sh
index afa3e942..5c8d310b 100644
--- a/modules.d/slx-splash/scripts/slx-splash-icon-puzzle.sh
+++ b/modules.d/slx-splash/scripts/slx-splash-icon-puzzle.sh
@@ -1,3 +1,4 @@
#!/bin/ash
-splashtool --icon "/opt/openslx/icons/active/??-puzzle.ppm"
+grep -wq splash /proc/cmdline \
+ && splashtool --icon "/opt/openslx/icons/active/??-puzzle.ppm"
diff --git a/modules.d/slx-splash/scripts/slx-splash-icon-rootfs.sh b/modules.d/slx-splash/scripts/slx-splash-icon-rootfs.sh
index 9decd3ac..a0cf9218 100644
--- a/modules.d/slx-splash/scripts/slx-splash-icon-rootfs.sh
+++ b/modules.d/slx-splash/scripts/slx-splash-icon-rootfs.sh
@@ -1,3 +1,4 @@
#!/bin/ash
-splashtool --icon "/opt/openslx/icons/active/??-rootfs.ppm"
+grep -wq splash /proc/cmdline \
+ && splashtool --icon "/opt/openslx/icons/active/??-rootfs.ppm"
diff --git a/modules.d/slx-splash/scripts/slx-splash-init.sh b/modules.d/slx-splash/scripts/slx-splash-init.sh
index 1c00c4a7..a4c71f88 100644
--- a/modules.d/slx-splash/scripts/slx-splash-init.sh
+++ b/modules.d/slx-splash/scripts/slx-splash-init.sh
@@ -17,7 +17,7 @@ init_drm() {
udevadm settle --timeout=180 2>&1
}
-if grep -wqE 'splash' /proc/cmdline; then
+if grep -wq 'splash' /proc/cmdline; then
# first init graphics
init_drm
# disable non-critical kernel messages
diff --git a/modules.d/slx-splash/scripts/splashtool b/modules.d/slx-splash/scripts/splashtool
index fa348372..69a76a40 100755
--- a/modules.d/slx-splash/scripts/splashtool
+++ b/modules.d/slx-splash/scripts/splashtool
@@ -14,8 +14,6 @@
# specific icon in its active state. Will assume the
# screen stays intact between calls.
-grep -wqE 'splash' /proc/cmdline || exit 0
-
ICON_SIZE=64
unset mode ppm base index
@@ -133,9 +131,9 @@ else
ppm="${ppm}.gz"
fi
if [ "${ppm%.gz}" != "${ppm}" ]; then
- ppm_size="$(zcat "$ppm" | sed -n 2p)"
+ ppm_size="$( < "$ppm" zcat | head -n 5 | grep -v '^#' | sed -n 2p )"
else
- ppm_size="$(sed -n 2p "$ppm")"
+ ppm_size="$( < "$ppm" head -n 5 | grep -v '^#' | sed -n 2p )"
fi
if [ -z "$ppm_size" ]; then
echo "Invalid ppm? Could not extract dimensions" >&2