Technically we don't add new packages to old branches, without a very
good reason.

Sure, this can't break anything that already exists in kirkstone, but
it is a new feature when you consider supported hosts, etc.

The changes to master look fine, but I need to consider this a bit longer.

Bruce

On Mon, Sep 5, 2022 at 7:31 AM Andrei Gherzan <[email protected]> wrote:
>
> From: "[email protected]" <[email protected]>
>
> buildah is a command line tool, to be installed and run on target,
> that can be used to:
>    - create a working container, either from scratch or using an image
>      as a starting point
>    - create an image, either from a working container or via the
>      instructions in a Dockerfile
>    - images can be built in either the OCI image format or the
>      traditional upstream docker image format
>    - mount a working container's root filesystem for manipulation
>    - unmount a working container's root filesystem
>    - use the updated contents of a container's root filesystem as a
>      filesystem layer to create a new image
>    - delete a working container or an image
>    - rename a local container
>
> Testing:
> Setup the build directory:
>    $ . oe-init-build-env <build_dir>
>
> Add to local.conf:
>    IMAGE_INSTALL:append = " buildah kernel-modules"
>    KERNEL_FEATURES += "features/overlayfs/overlayfs.cfgi \
>                        features/netfilter/netfilter.scc  \
>                        features/lxc/lxc-enable.scc"
>    IMAGE_ROOTFS_EXTRA_SPACE = "5242880"
>
> Build image:
>    $ bitbake core-image-minimal
>
> Run the image:
>    $ runqemu nographic kvm qemuparams="-m 4096"
>
> On target:
> Pull an image:
>    > cnt=$(buildah from fedora)
>
> Or build from Dockerfile
>    > buildah bud -t <image_name>:<tag> .
>
> Mount the image:
>    > mnt=$(buildah mount ${cnt})
>
> Install packages on the container rootfs:
>    > dnf install --installroot $mnt <packages_to_install> -y
>
> Copy local files to the container:
>    > buildah copy $cnt <local_file> <dest_on_container>
>
> Save the changes to an image
>    > buildah commit --format docker $cnt <name>:<tag>
>
> Run the image using buildah:
>    > buildah run $cnt /bin/sh
>
> Or using docker:
>    > docker run -it <name>:<tag>
>
> Signed-off-by: Sakib Sajal <[email protected]>
> Signed-off-by: Bruce Ashfield <[email protected]>
> ---
>  recipes-containers/buildah/buildah_git.bb | 57 +++++++++++++++++++++++
>  1 file changed, 57 insertions(+)
>  create mode 100644 recipes-containers/buildah/buildah_git.bb
>
> diff --git a/recipes-containers/buildah/buildah_git.bb 
> b/recipes-containers/buildah/buildah_git.bb
> new file mode 100644
> index 0000000..024e82c
> --- /dev/null
> +++ b/recipes-containers/buildah/buildah_git.bb
> @@ -0,0 +1,57 @@
> +HOMEPAGE = "https://buildah.io";
> +SUMMARY = "A tool that facilitates building OCI container images."
> +DESCRIPTION = "A tool that facilitates building OCI container images."
> +
> +# Apache-2.0 for containerd
> +LICENSE = "Apache-2.0"
> +LIC_FILES_CHKSUM = 
> "file://src/github.com/containers/buildah/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
> +
> +S = "${WORKDIR}/git"
> +
> +BUILDAH_VERSION = "1.26"
> +SRCREV_buildah = "0a9d6e6eaef2e2e7936313d449a4e226022eb865"
> +
> +PV = "${BUILDAH_VERSION}"
> +
> +inherit go
> +inherit goarch
> +inherit pkgconfig
> +
> +GO_IMPORT = "github.com/containers/buildah"
> +GO_INSTALL = "${GO_IMPORT}"
> +GO_WORKDIR = "${GO_INSTALL}"
> +GOBUILDFLAGS += "-mod vendor"
> +
> +SRC_URI = " \
> +    
> git://github.com/containers/buildah;branch=release-${BUILDAH_VERSION};name=buildah;protocol=https
>  \
> +    "
> +
> +DEPENDS = "libdevmapper btrfs-tools gpgme"
> +RDEPENDS:${PN} = "cgroup-lite fuse-overlayfs libdevmapper podman"
> +RDEPENDS:${PN}-dev = "bash perl"
> +
> +do_compile:prepend() {
> +    cd ${S}/src/github.com/containers/buildah
> +}
> +
> +go_do_compile() {
> +        export TMPDIR="${GOTMPDIR}"
> +        if [ -n "${GO_INSTALL}" ]; then
> +                if [ -n "${GO_LINKSHARED}" ]; then
> +                        ${GO} install ${GOBUILDFLAGS} ./cmd/buildah
> +                        ${GO} install ${GOBUILDFLAGS} 
> ./tests/imgtype/imgtype.go
> +                        ${GO} install ${GOBUILDFLAGS} ./tests/copy/copy.go
> +                        rm -rf ${B}/bin
> +                fi
> +                ${GO} install ${GO_LINKSHARED} ${GOBUILDFLAGS} ./cmd/buildah
> +                ${GO} install ${GO_LINKSHARED} ${GOBUILDFLAGS} 
> ./tests/imgtype/imgtype.go
> +                ${GO} install ${GO_LINKSHARED} ${GOBUILDFLAGS} 
> ./tests/copy/copy.go
> +        fi
> +}
> +
> +do_install:append() {
> +    dest_dir=${D}/${sysconfdir}/containers
> +    mkdir -p ${dest_dir}
> +    install -m 666 
> ${S}/src/github.com/containers/buildah/docs/samples/registries.conf 
> ${dest_dir}/buildah.registries.conf.sample
> +    install -m 666 ${S}/src/github.com/containers/buildah/tests/policy.json 
> ${dest_dir}/buildah.policy.json.sample
> +}
> --
> 2.25.1
>


-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#7603): 
https://lists.yoctoproject.org/g/meta-virtualization/message/7603
Mute This Topic: https://lists.yoctoproject.org/mt/93476488/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to