summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRahil Bhimjiani <me@rahil.website>2023-12-01 08:57:53 +0530
committerZac Medico <zmedico@gentoo.org>2023-12-04 21:24:11 -0800
commit32b9e7fdea62206bf53a30c36284dae17e74e716 (patch)
tree27781a0f135969739287cc6ad031c17c47e1e9e5 /app-containers
parentdev-python/platformdirs: Bump to 4.1.0 (diff)
downloadgentoo-32b9e7fdea62206bf53a30c36284dae17e74e716.tar.gz
gentoo-32b9e7fdea62206bf53a30c36284dae17e74e716.tar.bz2
gentoo-32b9e7fdea62206bf53a30c36284dae17e74e716.zip
app-containers/buildah: add 1.33.2 which fixes arm64 build
Closes: https://bugs.gentoo.org/918903 Signed-off-by: Rahil Bhimjiani <me@rahil.website> Closes: https://github.com/gentoo/gentoo/pull/34073 Signed-off-by: Zac Medico <zmedico@gentoo.org>
Diffstat (limited to 'app-containers')
-rw-r--r--app-containers/buildah/Manifest1
-rw-r--r--app-containers/buildah/buildah-1.33.1.ebuild3
-rw-r--r--app-containers/buildah/buildah-1.33.2.ebuild128
-rw-r--r--app-containers/buildah/buildah-9999.ebuild1
-rw-r--r--app-containers/buildah/files/fix-non-amd64-build-1.33.2.patch44
5 files changed, 177 insertions, 0 deletions
diff --git a/app-containers/buildah/Manifest b/app-containers/buildah/Manifest
index b3742dfa1500..508823a8254f 100644
--- a/app-containers/buildah/Manifest
+++ b/app-containers/buildah/Manifest
@@ -1,3 +1,4 @@
DIST buildah-1.30.0.tar.gz 15623786 BLAKE2B e0b2f6d26827cfe40f88a9915f12b6acb385fbd576fa227d4fee02c162077e9c6fe0591c7171405f5645cd06e4068f26e17c2cb963898e38cfbdd61abe68dae2 SHA512 185fd98a59fa8d86fe9f1eadc9b7591e5053674464be10538a7581d8e1f6a25e5032a354c821c32a167e2864acea010243efbbe4f5a4205d8eaa2894f062a25b
DIST buildah-1.32.2.tar.gz 18451694 BLAKE2B 885b940e804394d18451e5dce3e3af4097a8adf01e59d7a288dda7063a888759abd9a5c18d8f4522709c7d296fc9a2b5d61229143f3545a786dc59ac837214e2 SHA512 3a50e53e047aa0e23643d8751af1fb51a83fd51e5440111432eb34bdb07e95f24676a917b54409c223df444fe123c8df4aa9af435737cfdd02d0eda0d3f5bba1
DIST buildah-1.33.1.tar.gz 18635429 BLAKE2B 93883b02e6b790c029b03dd3ebb5f0d7c8e184989c987034cd429ea804d17b275a2b81c9f37bbaff1a54367bb93a9b0870af86293aa0332c3ccac1bbb6a750fe SHA512 4abab105f6b242dc38e443b53b6c0c90fd7897bceb6b491fd067cd56767616a3df4005bc0bd0d10f217df2e6716cf950d8662788b110929a826660f29516703e
+DIST buildah-1.33.2.tar.gz 18580150 BLAKE2B 523b75974a27695bbf818f4a1499d15e48e254934549f2ae191f462334aa4dd34a60c82b78b0d3351e05b297a40a8f8e2df94e75d22779a5c042dbd3dd307e4a SHA512 574c1a249d93edd5f89e106cd192da94235edcff097d9bce841e3b3b3a9588029deddaceb301505114b994e854016c72090cc0016a00ef027b25f3672a3fab32
diff --git a/app-containers/buildah/buildah-1.33.1.ebuild b/app-containers/buildah/buildah-1.33.1.ebuild
index 09a8f30b55b0..bcda107b9f6c 100644
--- a/app-containers/buildah/buildah-1.33.1.ebuild
+++ b/app-containers/buildah/buildah-1.33.1.ebuild
@@ -43,6 +43,9 @@ RDEPEND="
sys-apps/shadow:=
"
DEPEND="${RDEPEND}"
+PATCHES=(
+ "${FILESDIR}"/fix-non-amd64-build-1.33.2.patch
+)
pkg_pretend() {
local CONFIG_CHECK=""
diff --git a/app-containers/buildah/buildah-1.33.2.ebuild b/app-containers/buildah/buildah-1.33.2.ebuild
new file mode 100644
index 000000000000..ce382bf95dfe
--- /dev/null
+++ b/app-containers/buildah/buildah-1.33.2.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit go-module linux-info
+
+DESCRIPTION="A tool that facilitates building OCI images"
+HOMEPAGE="https://github.com/containers/buildah"
+
+# main pkg
+LICENSE="Apache-2.0"
+# deps
+LICENSE+=" BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0"
+
+SLOT="0"
+IUSE="apparmor btrfs +seccomp systemd doc test"
+RESTRICT="test"
+EXTRA_DOCS=(
+ "CHANGELOG.md"
+ "CONTRIBUTING.md"
+ "install.md"
+ "troubleshooting.md"
+ "docs/tutorials"
+)
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/containers/buildah.git"
+else
+ SRC_URI="https://github.com/containers/buildah/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64"
+fi
+
+RDEPEND="
+ systemd? ( sys-apps/systemd )
+ btrfs? ( sys-fs/btrfs-progs )
+ seccomp? ( sys-libs/libseccomp:= )
+ apparmor? ( sys-libs/libapparmor:= )
+ app-containers/containers-common
+ app-crypt/gpgme:=
+ dev-libs/libgpg-error:=
+ dev-libs/libassuan:=
+ sys-apps/shadow:=
+"
+DEPEND="${RDEPEND}"
+PATCHES=(
+ "${FILESDIR}"/fix-non-amd64-build-1.33.2.patch
+)
+
+pkg_pretend() {
+ local CONFIG_CHECK=""
+ use btrfs && CONFIG_CHECK+=" ~BTRFS_FS"
+ check_extra_config
+
+ linux_config_exists || ewarn "Cannot determine configuration of your kernel."
+}
+
+src_prepare() {
+ default
+
+ # ensure all necessary files are there
+ local file
+ for file in docs/Makefile hack/libsubid_tag.sh hack/apparmor_tag.sh \
+ hack/systemd_tag.sh btrfs_installed_tag.sh btrfs_tag.sh; do
+ [[ -f "${file}" ]] || die
+ done
+
+ sed -i -e "s|/usr/local|/usr|g" Makefile docs/Makefile || die
+ echo -e '#!/usr/bin/env bash\necho libsubid' > hack/libsubid_tag.sh || die
+
+ cat <<-EOF > hack/apparmor_tag.sh || die
+ #!/usr/bin/env bash
+ $(usex apparmor 'echo apparmor' echo)
+ EOF
+
+ use seccomp || {
+ cat <<-'EOF' > "${T}/disable_seccomp.patch"
+ --- a/Makefile
+ +++ b/Makefile
+ @@ -5 +5 @@
+ -SECURITYTAGS ?= seccomp $(APPARMORTAG)
+ +SECURITYTAGS ?= $(APPARMORTAG)
+ EOF
+ eapply "${T}/disable_seccomp.patch" || die
+ }
+
+ cat <<-EOF > hack/systemd_tag.sh || die
+ #!/usr/bin/env bash
+ $(usex systemd 'echo systemd' echo)
+ EOF
+
+ echo -e "#!/usr/bin/env bash\n echo" > btrfs_installed_tag.sh || die
+ cat <<-EOF > btrfs_tag.sh || die
+ #!/usr/bin/env bash
+ $(usex btrfs echo 'echo exclude_graphdriver_btrfs btrfs_noversion')
+ EOF
+
+ use test || {
+ cat <<-'EOF' > "${T}/disable_tests.patch"
+ --- a/Makefile
+ +++ b/Makefile
+ @@ -54 +54 @@
+ -all: bin/buildah bin/imgtype bin/copy bin/tutorial docs
+ +all: bin/buildah docs
+ EOF
+ eapply "${T}/disable_tests.patch" || die
+ }
+
+}
+
+src_compile() {
+ # For non-live versions, prevent git operations which causes sandbox violations
+ # https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493
+ [[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT=""
+
+ default
+}
+
+src_test() {
+ emake test-unit
+}
+
+src_install() {
+ emake DESTDIR="${ED}" install install.completions
+ einstalldocs
+ use doc && dodoc -r "${EXTRA_DOCS[@]}"
+}
diff --git a/app-containers/buildah/buildah-9999.ebuild b/app-containers/buildah/buildah-9999.ebuild
index 09a8f30b55b0..4b4a54c71ba9 100644
--- a/app-containers/buildah/buildah-9999.ebuild
+++ b/app-containers/buildah/buildah-9999.ebuild
@@ -7,6 +7,7 @@ inherit go-module linux-info
DESCRIPTION="A tool that facilitates building OCI images"
HOMEPAGE="https://github.com/containers/buildah"
+
# main pkg
LICENSE="Apache-2.0"
# deps
diff --git a/app-containers/buildah/files/fix-non-amd64-build-1.33.2.patch b/app-containers/buildah/files/fix-non-amd64-build-1.33.2.patch
new file mode 100644
index 000000000000..51ba7df1aa90
--- /dev/null
+++ b/app-containers/buildah/files/fix-non-amd64-build-1.33.2.patch
@@ -0,0 +1,44 @@
+From 12b205f69876bf09bb6dfe03adcdefad5d4ee9f8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com>
+Date: Mon, 20 Nov 2023 09:28:06 +0100
+Subject: [PATCH] Remove makefile targets entrypoint{,.gz} for non x86_64
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+https://github.com/containers/buildah/pull/5183
+The target internal/mkcw/embed/entrypoint is only built on x86_64, but
+internal/mkcw/embed/entrypoint.gz is run on all arches. This causes build
+failures on anything non x86_64 as internal/mkcw/embed/entrypoint is not build.
+
+Signed-off-by: Dan Čermák <dcermak@suse.com>
+---
+ Makefile | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 85b43c7b9e..0fda9ae6eb 100644
+--- a/Makefile
++++ b/Makefile
+@@ -73,17 +73,16 @@ bin/buildah: $(SOURCES) cmd/buildah/*.go internal/mkcw/embed/entrypoint.gz
+ $(GO_BUILD) $(BUILDAH_LDFLAGS) $(GO_GCFLAGS) "$(GOGCFLAGS)" -o $@ $(BUILDFLAGS) ./cmd/buildah
+
+ ifneq ($(shell as --version | grep x86_64),)
++internal/mkcw/embed/entrypoint.gz: internal/mkcw/embed/entrypoint
++ $(RM) $@
++ gzip -k $^
++
+ internal/mkcw/embed/entrypoint: internal/mkcw/embed/entrypoint.s
+ $(AS) -o $(patsubst %.s,%.o,$^) $^
+ $(LD) -o $@ $(patsubst %.s,%.o,$^)
+ strip $@
+-else
+-.PHONY: internal/mkcw/embed/entrypoint
+ endif
+
+-internal/mkcw/embed/entrypoint.gz: internal/mkcw/embed/entrypoint
+- $(RM) $@
+- gzip -k $^
+
+ .PHONY: buildah
+ buildah: bin/buildah