Use volatile files to create runtime directories, instead of creating
them in systemd unit/initscript files.

Signed-off-by: Yi Zhao <[email protected]>
---
 .../kea/files/kea-dhcp-ddns.service           |  2 -
 .../kea/files/kea-dhcp4.service               |  3 --
 .../kea/files/kea-dhcp6.service               |  3 --
 .../kea/files/kea.tmpfiles                    |  2 +
 .../kea/files/kea.volatiles                   |  2 +
 meta/recipes-connectivity/kea/kea_3.0.1.bb    | 43 +++++++++++++------
 6 files changed, 34 insertions(+), 21 deletions(-)
 create mode 100644 meta/recipes-connectivity/kea/files/kea.tmpfiles
 create mode 100644 meta/recipes-connectivity/kea/files/kea.volatiles

diff --git a/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service 
b/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service
index aec6446f0e..fe09ef6437 100644
--- a/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service
+++ b/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service
@@ -5,8 +5,6 @@ After=network-online.target
 After=time-sync.target
 
 [Service]
-ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/run/kea/
-ExecStartPre=@BASE_BINDIR@/chmod 750 @LOCALSTATEDIR@/run/kea/
 ExecStart=@SBINDIR@/kea-dhcp-ddns -c @SYSCONFDIR@/kea/kea-dhcp-ddns.conf
 
 [Install]
diff --git a/meta/recipes-connectivity/kea/files/kea-dhcp4.service 
b/meta/recipes-connectivity/kea/files/kea-dhcp4.service
index a2ed4edb59..a48a230654 100644
--- a/meta/recipes-connectivity/kea/files/kea-dhcp4.service
+++ b/meta/recipes-connectivity/kea/files/kea-dhcp4.service
@@ -5,9 +5,6 @@ After=network-online.target
 After=time-sync.target
 
 [Service]
-ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/run/kea/
-ExecStartPre=@BASE_BINDIR@/chmod 750 @LOCALSTATEDIR@/run/kea/
-ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/lib/kea
 ExecStart=@SBINDIR@/kea-dhcp4 -c @SYSCONFDIR@/kea/kea-dhcp4.conf
 
 [Install]
diff --git a/meta/recipes-connectivity/kea/files/kea-dhcp6.service 
b/meta/recipes-connectivity/kea/files/kea-dhcp6.service
index ed6e017d0c..a441df9ad2 100644
--- a/meta/recipes-connectivity/kea/files/kea-dhcp6.service
+++ b/meta/recipes-connectivity/kea/files/kea-dhcp6.service
@@ -5,9 +5,6 @@ After=network-online.target
 After=time-sync.target
 
 [Service]
-ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/run/kea/
-ExecStartPre=@BASE_BINDIR@/chmod 750 @LOCALSTATEDIR@/run/kea/
-ExecStartPre=@BASE_BINDIR@/mkdir -p @LOCALSTATEDIR@/lib/kea
 ExecStart=@SBINDIR@/kea-dhcp6 -c @SYSCONFDIR@/kea/kea-dhcp6.conf
 
 [Install]
diff --git a/meta/recipes-connectivity/kea/files/kea.tmpfiles 
b/meta/recipes-connectivity/kea/files/kea.tmpfiles
new file mode 100644
index 0000000000..5da74be3a6
--- /dev/null
+++ b/meta/recipes-connectivity/kea/files/kea.tmpfiles
@@ -0,0 +1,2 @@
+d /run/kea 0750 root root -
+d /var/lib/kea 0644 root root -
diff --git a/meta/recipes-connectivity/kea/files/kea.volatiles 
b/meta/recipes-connectivity/kea/files/kea.volatiles
new file mode 100644
index 0000000000..d0350e38a6
--- /dev/null
+++ b/meta/recipes-connectivity/kea/files/kea.volatiles
@@ -0,0 +1,2 @@
+d root root 0750 /var/run/kea none
+d root root 0644 /var/lib/kea none
diff --git a/meta/recipes-connectivity/kea/kea_3.0.1.bb 
b/meta/recipes-connectivity/kea/kea_3.0.1.bb
index 8729b1162e..5c46498d5b 100644
--- a/meta/recipes-connectivity/kea/kea_3.0.1.bb
+++ b/meta/recipes-connectivity/kea/kea_3.0.1.bb
@@ -14,6 +14,8 @@ SRC_URI = "http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.xz \
            file://kea-dhcp4-server \
            file://kea-dhcp6-server \
            file://kea-dhcp-ddns-server \
+           file://kea.volatiles \
+           file://kea.tmpfiles \
            file://fix-multilib-conflict.patch \
            file://fix_pid_keactrl.patch \
            
file://0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch \
@@ -61,26 +63,41 @@ do_compile:prepend:class-target() {
 }
 
 do_install:append() {
-    install -d ${D}${sysconfdir}/init.d
-    install -d ${D}${systemd_system_unitdir}
-
-    install -m 0644 ${UNPACKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir}
-    install -m 0755 ${UNPACKDIR}/kea-*-server ${D}${sysconfdir}/init.d
-    sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' 
\
-           -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 
's,@SYSCONFDIR@,${sysconfdir},g' \
-           ${D}${systemd_system_unitdir}/kea-dhcp*service 
${D}${sbindir}/keactrl
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', 
d)}; then
+        install -d ${D}${sysconfdir}/init.d
+        install -d ${D}/${sysconfdir}/default/volatiles
+
+        install -m 0755 ${UNPACKDIR}/kea-*-server ${D}${sysconfdir}/init.d
+        install -m 0644 ${UNPACKDIR}/kea.volatiles 
${D}/${sysconfdir}/default/volatiles/99_kea
+    fi
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', 
d)}; then
+        install -d ${D}${systemd_system_unitdir}
+        install -d ${D}${sysconfdir}/tmpfiles.d
+
+        install -m 0644 ${UNPACKDIR}/kea-dhcp*service 
${D}${systemd_system_unitdir}
+        install -m 0644 ${UNPACKDIR}/kea.tmpfiles 
${D}/${sysconfdir}/tmpfiles.d/kea.conf
+
+        sed -i -e 's,@SBINDIR@,${sbindir},g' -e 
's,@BASE_BINDIR@,${base_bindir},g' \
+            -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 
's,@SYSCONFDIR@,${sysconfdir},g' \
+            ${D}${systemd_system_unitdir}/kea-dhcp*service
+    fi
+
     sed -i -e "s:${B}:@abs_top_builddir_placeholder@:g" \
            -e "s:${S}:@abs_top_srcdir_placeholder@:g" \
            ${D}${sbindir}/kea-admin
+
     rm -rf ${D}${datadir}/${BPN}/meson-info
     rm -rf ${D}${runtimedir}
+    rm -rf ${D}${localstatedir}
 }
 
-do_install:append() {
-    rm -rf "${D}${localstatedir}"
-}
-
-CONFFILES:${PN} = "${sysconfdir}/kea/keactrl.conf"
+CONFFILES:${PN} = "${sysconfdir}/kea/keactrl.conf \
+                   ${sysconfdir}/kea/kea-ctrl-agent.conf \
+                   ${sysconfdir}/kea/kea-dhcp-ddns.conf \
+                   ${sysconfdir}/kea/kea-dhcp4.conf \
+                   ${sysconfdir}/kea/kea-dhcp6.conf \
+                  "
 
 PACKAGES =+ "${PN}-python"
 FILES:${PN}-python = "${nonarch_libdir}/python*/site-packages/*"
-- 
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#228085): 
https://lists.openembedded.org/g/openembedded-core/message/228085
Mute This Topic: https://lists.openembedded.org/mt/116837599/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to