dotsplash: Improve start script and psplash compatibility
authorFlorian Boor <florian.boor@kernelconcepts.de>
Thu, 6 Jun 2019 12:54:49 +0000 (14:54 +0200)
committerFlorian Boor <florian.boor@kernelconcepts.de>
Thu, 6 Jun 2019 12:54:49 +0000 (14:54 +0200)
recipes-bsp/dotsplash/dotsplash_git.bb
recipes-bsp/dotsplash/files/dotsplash-init
recipes-bsp/dotsplash/files/splashfuncs

index 7bbe11e..6bce9d6 100644 (file)
@@ -1,7 +1,7 @@
 SUMMARY = "./dotsplash - a tiny and customizable splash screen"
 LICENSE = "GPLv2"
 PV = "1.0+git${SRCPV}"
-SRCREV = "eac58fd508efaa3215094085daa06a58d6d7a75c"
+SRCREV = "1555cb1a1c68c5c5536c3222ecd73783f7d9e74d"
 
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0"
@@ -16,18 +16,20 @@ inherit pkgconfig update-rc.d meson
 
 S = "${WORKDIR}/git"
 
-FILES_${PN} += "/mnt/.dotsplash/"
+FILES_${PN} += "/mnt/.psplash/"
 
 PACKAGES =+ "${PN}-themes"
 FILES_${PN}-themes += "${datadir}/dotsplash/themes/*"
 
 do_install_append() {
-    install -d ${D}/mnt/.dotsplash/
+    install -d ${D}/mnt/.psplash/
     install -d ${D}${sysconfdir}/init.d/
     install -m 0755 ${WORKDIR}/dotsplash-init ${D}${sysconfdir}/init.d/dotsplash.sh
     install -d ${D}${sysconfdir}/default/
     install -m 0644 ${WORKDIR}/dotsplash-default ${D}${sysconfdir}/default/dotsplash
     install -m 0755 ${WORKDIR}/splashfuncs ${D}${sysconfdir}/default/splashfuncs
+    cd ${D}/${bindir}
+    ln -s dotsplash-write psplash-write
 }
 
 INITSCRIPT_NAME = "dotsplash.sh"
index 27a1ba0..1f7f77f 100644 (file)
@@ -1,5 +1,10 @@
 #!/bin/sh 
 
+killproc() {            # kill the named process(es)
+        pid=`/bin/pidof $1`
+        [ "$pid" != "" ] && kill $pid
+}
+
 if grep -qE '\s?psplash=false\s?' /proc/cmdline; then
        echo "Boot splashscreen disabled"
        exit 0;
@@ -8,10 +13,25 @@ fi
 . /etc/init.d/functions
 . /etc/default/dotsplash
 
-export TMPDIR=/mnt/.splash
-mount tmpfs -t tmpfs $TMPDIR -o,size=40k
+export TMPDIR=/mnt/.psplash
+
+case "$1" in
+  start)
+       mount tmpfs -t tmpfs $TMPDIR -o,size=40k
+       /usr/bin/dotsplash $PARAMS &
 
-/usr/bin/dotsplash $PARAMS &
+       # Timetrap against hanging with splash hiding console messages.
+       (sleep 60; dotsplash-write "QUIT"; sleep 1 ; killall dotsplash) &
+  ;;
+  
+  stop)
+        killproc dotsplash
+        umount $TMPDIR
+  ;;
 
-# Timetrap against hanging with splash hiding console messages.
-(sleep 120; dotsplash-write "QUIT") &
+  restart)
+        $0 stop
+        $0 start
+  ;;
+  
+esac
\ No newline at end of file
index ada2a96..7a61768 100644 (file)
@@ -1,6 +1,6 @@
 status() {
   if type splash-write >/dev/null 2>&1; then
-    (TMPDIR="/mnt/.splash" EXQUISITE_IPC="$TMPDIR/exquisite" splash-write "$1" || true) &
+    (TMPDIR="/mnt/.psplash" EXQUISITE_IPC="$TMPDIR/exquisite" splash-write "$1" || true) &
   fi
 }