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:52:34 +0000 |
commit | 79f2bb474204b1c33d8c87892f42b3c3b4a20016 (patch) | |
tree | f10134345b4baf460b2eaee2719e3bd5111f9589 /meta/recipes-devtools/run-postinsts | |
parent | 78484bf45e8052373cbf25f10c380b6e674ef5db (diff) | |
download | poky-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')
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 | |||
3 | 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 0000000000..822327aadc --- /dev/null +++ b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service | |||
@@ -0,0 +1,17 @@ | |||
1 | [Unit] | ||
2 | Description=Run pending postinsts | ||
3 | DefaultDependencies=no | ||
4 | After=systemd-remount-fs.service systemd-tmpfiles-setup.service tmp.mount | ||
5 | Before=sysinit.target | ||
6 | ConditionPathExistsGlob=#SYSCONFDIR#/*-postinsts | ||
7 | |||
8 | [Service] | ||
9 | Type=oneshot | ||
10 | ExecStart=#SBINDIR#/run-postinsts | ||
11 | ExecStartPost=#BASE_BINDIR#/systemctl disable run-postinsts.service | ||
12 | RemainAfterExit=No | ||
13 | TimeoutSec=0 | ||
14 | |||
15 | [Install] | ||
16 | WantedBy=basic.target | ||
17 | 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 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" | |||
5 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ | 5 | LIC_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 | ||
8 | SRC_URI = "file://run-postinsts" | 8 | SRC_URI = "file://run-postinsts \ |
9 | file://run-postinsts.init \ | ||
10 | file://run-postinsts.service" | ||
11 | |||
12 | inherit allarch systemd update-rc.d | ||
9 | 13 | ||
10 | INITSCRIPT_NAME = "run-postinsts" | 14 | INITSCRIPT_NAME = "run-postinsts" |
11 | INITSCRIPT_PARAMS = "start 99 S ." | 15 | INITSCRIPT_PARAMS = "start 99 S ." |
12 | 16 | ||
13 | inherit update-rc.d | 17 | SYSTEMD_SERVICE_${PN} = "run-postinsts.service" |
14 | 18 | ||
15 | do_configure() { | 19 | do_configure() { |
16 | : | 20 | : |
@@ -21,8 +25,18 @@ do_compile () { | |||
21 | } | 25 | } |
22 | 26 | ||
23 | do_install() { | 27 | do_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 | } |