summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/run-postinsts
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2013-12-17 10:50:09 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-01-28 00:52:34 +0000
commit79f2bb474204b1c33d8c87892f42b3c3b4a20016 (patch)
treef10134345b4baf460b2eaee2719e3bd5111f9589 /meta/recipes-devtools/run-postinsts
parent78484bf45e8052373cbf25f10c380b6e674ef5db (diff)
downloadpoky-79f2bb474204b1c33d8c87892f42b3c3b4a20016.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] (From OE-Core rev: 5933fbef26ffbc8140248ffb28957f36a813054b) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/run-postinsts')
-rw-r--r--meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.init3
-rw-r--r--meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service17
-rw-r--r--meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb22
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 0000000000..473a1f7f6a
--- /dev/null
+++ b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.init
@@ -0,0 +1,3 @@
1#!/bin/sh
2
3run-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 0000000000..822327aadc
--- /dev/null
+++ b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service
@@ -0,0 +1,17 @@
1[Unit]
2Description=Run pending postinsts
3DefaultDependencies=no
4After=systemd-remount-fs.service systemd-tmpfiles-setup.service tmp.mount
5Before=sysinit.target
6ConditionPathExistsGlob=#SYSCONFDIR#/*-postinsts
7
8[Service]
9Type=oneshot
10ExecStart=#SBINDIR#/run-postinsts
11ExecStartPost=#BASE_BINDIR#/systemctl disable run-postinsts.service
12RemainAfterExit=No
13TimeoutSec=0
14
15[Install]
16WantedBy=basic.target
17WantedBy=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 03989ab536..64f85c262d 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"
5LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ 5LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
6 file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 6 file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
7 7
8SRC_URI = "file://run-postinsts" 8SRC_URI = "file://run-postinsts \
9 file://run-postinsts.init \
10 file://run-postinsts.service"
11
12inherit allarch systemd update-rc.d
9 13
10INITSCRIPT_NAME = "run-postinsts" 14INITSCRIPT_NAME = "run-postinsts"
11INITSCRIPT_PARAMS = "start 99 S ." 15INITSCRIPT_PARAMS = "start 99 S ."
12 16
13inherit update-rc.d 17SYSTEMD_SERVICE_${PN} = "run-postinsts.service"
14 18
15do_configure() { 19do_configure() {
16 : 20 :
@@ -21,8 +25,18 @@ do_compile () {
21} 25}
22 26
23do_install() { 27do_install() {
28 install -d ${D}${sbindir}
29 install -m 0755 ${WORKDIR}/run-postinsts ${D}${sbindir}/
30
24 install -d ${D}${sysconfdir}/init.d/ 31 install -d ${D}${sysconfdir}/init.d/
25 install -m 0755 ${WORKDIR}/run-postinsts ${D}${sysconfdir}/init.d/ 32 install -m 0755 ${WORKDIR}/run-postinsts.init ${D}${sysconfdir}/init.d/run-postinsts
33
34 install -d ${D}${systemd_unitdir}/system/
35 install -m 0644 ${WORKDIR}/run-postinsts.service ${D}${systemd_unitdir}/system/
26 36
27 sed -i -e 's:#SYSCONFDIR#:${sysconfdir}:g' ${D}${sysconfdir}/init.d/run-postinsts 37 sed -i -e 's:#SYSCONFDIR#:${sysconfdir}:g' \
38 -e 's:#SBINDIR#:${sbindir}:g' \
39 -e 's:#BASE_BINDIR#:${base_bindir}:g' \
40 ${D}${sbindir}/run-postinsts \
41 ${D}${systemd_unitdir}/system/run-postinsts.service
28} 42}