Commit Graph

4 Commits

Author SHA1 Message Date
Bruce Ashfield
d876cfc5bf global: overrides syntax conversion
OEcore/bitbake are moving to use the clearer ":" as an overrides
separator.

This is pass one of updating the meta-virt recipes to use that
syntax.

This has only been minimally build/runtime tested, more changes
will be required for missed overrides, or incorrect conversions

Note: A recent bitbake is required:

    commit 75fad23fc06c008a03414a1fc288a8614c6af9ca
    Author: Richard Purdie <richard.purdie@linuxfoundation.org>
    Date:   Sun Jul 18 12:59:15 2021 +0100

        bitbake: data_smart/parse: Allow ':' characters in variable/function names

        It is becomming increasingly clear we need to find a way to show what
        is/is not an override in our syntax. We need to do this in a way which
        is clear to users, readable and in a way we can transition to.

        The most effective way I've found to this is to use the ":" charater
        to directly replace "_" where an override is being specified. This
        includes "append", "prepend" and "remove" which are effectively special
        override directives.

        This patch simply adds the character to the parser so bitbake accepts
        the value but maps it back to "_" internally so there is no behaviour
        change.

        This change is simple enough it could potentially be backported to older
        version of bitbake meaning layers using the new syntax/markup could
        work with older releases. Even if other no other changes are accepted
        at this time and we don't backport, it does set us on a path where at
        some point in future we could
        require a more explict syntax.

        I've tested this patch by converting oe-core/meta-yocto to the new
        syntax for overrides (9000+ changes) and then seeing that builds
        continue to work with this patch.

        (Bitbake rev: 0dbbb4547cb2570d2ce607e9a53459df3c0ac284)

        Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-08-02 17:17:53 -04:00
Bruce Ashfield
afef7f0635 container-base: make CONTAINER_SHELL a conditional image install
In some scenarios (and package managers), packages post install
scripts may have references to /bin/sh.

The package manager doesn't know if the scripts will run on the
build host or target, so we get a calculated redepnds on /bin/sh

base-files and base-passwd fall into this category of having
post installs, but no need for /bin/sh on the target.

If you know what you are installing, and want the smallest
container possible, this package will satisfy the dependency when
assembling the rootfs.

To enable it, put the following in a configuration file (local.conf
or otherwise):

    PACKAGE_EXTRA_ARCHS_append = " container-dummy-provides"

This image will detect if the dummy provides arch is set, and will
automatically install the providing recipe, otherwise, busybox is
installed.

If you have a custom shell or want a different behaviour, the
CONTAINER_SHELL variable can be overriden.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-11-05 14:39:32 -05:00
Jason Wessel
261cdbefcb container-base: Allow building with a specific kernel binding
The oe-core layer sets a variable which intends that linux-dummy is
set for container building.  This commit would allow you to have a
specific kernel and board setup as well as generate multiple
containers by turrning off the linux-dummy check found in:

   oe-core/meta/classes/image-container.bbclass

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-04-07 23:09:58 -04:00
Bruce Ashfield
832a0f1e10 containers: introduce sample/reference container-base image type
container-base is a sample/reference image type that uses the
newly integrated image-oci image type to directly create OCI
compatible images from a build.

This image type can be inherited and extended to implement more
complex container types, with modified image configurations.

It is inspired by / based off the samples in the presentation
done by Scott Murray (Building Container Images with
OpenEmbedded and the Yocto Project) at ELCe 2018.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-02-27 11:46:34 -05:00