[OE-core] Adding a "tiny" DISTRO_FEATURE and having packages build smaller

Burton, Ross ross.burton at intel.com
Thu Feb 1 13:38:20 UTC 2018


On 1 February 2018 at 12:55, Daniel F. Dickinson <cshored at thecshore.com>
wrote:

> I'm wondering if is doable and would be accepted to add a "tiny"
> DISTRO_FEATURE that automatically does PACKAGECONFIG += "tiny", and
> packages which honour this make choices that build smaller editions and/or
> create smaller binary sub-packages than default (i.e. things that can be
> split out of build packages are, so that a -core or -base package has only
> the minimum, and a one uses metapackages to install expected packaging (so
> ${PN} would by default RDEPEND on ${PN}-base and other sub-packages (or
> other recipes packages/sub-packages) that give the 'usual' use case for the
> package, but can be managed in parts for systems that are quite small.
>
> Or is the splitting into sub-parts preferred anyway and patches to make
> smaller splits would accepted relatively easily, but usually just don't get
> done because it's more work to have more sub-packages and so it just
> doesn't get done to the level a project like OpenWrt pieces things up, and
> OpenEmbedded usually has more space available than a typical OpenWrt device?
>
> I think PACKAGECONFIG[tiny] would really translate into different things
> in different packages (hence the idea of having a top-level flag that
> makes it easier to do across the board rather than having to specify
> specific flags for each recipe, except in exceptional circumstances),
> although something like nossl should perhaps be a separate top-level flag
> since even if you want small you probably want some kind of ssl, but there
> may be relevant use cases where nossl would be wanted but isn't just about
> size.  With -tiny one could perhaps emphasize the choice of smaller SSL
> libraries like mbedtls and wolfssl (cyassl) when they are an option and
> warn (or refuse to build) if a big library like openssl can't be avoided.
>

I feel that DISTRO_FEATURES=tiny is too coarse: you may want a tiny busybox
but a fully-featured wget, or whatever.

Also PACKAGECONFIG[tiny] doesn't really explain *what* it's doing, and may
end up doing many things at once.  Does a tiny systemd disable networkd?
What if you want as tiny as possible, but with networkd?

Fine grained PACKAGECONFIGs and/or subpackages as appropriate are
definitely the way forwards in my opinion.

Ross
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20180201/f527e5e4/attachment-0002.html>


More information about the Openembedded-core mailing list