diff options
author | Ross Burton <ross.burton@intel.com> | 2013-12-17 10:50:09 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-01-28 00:48:27 +0000 |
commit | 5933fbef26ffbc8140248ffb28957f36a813054b (patch) | |
tree | 510dc30e89e66f0e5678adf824c80b849b42c089 /meta/recipes-devtools/run-postinsts | |
parent | 08a2f48cb95256c6d44c8574949fabafe1466969 (diff) | |
download | openembedded-core-contrib-5933fbef26ffbc8140248ffb28957f36a813054b.tar.gz |
run-postinsts: Add systemd service file
This patch mainly adds a systmd service file for run-postinsts,
which is started at first boot to run the post-install scripts.
Apart from this, this patch also modifies the installation location
of run-postinsts to ${sbindir}. This is because this script would be
used by both sysvinit and systemd based images. So it's more reasonable
to make it locate under ${sbindir}.
[YOCTO #5719]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/recipes-devtools/run-postinsts')
3 files changed, 38 insertions, 4 deletions
diff --git a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.init b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.init new file mode 100644 index 00000000000..473a1f7f6a0 --- /dev/null +++ b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.init @@ -0,0 +1,3 @@ +#!/bin/sh + +run-postinsts diff --git a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service new file mode 100644 index 00000000000..822327aadcf --- /dev/null +++ b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service @@ -0,0 +1,17 @@ +[Unit] +Description=Run pending postinsts +DefaultDependencies=no +After=systemd-remount-fs.service systemd-tmpfiles-setup.service tmp.mount +Before=sysinit.target +ConditionPathExistsGlob=#SYSCONFDIR#/*-postinsts + +[Service] +Type=oneshot +ExecStart=#SBINDIR#/run-postinsts +ExecStartPost=#BASE_BINDIR#/systemctl disable run-postinsts.service +RemainAfterExit=No +TimeoutSec=0 + +[Install] +WantedBy=basic.target +WantedBy=sysinit.target diff --git a/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb b/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb index 03989ab5369..64f85c262df 100644 --- a/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb +++ b/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb @@ -5,12 +5,16 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" -SRC_URI = "file://run-postinsts" +SRC_URI = "file://run-postinsts \ + file://run-postinsts.init \ + file://run-postinsts.service" + +inherit allarch systemd update-rc.d INITSCRIPT_NAME = "run-postinsts" INITSCRIPT_PARAMS = "start 99 S ." -inherit update-rc.d +SYSTEMD_SERVICE_${PN} = "run-postinsts.service" do_configure() { : @@ -21,8 +25,18 @@ do_compile () { } do_install() { + install -d ${D}${sbindir} + install -m 0755 ${WORKDIR}/run-postinsts ${D}${sbindir}/ + install -d ${D}${sysconfdir}/init.d/ - install -m 0755 ${WORKDIR}/run-postinsts ${D}${sysconfdir}/init.d/ + install -m 0755 ${WORKDIR}/run-postinsts.init ${D}${sysconfdir}/init.d/run-postinsts + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/run-postinsts.service ${D}${systemd_unitdir}/system/ - sed -i -e 's:#SYSCONFDIR#:${sysconfdir}:g' ${D}${sysconfdir}/init.d/run-postinsts + sed -i -e 's:#SYSCONFDIR#:${sysconfdir}:g' \ + -e 's:#SBINDIR#:${sbindir}:g' \ + -e 's:#BASE_BINDIR#:${base_bindir}:g' \ + ${D}${sbindir}/run-postinsts \ + ${D}${systemd_unitdir}/system/run-postinsts.service } |