[OE-core] [PATCH 3/4] systemd: split modules into packages

Bottazzini, Bruno bruno.bottazzini at intel.com
Fri Mar 27 17:09:06 UTC 2015


On Sex, 2015-03-27 at 15:57 +0100, Anders Darander wrote:
> * Bottazzini, Bruno <bruno.bottazzini at intel.com> [150326 14:40]:
> 
> > On Qui, 2015-03-26 at 08:56 -0300, Otavio Salvador wrote:
> > > On Thu, Mar 26, 2015 at 5:29 AM, Anders Darander <anders at chargestorm.se> wrote:
> > > > * Bruno Bottazzini <bruno.bottazzini at intel.com> [150325 22:50]:
> 
> > > >> if one wants to launch a simple deamon, most modules are not
> > > >> required.
> > > >> He will be able to save space and exclude unwanted packages
> > > >> from the final image.
> 
> > > > I like this, though I've got a few questions that I just noticed.
> 
> > > >> -PACKAGECONFIG ??= "xz ldconfig \
> > > >> +PACKAGECONFIG ??= " \
> > > >> +                   gcrypt \
> > > >> +                   kmod \
> > > >> +                   ldconfig \
> > > >> +                   ${@bb.utils.contains('DISTRO_FEATURES', 'blkid', 'blkid', '', d)} \
> > > >> +                   ${@bb.utils.contains('DISTRO_FEATURES', 'efi', 'efi', '', d)} \
> > > >> +                   ${@bb.utils.contains('DISTRO_FEATURES', 'lz4', 'lz4', '', d)} \
> > > >> +                   ${@bb.utils.contains('DISTRO_FEATURES', 'xz', 'xz', '', d)} \
> > > >> +                   ${@bb.utils.contains('DISTRO_FEATURES', 'libidn', 'libidn', '', d)} \
> > > >> +                   ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)} \
> > > >>                     ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
> > > >>                     ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)}"
> 
> > > > It might be worth noting that xz has gone from being explicitly enabled,
> > > > to depend on a DISTRO_FEATURES.
> 
> > > Agreed and we shouldn't explode the number of possible dsitro
> > > features. I'd also prefer if xz were kept enable by default so we
> > > don't make a behavior change under the hood.
> 
> > > ...
> > > >>  PACKAGECONFIG[resolved] = "--enable-resolved,--disable-resolved"
> > > >> -PACKAGECONFIG[networkd] = "--enable-networkd,--disable-networkd"
> 
> > > > Why do you remove networkd as a PACKAGECONFIG?
> 
> > > If there is a real reason for this, it must be recorded in commit log as well.
> 
> > Guys, if you continue this patch you will see that networkd will always
> > be enabled. Systemd will always configure/make it however, the package
> > will not be installed if the user wants to.
> 
> > With PACKAGECONFIG, we may not get everything "for free" as some data
> > files will be installed regardless as well as some components from
> > systemd cannot be disabled by their build system but we can run without
> > them, for instance we can run without journald.
> 
> The advantage of also keeping the PACKAGECONFIG for e.g. networkd (and
> as much other things as possible) is that we're also reducing the build
> time and size. Sure, it might not be by much, but all small bits are
> valuable.
> 

You are right! Maybe we should mix them ? 

e.g. if PACKAGECONFIG networkd is disabled then the package
systemd-services-networkd will not be included.

What do you think?

> > The problem is understanding that although systemd is a single
> > repository it contains multiple services and daemons in it that can run
> > even without the core PID1, udev or the many helpers used to configure
> > the system such as resolved, 
> > timedated, localed... 
> 
> Yes, and as systemd have configure options for quite a lot of those
> things, we should make use of those options, as long as possible.
> 
> > All of these components are runtime independent, we can install or
> > remove them and they should not create problems.
> 
> 
> That's right, but still, if we even can avoid to build them, it's
> better...
> 
> Cheers,
> Anders
> 





More information about the Openembedded-core mailing list