containers: adapt to UNPACKDIR changes

This commit updates the container recipes to the OE core UNPACKDIR
changes.

  - We drop references to WORKDIR
  - We adjust destsuffix fetches to use BB_GIT_DEFAULT_DESTSUFFIX
    instead of 'git'
  - Update our GOPATH references to use UNPACKDIR
  - Drop S = assignemnts where possible

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
This commit is contained in:
Bruce Ashfield 2025-06-25 22:40:08 -04:00
parent 9f23867e63
commit bc2a750d5c
34 changed files with 32 additions and 79 deletions

View File

@ -12,8 +12,6 @@ SRC_URI = "git://github.com/containers/aardvark-dns;protocol=https;nobranch=1 \
file://run-ptest"
require ${BPN}-crates.inc
S = "${WORKDIR}/git"
inherit cargo cargo-update-recipe-crates features_check ptest
# Cargo installs the binary to bin so move it to where podman expects it

View File

@ -6,8 +6,6 @@ DESCRIPTION = "A tool that facilitates building OCI container images."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://src/github.com/containers/buildah/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
S = "${WORKDIR}/git"
BUILDAH_VERSION = "1.39.1"
PV = "${BUILDAH_VERSION}"

View File

@ -11,6 +11,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "git://github.com/openSUSE/${BPN};protocol=https;branch=main"
SRCREV = "7f0c9bb45d3490c3e7f579833c9b0689f78c8923"
S = "${WORKDIR}/git"
inherit autotools

View File

@ -16,8 +16,6 @@ SRC_URI = "\
PV = "2.1.12+git"
S = "${WORKDIR}/git"
inherit pkgconfig
export GOCACHE = "${B}/.cache"

View File

