All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] systemd: add usrmerge to REQUIRED_DISTRO_FEATURES
@ 2023-08-05 11:06 luca.boccassi
  2023-08-05 12:57 ` [OE-core] " Otavio Salvador
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: luca.boccassi @ 2023-08-05 11:06 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem

From: Luca Boccassi <luca.boccassi@microsoft.com>

Support for unmerged-usr is deprecated upstream, taints the system and
has been removed for v255 (next release).
Enforce building merged-usr images when using systemd. This allows one
release cycle where it can be tested for any remaining issue, and can
still be overridden, before it stops working completely.

Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
---
Time to resurrect this. Support for unmerged-usr has been removed and
will no longer be available starting with v255. Better to get started
now with the enforcement, so that things can be worked out while it is
still possible to override it.

 meta/recipes-core/systemd/systemd-compat-units.bb | 2 +-
 meta/recipes-core/systemd/systemd-serialgetty.bb  | 2 +-
 meta/recipes-core/systemd/systemd.inc             | 5 +++++
 meta/recipes-core/systemd/systemd_254.bb          | 2 +-
 4 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-core/systemd/systemd-compat-units.bb b/meta/recipes-core/systemd/systemd-compat-units.bb
index 55ebf99117f..88315780108 100644
--- a/meta/recipes-core/systemd/systemd-compat-units.bb
+++ b/meta/recipes-core/systemd/systemd-compat-units.bb
@@ -14,7 +14,7 @@ INHIBIT_DEFAULT_DEPS = "1"
 
 ALLOW_EMPTY:${PN} = "1"
 
-REQUIRED_DISTRO_FEATURES = "systemd"
+REQUIRED_DISTRO_FEATURES += "systemd"
 
 SYSTEMD_DISABLED_SYSV_SERVICES = " \
   busybox-udhcpc \
diff --git a/meta/recipes-core/systemd/systemd-serialgetty.bb b/meta/recipes-core/systemd/systemd-serialgetty.bb
index fd888bb8340..0987c3f4162 100644
--- a/meta/recipes-core/systemd/systemd-serialgetty.bb
+++ b/meta/recipes-core/systemd/systemd-serialgetty.bb
@@ -14,7 +14,7 @@ S = "${WORKDIR}"
 
 # As this package is tied to systemd, only build it when we're also building systemd.
 inherit features_check
-REQUIRED_DISTRO_FEATURES = "systemd"
+REQUIRED_DISTRO_FEATURES += "systemd"
 
 do_install() {
 	if [ ! -z "${SERIAL_CONSOLES}" ] ; then
diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc
index b00a49884be..f70b420e120 100644
--- a/meta/recipes-core/systemd/systemd.inc
+++ b/meta/recipes-core/systemd/systemd.inc
@@ -20,3 +20,8 @@ SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${S
            "
 
 S = "${WORKDIR}/git"
+
+# unmerged-usr support is deprecated upstream, taints the system and will be
+# removed in the near future. Fail the build if it is not enabled.
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "usrmerge"
diff --git a/meta/recipes-core/systemd/systemd_254.bb b/meta/recipes-core/systemd/systemd_254.bb
index 7ba4233f6a2..188151a769c 100644
--- a/meta/recipes-core/systemd/systemd_254.bb
+++ b/meta/recipes-core/systemd/systemd_254.bb
@@ -12,7 +12,7 @@ inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu
 
 # As this recipe builds udev, respect systemd being in DISTRO_FEATURES so
 # that we don't build both udev and systemd in world builds.
-REQUIRED_DISTRO_FEATURES = "systemd"
+REQUIRED_DISTRO_FEATURES += "systemd"
 
 SRC_URI += " \
            file://touchscreen.rules \
-- 
2.39.2



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [OE-core] [PATCH] systemd: add usrmerge to REQUIRED_DISTRO_FEATURES
  2023-08-05 11:06 [PATCH] systemd: add usrmerge to REQUIRED_DISTRO_FEATURES luca.boccassi
@ 2023-08-05 12:57 ` Otavio Salvador
  2023-08-05 13:09 ` Richard Purdie
  2023-08-05 21:35 ` [PATCH v2] " luca.boccassi
  2 siblings, 0 replies; 11+ messages in thread
From: Otavio Salvador @ 2023-08-05 12:57 UTC (permalink / raw)
  To: Luca Bocassi; +Cc: openembedded-core, raj.khem

Em sáb., 5 de ago. de 2023 às 08:06, Luca Bocassi
<luca.boccassi@gmail.com> escreveu:
> From: Luca Boccassi <luca.boccassi@microsoft.com>
>
> Support for unmerged-usr is deprecated upstream, taints the system and
> has been removed for v255 (next release).
> Enforce building merged-usr images when using systemd. This allows one
> release cycle where it can be tested for any remaining issue, and can
> still be overridden, before it stops working completely.
>
> Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>

