On 01/02/18 08:38 AM, Burton, Ross wrote:
On 1 February 2018 at 12:55, Daniel F. Dickinson <csho...@thecshore.com <mailto:csho...@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.

I guess the question is would it be useful to have a flag that chooses
a 'typical' tinyness but can be overridden (I'm think here of avoiding having to specify huge numbers of PACKAGECONFIGs for a typical tiny case, when really you want most of the 'normal' tinyness with some tweaks. What I'm think is that "tiny" really should just change the defaults for PACKAGECONFIG etc, but like the defaults can be easily overridden.

--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to