diff mbox series

package/systemd: add checklist of upgrade caveats

Message ID 20220110131624.3639727-1-arnout@mind.be
State Accepted
Headers show
Series package/systemd: add checklist of upgrade caveats | expand

Commit Message

Arnout Vandecappelle Jan. 10, 2022, 1:16 p.m. UTC
Bumping the version of systemd is a little more complicated than the
usual package, and it's easy to forget some of the things that need to
be done - and this has happened several times in the past.

Add a checklist of things to worry about when updating systemd.

Note that there are many other complicated packages that also need a lot
of attention when upgrading. However, systemd is a really critical
package so it's more important that we get that one right than, say,
valgrind.

Cc: Norbert Lange <nolange79@gmail.com>
Cc: Jérémy ROSEN <jeremy.rosen@smile.fr>
Cc: Adam Duskett <aduskett@gmail.com>
Cc: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 package/systemd/systemd.mk | 12 ++++++++++++
 1 file changed, 12 insertions(+)

Comments

Baruch Siach Jan. 10, 2022, 4:35 p.m. UTC | #1
Hi Arnout,

On Mon, Jan 10 2022, Arnout Vandecappelle (Essensium/Mind) wrote:
> Bumping the version of systemd is a little more complicated than the
> usual package, and it's easy to forget some of the things that need to
> be done - and this has happened several times in the past.
>
> Add a checklist of things to worry about when updating systemd.
>
> Note that there are many other complicated packages that also need a lot
> of attention when upgrading. However, systemd is a really critical
> package so it's more important that we get that one right than, say,
> valgrind.
>
> Cc: Norbert Lange <nolange79@gmail.com>
> Cc: Jérémy ROSEN <jeremy.rosen@smile.fr>
> Cc: Adam Duskett <aduskett@gmail.com>
> Cc: James Hilliard <james.hilliard1@gmail.com>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> ---
>  package/systemd/systemd.mk | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
>
> diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
> index 3811dbae42..4d82d2ab81 100644
> --- a/package/systemd/systemd.mk
> +++ b/package/systemd/systemd.mk
> @@ -4,6 +4,18 @@
>  #
>  ################################################################################
>  
> +# When updating systemd, take care of the following:
> +# - Check if the requirements have changed (see README), in particular
> +#   arch and headers
> +# - If yes, propagate the dependencies to BR2_INIT_SYSTEMD
> +# - If the required kernel options have changed, update the Config.in
> +#   help text and the list of KCONFIG_ENABLE_OPT.
> +# - Check if there are new meson_options. Make sure all options are set
> +#   explicitly (usually to default value).
> +# - If there are new services:
> +#   - create new options for them (if they really are optional);
> +#   - create a new _USER if necessary;
> +#   - create new directionry (with _PERMISSIONS) if necessary.

s/directionry/directory/

baruch

>  SYSTEMD_VERSION = 250.1
>  SYSTEMD_SITE = $(call github,systemd,systemd-stable,v$(SYSTEMD_VERSION))
>  SYSTEMD_LICENSE = \
Norbert Lange Jan. 10, 2022, 5:25 p.m. UTC | #2
Hello,

Am Mo., 10. Jan. 2022 um 14:16 Uhr schrieb Arnout Vandecappelle
(Essensium/Mind) <arnout@mind.be>:
>
> Bumping the version of systemd is a little more complicated than the
> usual package, and it's easy to forget some of the things that need to
> be done - and this has happened several times in the past.
>
> Add a checklist of things to worry about when updating systemd.
>
> Note that there are many other complicated packages that also need a lot
> of attention when upgrading. However, systemd is a really critical
> package so it's more important that we get that one right than, say,
> valgrind.
>
> Cc: Norbert Lange <nolange79@gmail.com>
> Cc: Jérémy ROSEN <jeremy.rosen@smile.fr>
> Cc: Adam Duskett <aduskett@gmail.com>
> Cc: James Hilliard <james.hilliard1@gmail.com>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> ---
>  package/systemd/systemd.mk | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
>
> diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
> index 3811dbae42..4d82d2ab81 100644
> --- a/package/systemd/systemd.mk
> +++ b/package/systemd/systemd.mk
> @@ -4,6 +4,18 @@
>  #
>  ################################################################################
>
> +# When updating systemd, take care of the following:
> +# - Check if the requirements have changed (see README), in particular
> +#   arch and headers
> +# - If yes, propagate the dependencies to BR2_INIT_SYSTEMD
> +# - If the required kernel options have changed, update the Config.in
> +#   help text and the list of KCONFIG_ENABLE_OPT.
> +# - Check if there are new meson_options. Make sure all options are set
> +#   explicitly (usually to default value).
> +# - If there are new services:
> +#   - create new options for them (if they really are optional);
> +#   - create a new _USER if necessary;
> +#   - create new directionry (with _PERMISSIONS) if necessary.
>  SYSTEMD_VERSION = 250.1
>  SYSTEMD_SITE = $(call github,systemd,systemd-stable,v$(SYSTEMD_VERSION))
>  SYSTEMD_LICENSE = \
> --
> 2.31.1
>

I wouldd add these:

#   -  diff sysusers.d with the previous version
#   -  diff factory/etc/nsswitch.conf with the previous version
#      (details are often sprinkled around in README and manpages)