This makes sense. I also prefer to add this sooner than later.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9 9981-7854          Mobile: +1 (347) 903-9750


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [OE-core] [PATCH] systemd: add usrmerge to REQUIRED_DISTRO_FEATURES
  2023-08-05 11:06 [PATCH] systemd: add usrmerge to REQUIRED_DISTRO_FEATURES luca.boccassi
  2023-08-05 12:57 ` [OE-core] " Otavio Salvador
@ 2023-08-05 13:09 ` Richard Purdie
  2023-08-05 21:36   ` Luca Boccassi
  2023-08-05 21:35 ` [PATCH v2] " luca.boccassi
  2 siblings, 1 reply; 11+ messages in thread
From: Richard Purdie @ 2023-08-05 13:09 UTC (permalink / raw)
  To: Luca Bocassi, openembedded-core; +Cc: raj.khem

On Sat, 2023-08-05 at 12:06 +0100, Luca Bocassi wrote:
> From: Luca Boccassi <luca.boccassi@microsoft.com>
> 
> Support for unmerged-usr is deprecated upstream, taints the system and
> has been removed for v255 (next release).
> Enforce building merged-usr images when using systemd. This allows one
> release cycle where it can be tested for any remaining issue, and can
> still be overridden, before it stops working completely.
> 
> Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> ---
> Time to resurrect this. Support for unmerged-usr has been removed and
> will no longer be available starting with v255. Better to get started
> now with the enforcement, so that things can be worked out while it is
> still possible to override it.
> 
>  meta/recipes-core/systemd/systemd-compat-units.bb | 2 +-
>  meta/recipes-core/systemd/systemd-serialgetty.bb  | 2 +-
>  meta/recipes-core/systemd/systemd.inc             | 5 +++++
>  meta/recipes-core/systemd/systemd_254.bb          | 2 +-
>  4 files changed, 8 insertions(+), 3 deletions(-)

Thanks for sending the patch. I did put this in for testing and because
it makes usrmerge required for the systemd-boot recipe, even sysvinit
based images fail builds with errors like:

https://autobuilder.yoctoproject.org/typhoon/#/builders/37/builds/7580/steps/12/logs/stdio

Is usrmerge needed to systemd-boot as well?

Cheers,

Richard


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2] systemd: add usrmerge to REQUIRED_DISTRO_FEATURES
  2023-08-05 11:06 [PATCH] systemd: add usrmerge to REQUIRED_DISTRO_FEATURES luca.boccassi
  2023-08-05 12:57 ` [OE-core] " Otavio Salvador
  2023-08-05 13:09 ` Richard Purdie
