[OE-core] [PATCHv2 6/6] psplash: add systemd support
Christopher Larson
kergoth at gmail.com
Fri Nov 13 23:10:44 UTC 2015
From: Christopher Larson <chris_larson at mentor.com>
Signed-off-by: Christopher Larson <chris_larson at mentor.com>
---
meta/recipes-core/psplash/files/psplash-quit.service | 11 +++++++++++
.../recipes-core/psplash/files/psplash-start.service | 11 +++++++++++
meta/recipes-core/psplash/psplash_git.bb | 20 +++++++++++++++-----
3 files changed, 37 insertions(+), 5 deletions(-)
create mode 100755 meta/recipes-core/psplash/files/psplash-quit.service
create mode 100755 meta/recipes-core/psplash/files/psplash-start.service
diff --git a/meta/recipes-core/psplash/files/psplash-quit.service b/meta/recipes-core/psplash/files/psplash-quit.service
new file mode 100755
index 0000000..14bd499
--- /dev/null
+++ b/meta/recipes-core/psplash/files/psplash-quit.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Terminate Psplash Boot Screen
+After=psplash-start.service
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/psplash-write QUIT
+TimeoutSec=20
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta/recipes-core/psplash/files/psplash-start.service b/meta/recipes-core/psplash/files/psplash-start.service
new file mode 100755
index 0000000..502b150
--- /dev/null
+++ b/meta/recipes-core/psplash/files/psplash-start.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Starts Psplash Boot screen
+Wants=systemd-vconsole-setup.service
+After=systemd-vconsole-setup.service systemd-udev-trigger.service systemd-udevd.service
+DefaultDependencies=no
+
+[Service]
+ExecStart=/usr/bin/psplash
+
+[Install]
+WantedBy=sysinit.target
diff --git a/meta/recipes-core/psplash/psplash_git.bb b/meta/recipes-core/psplash/psplash_git.bb
index b3b6479..acf294f 100644
--- a/meta/recipes-core/psplash/psplash_git.bb
+++ b/meta/recipes-core/psplash/psplash_git.bb
@@ -12,6 +12,8 @@ PR = "r15"
SRC_URI = "git://git.yoctoproject.org/${BPN} \
file://0001-psplash-fb-Convert-psplash_fb_plot_pixel-to-a-static.patch \
file://psplash-init \
+ file://psplash-start.service \
+ file://psplash-quit.service \
${SPLASH_IMAGES}"
SPLASH_IMAGES = "file://psplash-poky-img.h;outsuffix=default"
@@ -66,11 +68,13 @@ python __anonymous() {
S = "${WORKDIR}/git"
-inherit autotools pkgconfig update-rc.d update-alternatives
+inherit autotools pkgconfig update-rc.d update-alternatives systemd
ALTERNATIVE_PRIORITY = "100"
ALTERNATIVE_LINK_NAME[psplash] = "${bindir}/psplash"
+SYSTEMD_SERVICE_${PN} = "psplash-start.service psplash-quit.service"
+
python do_compile () {
import shutil
@@ -97,8 +101,15 @@ python do_compile () {
do_install_append() {
install -d ${D}/mnt/.psplash/
- install -d ${D}${sysconfdir}/init.d/
- install -m 0755 ${WORKDIR}/psplash-init ${D}${sysconfdir}/init.d/psplash.sh
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/psplash-init ${D}${sysconfdir}/init.d/psplash.sh
+ fi
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/psplash-quit.service ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/psplash-start.service ${D}${systemd_unitdir}/system
+ fi
install -d ${D}${bindir}
for i in ${SPLASH_INSTALL} ; do
install -m 0755 $i ${D}${bindir}/$i
@@ -111,9 +122,8 @@ FILES_${PN} += "/mnt/.psplash"
INITSCRIPT_NAME = "psplash.sh"
INITSCRIPT_PARAMS = "start 0 S . stop 20 0 1 6 ."
-DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd-systemctl-native','',d)}"
pkg_postinst_${PN} () {
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
if [ -n "$D" ]; then
OPTS="--root=$D"
fi
--
2.2.1
More information about the Openembedded-core
mailing list