From 3db3a2b731cbb87ab9df688d86080048f387b488 Mon Sep 17 00:00:00 2001 From: Florian Boor Date: Thu, 6 Jun 2019 14:54:49 +0200 Subject: [PATCH] dotsplash: Improve start script and psplash compatibility --- recipes-bsp/dotsplash/dotsplash_git.bb | 8 +++--- recipes-bsp/dotsplash/files/dotsplash-init | 30 ++++++++++++++++++---- recipes-bsp/dotsplash/files/splashfuncs | 2 +- 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/recipes-bsp/dotsplash/dotsplash_git.bb b/recipes-bsp/dotsplash/dotsplash_git.bb index 7bbe11e..6bce9d6 100644 --- a/recipes-bsp/dotsplash/dotsplash_git.bb +++ b/recipes-bsp/dotsplash/dotsplash_git.bb @@ -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" diff --git a/recipes-bsp/dotsplash/files/dotsplash-init b/recipes-bsp/dotsplash/files/dotsplash-init index 27a1ba0..1f7f77f 100644 --- a/recipes-bsp/dotsplash/files/dotsplash-init +++ b/recipes-bsp/dotsplash/files/dotsplash-init @@ -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 diff --git a/recipes-bsp/dotsplash/files/splashfuncs b/recipes-bsp/dotsplash/files/splashfuncs index ada2a96..7a61768 100644 --- a/recipes-bsp/dotsplash/files/splashfuncs +++ b/recipes-bsp/dotsplash/files/splashfuncs @@ -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 } -- 2.39.2