From 546d5401b95e2fc09bdf776ba400a7631b8e798d Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 1 Mar 2022 14:05:14 +0100 Subject: [slx-splash] Update splashtool (bugfix for ppm with comments) --- modules.d/slx-splash/scripts/slx-splash-exam.sh | 1 + modules.d/slx-splash/scripts/slx-splash-icon-config.sh | 3 ++- modules.d/slx-splash/scripts/slx-splash-icon-hdd.sh | 3 ++- modules.d/slx-splash/scripts/slx-splash-icon-puzzle.sh | 3 ++- modules.d/slx-splash/scripts/slx-splash-icon-rootfs.sh | 3 ++- modules.d/slx-splash/scripts/slx-splash-init.sh | 2 +- modules.d/slx-splash/scripts/splashtool | 6 ++---- 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 -- cgit v1.2.3-55-g7522