diff mbox series

[1/3,V2] kea: fix creating runtime directory in service files

Message ID 20251218134426.4187527-1-yi.zhao@windriver.com
State New
Headers show
Series [1/3,V2] kea: fix creating runtime directory in service files | expand

Commit Message

Yi Zhao Dec. 18, 2025, 1:44 p.m. UTC
Create runtime and state directories using RuntimeDirectory and
StateDirectory in systemd service files, rather than creating
them via ExecStartPre.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
 .../kea/files/kea-dhcp-ddns.service                  |  7 +++++--
 .../recipes-connectivity/kea/files/kea-dhcp4.service |  8 +++++---
 .../recipes-connectivity/kea/files/kea-dhcp6.service |  8 +++++---
 meta/recipes-connectivity/kea/kea_3.0.1.bb           | 12 +++++++-----
 4 files changed, 22 insertions(+), 13 deletions(-)

Comments

Randy MacLeod Dec. 22, 2025, 5:34 p.m. UTC | #1
Hi  Yi,

This is probably fine but it needs a better description in the commit log.

Please explain why you're making this change and
what the implication is for users, such as changing a build-time config 
to a run-time instantiation.

Also the conf files change is not mentioned.

We'll hold your other kea commits for v2.


In patch 2:
Is : kea.volatiles for sysvinit ? Is so, please mention that in the 
commit log.

Patch 3: looks good.

Thanks,

../Randy