@ 2023-08-05 21:35 ` luca.boccassi
  2023-08-10 11:50   ` [OE-core] " Alexandre Belloni
  2023-08-11 12:24   ` Richard Purdie
  2 siblings, 2 replies; 11+ messages in thread
From: luca.boccassi @ 2023-08-05 21:35 UTC (permalink / raw)
  To: openembedded-core; +Cc: raj.khem

From: Luca Boccassi <luca.boccassi@microsoft.com>

Support for unmerged-usr is deprecated upstream, taints the system and
has been removed for v255 (next release).
Enforce building merged-usr images when using systemd. This allows one
release cycle where it can be tested for any remaining issue, and can
still be overridden, before it stops working completely.

Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
---
v2: rearrange so systemd-boot.bb is left as-is for now

 meta/recipes-core/systemd/systemd-compat-units.bb      | 3 ++-
 meta/recipes-core/systemd/systemd-conf_1.0.bb          | 3 +++
 meta/recipes-core/systemd/systemd-machine-units_1.0.bb | 3 ++-
 meta/recipes-core/systemd/systemd-serialgetty.bb       | 3 ++-
 meta/recipes-core/systemd/systemd_254.bb               | 6 +++++-
 5 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-core/systemd/systemd-compat-units.bb b/meta/recipes-core/systemd/systemd-compat-units.bb
index 55ebf99117f..75b1045728a 100644
--- a/meta/recipes-core/systemd/systemd-compat-units.bb
+++ b/meta/recipes-core/systemd/systemd-compat-units.bb
@@ -14,7 +14,8 @@ INHIBIT_DEFAULT_DEPS = "1"
 
 ALLOW_EMPTY:${PN} = "1"
 
-REQUIRED_DISTRO_FEATURES = "systemd"
+REQUIRED_DISTRO_FEATURES += "systemd"
+REQUIRED_DISTRO_FEATURES += "usrmerge"
 
 SYSTEMD_DISABLED_SYSV_SERVICES = " \
   busybox-udhcpc \
diff --git a/meta/recipes-core/systemd/systemd-conf_1.0.bb b/meta/recipes-core/systemd/systemd-conf_1.0.bb
index 61ce7939d3a..2355936631e 100644
--- a/meta/recipes-core/systemd/systemd-conf_1.0.bb
+++ b/meta/recipes-core/systemd/systemd-conf_1.0.bb
@@ -5,6 +5,9 @@ DefaultTimeoutStartSec setting."
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
+inherit features_check
+REQUIRED_DISTRO_FEATURES += "usrmerge"
+
 PE = "1"
 
 PACKAGECONFIG ??= "dhcp-ethernet"
diff --git a/meta/recipes-core/systemd/systemd-machine-units_1.0.bb b/meta/recipes-core/systemd/systemd-machine-units_1.0.bb
index 12f27d6ae30..7e59e86f9be 100644
--- a/meta/recipes-core/systemd/systemd-machine-units_1.0.bb
+++ b/meta/recipes-core/systemd/systemd-machine-units_1.0.bb
@@ -7,7 +7,8 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 PR = "r19"
 
-inherit systemd
+inherit systemd features_check
+REQUIRED_DISTRO_FEATURES += "usrmerge"
 SYSTEMD_SERVICE:${PN} = ""
 
 ALLOW_EMPTY:${PN} = "1"
diff --git a/meta/recipes-core/systemd/systemd-serialgetty.bb b/meta/recipes-core/systemd/systemd-serialgetty.bb
index fd888bb8340..c2c67e6fe08 100644
--- a/meta/recipes-core/systemd/systemd-serialgetty.bb
+++ b/meta/recipes-core/systemd/systemd-serialgetty.bb
@@ -14,7 +14,8 @@ S = "${WORKDIR}"
 
 # As this package is tied to systemd, only build it when we're also building systemd.
 inherit features_check
-REQUIRED_DISTRO_FEATURES = "systemd"
+REQUIRED_DISTRO_FEATURES += "systemd"
+REQUIRED_DISTRO_FEATURES += "usrmerge"
 
 do_install() {
 	if [ ! -z "${SERIAL_CONSOLES}" ] ; then
diff --git a/meta/recipes-core/systemd/systemd_254.bb b/meta/recipes-core/systemd/systemd_254.bb
index 7ba4233f6a2..3fa49122cd6 100644
--- a/meta/recipes-core/systemd/systemd_254.bb
+++ b/meta/recipes-core/systemd/systemd_254.bb
@@ -10,9 +10,13 @@ SECTION = "base/shell"
 
 inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages features_check
 
+# unmerged-usr support is deprecated upstream, taints the system and will be
+# removed in the near future. Fail the build if it is not enabled.
+REQUIRED_DISTRO_FEATURES += "usrmerge"
+
 # As this recipe builds udev, respect systemd being in DISTRO_FEATURES so
 # that we don't build both udev and systemd in world builds.
-REQUIRED_DISTRO_FEATURES = "systemd"
+REQUIRED_DISTRO_FEATURES += "systemd"
 
 SRC_URI += " \
            file://touchscreen.rules \
-- 
2.39.2



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [OE-core] [PATCH] systemd: add usrmerge to REQUIRED_DISTRO_FEATURES
  2023-08-05 13:09 ` Richard Purdie
@ 2023-08-05 21:36   ` Luca Boccassi
  0 siblings, 0 replies; 11+ messages in thread
From: Luca Boccassi @ 2023-08-05 21:36 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core, raj.khem

On Sat, 5 Aug 2023 at 14:09, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> On Sat, 2023-08-05 at 12:06 +0100, Luca Bocassi wrote:
> > From: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> > Support for unmerged-usr is deprecated upstream, taints the system and
> > has been removed for v255 (next release).
> > Enforce building merged-usr images when using systemd. This allows one
> > release cycle where it can be tested for any remaining issue, and can
> > still be overridden, before it stops working completely.
> >
> > Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> > ---
> > Time to resurrect this. Support for unmerged-usr has been removed and
> > will no longer be available starting with v255. Better to get started
> > now with the enforcement, so that things can be worked out while it is
> > still possible to override it.
> >
> >  meta/recipes-core/systemd/systemd-compat-units.bb | 2 +-
> >  meta/recipes-core/systemd/systemd-serialgetty.bb  | 2 +-
> >  meta/recipes-core/systemd/systemd.inc             | 5 +++++
> >  meta/recipes-core/systemd/systemd_254.bb          | 2 +-
> >  4 files changed, 8 insertions(+), 3 deletions(-)
>
> Thanks for sending the patch. I did put this in for testing and because
> it makes usrmerge required for the systemd-boot recipe, even sysvinit
> based images fail builds with errors like:
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/37/builds/7580/steps/12/logs/stdio
>
> Is usrmerge needed to systemd-boot as well?

I don't think so, that's a uefi binary, sent v2 to avoid it for now


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [OE-core] [PATCH v2] systemd: add usrmerge to REQUIRED_DISTRO_FEATURES
  2023-08-05 21:35 ` [PATCH v2] " luca.boccassi
