[v2] systemd: move systemd shared library into its own package

Message ID 20220223161722.14256-1-stefan.herbrechtsmeier-oss@weidmueller.com
State Accepted, archived
Commit d1473149816674e3a3aa3f565e8b6390d2d0f1a6
Headers show
Series [v2] systemd: move systemd shared library into its own package | expand

Commit Message

Stefan Herbrechtsmeier Feb. 23, 2022, 4:17 p.m. UTC
From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>

Move the systemd shared library (libsystemd-shared.so) into its own
package to prevent a runtime dependency from udev package to systemd
package and thereby to a second init manager.

Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>

---

Changes in v2:
- Fix SUMMARY override

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

Comments

Richard Purdie Feb. 24, 2022, 9:06 p.m. UTC | #1
On Wed, 2022-02-23 at 17:17 +0100, Stefan Herbrechtsmeier wrote:
> From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
> 
> Move the systemd shared library (libsystemd-shared.so) into its own
> package to prevent a runtime dependency from udev package to systemd
> package and thereby to a second init manager.
> 
> Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
> 
> ---
> 
> Changes in v2:
> - Fix SUMMARY override

This did trigger a warning on the autobuilder tests:

https://autobuilder.yoctoproject.org/typhoon/#/builders/108/builds/2657/steps/11/logs/warnings

Cheers,

Richard
Stefan Herbrechtsmeier Feb. 25, 2022, 8:05 a.m. UTC | #2
Am 24.02.2022 um 22:06 schrieb Richard Purdie:
> On Wed, 2022-02-23 at 17:17 +0100, Stefan Herbrechtsmeier wrote:
>> From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
>>
>> Move the systemd shared library (libsystemd-shared.so) into its own
>> package to prevent a runtime dependency from udev package to systemd
>> package and thereby to a second init manager.
>>
>> Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
>>
>> ---
>>
>> Changes in v2:
>> - Fix SUMMARY override
> 
> This did trigger a warning on the autobuilder tests:
> 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/108/builds/2657/steps/11/logs/warnings

I will post a patch to add `INSANE_SKIP:libsystemd-shared += "libdir"` 
to the recipe.

At the moment I have a problem to reproduce the warning. I don't see it 
on qemux86-64 and have to retest with qemux86.

Regards
   Stefan
Richard Purdie Feb. 25, 2022, 12:11 p.m. UTC | #3
On Fri, 2022-02-25 at 09:05 +0100, Stefan Herbrechtsmeier wrote:
> Am 24.02.2022 um 22:06 schrieb Richard Purdie:
> > On Wed, 2022-02-23 at 17:17 +0100, Stefan Herbrechtsmeier wrote:
> > > From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
> > > 
> > > Move the systemd shared library (libsystemd-shared.so) into its own
> > > package to prevent a runtime dependency from udev package to systemd
> > > package and thereby to a second init manager.
> > > 
> > > Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
> > > 
> > > ---
> > > 
> > > Changes in v2:
> > > - Fix SUMMARY override
> > 
> > This did trigger a warning on the autobuilder tests:
> > 
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/108/builds/2657/steps/11/logs/warnings
> 
> I will post a patch to add `INSANE_SKIP:libsystemd-shared += "libdir"` 
> to the recipe.
> 
> At the moment I have a problem to reproduce the warning. I don't see it 
> on qemux86-64 and have to retest with qemux86.

DISTRO = "poky-altcfg"

should show it. It happens since it makes libdir /lib64 for x86_64 instead of
/lib and only then do you see this error.

It is also worth noting we already set that skip for other systemd packages.

Cheers,

Richard

Patch

diff --git a/meta/recipes-core/systemd/systemd_250.3.bb b/meta/recipes-core/systemd/systemd_250.3.bb
index 9121333f56..04785827a2 100644
--- a/meta/recipes-core/systemd/systemd_250.3.bb
+++ b/meta/recipes-core/systemd/systemd_250.3.bb
@@ -371,6 +371,7 @@  PACKAGE_BEFORE_PN = "\
     ${PN}-journal-remote \
     ${PN}-extra-utils \
     ${PN}-udev-rules \
+    libsystemd-shared \
     udev \
     udev-hwdb \
 "
@@ -387,6 +388,8 @@  DESCRIPTION:${PN}-journal-upload = "systemd-journal-upload uploads journal entri
 SUMMARY:${PN}-journal-remote = "Receive journal messages over the network"
 DESCRIPTION:${PN}-journal-remote = "systemd-journal-remote is a command to receive serialized journal events and store them to journal files."
 
+SUMMARY:libsystemd-shared = "Systemd shared library"
+
 SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfmt', '', d)} \
                     ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \
                     ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
@@ -654,6 +657,8 @@  INSANE_SKIP:${PN} += "dev-so libdir"
 INSANE_SKIP:${PN}-dbg += "libdir"
 INSANE_SKIP:${PN}-doc += " libdir"
 
+FILES:libsystemd-shared = "${rootlibexecdir}/systemd/libsystemd-shared*.so"
+
 RPROVIDES:udev = "hotplug"
 
 RDEPENDS:udev-hwdb += "udev"