systemd-compat-units: make opkg unit block startup
authorKoen Kooi <koen@dominion.thruhere.net>
Fri, 10 Jun 2011 08:49:23 +0000 (10:49 +0200)
committerPatrick Ohly <patrick.ohly@intel.com>
Fri, 9 Jan 2015 16:13:05 +0000 (08:13 -0800)
Without Type=oneshot it would configure things in the background and bootup would go as normal. Now it will block sysinit.target till it's done.

Sadly no full feedback on the console yet.

(From meta-openembedded rev: ea3ad6818eee8d43556bf69c337a5484eb0630e6)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
meta-openembedded/meta-oe/recipes-core/systemd/systemd-compat-units.bb
meta-openembedded/meta-oe/recipes-core/systemd/systemd-compat-units/opkg.service

index 2fd88ab..7571514 100644 (file)
@@ -3,7 +3,7 @@ DESCRIPTION = "Units to make systemd work better with existing sysvinit scripts"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
 
-PR = "r1"
+PR = "r9"
 
 inherit allarch
 
@@ -11,8 +11,15 @@ SRC_URI = "file://opkg.service"
 
 do_install() {
        install -d ${D}${base_libdir}/systemd/system/basic.target.wants
+       install -d ${D}${base_libdir}/systemd/system/sysinit.target.wants/
        install -m 0644 ${WORKDIR}/opkg.service ${D}${base_libdir}/systemd/system
        ln -sf ../opkg.service ${D}${base_libdir}/systemd/system/basic.target.wants/
+       ln -sf ../opkg.service ${D}${base_libdir}/systemd/system/sysinit.target.wants/
+
+       # hack to make old style sysvinit postinsts succeed
+       install -d ${D}${bindir}
+       echo "echo 1" > ${D}${bindir}/runlevel
+       chmod 0755 ${D}${bindir}/runlevel
 }
 
 pkg_postinst_${PN} () {
@@ -27,7 +34,7 @@ for i in busybox-udhcpc dnsmasq hwclock.sh networking syslog syslog.busybox ; do
 done ; echo
 }
 
-FILES_${PN} = "${base_libdir}/systemd/system"
+FILES_${PN} = "${base_libdir}/systemd/system ${bindir}"
 RDPEPENDS_${PN} = "systemd"
 
 
index c346e57..43da75c 100644 (file)
@@ -1,10 +1,16 @@
 [Unit]
 Description=Opkg first boot configure
+DefaultDependencies=no
 ConditionPathExists=|/etc/rcS.d/S98configure
+Before=sysinit.target systemd-tmpfiles.service
 
 [Service]
 ExecStart=/etc/rcS.d/S98configure
-RemainAfterExit=no
+RemainAfterExit=No
+Type=oneshot
+StandardOutput=syslog
+TimeoutSec=0
 
 [Install]
 WantedBy=basic.target
+WantedBy=sysinit.target