Skip to content

Commit

Permalink
app-containers/buildah: add 1.33.2 which fixes arm64 build
Browse files Browse the repository at this point in the history
Closes: https://bugs.gentoo.org/918903
Signed-off-by: Rahil Bhimjiani <[email protected]>
Closes: gentoo#34073
Signed-off-by: Zac Medico <[email protected]>
  • Loading branch information
Rahil Bhimjiani authored and zmedico committed Dec 5, 2023
1 parent 95ee62b commit 32b9e7f
Show file tree
Hide file tree
Showing 5 changed files with 177 additions and 0 deletions.
1 change: 1 addition & 0 deletions app-containers/buildah/Manifest
Original file line number Diff line number Diff line change
@@ -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
3 changes: 3 additions & 0 deletions app-containers/buildah/buildah-1.33.1.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -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=""
Expand Down
128 changes: 128 additions & 0 deletions app-containers/buildah/buildah-1.33.2.ebuild
Original file line number Diff line number Diff line change
@@ -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[@]}"
}
1 change: 1 addition & 0 deletions app-containers/buildah/buildah-9999.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
44 changes: 44 additions & 0 deletions app-containers/buildah/files/fix-non-amd64-build-1.33.2.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
From 12b205f69876bf09bb6dfe03adcdefad5d4ee9f8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <[email protected]>
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 <[email protected]>
---
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

0 comments on commit 32b9e7f

Please sign in to comment.