Message ID | 20250206144907.1924993-1-oobitots@cisco.com |
---|---|
State | New |
Headers | show |
Series | systemd: move systemctl utility to separate subpackage | expand |
On 6 Feb 2025, at 14:49, Oleksiy Obitotskyy via lists.openembedded.org <oobitots=cisco.com@lists.openembedded.org> wrote: > Move systemctl into separate subpackage to minimize > dependencies from core systemd package. In what situation would you have systemd or systemctl without the other? Cheers, Ross
Hi, We have next situation: - a lot of software components that depend on packages and deploy all packages they depend on locally inside component. - some components directly depend on systemctl only (e.g. this binary used in scripts), so for every component we have to deploy whole systemd locally. - finally, all/some of those components will be merged in some way and will use systemd/libsystemd, but until then it will be nice to get rid of such duplication. Regards, Oleksiy
On Mon, 10 Feb 2025 at 13:01, Oleksiy Obitotskyy via lists.openembedded.org <oobitots=cisco.com@lists.openembedded.org> wrote: > We have next situation: > - a lot of software components that depend on packages and deploy all packages they depend on locally inside component. > - some components directly depend on systemctl only (e.g. this binary used in scripts), so for every component we have to deploy whole systemd locally. > - finally, all/some of those components will be merged in some way and will use systemd/libsystemd, but until then it will be nice to get rid of such duplication. I'm sorry, but this does not quite make sense. You need to more specifically describe what 'deploying whole systemd' means, and why is that problematic. Alex
Hi Alexander, By 'deploying whole systemd' I mean next: * Every component copy and installs packages with libraries, utilities and config files in component local sysroot, i.e. directory used to create final component image: * libsystemd0_255.4 * libsystemd-shared_255.4 * systemd_255.4 So, on disk we have duplication of files for every component that depend on the systemctl. In case of separate subpackage we have one root component depend on the systemd and all other components will contain only systemd-systemctl package content. Of course, I understand it's quite a specific scenario. Regards, Oleksiy
They're not actually copied. They're hard-linked from sysroots-components/. This is a cheap operation and it doesn't waste disk space. Alex On Mon, 10 Feb 2025 at 18:05, Oleksiy Obitotskyy via lists.openembedded.org <oobitots=cisco.com@lists.openembedded.org> wrote: > > Hi Alexander, > > By 'deploying whole systemd' I mean next: > > Every component copy and installs packages with libraries, utilities and config files in component local sysroot, i.e. directory used to create final component image: > > libsystemd0_255.4 > libsystemd-shared_255.4 > systemd_255.4 > > So, on disk we have duplication of files for every component that depend on the systemctl. > In case of separate subpackage we have one root component depend on the systemd and all other components will contain only systemd-systemctl package content. > > Of course, I understand it's quite a specific scenario. > > Regards, > Oleksiy > > ________________________________ > From: Alexander Kanavin <alex.kanavin@gmail.com> > Sent: Monday, February 10, 2025 13:03 > To: Oleksiy Obitotskyy -X (oobitots - GLOBALLOGIC INC at Cisco) <oobitots@cisco.com> > Cc: Ross Burton <Ross.Burton@arm.com>; openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>; Ruslan Bilovol (rbilovol) <rbilovol@cisco.com> > Subject: Re: [OE-core] [PATCH] systemd: move systemctl utility to separate subpackage > > On Mon, 10 Feb 2025 at 13:01, Oleksiy Obitotskyy via > lists.openembedded.org <oobitots=cisco.com@lists.openembedded.org> > wrote: > > We have next situation: > > - a lot of software components that depend on packages and deploy all packages they depend on locally inside component. > > - some components directly depend on systemctl only (e.g. this binary used in scripts), so for every component we have to deploy whole systemd locally. > > - finally, all/some of those components will be merged in some way and will use systemd/libsystemd, but until then it will be nice to get rid of such duplication. > > I'm sorry, but this does not quite make sense. You need to more > specifically describe what 'deploying whole systemd' means, and why is > that problematic. > > Alex > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#211106): https://lists.openembedded.org/g/openembedded-core/message/211106 > Mute This Topic: https://lists.openembedded.org/mt/111032725/1686489 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Additionally, changing the packaging does not affect what is added to the sysroot. //Peter > -----Original Message----- > From: openembedded-core@lists.openembedded.org <openembedded- > core@lists.openembedded.org> On Behalf Of Alexander Kanavin via > lists.openembedded.org > Sent: den 10 februari 2025 18:20 > To: oobitots@cisco.com > Cc: Ross Burton <Ross.Burton@arm.com>; openembedded- > core@lists.openembedded.org; Ruslan Bilovol (rbilovol) > <rbilovol@cisco.com> > Subject: Re: [OE-core] [PATCH] systemd: move systemctl utility to separate > subpackage > > They're not actually copied. They're hard-linked from > sysroots-components/. This is a cheap operation and it doesn't waste > disk space. > > Alex > > On Mon, 10 Feb 2025 at 18:05, Oleksiy Obitotskyy via > lists.openembedded.org <oobitots=cisco.com@lists.openembedded.org> > wrote: > > > > Hi Alexander, > > > > By 'deploying whole systemd' I mean next: > > > > Every component copy and installs packages with libraries, utilities and > config files in component local sysroot, i.e. directory used to create > final component image: > > > > libsystemd0_255.4 > > libsystemd-shared_255.4 > > systemd_255.4 > > > > So, on disk we have duplication of files for every component that depend > on the systemctl. > > In case of separate subpackage we have one root component depend on the > systemd and all other components will contain only systemd-systemctl > package content. > > > > Of course, I understand it's quite a specific scenario. > > > > Regards, > > Oleksiy > > > > ________________________________ > > From: Alexander Kanavin <alex.kanavin@gmail.com> > > Sent: Monday, February 10, 2025 13:03 > > To: Oleksiy Obitotskyy -X (oobitots - GLOBALLOGIC INC at Cisco) > <oobitots@cisco.com> > > Cc: Ross Burton <Ross.Burton@arm.com>; openembedded- > core@lists.openembedded.org <openembedded-core@lists.openembedded.org>; > Ruslan Bilovol (rbilovol) <rbilovol@cisco.com> > > Subject: Re: [OE-core] [PATCH] systemd: move systemctl utility to > separate subpackage > > > > On Mon, 10 Feb 2025 at 13:01, Oleksiy Obitotskyy via > > lists.openembedded.org <oobitots=cisco.com@lists.openembedded.org> > > wrote: > > > We have next situation: > > > - a lot of software components that depend on packages and deploy all > packages they depend on locally inside component. > > > - some components directly depend on systemctl only (e.g. this binary > used in scripts), so for every component we have to deploy whole systemd > locally. > > > - finally, all/some of those components will be merged in some way and > will use systemd/libsystemd, but until then it will be nice to get rid of > such duplication. > > > > I'm sorry, but this does not quite make sense. You need to more > > specifically describe what 'deploying whole systemd' means, and why is > > that problematic. > > > > Alex > > > > > >
I'm sorry, I confused you mentioned term sysroot. It's not about yocto - we just use the same term because it's very similar to how it works into yocto. We got packages as a result of yocto build and use these artefacts (packages) on next stage to populate software components content. For some reason we can't use the same approach with hardlink to deduplicate components content. Regards, Oleksiy
This still doesn’t make sense. Any target file is contained in one and only one package. Where is the duplication? Alex On Tue 11. Feb 2025 at 19.04, Oleksiy Obitotskyy -X (oobitots - GLOBALLOGIC INC at Cisco) <oobitots@cisco.com> wrote: > I'm sorry, I confused you mentioned term sysroot. It's not about yocto - > we just use the same term because it's very similar > to how it works into yocto. > We got packages as a result of yocto build and use these artefacts > (packages) on next stage to populate > software components content. For some reason we can't use the same > approach with hardlink to deduplicate > components content. > > Regards, > Oleksiy > > ------------------------------ > *From:* Peter Kjellerstedt <peter.kjellerstedt@axis.com> > *Sent:* Monday, February 10, 2025 22:05 > *To:* alex.kanavin@gmail.com <alex.kanavin@gmail.com>; Oleksiy Obitotskyy > -X (oobitots - GLOBALLOGIC INC at Cisco) <oobitots@cisco.com> > *Cc:* Ross Burton <Ross.Burton@arm.com>; > openembedded-core@lists.openembedded.org < > openembedded-core@lists.openembedded.org>; Ruslan Bilovol (rbilovol) < > rbilovol@cisco.com> > *Subject:* RE: [OE-core] [PATCH] systemd: move systemctl utility to > separate subpackage > > Additionally, changing the packaging does not affect what is added to > the sysroot. > > //Peter > > > -----Original Message----- > > From: openembedded-core@lists.openembedded.org <openembedded- > > core@lists.openembedded.org> On Behalf Of Alexander Kanavin via > > lists.openembedded.org > > Sent: den 10 februari 2025 18:20 > > To: oobitots@cisco.com > > Cc: Ross Burton <Ross.Burton@arm.com>; openembedded- > > core@lists.openembedded.org; Ruslan Bilovol (rbilovol) > > <rbilovol@cisco.com> > > Subject: Re: [OE-core] [PATCH] systemd: move systemctl utility to > separate > > subpackage > > > > They're not actually copied. They're hard-linked from > > sysroots-components/. This is a cheap operation and it doesn't waste > > disk space. > > > > Alex > > > > On Mon, 10 Feb 2025 at 18:05, Oleksiy Obitotskyy via > > lists.openembedded.org <oobitots=cisco.com@lists.openembedded.org> > > wrote: > > > > > > Hi Alexander, > > > > > > By 'deploying whole systemd' I mean next: > > > > > > Every component copy and installs packages with libraries, utilities > and > > config files in component local sysroot, i.e. directory used to create > > final component image: > > > > > > libsystemd0_255.4 > > > libsystemd-shared_255.4 > > > systemd_255.4 > > > > > > So, on disk we have duplication of files for every component that > depend > > on the systemctl. > > > In case of separate subpackage we have one root component depend on the > > systemd and all other components will contain only systemd-systemctl > > package content. > > > > > > Of course, I understand it's quite a specific scenario. > > > > > > Regards, > > > Oleksiy > > > > > > ________________________________ > > > From: Alexander Kanavin <alex.kanavin@gmail.com> > > > Sent: Monday, February 10, 2025 13:03 > > > To: Oleksiy Obitotskyy -X (oobitots - GLOBALLOGIC INC at Cisco) > > <oobitots@cisco.com> > > > Cc: Ross Burton <Ross.Burton@arm.com>; openembedded- > > core@lists.openembedded.org <openembedded-core@lists.openembedded.org>; > > Ruslan Bilovol (rbilovol) <rbilovol@cisco.com> > > > Subject: Re: [OE-core] [PATCH] systemd: move systemctl utility to > > separate subpackage > > > > > > On Mon, 10 Feb 2025 at 13:01, Oleksiy Obitotskyy via > > > lists.openembedded.org <oobitots=cisco.com@lists.openembedded.org> > > > wrote: > > > > We have next situation: > > > > - a lot of software components that depend on packages and deploy all > > packages they depend on locally inside component. > > > > - some components directly depend on systemctl only (e.g. this binary > > used in scripts), so for every component we have to deploy whole systemd > > locally. > > > > - finally, all/some of those components will be merged in some way > and > > will use systemd/libsystemd, but until then it will be nice to get rid of > > such duplication. > > > > > > I'm sorry, but this does not quite make sense. You need to more > > > specifically describe what 'deploying whole systemd' means, and why is > > > that problematic. > > > > > > Alex > > > > > > > > > >
Component deliver something and it's content consist of: * binaries/libraries/scripts, etc. that delivered by this component (service) itself * binaries/libraries, etc. on which component depends on Technically content is per component subdirectory. Every component has its own isolated content. If we have N components each require only systemd-systemctl it mean every component will store (on disk) whole systemd/libsystemd package files instead of systemctl binary. Regards, Oleksiy
But systemctl does depend on libsystemd-shared, so a copy of that will still be in every component. And libsystemd-shared itself pulls in a lot of stuff, and those libraries no doubt depend on further libraries: linux-vdso.so.1 (0x00007ffe9e9d0000) libacl.so.1 => /lib/x86_64-linux-gnu/libacl.so.1 (0x00007fbc40540000) libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007fbc404e9000) libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x00007fbc404dd000) libcrypt.so.2 => not found libmount.so.1 => /lib/x86_64-linux-gnu/libmount.so.1 (0x00007fbc4047a000) libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0 (0x00007fbc40466000) libseccomp.so.2 => /lib/x86_64-linux-gnu/libseccomp.so.2 (0x00007fbc40446000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fbc3ff21000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbc3fd40000) /lib64/ld-linux-x86-64.so.2 (0x00007fbc40557000) libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fbc40418000) libaudit.so.1 => /lib/x86_64-linux-gnu/libaudit.so.1 (0x00007fbc403e5000) libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007fbc3fca6000) libcap-ng.so.0 => /lib/x86_64-linux-gnu/libcap-ng.so.0 (0x00007fbc403dd000) Put it another way, what is the difference in a 'component' before and after this change, in size and amount of files? I'm just struggling to justify this; it looks like a very niche need, driven by a custom, proprietary mechanism to install additional software into products. The change won't be useful to anyone else, while complicating systemd packaging further. Alex On Wed, 12 Feb 2025 at 08:56, Oleksiy Obitotskyy -X (oobitots - GLOBALLOGIC INC at Cisco) <oobitots@cisco.com> wrote: > > Component deliver something and it's content consist of: > > binaries/libraries/scripts, etc. that delivered by this component (service) itself > binaries/libraries, etc. on which component depends on > > Technically content is per component subdirectory. Every component has its own isolated content. > > If we have N components each require only systemd-systemctl it mean every component will store (on disk) whole systemd/libsystemd package files instead of systemctl binary. > > Regards, > Oleksiy > > ________________________________ > From: Alexander Kanavin <alex.kanavin@gmail.com> > Sent: Tuesday, February 11, 2025 19:31 > To: Oleksiy Obitotskyy -X (oobitots - GLOBALLOGIC INC at Cisco) <oobitots@cisco.com> > Cc: Peter Kjellerstedt <peter.kjellerstedt@axis.com>; Ross Burton <Ross.Burton@arm.com>; openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>; Ruslan Bilovol (rbilovol) <rbilovol@cisco.com> > Subject: Re: [OE-core] [PATCH] systemd: move systemctl utility to separate subpackage > > This still doesn’t make sense. Any target file is contained in one and only one package. Where is the duplication? > > Alex > > On Tue 11. Feb 2025 at 19.04, Oleksiy Obitotskyy -X (oobitots - GLOBALLOGIC INC at Cisco) <oobitots@cisco.com> wrote: > > I'm sorry, I confused you mentioned term sysroot. It's not about yocto - we just use the same term because it's very similar > to how it works into yocto. > We got packages as a result of yocto build and use these artefacts (packages) on next stage to populate > software components content. For some reason we can't use the same approach with hardlink to deduplicate > components content. > > Regards, > Oleksiy > > ________________________________ > From: Peter Kjellerstedt <peter.kjellerstedt@axis.com> > Sent: Monday, February 10, 2025 22:05 > To: alex.kanavin@gmail.com <alex.kanavin@gmail.com>; Oleksiy Obitotskyy -X (oobitots - GLOBALLOGIC INC at Cisco) <oobitots@cisco.com> > Cc: Ross Burton <Ross.Burton@arm.com>; openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>; Ruslan Bilovol (rbilovol) <rbilovol@cisco.com> > Subject: RE: [OE-core] [PATCH] systemd: move systemctl utility to separate subpackage > > Additionally, changing the packaging does not affect what is added to > the sysroot. > > //Peter > > > -----Original Message----- > > From: openembedded-core@lists.openembedded.org <openembedded- > > core@lists.openembedded.org> On Behalf Of Alexander Kanavin via > > lists.openembedded.org > > Sent: den 10 februari 2025 18:20 > > To: oobitots@cisco.com > > Cc: Ross Burton <Ross.Burton@arm.com>; openembedded- > > core@lists.openembedded.org; Ruslan Bilovol (rbilovol) > > <rbilovol@cisco.com> > > Subject: Re: [OE-core] [PATCH] systemd: move systemctl utility to separate > > subpackage > > > > They're not actually copied. They're hard-linked from > > sysroots-components/. This is a cheap operation and it doesn't waste > > disk space. > > > > Alex > > > > On Mon, 10 Feb 2025 at 18:05, Oleksiy Obitotskyy via > > lists.openembedded.org <oobitots=cisco.com@lists.openembedded.org> > > wrote: > > > > > > Hi Alexander, > > > > > > By 'deploying whole systemd' I mean next: > > > > > > Every component copy and installs packages with libraries, utilities and > > config files in component local sysroot, i.e. directory used to create > > final component image: > > > > > > libsystemd0_255.4 > > > libsystemd-shared_255.4 > > > systemd_255.4 > > > > > > So, on disk we have duplication of files for every component that depend > > on the systemctl. > > > In case of separate subpackage we have one root component depend on the > > systemd and all other components will contain only systemd-systemctl > > package content. > > > > > > Of course, I understand it's quite a specific scenario. > > > > > > Regards, > > > Oleksiy > > > > > > ________________________________ > > > From: Alexander Kanavin <alex.kanavin@gmail.com> > > > Sent: Monday, February 10, 2025 13:03 > > > To: Oleksiy Obitotskyy -X (oobitots - GLOBALLOGIC INC at Cisco) > > <oobitots@cisco.com> > > > Cc: Ross Burton <Ross.Burton@arm.com>; openembedded- > > core@lists.openembedded.org <openembedded-core@lists.openembedded.org>; > > Ruslan Bilovol (rbilovol) <rbilovol@cisco.com> > > > Subject: Re: [OE-core] [PATCH] systemd: move systemctl utility to > > separate subpackage > > > > > > On Mon, 10 Feb 2025 at 13:01, Oleksiy Obitotskyy via > > > lists.openembedded.org <oobitots=cisco.com@lists.openembedded.org> > > > wrote: > > > > We have next situation: > > > > - a lot of software components that depend on packages and deploy all > > packages they depend on locally inside component. > > > > - some components directly depend on systemctl only (e.g. this binary > > used in scripts), so for every component we have to deploy whole systemd > > locally. > > > > - finally, all/some of those components will be merged in some way and > > will use systemd/libsystemd, but until then it will be nice to get rid of > > such duplication. > > > > > > I'm sorry, but this does not quite make sense. You need to more > > > specifically describe what 'deploying whole systemd' means, and why is > > > that problematic. > > > > > > Alex > > > > > > > > >
In practice getting rid of systemd and leaving only systemctl binary gives me approx. 20Mb disk space 3.0M libsystemd-shared 960K libsystemd 9.4M systemd 424K libnss-systemd ~5 Mb could be extra dependency libraries removed after systemd removal. Regarding runtime dependencies - components will be merged on target and all dependencies will be resolved. All necessary libraries will be taken from one "base" component that will deliver whatever we need, like glibc, systemd, etc. We have only one "base" component (or more - it depends how many different libraries/versions we need to support). Regards, Oleksiy
On Wed, 12 Feb 2025 at 15:22, Oleksiy Obitotskyy -X (oobitots - GLOBALLOGIC INC at Cisco) <oobitots@cisco.com> wrote: > In practice getting rid of systemd and leaving only systemctl binary gives me approx. 20Mb disk space > > 3.0M libsystemd-shared > 960K libsystemd > 9.4M systemd > 424K libnss-systemd > > ~5 Mb could be extra dependency libraries removed after systemd removal. libsystemd-shared shouldn't be there, as it is required by systemctl. So the savings are less. Is it trying to save space on target device, or trying to save space on the build host? You really do need to describe your process in more detail. There's also a standard mechanism for adding software to targets (or making the initial target rootfilesystems): packages and package manager. You need to explain why that is not being used. > Regarding runtime dependencies - components will be merged on target and all dependencies will be resolved. All necessary libraries will be taken from one "base" component that will deliver whatever we need, like glibc, systemd, etc. We have only one "base" component (or more - it depends how many different libraries/versions we need to support). > I guess what I'm trying to object is splitting things into smaller packages when the full set must be installed anyway. Accepting this would open the door for further such tweaks, which just make things more complex, without actual benefit for standard, commonly accepted ways to handle target installation. Alex
> Is it trying to save space on target device, or trying to save space > on the build host? You really do need to describe your process in more > detail. It's attempt to save space on build host. > I guess what I'm trying to object is splitting things into smaller > packages when the full set must be installed anyway. Accepting this > would open the door for further such tweaks, which just make things > more complex, without actual benefit for standard, commonly accepted > ways to handle target installation. I agree with this. Regards, Oleksiy
On Thu, 13 Feb 2025 at 08:00, Oleksiy Obitotskyy -X (oobitots - GLOBALLOGIC INC at Cisco) <oobitots@cisco.com> wrote: > > > Is it trying to save space on target device, or trying to save space > > on the build host? You really do need to describe your process in more > > detail. > > It's attempt to save space on build host. I wonder if you can special-case this in your scripts, e.g. remove the bulk of systemd, except systemctl and libsystemd-shared, after the 'sysroot' has been made? Alex
diff --git a/meta/recipes-core/systemd/systemd_257.1.bb b/meta/recipes-core/systemd/systemd_257.1.bb index cdf72a5015..2d4d3e0a7f 100644 --- a/meta/recipes-core/systemd/systemd_257.1.bb +++ b/meta/recipes-core/systemd/systemd_257.1.bb @@ -429,6 +429,7 @@ PACKAGE_BEFORE_PN = "\ ${PN}-mime \ ${PN}-networkd \ ${PN}-rpm-macros \ + ${PN}-systemctl \ ${PN}-udev-rules \ ${PN}-vconsole-setup \ ${PN}-zsh-completion \ @@ -678,13 +679,8 @@ CONFFILES:${PN} = "${sysconfdir}/systemd/coredump.conf \ " FILES:${PN} = " ${base_bindir}/* \ - ${base_sbindir}/shutdown \ - ${base_sbindir}/halt \ - ${base_sbindir}/poweroff \ - ${base_sbindir}/runlevel \ ${base_sbindir}/telinit \ ${base_sbindir}/resolvconf \ - ${base_sbindir}/reboot \ ${base_sbindir}/init \ ${datadir}/dbus-1/services \ ${datadir}/dbus-1/system-services \ @@ -749,9 +745,19 @@ FILES:${PN} = " ${base_bindir}/* \ FILES:${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd" +FILES:${PN}-systemctl = " \ + ${bindir}/systemctl \ + ${base_sbindir}/shutdown \ + ${base_sbindir}/halt \ + ${base_sbindir}/poweroff \ + ${base_sbindir}/runlevel \ + ${base_sbindir}/reboot \ +" + RDEPENDS:${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) systemd-udev-rules util-linux-agetty util-linux-fsck util-linux-swaponoff" RDEPENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}" RDEPENDS:${PN} += "volatile-binds" +RDEPENDS:${PN} += "${PN}-systemctl" RRECOMMENDS:${PN} += "${PN}-extra-utils \ udev-hwdb \ @@ -867,14 +873,15 @@ python do_warn_musl() { } addtask warn_musl before do_configure -ALTERNATIVE:${PN} = "halt reboot shutdown poweroff \ - ${@bb.utils.contains('PACKAGECONFIG', 'sysvinit', 'runlevel', '', d)} \ +ALTERNATIVE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'sysvinit', 'runlevel', '', d)} \ ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolv-conf', '', d)}" ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd" ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf" ALTERNATIVE_PRIORITY[resolv-conf] ?= "50" +ALTERNATIVE:${PN}-systemctl = "halt reboot shutdown poweroff runlevel" + ALTERNATIVE_TARGET[halt] = "${base_bindir}/systemctl" ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt" ALTERNATIVE_PRIORITY[halt] ?= "300"
Move systemctl into separate subpackage to minimize dependencies from core systemd package. Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com> --- meta/recipes-core/systemd/systemd_257.1.bb | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-)