diff mbox series

[v8,2/4] package/systemd: Add config option for sysupdate feature

Message ID 20230115114840.9027-2-nolange79@gmail.com
State Accepted
Headers show
Series [v8,1/4] package/systemd: bump to version 252.4 | expand

Commit Message

Norbert Lange Jan. 15, 2023, 11:48 a.m. UTC
Support the new feature added with v251,
requires openssl.

Signed-off-by: Norbert Lange <nolange79@gmail.com>
Reviewed-by: James Hilliard <james.hilliard1@gmail.com>
---
 package/systemd/Config.in  | 12 ++++++++++++
 package/systemd/systemd.mk |  7 ++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

Comments

Arnout Vandecappelle Feb. 7, 2023, 5:16 p.m. UTC | #1
On 15/01/2023 12:48, Norbert Lange wrote:
> Support the new feature added with v251,
> requires openssl.
> 
> Signed-off-by: Norbert Lange <nolange79@gmail.com>
> Reviewed-by: James Hilliard <james.hilliard1@gmail.com>
> ---
>   package/systemd/Config.in  | 12 ++++++++++++
>   package/systemd/systemd.mk |  7 ++++++-
>   2 files changed, 18 insertions(+), 1 deletion(-)
> 
> diff --git a/package/systemd/Config.in b/package/systemd/Config.in
> index f35305c0be..9278772951 100644
> --- a/package/systemd/Config.in
> +++ b/package/systemd/Config.in
> @@ -481,6 +481,18 @@ config BR2_PACKAGE_SYSTEMD_SYSEXT
>   
>   	  https://www.freedesktop.org/software/systemd/man/systemd-sysext.html
>   
> +config BR2_PACKAGE_SYSTEMD_SYSUPDATE
> +	bool "enable sysupdate support"
> +	select BR2_PACKAGE_OPENSSL
> +	select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
> +	select BR2_PACKAGE_UTIL_LINUX_LIBFDISK

  AFAIU, sysupdate uses its own particular way of doing A/B updates (by updating 
the GPT partition table) which is only supported by systemd-boot. Although I 
suppose it's possible to write a U-Boot script that does the same thing... So I 
added a note here to that effect. I don't suppose you actually used this option?


  Applied to master, thanks.

  Regards,
  Arnout


> +	help
> +	  systemd-sysupdate atomically updates the host OS, container
> +	  images, portable service images or other sources, based on
> +	  the transfer configuration files described in sysupdate.d.
> +
> +	  https://www.freedesktop.org/software/systemd/man/systemd-sysupdate.html
> +
>   config BR2_PACKAGE_SYSTEMD_SYSUSERS
>   	bool "enable sysusers support"
>   	help
> diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
> index b0597f9bb4..f49d34d32f 100644
> --- a/package/systemd/systemd.mk
> +++ b/package/systemd/systemd.mk
> @@ -91,7 +91,6 @@ SYSTEMD_CONF_OPTS += \
>   	-Dsulogin-path=/usr/sbin/sulogin \
>   	-Dsystem-gid-max=999 \
>   	-Dsystem-uid-max=999 \
> -	-Dsysupdate=false \
>   	-Dsysvinit-path= \
>   	-Dsysvrcnd-path= \
>   	-Dtelinit-path= \
> @@ -489,6 +488,12 @@ else
>   SYSTEMD_CONF_OPTS += -Dsysext=false
>   endif
>   
> +ifeq ($(BR2_PACKAGE_SYSTEMD_SYSUPDATE),y)
> +SYSTEMD_CONF_OPTS += -Dsysupdate=true
> +else
> +SYSTEMD_CONF_OPTS += -Dsysupdate=false
> +endif
> +
>   ifeq ($(BR2_PACKAGE_SYSTEMD_NETWORKD),y)
>   SYSTEMD_CONF_OPTS += -Dnetworkd=true
>   SYSTEMD_NETWORKD_USER = systemd-network -1 systemd-network -1 * - - - systemd Network Management
Norbert Lange Feb. 7, 2023, 6:42 p.m. UTC | #2
Am Di., 7. Feb. 2023 um 18:16 Uhr schrieb Arnout Vandecappelle <arnout@mind.be>:
>
>
>
> On 15/01/2023 12:48, Norbert Lange wrote:
> > Support the new feature added with v251,
> > requires openssl.
> >
> > Signed-off-by: Norbert Lange <nolange79@gmail.com>
> > Reviewed-by: James Hilliard <james.hilliard1@gmail.com>
> > ---
> >   package/systemd/Config.in  | 12 ++++++++++++
> >   package/systemd/systemd.mk |  7 ++++++-
> >   2 files changed, 18 insertions(+), 1 deletion(-)
> >
> > diff --git a/package/systemd/Config.in b/package/systemd/Config.in
> > index f35305c0be..9278772951 100644
> > --- a/package/systemd/Config.in
> > +++ b/package/systemd/Config.in
> > @@ -481,6 +481,18 @@ config BR2_PACKAGE_SYSTEMD_SYSEXT
> >
> >         https://www.freedesktop.org/software/systemd/man/systemd-sysext.html
> >
> > +config BR2_PACKAGE_SYSTEMD_SYSUPDATE
> > +     bool "enable sysupdate support"
> > +     select BR2_PACKAGE_OPENSSL
> > +     select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
> > +     select BR2_PACKAGE_UTIL_LINUX_LIBFDISK
>
>   AFAIU, sysupdate uses its own particular way of doing A/B updates (by updating
> the GPT partition table) which is only supported by systemd-boot. Although I
> suppose it's possible to write a U-Boot script that does the same thing... So I
> added a note here to that effect. I don't suppose you actually used this option?

