[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