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 ________________________________ From: Alexander Kanavin <[email protected]> Sent: Wednesday, February 12, 2025 11:16 To: Oleksiy Obitotskyy -X (oobitots - GLOBALLOGIC INC at Cisco) <[email protected]> Cc: Peter Kjellerstedt <[email protected]>; Ross Burton <[email protected]>; [email protected] <[email protected]>; Ruslan Bilovol (rbilovol) <[email protected]> Subject: Re: [OE-core] [PATCH] systemd: move systemctl utility to separate subpackage 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) <[email protected]> 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 <[email protected]> > Sent: Tuesday, February 11, 2025 19:31 > To: Oleksiy Obitotskyy -X (oobitots - GLOBALLOGIC INC at Cisco) > <[email protected]> > Cc: Peter Kjellerstedt <[email protected]>; Ross Burton > <[email protected]>; [email protected] > <[email protected]>; Ruslan Bilovol (rbilovol) > <[email protected]> > 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) <[email protected]> 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 <[email protected]> > Sent: Monday, February 10, 2025 22:05 > To: [email protected] <[email protected]>; Oleksiy Obitotskyy -X > (oobitots - GLOBALLOGIC INC at Cisco) <[email protected]> > Cc: Ross Burton <[email protected]>; > [email protected] > <[email protected]>; Ruslan Bilovol (rbilovol) > <[email protected]> > 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: [email protected] <openembedded- > > [email protected]> On Behalf Of Alexander Kanavin via > > lists.openembedded.org > > Sent: den 10 februari 2025 18:20 > > To: [email protected] > > Cc: Ross Burton <[email protected]>; openembedded- > > [email protected]; Ruslan Bilovol (rbilovol) > > <[email protected]> > > 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 <[email protected]> > > 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 <[email protected]> > > > Sent: Monday, February 10, 2025 13:03 > > > To: Oleksiy Obitotskyy -X (oobitots - GLOBALLOGIC INC at Cisco) > > <[email protected]> > > > Cc: Ross Burton <[email protected]>; openembedded- > > [email protected] <[email protected]>; > > Ruslan Bilovol (rbilovol) <[email protected]> > > > 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 <[email protected]> > > > 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 (#211242): https://lists.openembedded.org/g/openembedded-core/message/211242 Mute This Topic: https://lists.openembedded.org/mt/111032725/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