I dont think thats the case, there is only some way of measuring
successfull boots,
sysupdate is just a part of the puzzle, you will have to do some
additional work for sure.

No, I havent used it.

>
>
>   Applied to master, thanks.
>
>   Regards,
>   Arnout

Regards, Norbert

>
>
> > +     help
> > +       systemd-sysupdate atomically updates the host OS, container
> > +       images, portable service images or other sources, based on
> > +       the transfer configuration files described in sysupdate.d.
> > +
> > +       https://www.freedesktop.org/software/systemd/man/systemd-sysupdate.html
> > +
> >   config BR2_PACKAGE_SYSTEMD_SYSUSERS
> >       bool "enable sysusers support"
> >       help
> > diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
> > index b0597f9bb4..f49d34d32f 100644
> > --- a/package/systemd/systemd.mk
> > +++ b/package/systemd/systemd.mk
> > @@ -91,7 +91,6 @@ SYSTEMD_CONF_OPTS += \
> >       -Dsulogin-path=/usr/sbin/sulogin \
> >       -Dsystem-gid-max=999 \
> >       -Dsystem-uid-max=999 \
> > -     -Dsysupdate=false \
> >       -Dsysvinit-path= \
> >       -Dsysvrcnd-path= \
> >       -Dtelinit-path= \
> > @@ -489,6 +488,12 @@ else
> >   SYSTEMD_CONF_OPTS += -Dsysext=false
> >   endif
> >
> > +ifeq ($(BR2_PACKAGE_SYSTEMD_SYSUPDATE),y)
> > +SYSTEMD_CONF_OPTS += -Dsysupdate=true
> > +else
> > +SYSTEMD_CONF_OPTS += -Dsysupdate=false
> > +endif
> > +
> >   ifeq ($(BR2_PACKAGE_SYSTEMD_NETWORKD),y)
> >   SYSTEMD_CONF_OPTS += -Dnetworkd=true
> >   SYSTEMD_NETWORKD_USER = systemd-network -1 systemd-network -1 * - - - systemd Network Management
diff mbox series

Patch

diff --git a/package/systemd/Config.in b/package/systemd/Config.in
index f35305c0be..9278772951 100644
--- a/package/systemd/Config.in
+++ b/package/systemd/Config.in
@@ -481,6 +481,18 @@  config BR2_PACKAGE_SYSTEMD_SYSEXT
 
 	  https://www.freedesktop.org/software/systemd/man/systemd-sysext.html
 
+config BR2_PACKAGE_SYSTEMD_SYSUPDATE
+	bool "enable sysupdate support"
+	select BR2_PACKAGE_OPENSSL
+	select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
+	select BR2_PACKAGE_UTIL_LINUX_LIBFDISK
+	help
+	  systemd-sysupdate atomically updates the host OS, container
+	  images, portable service images or other sources, based on
+	  the transfer configuration files described in sysupdate.d.
+
+	  https://www.freedesktop.org/software/systemd/man/systemd-sysupdate.html
+
 config BR2_PACKAGE_SYSTEMD_SYSUSERS
 	bool "enable sysusers support"
 	help
diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
index b0597f9bb4..f49d34d32f 100644
--- a/package/systemd/systemd.mk
+++ b/package/systemd/systemd.mk
@@ -91,7 +91,6 @@  SYSTEMD_CONF_OPTS += \
 	-Dsulogin-path=/usr/sbin/sulogin \
 	-Dsystem-gid-max=999 \
 	-Dsystem-uid-max=999 \
-	-Dsysupdate=false \
 	-Dsysvinit-path= \
 	-Dsysvrcnd-path= \
 	-Dtelinit-path= \
@@ -489,6 +488,12 @@  else
 SYSTEMD_CONF_OPTS += -Dsysext=false
 endif
 
+ifeq ($(BR2_PACKAGE_SYSTEMD_SYSUPDATE),y)
+SYSTEMD_CONF_OPTS += -Dsysupdate=true
+else
+SYSTEMD_CONF_OPTS += -Dsysupdate=false
+endif
+
 ifeq ($(BR2_PACKAGE_SYSTEMD_NETWORKD),y)
 SYSTEMD_CONF_OPTS += -Dnetworkd=true
 SYSTEMD_NETWORKD_USER = systemd-network -1 systemd-network -1 * - - - systemd Network Management