On 2025-12-18 8:44 a.m., Yi Zhao via lists.openembedded.org wrote:
> Create runtime and state directories using RuntimeDirectory and
> StateDirectory in systemd service files, rather than creating
> them via ExecStartPre.
>
> Signed-off-by: Yi Zhao<yi.zhao@windriver.com>
> ---
>   .../kea/files/kea-dhcp-ddns.service                  |  7 +++++--
>   .../recipes-connectivity/kea/files/kea-dhcp4.service |  8 +++++---
>   .../recipes-connectivity/kea/files/kea-dhcp6.service |  8 +++++---
>   meta/recipes-connectivity/kea/kea_3.0.1.bb           | 12 +++++++-----
>   4 files changed, 22 insertions(+), 13 deletions(-)
>
> diff --git a/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service b/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service
> index aec6446f0e..feef7e0b6e 100644
> --- a/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service
> +++ b/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service
> @@ -5,8 +5,11 @@ 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/
> +RuntimeDirectory=kea
> +RuntimeDirectoryMode=0750
> +RuntimeDirectoryPreserve=yes
> +StateDirectory=kea
> +StateDirectoryMode=0750
>   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..ce1256cf26 100644
> --- a/meta/recipes-connectivity/kea/files/kea-dhcp4.service
> +++ b/meta/recipes-connectivity/kea/files/kea-dhcp4.service
> @@ -5,9 +5,11 @@ 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
> +RuntimeDirectory=kea
> +RuntimeDirectoryMode=0750
> +RuntimeDirectoryPreserve=yes
> +StateDirectory=kea
> +StateDirectoryMode=0750
>   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..6123a8ad58 100644
> --- a/meta/recipes-connectivity/kea/files/kea-dhcp6.service
> +++ b/meta/recipes-connectivity/kea/files/kea-dhcp6.service
> @@ -5,9 +5,11 @@ 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
> +RuntimeDirectory=kea
> +RuntimeDirectoryMode=0750
> +RuntimeDirectoryPreserve=yes
> +StateDirectory=kea
> +StateDirectoryMode=0750
>   ExecStart=@SBINDIR@/kea-dhcp6 -c @SYSCONFDIR@/kea/kea-dhcp6.conf
>   
>   [Install]
> diff --git a/meta/recipes-connectivity/kea/kea_3.0.1.bb b/meta/recipes-connectivity/kea/kea_3.0.1.bb
> index 8729b1162e..1be557c79a 100644
> --- a/meta/recipes-connectivity/kea/kea_3.0.1.bb
> +++ b/meta/recipes-connectivity/kea/kea_3.0.1.bb
> @@ -74,13 +74,15 @@ do_install:append() {
>              ${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/*"
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#228122):https://lists.openembedded.org/g/openembedded-core/message/228122
> Mute This Topic:https://lists.openembedded.org/mt/116841995/3616765
> Group Owner:openembedded-core+owner@lists.openembedded.org
> Unsubscribe:https://lists.openembedded.org/g/openembedded-core/unsub [randy.macleod@windriver.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Yi Zhao Dec. 23, 2025, 1:41 p.m. UTC | #2
On 12/23/25 01:34, Randy MacLeod wrote:
> Hi  Yi,
>
> This is probably fine but it needs a better description in the commit log.
>
> Please explain why you're making this change and
> what the implication is for users, such as changing a build-time 
> config to a run-time instantiation.
>
> Also the conf files change is not mentioned.
>
> We'll hold your other kea commits for v2.

OK. I will send v2.


Thanks,

Yi

>
>
> In patch 2:
> Is : kea.volatiles for sysvinit ? Is so, please mention that in the 
> commit log.
>
> Patch 3: looks good.
>
> Thanks,
>
> ../Randy
>
>
> On 2025-12-18 8:44 a.m., Yi Zhao via lists.openembedded.org wrote:
>> Create runtime and state directories using RuntimeDirectory and
>> StateDirectory in systemd service files, rather than creating
>> them via ExecStartPre.
>>
>> Signed-off-by: Yi Zhao<yi.zhao@windriver.com>
>> ---
>>   .../kea/files/kea-dhcp-ddns.service                  |  7 +++++--
>>   .../recipes-connectivity/kea/files/kea-dhcp4.service |  8 +++++---
>>   .../recipes-connectivity/kea/files/kea-dhcp6.service |  8 +++++---
>>   meta/recipes-connectivity/kea/kea_3.0.1.bb           | 12 +++++++-----
>>   4 files changed, 22 insertions(+), 13 deletions(-)
>>
>> diff --git a/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service b/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service
>> index aec6446f0e..feef7e0b6e 100644
>> --- a/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service
>> +++ b/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service
>> @@ -5,8 +5,11 @@ 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/
>> +RuntimeDirectory=kea
>> +RuntimeDirectoryMode=0750
>> +RuntimeDirectoryPreserve=yes
>> +StateDirectory=kea
>> +StateDirectoryMode=0750
>>   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..ce1256cf26 100644
>> --- a/meta/recipes-connectivity/kea/files/kea-dhcp4.service
>> +++ b/meta/recipes-connectivity/kea/files/kea-dhcp4.service
>> @@ -5,9 +5,11 @@ 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
>> +RuntimeDirectory=kea
>> +RuntimeDirectoryMode=0750
>> +RuntimeDirectoryPreserve=yes
>> +StateDirectory=kea
>> +StateDirectoryMode=0750
>>   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..6123a8ad58 100644
>> --- a/meta/recipes-connectivity/kea/files/kea-dhcp6.service
>> +++ b/meta/recipes-connectivity/kea/files/kea-dhcp6.service
>> @@ -5,9 +5,11 @@ 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
>> +RuntimeDirectory=kea
>> +RuntimeDirectoryMode=0750
>> +RuntimeDirectoryPreserve=yes
>> +StateDirectory=kea
>> +StateDirectoryMode=0750
>>   ExecStart=@SBINDIR@/kea-dhcp6 -c @SYSCONFDIR@/kea/kea-dhcp6.conf
>>   
>>   [Install]
>> diff --git a/meta/recipes-connectivity/kea/kea_3.0.1.bb b/meta/recipes-connectivity/kea/kea_3.0.1.bb
>> index 8729b1162e..1be557c79a 100644
>> --- a/meta/recipes-connectivity/kea/kea_3.0.1.bb
>> +++ b/meta/recipes-connectivity/kea/kea_3.0.1.bb
>> @@ -74,13 +74,15 @@ do_install:append() {
>>              ${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/*"
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#228122):https://lists.openembedded.org/g/openembedded-core/message/228122
>> Mute This Topic:https://lists.openembedded.org/mt/116841995/3616765
>> Group Owner:openembedded-core+owner@lists.openembedded.org
>> Unsubscribe:https://lists.openembedded.org/g/openembedded-core/unsub [randy.macleod@windriver.com]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>
>
> -- 
> # Randy MacLeod
> # Wind River Linux
diff mbox series

Patch

diff --git a/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service b/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service
index aec6446f0e..feef7e0b6e 100644
--- a/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service
+++ b/meta/recipes-connectivity/kea/files/kea-dhcp-ddns.service
@@ -5,8 +5,11 @@  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/
+RuntimeDirectory=kea
+RuntimeDirectoryMode=0750
+RuntimeDirectoryPreserve=yes
+StateDirectory=kea
+StateDirectoryMode=0750
 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..ce1256cf26 100644
--- a/meta/recipes-connectivity/kea/files/kea-dhcp4.service
+++ b/meta/recipes-connectivity/kea/files/kea-dhcp4.service
@@ -5,9 +5,11 @@  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
+RuntimeDirectory=kea
+RuntimeDirectoryMode=0750
+RuntimeDirectoryPreserve=yes
+StateDirectory=kea
+StateDirectoryMode=0750
 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..6123a8ad58 100644
--- a/meta/recipes-connectivity/kea/files/kea-dhcp6.service
+++ b/meta/recipes-connectivity/kea/files/kea-dhcp6.service
@@ -5,9 +5,11 @@  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
+RuntimeDirectory=kea
+RuntimeDirectoryMode=0750
+RuntimeDirectoryPreserve=yes
+StateDirectory=kea
+StateDirectoryMode=0750
 ExecStart=@SBINDIR@/kea-dhcp6 -c @SYSCONFDIR@/kea/kea-dhcp6.conf
 
 [Install]
diff --git a/meta/recipes-connectivity/kea/kea_3.0.1.bb b/meta/recipes-connectivity/kea/kea_3.0.1.bb
index 8729b1162e..1be557c79a 100644
--- a/meta/recipes-connectivity/kea/kea_3.0.1.bb
+++ b/meta/recipes-connectivity/kea/kea_3.0.1.bb
@@ -74,13 +74,15 @@  do_install:append() {
            ${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/*"