@ 2023-08-10 11:50   ` Alexandre Belloni
  2023-08-10 12:13     ` Ross Burton
  2023-08-11 12:24   ` Richard Purdie
  1 sibling, 1 reply; 11+ messages in thread
From: Alexandre Belloni @ 2023-08-10 11:50 UTC (permalink / raw)
  To: Luca Bocassi; +Cc: openembedded-core, raj.khem

Hello,

This breaks most of the tests on the autobuilders, I guess you will have
to also update the distribution configuration.

https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3326/steps/12/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/5581/steps/14/logs/stdio

ERROR: Nothing PROVIDES 'udev' (but /home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-graphics/wayland/weston_12.0.1.bb DEPENDS on or otherwise requires it)
systemd PROVIDES udev but was skipped: missing required distro feature 'usrmerge' (not in DISTRO_FEATURES)
eudev PROVIDES udev but was skipped: conflicting distro feature 'systemd' (in DISTRO_FEATURES)
ERROR: Nothing PROVIDES 'systemd' (but /home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-graphics/wayland/weston_12.0.1.bb, /home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-core/psplash/psplash_git.bb, /home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-core/dbus/dbus_1.14.8.bb, /home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-core/seatd/seatd_0.7.0.bb DEPENDS on or otherwise requires it)
systemd was skipped: missing required distro feature 'usrmerge' (not in DISTRO_FEATURES)
ERROR: Nothing RPROVIDES 'systemd' (but /home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-core/packagegroups/packagegroup-core-boot.bb RDEPENDS on or otherwise requires it)
systemd was skipped: missing required distro feature 'usrmerge' (not in DISTRO_FEATURES)





On 05/08/2023 22:35:51+0100, Luca Bocassi wrote:
> From: Luca Boccassi <luca.boccassi@microsoft.com>
> 
> Support for unmerged-usr is deprecated upstream, taints the system and
> has been removed for v255 (next release).
> Enforce building merged-usr images when using systemd. This allows one
> release cycle where it can be tested for any remaining issue, and can
> still be overridden, before it stops working completely.
> 
> Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> ---
> v2: rearrange so systemd-boot.bb is left as-is for now
> 
>  meta/recipes-core/systemd/systemd-compat-units.bb      | 3 ++-
>  meta/recipes-core/systemd/systemd-conf_1.0.bb          | 3 +++
>  meta/recipes-core/systemd/systemd-machine-units_1.0.bb | 3 ++-
>  meta/recipes-core/systemd/systemd-serialgetty.bb       | 3 ++-
>  meta/recipes-core/systemd/systemd_254.bb               | 6 +++++-
>  5 files changed, 14 insertions(+), 4 deletions(-)
> 
> diff --git a/meta/recipes-core/systemd/systemd-compat-units.bb b/meta/recipes-core/systemd/systemd-compat-units.bb
> index 55ebf99117f..75b1045728a 100644
> --- a/meta/recipes-core/systemd/systemd-compat-units.bb
> +++ b/meta/recipes-core/systemd/systemd-compat-units.bb
> @@ -14,7 +14,8 @@ INHIBIT_DEFAULT_DEPS = "1"
>  
>  ALLOW_EMPTY:${PN} = "1"
>  
> -REQUIRED_DISTRO_FEATURES = "systemd"
> +REQUIRED_DISTRO_FEATURES += "systemd"
> +REQUIRED_DISTRO_FEATURES += "usrmerge"
>  
>  SYSTEMD_DISABLED_SYSV_SERVICES = " \
>    busybox-udhcpc \
> diff --git a/meta/recipes-core/systemd/systemd-conf_1.0.bb b/meta/recipes-core/systemd/systemd-conf_1.0.bb
> index 61ce7939d3a..2355936631e 100644
> --- a/meta/recipes-core/systemd/systemd-conf_1.0.bb
> +++ b/meta/recipes-core/systemd/systemd-conf_1.0.bb
> @@ -5,6 +5,9 @@ DefaultTimeoutStartSec setting."
>  LICENSE = "MIT"
>  LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
>  
> +inherit features_check
> +REQUIRED_DISTRO_FEATURES += "usrmerge"
> +
>  PE = "1"
>  
>  PACKAGECONFIG ??= "dhcp-ethernet"
> diff --git a/meta/recipes-core/systemd/systemd-machine-units_1.0.bb b/meta/recipes-core/systemd/systemd-machine-units_1.0.bb
> index 12f27d6ae30..7e59e86f9be 100644
> --- a/meta/recipes-core/systemd/systemd-machine-units_1.0.bb
> +++ b/meta/recipes-core/systemd/systemd-machine-units_1.0.bb
> @@ -7,7 +7,8 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
>  
>  PR = "r19"
>  
> -inherit systemd
> +inherit systemd features_check
> +REQUIRED_DISTRO_FEATURES += "usrmerge"
>  SYSTEMD_SERVICE:${PN} = ""
>  
>  ALLOW_EMPTY:${PN} = "1"
> diff --git a/meta/recipes-core/systemd/systemd-serialgetty.bb b/meta/recipes-core/systemd/systemd-serialgetty.bb
> index fd888bb8340..c2c67e6fe08 100644
> --- a/meta/recipes-core/systemd/systemd-serialgetty.bb
> +++ b/meta/recipes-core/systemd/systemd-serialgetty.bb
> @@ -14,7 +14,8 @@ S = "${WORKDIR}"
>  
>  # As this package is tied to systemd, only build it when we're also building systemd.
>  inherit features_check
> -REQUIRED_DISTRO_FEATURES = "systemd"
> +REQUIRED_DISTRO_FEATURES += "systemd"
> +REQUIRED_DISTRO_FEATURES += "usrmerge"
>  
>  do_install() {
>  	if [ ! -z "${SERIAL_CONSOLES}" ] ; then
> diff --git a/meta/recipes-core/systemd/systemd_254.bb b/meta/recipes-core/systemd/systemd_254.bb
> index 7ba4233f6a2..3fa49122cd6 100644
> --- a/meta/recipes-core/systemd/systemd_254.bb
> +++ b/meta/recipes-core/systemd/systemd_254.bb
> @@ -10,9 +10,13 @@ SECTION = "base/shell"
>  
>  inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages features_check
>  
> +# unmerged-usr support is deprecated upstream, taints the system and will be
> +# removed in the near future. Fail the build if it is not enabled.
> +REQUIRED_DISTRO_FEATURES += "usrmerge"
> +
>  # As this recipe builds udev, respect systemd being in DISTRO_FEATURES so
>  # that we don't build both udev and systemd in world builds.
> -REQUIRED_DISTRO_FEATURES = "systemd"
> +REQUIRED_DISTRO_FEATURES += "systemd"
>  
>  SRC_URI += " \
>             file://touchscreen.rules \
> -- 
> 2.39.2
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#185557): https://lists.openembedded.org/g/openembedded-core/message/185557
> Mute This Topic: https://lists.openembedded.org/mt/100572063/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 


-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [OE-core] [PATCH v2] systemd: add usrmerge to REQUIRED_DISTRO_FEATURES
  2023-08-10 11:50   ` [OE-core] " Alexandre Belloni
