Since commit 3200122d68 (chrony: create /var/lib/chrony by systemd-tmpfiles)
tmpfiles.d mechanism already ensures populating /var/lib/chrony at runtime.
Introduce volatiles mechanism to make sure the directory is created
at runtime for sysvinit as well.
Since /var/lib/chrony is populated at runtime, stop packaging at build time.
this helps to align towards stateless system expectations
or when updates are done via meta-updater.

Signed-off-by: Vishwas Udupa <[email protected]>
---
 .../recipes-support/chrony/chrony_4.8.bb           | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/meta-networking/recipes-support/chrony/chrony_4.8.bb 
b/meta-networking/recipes-support/chrony/chrony_4.8.bb
index 826bffc323..f50576c272 100644
--- a/meta-networking/recipes-support/chrony/chrony_4.8.bb
+++ b/meta-networking/recipes-support/chrony/chrony_4.8.bb
@@ -102,9 +102,6 @@ do_install() {
     install -d ${D}${systemd_unitdir}/system
     install -m 0644 ${S}/examples/chronyd.service 
${D}${systemd_unitdir}/system/
 
-    # Variable data (for drift and/or rtc file)
-    install -d ${D}${localstatedir}/lib/chrony
-
     # Fix hard-coded paths in config files and init scripts
     sed -i -e 's!/var/!${localstatedir}/!g' -e 's!/etc/!${sysconfdir}/!g' \
            -e 's!/usr/sbin/!${sbindir}/!g' -e 's!/usr/bin/!${bindir}/!g' \
@@ -114,12 +111,17 @@ do_install() {
     sed -i 
's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' 
${D}${sysconfdir}/init.d/chronyd
     sed -i 
's!^EnvironmentFile=.*!EnvironmentFile=-${sysconfdir}/default/chronyd!' 
${D}${systemd_unitdir}/system/chronyd.service
 
-    install -d ${D}${sysconfdir}/tmpfiles.d
-    echo "d /var/lib/chrony 0755 root root -" > 
${D}${sysconfdir}/tmpfiles.d/chronyd.conf
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', 
d)}; then
+        install -d ${D}${sysconfdir}/tmpfiles.d
+        echo "d /var/lib/chrony 0755 root root -" > 
${D}${sysconfdir}/tmpfiles.d/chronyd.conf
+    else
+        install -d ${D}${sysconfdir}/default/volatiles
+        echo "d root root 0755 /var/lib/chrony none" > 
"${D}${sysconfdir}/default/volatiles/00_runtime_chrony_dirs"
+    fi
 
 }
 
-FILES:${PN} = "${sbindir}/chronyd ${sysconfdir} ${localstatedir}/lib/chrony 
${localstatedir}"
+FILES:${PN} = "${sbindir}/chronyd ${sysconfdir}"
 CONFFILES:${PN} = "${sysconfdir}/chrony.conf"
 INITSCRIPT_NAME = "chronyd"
 INITSCRIPT_PARAMS = "defaults"
-- 
2.25.1

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

Reply via email to