Blob Blame History Raw
From 9f630a188942c6d235c3a747d67e44e725d8e869 Mon Sep 17 00:00:00 2001
From: Colin Guthrie <colin@mageia.org>
Date: Sat, 14 Apr 2012 16:03:34 +0100
Subject: [PATCH] Do not run plymouth hook if the binary is missing.

There is a remove-boot-splash script in Mageia that can
strip plymouth from an initrd. Make this script a noop
if that has happened.
---
 modules.d/50plymouth/plymouth-pretrigger.sh |   44 ++++++++++++++-------------
 1 file changed, 23 insertions(+), 21 deletions(-)

diff --git a/modules.d/50plymouth/plymouth-pretrigger.sh b/modules.d/50plymouth/plymouth-pretrigger.sh
index 57955e7..50828af 100755
--- a/modules.d/50plymouth/plymouth-pretrigger.sh
+++ b/modules.d/50plymouth/plymouth-pretrigger.sh
@@ -2,27 +2,29 @@
 # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
 # ex: ts=8 sw=4 sts=4 et filetype=sh
 
-if getargbool 1 plymouth.enable && getargbool 1 rd.plymouth -n rd_NO_PLYMOUTH; then
-    [ -c /dev/null ] || mknod -m 0666 /dev/null c 1 3
-    # first trigger graphics subsystem
-    udevadm trigger --action=add --attr-match=class=0x030000 >/dev/null 2>&1
-    # first trigger graphics and tty subsystem
-    udevadm trigger --action=add --subsystem-match=graphics --subsystem-match=drm --subsystem-match=tty >/dev/null 2>&1
+if [ -x /bin/plymouthd ]; then
+    if getargbool 1 plymouth.enable && getargbool 1 rd.plymouth -n rd_NO_PLYMOUTH; then
+        [ -c /dev/null ] || mknod -m 0666 /dev/null c 1 3
+        # first trigger graphics subsystem
+        udevadm trigger --action=add --attr-match=class=0x030000 >/dev/null 2>&1
+        # first trigger graphics and tty subsystem
+        udevadm trigger --action=add --subsystem-match=graphics --subsystem-match=drm --subsystem-match=tty >/dev/null 2>&1
 
-    udevadm settle --timeout=30 2>&1 | vinfo
-    [ -c /dev/zero ] || mknod -m 0666 /dev/zero c 1 5
-    [ -c /dev/tty0 ] || mknod -m 0620 /dev/tty0 c 4 0
-    [ -e /dev/systty ] || ln -s tty0 /dev/systty
-    [ -c /dev/fb0 ] || mknod -m 0660 /dev/fb0 c 29 0
-    [ -e /dev/fb ] || ln -s fb0 /dev/fb
+        udevadm settle --timeout=30 2>&1 | vinfo
+        [ -c /dev/zero ] || mknod -m 0666 /dev/zero c 1 5
+        [ -c /dev/tty0 ] || mknod -m 0620 /dev/tty0 c 4 0
+        [ -e /dev/systty ] || ln -s tty0 /dev/systty
+        [ -c /dev/fb0 ] || mknod -m 0660 /dev/fb0 c 29 0
+        [ -e /dev/fb ] || ln -s fb0 /dev/fb
 
-    info "Starting plymouth daemon"
-    mkdir -m 0755 /run/plymouth
-    consoledev=$(getarg console= | sed -e 's/,.*//')
-    consoledev=${consoledev:-tty0}
-    [ -x /lib/udev/console_init ] && /lib/udev/console_init "/dev/$consoledev"
-    [ -x /bin/plymouthd ] && /bin/plymouthd --attach-to-session --pid-file /run/plymouth/pid
-    /bin/plymouth --show-splash 2>&1 | vinfo
-    # reset tty after plymouth messed with it
-    [ -x /lib/udev/console_init ] && /lib/udev/console_init /dev/tty0
+        info "Starting plymouth daemon"
+        mkdir -m 0755 /run/plymouth
+        consoledev=$(getarg console= | sed -e 's/,.*//')
+        consoledev=${consoledev:-tty0}
+        [ -x /lib/udev/console_init ] && /lib/udev/console_init "/dev/$consoledev"
+        [ -x /bin/plymouthd ] && /bin/plymouthd --attach-to-session --pid-file /run/plymouth/pid
+        /bin/plymouth --show-splash 2>&1 | vinfo
+        # reset tty after plymouth messed with it
+        [ -x /lib/udev/console_init ] && /lib/udev/console_init /dev/tty0
+    fi
 fi