@ 2023-08-10 12:13     ` Ross Burton
  2023-08-10 12:54       ` Richard Purdie
  0 siblings, 1 reply; 11+ messages in thread
From: Ross Burton @ 2023-08-10 12:13 UTC (permalink / raw)
  To: alexandre.belloni; +Cc: Luca Bocassi, OE-core, raj.khem

On 10 Aug 2023, at 12:50, Alexandre Belloni via lists.openembedded.org <alexandre.belloni=bootlin.com@lists.openembedded.org> wrote:
> 
> Hello,
> 
> This breaks most of the tests on the autobuilders, I guess you will have
> to also update the distribution configuration.
> 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3326/steps/12/logs/stdio
> https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/5581/steps/14/logs/stdio
> 
> ERROR: Nothing PROVIDES 'udev' (but /home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-graphics/wayland/weston_12.0.1.bb DEPENDS on or otherwise requires it)
> systemd PROVIDES udev but was skipped: missing required distro feature 'usrmerge' (not in DISTRO_FEATURES)
> eudev PROVIDES udev but was skipped: conflicting distro feature 'systemd' (in DISTRO_FEATURES)
> ERROR: Nothing PROVIDES 'systemd' (but /home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-graphics/wayland/weston_12.0.1.bb, /home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-core/psplash/psplash_git.bb, /home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-core/dbus/dbus_1.14.8.bb, /home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-core/seatd/seatd_0.7.0.bb DEPENDS on or otherwise requires it)
> systemd was skipped: missing required distro feature 'usrmerge' (not in DISTRO_FEATURES)
> ERROR: Nothing RPROVIDES 'systemd' (but /home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-core/packagegroups/packagegroup-core-boot.bb RDEPENDS on or otherwise requires it)
> systemd was skipped: missing required distro feature 'usrmerge' (not in DISTRO_FEATURES)

The poky-altcfg distro uses usrmerge, so the challenge will be adapting the QA so that all of the tests that involve systemd are using poky-altcfg.

Ross

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [OE-core] [PATCH v2] systemd: add usrmerge to REQUIRED_DISTRO_FEATURES
  2023-08-10 12:13     ` Ross Burton
@ 2023-08-10 12:54       ` Richard Purdie
  0 siblings, 0 replies; 11+ messages in thread
From: Richard Purdie @ 2023-08-10 12:54 UTC (permalink / raw)
  To: Ross Burton, alexandre.belloni; +Cc: Luca Bocassi, OE-core, raj.khem

On Thu, 2023-08-10 at 12:13 +0000, Ross Burton wrote:
> On 10 Aug 2023, at 12:50, Alexandre Belloni via lists.openembedded.org <alexandre.belloni=bootlin.com@lists.openembedded.org> wrote:
> > 
> > Hello,
> > 
> > This breaks most of the tests on the autobuilders, I guess you will have
> > to also update the distribution configuration.
> > 
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3326/steps/12/logs/stdio
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/5581/steps/14/logs/stdio
> > 
> > ERROR: Nothing PROVIDES 'udev' (but /home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-graphics/wayland/weston_12.0.1.bb DEPENDS on or otherwise requires it)
> > systemd PROVIDES udev but was skipped: missing required distro feature 'usrmerge' (not in DISTRO_FEATURES)
> > eudev PROVIDES udev but was skipped: conflicting distro feature 'systemd' (in DISTRO_FEATURES)
> > ERROR: Nothing PROVIDES 'systemd' (but /home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-graphics/wayland/weston_12.0.1.bb, /home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-core/psplash/psplash_git.bb, /home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-core/dbus/dbus_1.14.8.bb, /home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-core/seatd/seatd_0.7.0.bb DEPENDS on or otherwise requires it)
> > systemd was skipped: missing required distro feature 'usrmerge' (not in DISTRO_FEATURES)
> > ERROR: Nothing RPROVIDES 'systemd' (but /home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-core/packagegroups/packagegroup-core-boot.bb RDEPENDS on or otherwise requires it)
> > systemd was skipped: missing required distro feature 'usrmerge' (not in DISTRO_FEATURES)
> 
> The poky-altcfg distro uses usrmerge, so the challenge will be adapting the QA so that all of the tests that involve systemd are using poky-altcfg.

