On Wed, May 25, 2022 at 7:43 PM <[email protected]> wrote: > > 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>
I haven't forgotten about this, just with the storms and power outages here in Ottawa, I'm running way behind in my patch processing. Bruce > > Signed-off-by: Sakib Sajal <[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.33.0 > > > > -- - 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 (#7336): https://lists.yoctoproject.org/g/meta-virtualization/message/7336 Mute This Topic: https://lists.yoctoproject.org/mt/91344690/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