@ -27,7 +27,7 @@ CVE_VERSION = "v2.0.2"
PROVIDES += "virtual/containerd containerd-opencontainers"
RPROVIDES:${PN} = "virtual-containerd containerd-opencontainers"
S = "${WORKDIR}/git/src/github.com/containerd/containerd/v2"
S = "${UNPACKDIR}/git/src/github.com/containerd/containerd/v2"
PV = "${CONTAINERD_VERSION}+git"
@ -43,7 +43,7 @@ do_configure[noexec] = "1"
do_compile() {
export GOARCH="${TARGET_GOARCH}"
export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go:${WORKDIR}/git/"
export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go:${UNPACKDIR}/git/"
export GOROOT="${STAGING_DIR_NATIVE}/${nonarch_libdir}/${HOST_SYS}/go"
# Pass the needed cflags/ldflags so that cgo

View File

@ -31,8 +31,6 @@ COMPATIBLE_HOST = "(x86_64|arm|aarch64).*-linux"
DEPENDS += "libnl libcap protobuf-c-native protobuf-c util-linux-native libbsd libnet python3-protobuf-native"
RDEPENDS:${PN} = "bash cgroup-lite python3-ctypes python3-fcntl python3-protobuf"
S = "${WORKDIR}/git"
#
# CRIU just can be built on ARMv7 and ARMv6, so the Makefile check
# if the ARCH is ARMv7 or ARMv6.

View File

@ -11,14 +11,13 @@ SRCREV_yajl = "f344d21280c3e4094919fd318bc5ce75da91fc06"
SRCREV_FORMAT = "crun_rspec"
SRC_URI = "git://github.com/containers/crun.git;branch=main;name=crun;protocol=https \
git://github.com/containers/libocispec.git;branch=main;name=libocispec;destsuffix=git/libocispec;protocol=https \
git://github.com/opencontainers/runtime-spec.git;branch=main;name=rspec;destsuffix=git/libocispec/runtime-spec;protocol=https \
git://github.com/opencontainers/image-spec.git;branch=main;name=ispec;destsuffix=git/libocispec/image-spec;protocol=https \
git://github.com/containers/yajl.git;branch=main;name=yajl;destsuffix=git/libocispec/yajl;protocol=https \
git://github.com/containers/libocispec.git;branch=main;name=libocispec;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/libocispec;protocol=https \
git://github.com/opencontainers/runtime-spec.git;branch=main;name=rspec;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/libocispec/runtime-spec;protocol=https \
git://github.com/opencontainers/image-spec.git;branch=main;name=ispec;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/libocispec/image-spec;protocol=https \
git://github.com/containers/yajl.git;branch=main;name=yajl;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/libocispec/yajl;protocol=https \
"
PV = "v1.20.0+git${SRCREV_crun}"
S = "${WORKDIR}/git"
inherit autotools-brokensep pkgconfig

View File

@ -12,7 +12,7 @@ SRC_URI = "git://github.com/docker/distribution.git;branch=main;name=distributio
PACKAGES =+ "docker-registry"
PV = "v3.0.0-beta.1"
S = "${WORKDIR}/git/src/github.com/distribution/distribution/v3"
S = "${UNPACKDIR}/git/src/github.com/distribution/distribution/v3"
GO_IMPORT = "import"
@ -24,7 +24,7 @@ EXTRA_OEMAKE = "BUILDTAGS=''"
do_compile() {
export GOARCH="${TARGET_GOARCH}"
export GOPATH="${WORKDIR}/git/"
export GOPATH="${UNPACKDIR}/git/"
export GOROOT="${STAGING_LIBDIR}/go"
# Pass the needed cflags/ldflags so that cgo
# can find the needed headers files and libraries

View File

@ -49,7 +49,7 @@ SRCREV_cli = "068a01ea9470df6494cc92d9e64e240805ae47a7"
SRCREV_FORMAT = "moby"
SRC_URI = "\
git://github.com/moby/moby.git;nobranch=1;name=moby;protocol=https;destsuffix=${GO_SRCURI_DESTSUFFIX} \
git://github.com/docker/cli;nobranch=1;name=cli;destsuffix=git/cli;protocol=https \
git://github.com/docker/cli;nobranch=1;name=cli;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/cli;protocol=https \
file://docker.init \
file://0001-cli-use-external-GO111MODULE-and-cross-compiler.patch \
file://0001-dynbinary-use-go-cross-compiler.patch;patchdir=src/import \

View File

@ -31,11 +31,7 @@ PACKAGECONFIG[seccomp] = "seccomp,,libseccomp"
PACKAGECONFIG[docker-init] = ",,,docker-init"
PACKAGECONFIG[transient-config] = "transient-config"
GO_IMPORT = "import"
S = "${WORKDIR}/git"
inherit systemd update-rc.d
inherit go

View File

@ -7,13 +7,11 @@ LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=2d6fc0e85c3f118af64c85a78
SRCNAME = "go-digest"
PKG_NAME = "github.com/opencontainers/${SRCNAME}"
SRC_URI = "git://${PKG_NAME};destsuffix=git/src/${PKG_NAME};branch=master;protocol=https"
SRC_URI = "git://${PKG_NAME};destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/src/${PKG_NAME};branch=master;protocol=https"
SRCREV = "65fac7b55eb714642e9359458656939349dcb766"
PV = "v1.0.0-rc0+git"
S = "${WORKDIR}/git"
# NO-OP the do compile rule because this recipe is source only.
do_compile() {
}

View File

@ -7,13 +7,11 @@ LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=6fe682a02df52c6653f33bd0f
SRCNAME = "errors"
PKG_NAME = "github.com/pkg/${SRCNAME}"
SRC_URI = "git://${PKG_NAME};destsuffix=git/src/${PKG_NAME};branch=master;protocol=https"
SRC_URI = "git://${PKG_NAME};destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/src/${PKG_NAME};branch=master;protocol=https"
SRCREV = "5dd12d0cfe7f152f80558d591504ce685299311e"
PV = "v0.8.1+git"
S = "${WORKDIR}/git"
# NO-OP the do compile rule because this recipe is source only.
do_compile() {
}

View File

@ -7,13 +7,11 @@ LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE.txt;md5=920d76114a32b0fb75b3f
SRCNAME = "cobra"
PKG_NAME = "github.com/spf13/${SRCNAME}"
SRC_URI = "git://${PKG_NAME};destsuffix=git/src/${PKG_NAME};branch=main;protocol=https"
SRC_URI = "git://${PKG_NAME};destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/src/${PKG_NAME};branch=main;protocol=https"
SRCREV = "4dd4b25de38418174a6e859e8a32eaccca32dccc"
PV = "v1.6.0+git"
S = "${WORKDIR}/git"
# NO-OP the do compile rule because this recipe is source only.
do_compile() {
}

View File

@ -7,13 +7,11 @@ LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=1e8b7dc8b906737639131047a
SRCNAME = "pflag"
PKG_NAME = "github.com/spf13/${SRCNAME}"
SRC_URI = "git://${PKG_NAME};destsuffix=git/src/${PKG_NAME};branch=master;protocol=https"
SRC_URI = "git://${PKG_NAME};destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/src/${PKG_NAME};branch=master;protocol=https"
SRCREV = "d5e0c0615acee7028e1e2740a11102313be88de1"
PV = "v1.0.5+git"
S = "${WORKDIR}/git"
# NO-OP the do compile rule because this recipe is source only.
do_compile() {
}

View File

@ -15,7 +15,7 @@ BBCLASSEXTEND = "devupstream:target"
LIC_FILES_CHKSUM:class-devupstream = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
DEFAULT_PREFERENCE:class-devupstream = "-1"
SRC_URI:class-devupstream = "git://github.com/kubernetes/kubernetes.git;branch=release-1.32;name=kubernetes;protocol=https \
git://github.com/kubernetes/release;branch=master;name=kubernetes-release;destsuffix=git/release;protocol=https \
git://github.com/kubernetes/release;branch=master;name=kubernetes-release;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/release;protocol=https \
"
SRCREV_kubernetes:class-devupstream = "e3b5e621f07f0fee298f641ebded61b8f393fe27"
SRCREV_kubernetes-release:class-devupstream = "21382abdbfa8e6a43fd417306fa649cb651cc06e"
@ -23,8 +23,8 @@ PV:class-devupstream = "v1.28.2+git${SRCREV_kubernetes}"
SRCREV_FORMAT ?= "kubernetes_release"
SRC_URI = "git://github.com/kubernetes/kubernetes.git;branch=release-1.32;name=kubernetes;protocol=https;destsuffix=git/src/github.com/kubernetes/kubernetes \
git://github.com/kubernetes/release;branch=master;name=kubernetes-release;destsuffix=git/release;protocol=https"
SRC_URI = "git://github.com/kubernetes/kubernetes.git;branch=release-1.32;name=kubernetes;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/src/github.com/kubernetes/kubernetes \
git://github.com/kubernetes/release;branch=master;name=kubernetes-release;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/release;protocol=https"
SRC_URI:append = " \
file://0001-hack-lib-golang.sh-use-CC-from-environment.patch \
@ -45,7 +45,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
GO_IMPORT = "import"
S = "${WORKDIR}/git/src/github.com/kubernetes/kubernetes"
S = "${UNPACKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}/src/github.com/kubernetes/kubernetes"
inherit systemd
inherit go
@ -55,7 +55,7 @@ inherit cni_networking
COMPATIBLE_HOST = '(x86_64.*|arm.*|aarch64.*)-linux'
do_compile() {
export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go:${WORKDIR}/git/"
export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go:${UNPACKDIR}/git/"
cd ${S}
# Build the host tools first, using the host compiler
@ -107,8 +107,8 @@ do_install() {
install -m 755 -D ${S}/_output/local/bin/${TARGET_GOOS}/${TARGET_GOARCH}/* ${D}/${bindir}
install -m 0644 ${WORKDIR}/git/release/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service ${D}${systemd_unitdir}/system/
install -m 0644 ${WORKDIR}/git/release/cmd/kubepkg/templates/latest/deb/kubeadm/10-kubeadm.conf ${D}${systemd_unitdir}/system/kubelet.service.d/
install -m 0644 ${UNPACKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}/release/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service ${D}${systemd_unitdir}/system/
install -m 0644 ${UNPACKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}/release/cmd/kubepkg/templates/latest/deb/kubeadm/10-kubeadm.conf ${D}${systemd_unitdir}/system/kubelet.service.d/
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
install -d "${D}${BIN_PREFIX}${base_bindir}"

View File

@ -52,8 +52,6 @@ SRC_URI = "git://github.com/lxc/lxc.git;branch=stable-6.0;protocol=https \
SRCREV = "fe31d844e882d5cc176a7935a93b14b4b2823992"
PV = "v6.0.3"
S = "${WORKDIR}/git"
# Let's not configure for the host distro.
#
PTEST_CONF = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '-Dtests=true', '', d)}"

View File

@ -28,8 +28,6 @@ LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd
GO_IMPORT = "import"
S = "${WORKDIR}/git"
PV = "v2.0.3"
NERDCTL_PKG = "github.com/containerd/nerdctl"

View File

@ -14,8 +14,6 @@ SRC_URI = "git://github.com/containers/netavark.git;protocol=https;branch=v1.14
file://run-ptest"
require ${BPN}-crates.inc
S = "${WORKDIR}/git"
PACKAGECONFIG ?= "aardvark-dns"
# From the documentation of netavark

View File

@ -7,13 +7,11 @@ LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=27ef03aa2da6e424307f102e8
SRCNAME = "image-spec"
PKG_NAME = "github.com/opencontainers/${SRCNAME}"
SRC_URI = "git://${PKG_NAME};destsuffix=git/src/${PKG_NAME};branch=main;protocol=https"
SRC_URI = "git://${PKG_NAME};destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/src/${PKG_NAME};branch=main;protocol=https"
SRCREV = "39ab2d54cfa8fe1bee1ff20001264986d92ab85a"
PV = "v1.1.0"
S = "${WORKDIR}/git"
# NO-OP the do compile rule because this recipe is source only.
do_compile() {
}

View File

@ -18,14 +18,14 @@ inherit go
# go package.
EXTRA_OEMAKE = "BUILDTAGS=''"
S = "${WORKDIR}/git/src/github.com/opencontainers/image-tools"
S = "${UNPACKDIR}/git/src/github.com/opencontainers/image-tools"
COMPATIBLE_HOST:riscv64 = "null"
do_compile() {
export GOARCH="${TARGET_GOARCH}"
export GOROOT="${STAGING_LIBDIR}/go"
export GOPATH="${WORKDIR}/git/"
export GOPATH="${UNPACKDIR}/git/"
# Pass the needed cflags/ldflags so that cgo
# can find the needed headers files and libraries

View File

@ -7,13 +7,11 @@ LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=b355a61a394a504dacde901c9
SRCNAME = "runtime-spec"
PKG_NAME = "github.com/opencontainers/${SRCNAME}"
SRC_URI = "git://${PKG_NAME};destsuffix=git/src/${PKG_NAME};branch=main;protocol=https"
SRC_URI = "git://${PKG_NAME};destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/src/${PKG_NAME};branch=main;protocol=https"
SRCREV = "701738418b9555d5213337a0991fd0ffd6c37808"
PV = "v1.2.0+git"
S = "${WORKDIR}/git"
# NO-OP the do compile rule because this recipe is source only.
do_compile() {
}

View File

@ -16,11 +16,11 @@ INSANE_SKIP:${PN} += "ldflags textrel"
inherit goarch
inherit go
S = "${WORKDIR}/git/src/github.com/opencontainers/runtime-tools"
S = "${UNPACKDIR}/git/src/github.com/opencontainers/runtime-tools"
do_compile() {
export GOARCH="${TARGET_GOARCH}"
export GOPATH="${WORKDIR}/git/"
export GOPATH="${UNPACKDIR}/git/"
export GOROOT="${STAGING_LIBDIR}/go"
# Pass the needed cflags/ldflags so that cgo

View File

@ -14,7 +14,6 @@ SRC_URI = "git://github.com/projectatomic/oci-systemd-hook;branch=master;protoco
"
PV = "0.2.0+git"
S = "${WORKDIR}/git"
inherit autotools pkgconfig

View File

@ -9,8 +9,6 @@ SRC_URI = "git://github.com/containers/podman-compose.git;branch=main;protocol=h
SRCREV = "4d899edeb3d0622a986d90a6b2d7356aa550723e"
S = "${WORKDIR}/git"
DEPENDS += "python3-pyyaml-native"
RDEPENDS:${PN} += "\

View File

@ -32,8 +32,6 @@ LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=86d3f3a95c324c9479bd8986968f43
GO_IMPORT = "import"
S = "${WORKDIR}/git"
PV = "v1.4.0+git"
PODMAN_PKG = "github.com/containers/podman-tui"

View File

@ -27,8 +27,6 @@ LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=3d9b931fa23ab1cacd0087f9e2ee12
GO_IMPORT = "import"
S = "${WORKDIR}/git"
PV = "v5.4.1"
CVE_STATUS[CVE-2022-2989] = "fixed-version: fixed since v4.3.0"

View File

@ -10,7 +10,7 @@ SRC_URI = "git://github.com/jfrazelle/riddler;branch=master;protocol=https;dests
SRCREV = "66698f2a5cb6854a1095673a15dcc253f0e28f93"
PV = "v0.6.4+git"
S = "${WORKDIR}/git/src/github.com/genuinetools/riddler"
S = "${UNPACKDIR}/git/src/github.com/genuinetools/riddler"
GO_IMPORT = "github.com/jessfraz/riddler"
inherit goarch
@ -28,7 +28,7 @@ do_compile() {
export GOARCH="${TARGET_GOARCH}"
export GOROOT="${STAGING_LIBDIR}/go"
# export GOPATH="${S}/src/import/vendor:${WORKDIR}/git/"
export GOPATH="${WORKDIR}/git/"
export GOPATH="${UNPACKDIR}/git/"
# Pass the needed cflags/ldflags so that cgo
# can find the needed headers files and libraries

View File

@ -6,8 +6,6 @@ DESCRIPTION = "runc is a CLI tool for spawning and running containers according
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=435b266b3899aa8a959f17d41c56def8"
S = "${WORKDIR}/git"
PV = "${RUNC_VERSION}+git${SRCPV}"
inherit go

View File

@ -17,8 +17,6 @@ SRC_URI = "git://github.com/singularityware/singularity.git;protocol=https;branc
PV = "2.3.1+git"
SRCREV = "e214d4ebf0a1274b1c63b095fd55ae61c7e92947"
S = "${WORKDIR}/git"
inherit python3native autotools-brokensep
EXTRA_OECONF = "--prefix=/usr/local"

View File

@ -30,7 +30,7 @@ SRCREV = "e8d9f916e04364c128a939535889dc2da74162b5"
PV = "v1.18.0+git"
GO_IMPORT = "import"
S = "${WORKDIR}/git/src/github.com/containers/skopeo"
S = "${UNPACKDIR}/git/src/github.com/containers/skopeo"
inherit goarch
inherit pkgconfig
@ -48,7 +48,7 @@ EXTRA_OEMAKE = "BUILDTAGS=''"
do_compile() {
export GOARCH="${TARGET_GOARCH}"
export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go:${WORKDIR}/git/"
export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go:${UNPACKDIR}/git/"
cd ${S}
# Pass the needed cflags/ldflags so that cgo

View File

@ -11,8 +11,6 @@ DEPENDS = ""
SRCREV = "4015e49763e5a738026a5bbfcf32b38b5a4fa650"
PV = "v0.1.0+git"
S = "${WORKDIR}/git"
do_compile() {
:
}

View File

@ -15,8 +15,6 @@ SRC_URI = " \
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ffc9091894702bc5dcf4cc0085561ef5"
S = "${WORKDIR}/git"
BBCLASSEXTEND = "native"
# tini links with -static, so no PIE for us

View File

@ -11,7 +11,7 @@ SRC_URI = "git://github.com/opencontainers/umoci.git;branch=main;name=umoci;dest
"
PV = "v0.4.7+git"
S = "${WORKDIR}/github.com/opencontainers/umoci"
S = "${UNPACKDIR}/github.com/opencontainers/umoci"
GO_IMPORT = "github.com/opencontainers/umoci"
inherit goarch
@ -39,7 +39,7 @@ do_compile:class-native () {
export CC="${BUILD_CC}"
export LD="${BUILD_LD}"
export GOPATH="${WORKDIR}/git/"
export GOPATH="${UNPACKDIR}/git/"
export GO111MODULE=off
export STATIC_BUILD_FLAGS="-trimpath"