The challenge here is reproducibile testing specific since that is
messing with configs to try and get the best coverage.

Since we don't want usrmerge in the reproducibility testing config,
I'll suggest we drop systemd from there. There are some other bits of
config like INHIBIT_PACKAGE_STRIP being set which are also
questionable.

Cheers,

Richard


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [OE-core] [PATCH v2] systemd: add usrmerge to REQUIRED_DISTRO_FEATURES
  2023-08-05 21:35 ` [PATCH v2] " luca.boccassi
  2023-08-10 11:50   ` [OE-core] " Alexandre Belloni
@ 2023-08-11 12:24   ` Richard Purdie
  2023-08-11 12:56     ` Luca Boccassi
  1 sibling, 1 reply; 11+ messages in thread
From: Richard Purdie @ 2023-08-11 12:24 UTC (permalink / raw)
  To: Luca Bocassi, openembedded-core; +Cc: raj.khem

On Sat, 2023-08-05 at 22:35 +0100, Luca Bocassi wrote:
> From: Luca Boccassi <luca.boccassi@microsoft.com>
> 
> Support for unmerged-usr is deprecated upstream, taints the system and
> has been removed for v255 (next release).
> Enforce building merged-usr images when using systemd. This allows one
> release cycle where it can be tested for any remaining issue, and can
> still be overridden, before it stops working completely.
> 
> Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> ---
> v2: rearrange so systemd-boot.bb is left as-is for now
> 
>  meta/recipes-core/systemd/systemd-compat-units.bb      | 3 ++-
>  meta/recipes-core/systemd/systemd-conf_1.0.bb          | 3 +++
>  meta/recipes-core/systemd/systemd-machine-units_1.0.bb | 3 ++-
>  meta/recipes-core/systemd/systemd-serialgetty.bb       | 3 ++-
>  meta/recipes-core/systemd/systemd_254.bb               | 6 +++++-
>  5 files changed, 14 insertions(+), 4 deletions(-)
> 
> diff --git a/meta/recipes-core/systemd/systemd-compat-units.bb b/meta/recipes-core/systemd/systemd-compat-units.bb
> index 55ebf99117f..75b1045728a 100644
> --- a/meta/recipes-core/systemd/systemd-compat-units.bb
> +++ b/meta/recipes-core/systemd/systemd-compat-units.bb
> @@ -14,7 +14,8 @@ INHIBIT_DEFAULT_DEPS = "1"
>  
>  ALLOW_EMPTY:${PN} = "1"
>  
> -REQUIRED_DISTRO_FEATURES = "systemd"
> +REQUIRED_DISTRO_FEATURES += "systemd"
> +REQUIRED_DISTRO_FEATURES += "usrmerge"
>  
>  SYSTEMD_DISABLED_SYSV_SERVICES = " \
>    busybox-udhcpc \
> diff --git a/meta/recipes-core/systemd/systemd-conf_1.0.bb b/meta/recipes-core/systemd/systemd-conf_1.0.bb
> index 61ce7939d3a..2355936631e 100644
> --- a/meta/recipes-core/systemd/systemd-conf_1.0.bb
> +++ b/meta/recipes-core/systemd/systemd-conf_1.0.bb
> @@ -5,6 +5,9 @@ DefaultTimeoutStartSec setting."
>  LICENSE = "MIT"
>  LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
>  
> +inherit features_check
> +REQUIRED_DISTRO_FEATURES += "usrmerge"
> +
>  PE = "1"
>  
>  PACKAGECONFIG ??= "dhcp-ethernet"
> diff --git a/meta/recipes-core/systemd/systemd-machine-units_1.0.bb b/meta/recipes-core/systemd/systemd-machine-units_1.0.bb
> index 12f27d6ae30..7e59e86f9be 100644
> --- a/meta/recipes-core/systemd/systemd-machine-units_1.0.bb
> +++ b/meta/recipes-core/systemd/systemd-machine-units_1.0.bb
> @@ -7,7 +7,8 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
>  
>  PR = "r19"
>  
> -inherit systemd
> +inherit systemd features_check
> +REQUIRED_DISTRO_FEATURES += "usrmerge"
>  SYSTEMD_SERVICE:${PN} = ""
>  
>  ALLOW_EMPTY:${PN} = "1"
> diff --git a/meta/recipes-core/systemd/systemd-serialgetty.bb b/meta/recipes-core/systemd/systemd-serialgetty.bb
> index fd888bb8340..c2c67e6fe08 100644
> --- a/meta/recipes-core/systemd/systemd-serialgetty.bb
> +++ b/meta/recipes-core/systemd/systemd-serialgetty.bb
> @@ -14,7 +14,8 @@ S = "${WORKDIR}"
>  
>  # As this package is tied to systemd, only build it when we're also building systemd.
>  inherit features_check
> -REQUIRED_DISTRO_FEATURES = "systemd"
> +REQUIRED_DISTRO_FEATURES += "systemd"
> +REQUIRED_DISTRO_FEATURES += "usrmerge"
>  
>  do_install() {
>  	if [ ! -z "${SERIAL_CONSOLES}" ] ; then
> diff --git a/meta/recipes-core/systemd/systemd_254.bb b/meta/recipes-core/systemd/systemd_254.bb
> index 7ba4233f6a2..3fa49122cd6 100644
> --- a/meta/recipes-core/systemd/systemd_254.bb
> +++ b/meta/recipes-core/systemd/systemd_254.bb
> @@ -10,9 +10,13 @@ SECTION = "base/shell"
>  
>  inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages features_check
>  
> +# unmerged-usr support is deprecated upstream, taints the system and will be
> +# removed in the near future. Fail the build if it is not enabled.
> +REQUIRED_DISTRO_FEATURES += "usrmerge"
> +
>  # As this recipe builds udev, respect systemd being in DISTRO_FEATURES so
>  # that we don't build both udev and systemd in world builds.
> -REQUIRED_DISTRO_FEATURES = "systemd"
> +REQUIRED_DISTRO_FEATURES += "systemd"
>  
>  SRC_URI += " \
>             file://touchscreen.rules \

FWIW I tried multiple runs of this through the autobuilder and tracked
down all the places this needed fixing so the test work. Once those
fixes merged, I was able to merge this.

Cheers,

Richard



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [OE-core] [PATCH v2] systemd: add usrmerge to REQUIRED_DISTRO_FEATURES
  2023-08-11 12:24   ` Richard Purdie
@ 2023-08-11 12:56     ` Luca Boccassi
  0 siblings, 0 replies; 11+ messages in thread
From: Luca Boccassi @ 2023-08-11 12:56 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core, raj.khem

On Fri, 11 Aug 2023 at 13:24, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> On Sat, 2023-08-05 at 22:35 +0100, Luca Bocassi wrote:
> > From: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> > Support for unmerged-usr is deprecated upstream, taints the system and
> > has been removed for v255 (next release).
> > Enforce building merged-usr images when using systemd. This allows one
> > release cycle where it can be tested for any remaining issue, and can
> > still be overridden, before it stops working completely.
> >
> > Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> > ---
> > v2: rearrange so systemd-boot.bb is left as-is for now
> >
> >  meta/recipes-core/systemd/systemd-compat-units.bb      | 3 ++-
> >  meta/recipes-core/systemd/systemd-conf_1.0.bb          | 3 +++
> >  meta/recipes-core/systemd/systemd-machine-units_1.0.bb | 3 ++-
> >  meta/recipes-core/systemd/systemd-serialgetty.bb       | 3 ++-
> >  meta/recipes-core/systemd/systemd_254.bb               | 6 +++++-
> >  5 files changed, 14 insertions(+), 4 deletions(-)
> >
> > diff --git a/meta/recipes-core/systemd/systemd-compat-units.bb b/meta/recipes-core/systemd/systemd-compat-units.bb
> > index 55ebf99117f..75b1045728a 100644
> > --- a/meta/recipes-core/systemd/systemd-compat-units.bb
> > +++ b/meta/recipes-core/systemd/systemd-compat-units.bb
> > @@ -14,7 +14,8 @@ INHIBIT_DEFAULT_DEPS = "1"
> >
> >  ALLOW_EMPTY:${PN} = "1"
> >
> > -REQUIRED_DISTRO_FEATURES = "systemd"
> > +REQUIRED_DISTRO_FEATURES += "systemd"
> > +REQUIRED_DISTRO_FEATURES += "usrmerge"
> >
> >  SYSTEMD_DISABLED_SYSV_SERVICES = " \
> >    busybox-udhcpc \
> > diff --git a/meta/recipes-core/systemd/systemd-conf_1.0.bb b/meta/recipes-core/systemd/systemd-conf_1.0.bb
> > index 61ce7939d3a..2355936631e 100644
> > --- a/meta/recipes-core/systemd/systemd-conf_1.0.bb
> > +++ b/meta/recipes-core/systemd/systemd-conf_1.0.bb
> > @@ -5,6 +5,9 @@ DefaultTimeoutStartSec setting."
> >  LICENSE = "MIT"
> >  LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
> >
> > +inherit features_check
> > +REQUIRED_DISTRO_FEATURES += "usrmerge"
> > +
> >  PE = "1"
> >
> >  PACKAGECONFIG ??= "dhcp-ethernet"
> > diff --git a/meta/recipes-core/systemd/systemd-machine-units_1.0.bb b/meta/recipes-core/systemd/systemd-machine-units_1.0.bb
> > index 12f27d6ae30..7e59e86f9be 100644
> > --- a/meta/recipes-core/systemd/systemd-machine-units_1.0.bb
> > +++ b/meta/recipes-core/systemd/systemd-machine-units_1.0.bb
> > @@ -7,7 +7,8 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
> >
> >  PR = "r19"
> >
> > -inherit systemd
> > +inherit systemd features_check
> > +REQUIRED_DISTRO_FEATURES += "usrmerge"
> >  SYSTEMD_SERVICE:${PN} = ""
> >
> >  ALLOW_EMPTY:${PN} = "1"
> > diff --git a/meta/recipes-core/systemd/systemd-serialgetty.bb b/meta/recipes-core/systemd/systemd-serialgetty.bb
> > index fd888bb8340..c2c67e6fe08 100644
> > --- a/meta/recipes-core/systemd/systemd-serialgetty.bb
> > +++ b/meta/recipes-core/systemd/systemd-serialgetty.bb
> > @@ -14,7 +14,8 @@ S = "${WORKDIR}"
> >
> >  # As this package is tied to systemd, only build it when we're also building systemd.
> >  inherit features_check
> > -REQUIRED_DISTRO_FEATURES = "systemd"
> > +REQUIRED_DISTRO_FEATURES += "systemd"
> > +REQUIRED_DISTRO_FEATURES += "usrmerge"
> >
> >  do_install() {
> >       if [ ! -z "${SERIAL_CONSOLES}" ] ; then
> > diff --git a/meta/recipes-core/systemd/systemd_254.bb b/meta/recipes-core/systemd/systemd_254.bb
> > index 7ba4233f6a2..3fa49122cd6 100644
> > --- a/meta/recipes-core/systemd/systemd_254.bb
> > +++ b/meta/recipes-core/systemd/systemd_254.bb
> > @@ -10,9 +10,13 @@ SECTION = "base/shell"
> >
> >  inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages features_check
> >
> > +# unmerged-usr support is deprecated upstream, taints the system and will be
> > +# removed in the near future. Fail the build if it is not enabled.
> > +REQUIRED_DISTRO_FEATURES += "usrmerge"
> > +
> >  # As this recipe builds udev, respect systemd being in DISTRO_FEATURES so
> >  # that we don't build both udev and systemd in world builds.
> > -REQUIRED_DISTRO_FEATURES = "systemd"
> > +REQUIRED_DISTRO_FEATURES += "systemd"
> >
> >  SRC_URI += " \
> >             file://touchscreen.rules \
>
> FWIW I tried multiple runs of this through the autobuilder and tracked
> down all the places this needed fixing so the test work. Once those
> fixes merged, I was able to merge this.

Very nice, thank you!

Kind regards,
Luca Boccassi


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH] systemd: add usrmerge to REQUIRED_DISTRO_FEATURES
@ 2022-07-11 20:29 luca.boccassi
  0 siblings, 0 replies; 11+ messages in thread
From: luca.boccassi @ 2022-07-11 20:29 UTC (permalink / raw)
  To: openembedded-core

From: Luca Boccassi <luca.boccassi@microsoft.com>

Support for unmerged-usr is deprecated upstream, taints the system and will be
removed in the near future.
Enforce building merged-usr images when using systemd.

Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
---
We intend to deprecate unmerged-usr at some point, and we are doing the
rounds ensuring distros are moving along so that there are no surprises
when the time comes.

See:
https://lists.freedesktop.org/archives/systemd-devel/2022-April/047673.html

 meta/recipes-core/systemd/systemd.inc | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc
index b8dbe2263a..f9e109bba4 100644
--- a/meta/recipes-core/systemd/systemd.inc
+++ b/meta/recipes-core/systemd/systemd.inc
@@ -21,3 +21,8 @@ SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${S
 "
 
 S = "${WORKDIR}/git"
+
+# unmerged-usr support is deprecated upstream, taints the system and will be
+# removed in the near future. Fail the build if it is not enabled.
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "usrmerge"
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2023-08-11 12:57 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-05 11:06 [PATCH] systemd: add usrmerge to REQUIRED_DISTRO_FEATURES luca.boccassi
2023-08-05 12:57 ` [OE-core] " Otavio Salvador
2023-08-05 13:09 ` Richard Purdie
2023-08-05 21:36   ` Luca Boccassi
2023-08-05 21:35 ` [PATCH v2] " luca.boccassi
2023-08-10 11:50   ` [OE-core] " Alexandre Belloni
2023-08-10 12:13     ` Ross Burton
2023-08-10 12:54       ` Richard Purdie
2023-08-11 12:24   ` Richard Purdie
2023-08-11 12:56     ` Luca Boccassi
  -- strict thread matches above, loose matches on Subject: below --
2022-07-11 20:29 [PATCH] " luca.boccassi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.