-
Notifications
You must be signed in to change notification settings - Fork 28
/
essential-init_1.0.bb
60 lines (48 loc) · 1.78 KB
/
essential-init_1.0.bb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
SUMMARY = "Essential / minimal initialization service"
DESCRIPTION = "A tool for the initial essential setup"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
RDEPENDS_${PN} = "util-linux bash pflask"
SRC_URI = "file://essential-autostart \
file://essential-autostart.service \
file://reload-dom0-snapshot \
file://reload-dom0-snapshot.service \
file://daemonize-sigusr1-wait.c \
file://essential-opt-mount.service \
file://essential-opt-mount \
"
SRC_FILES_LIST = "essential-autostart \
reload-dom0-snapshot \
essential-opt-mount \
"
inherit systemd
SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE_${PN} = "essential-autostart.service reload-dom0-snapshot.service essential-opt-mount.service"
SYSTEMD_AUTO_ENABLE_${PN} = "enable"
systemd_postinst() {
OPTS=""
if [ -n "$D" ]; then
OPTS="--root=$D"
fi
if type systemctl >/dev/null 2>/dev/null; then
systemctl $OPTS ${SYSTEMD_AUTO_ENABLE} ${SYSTEMD_SERVICE}
fi
}
do_compile() {
${CC} ${CFLAGS} ${LDFLAGS} -Wall ${WORKDIR}/daemonize-sigusr1-wait.c -o ${B}/daemonize-sigusr1-wait
}
do_install() {
install -d ${D}/${sbindir}
install -m 0755 ${B}/daemonize-sigusr1-wait ${D}/${sbindir}
for i in ${SRC_FILES_LIST}; do
install -m 0755 ${WORKDIR}/${i} ${D}/${sbindir}
done
install -d ${D}${systemd_unitdir}/system/
install -m 0644 ${WORKDIR}/essential-autostart.service ${D}${systemd_unitdir}/system/
install -m 0644 ${WORKDIR}/reload-dom0-snapshot.service ${D}${systemd_unitdir}/system/
install -m 0644 ${WORKDIR}/essential-opt-mount.service ${D}${systemd_unitdir}/system/
}
FILES_${PN} += "${sbin} \
${systemd_unitdir}/system \
${sysconfdir} \
"