and, somewhat more cynical:

#   -  dont bother with x.0 versions

Norbert
Arnout Vandecappelle Jan. 12, 2022, 1:02 p.m. UTC | #3
On 10/01/2022 18:25, Norbert Lange wrote:
> Hello,
> 
> Am Mo., 10. Jan. 2022 um 14:16 Uhr schrieb Arnout Vandecappelle
> (Essensium/Mind) <arnout@mind.be>:
>>
>> Bumping the version of systemd is a little more complicated than the
>> usual package, and it's easy to forget some of the things that need to
>> be done - and this has happened several times in the past.
>>
>> Add a checklist of things to worry about when updating systemd.
>>
>> Note that there are many other complicated packages that also need a lot
>> of attention when upgrading. However, systemd is a really critical
>> package so it's more important that we get that one right than, say,
>> valgrind.
>>
>> Cc: Norbert Lange <nolange79@gmail.com>
>> Cc: Jérémy ROSEN <jeremy.rosen@smile.fr>
>> Cc: Adam Duskett <aduskett@gmail.com>
>> Cc: James Hilliard <james.hilliard1@gmail.com>
>> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
>> ---
>>   package/systemd/systemd.mk | 12 ++++++++++++
>>   1 file changed, 12 insertions(+)
>>
>> diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
>> index 3811dbae42..4d82d2ab81 100644
>> --- a/package/systemd/systemd.mk
>> +++ b/package/systemd/systemd.mk
>> @@ -4,6 +4,18 @@
>>   #
>>   ################################################################################
>>
>> +# When updating systemd, take care of the following:
>> +# - Check if the requirements have changed (see README), in particular
>> +#   arch and headers
>> +# - If yes, propagate the dependencies to BR2_INIT_SYSTEMD
>> +# - If the required kernel options have changed, update the Config.in
>> +#   help text and the list of KCONFIG_ENABLE_OPT.
>> +# - Check if there are new meson_options. Make sure all options are set
>> +#   explicitly (usually to default value).
>> +# - If there are new services:
>> +#   - create new options for them (if they really are optional);
>> +#   - create a new _USER if necessary;
>> +#   - create new directionry (with _PERMISSIONS) if necessary.
>>   SYSTEMD_VERSION = 250.1
>>   SYSTEMD_SITE = $(call github,systemd,systemd-stable,v$(SYSTEMD_VERSION))
>>   SYSTEMD_LICENSE = \
>> --
>> 2.31.1
>>
> 
> I wouldd add these:
> 
> #   -  diff sysusers.d with the previous version
> #   -  diff factory/etc/nsswitch.conf with the previous version
> #      (details are often sprinkled around in README and manpages)

  If you think a patch is good to go with some changes applied, please add 
something like:

With those changes applied, you can add my
  Reviewed-by: ...


  If you reply with just a few comments (or worse, if you don't reply at all), 
it's hard to know for us as maintainers if we should consider the patch approved 
or not.

  Regards,
  Arnout


> 
> and, somewhat more cynical:
> 
> #   -  dont bother with x.0 versions
> 
> Norbert
>
Thomas Petazzoni Jan. 13, 2022, 8:40 p.m. UTC | #4
On Mon, 10 Jan 2022 14:16:24 +0100
"Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be> wrote:

> Bumping the version of systemd is a little more complicated than the
> usual package, and it's easy to forget some of the things that need to
> be done - and this has happened several times in the past.
> 
> Add a checklist of things to worry about when updating systemd.
> 
> Note that there are many other complicated packages that also need a lot
> of attention when upgrading. However, systemd is a really critical
> package so it's more important that we get that one right than, say,
> valgrind.
> 
> Cc: Norbert Lange <nolange79@gmail.com>
> Cc: Jérémy ROSEN <jeremy.rosen@smile.fr>
> Cc: Adam Duskett <aduskett@gmail.com>
> Cc: James Hilliard <james.hilliard1@gmail.com>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> ---
>  package/systemd/systemd.mk | 12 ++++++++++++
>  1 file changed, 12 insertions(+)

Applied to master after taking into account the comments from Baruch
and Norbert.

Thanks!

Thomas
diff mbox series

Patch

diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
index 3811dbae42..4d82d2ab81 100644
--- a/package/systemd/systemd.mk
+++ b/package/systemd/systemd.mk
@@ -4,6 +4,18 @@ 
 #
 ################################################################################
 
+# When updating systemd, take care of the following:
+# - Check if the requirements have changed (see README), in particular
+#   arch and headers
+# - If yes, propagate the dependencies to BR2_INIT_SYSTEMD
+# - If the required kernel options have changed, update the Config.in
+#   help text and the list of KCONFIG_ENABLE_OPT.
+# - Check if there are new meson_options. Make sure all options are set
+#   explicitly (usually to default value).
+# - If there are new services:
+#   - create new options for them (if they really are optional);
+#   - create a new _USER if necessary;
+#   - create new directionry (with _PERMISSIONS) if necessary.
 SYSTEMD_VERSION = 250.1
 SYSTEMD_SITE = $(call github,systemd,systemd-stable,v$(SYSTEMD_VERSION))
 SYSTEMD_LICENSE = \