systemd-compat-units: make opkg unit block startup

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.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
This commit is contained in:
Koen Kooi
2011-06-10 10:49:23 +02:00
parent bc39328f21
commit ea3ad6818e
2 changed files with 16 additions and 3 deletions

View 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"

View 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