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

Anders Darander anders at chargestorm.se
Thu Mar 26 08:29:23 UTC 2015


* 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.

>  # Sign the journal for anti-tampering
>  PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt"
>  # regardless of PACKAGECONFIG, libgcrypt is always required to expand
>  # the AM_PATH_LIBGCRYPT autoconf macro
> -DEPENDS += "libgcrypt"

Just to double-check, as this been fixed upstream or patched locally?
If you're removing that explicit DEPENDS, the comment above should also
be removed.

>  PACKAGECONFIG[resolved] = "--enable-resolved,--disable-resolved"
> -PACKAGECONFIG[networkd] = "--enable-networkd,--disable-networkd"

Why do you remove networkd as a PACKAGECONFIG?

>  PACKAGECONFIG[libidn] = "--enable-libidn,--disable-libidn,libidn"
>  PACKAGECONFIG[audit] = "--enable-audit,--disable-audit,audit"
>  PACKAGECONFIG[manpages] = "--enable-manpages,--disable-manpages,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
> @@ -101,17 +123,36 @@ rootprefix ?= "${base_prefix}"
>  rootlibdir ?= "${base_libdir}"
>  rootlibexecdir = "${rootprefix}/lib"

> -# The gtk+ tools should get built as a separate recipe e.g. systemd-tools
>  EXTRA_OECONF = " --with-rootprefix=${rootprefix} \
>                   --with-rootlibdir=${rootlibdir} \
>                   --with-roothomedir=${ROOT_HOME} \
> -                 --disable-coredump \
> +                 --enable-coredump \
> +                 --disable-introspection \
> +                 --disable-kdbus \
> +                 --disable-manpages \
>                   --disable-introspection \
>                   --disable-kdbus \
>                   --enable-split-usr \
>                   --without-python \
>                   --with-sysvrcnd-path=${sysconfdir} \
>                   --with-firmware-path=/lib/firmware \
> +                 --enable-libcurl \
> +                 --enable-ldconfig \
> +                 --enable-backlight \
> +                 --enable-binfmt \
> +                 --enable-bootchart \
> +                 --enable-firstboot \
> +                 --enable-hostnamed \
> +                 --enable-localed \
> +                 --enable-logind \
> +                 --enable-machined \
> +                 --enable-networkd \

Why is networkd always enabled?

> +                 --enable-quotacheck \
> +                 --enable-randomseed \
> +                 --enable-resolved \

Why are you enabling resolved here? We have a PACKAGECONFIG taking care
of enabling/disabling this.

> +                 --enable-rfkill \
> +                 --enable-sysusers \
> +                 --enable-vconsole \
>                 "

Regarding EXTA_OECONF in general, it seems that we're enabling lots of
stuff that we have PACKAGECONFIG's for.

There's also a number of other things here that probably should be
PACKAGECONFIG's.

>

I'll try to take a closer look at the actual splitting if I can get some
time for that.

Cheers,
Anders

-- 
Anders Darander
ChargeStorm AB / eStorm AB



More information about the Openembedded-core mailing list