From 32b9e7fdea62206bf53a30c36284dae17e74e716 Mon Sep 17 00:00:00 2001 From: Rahil Bhimjiani Date: Fri, 1 Dec 2023 08:57:53 +0530 Subject: [PATCH] app-containers/buildah: add 1.33.2 which fixes arm64 build Closes: https://bugs.gentoo.org/918903 Signed-off-by: Rahil Bhimjiani Closes: https://github.com/gentoo/gentoo/pull/34073 Signed-off-by: Zac Medico --- app-containers/buildah/Manifest | 1 + app-containers/buildah/buildah-1.33.1.ebuild | 3 + app-containers/buildah/buildah-1.33.2.ebuild | 128 ++++++++++++++++++ app-containers/buildah/buildah-9999.ebuild | 1 + .../files/fix-non-amd64-build-1.33.2.patch | 44 ++++++ 5 files changed, 177 insertions(+) create mode 100644 app-containers/buildah/buildah-1.33.2.ebuild create mode 100644 app-containers/buildah/files/fix-non-amd64-build-1.33.2.patch diff --git a/app-containers/buildah/Manifest b/app-containers/buildah/Manifest index b3742dfa1500f..508823a8254f0 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 09a8f30b55b0e..bcda107b9f6cb 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 0000000000000..ce382bf95dfe9 --- /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 09a8f30b55b0e..4b4a54c71ba98 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 0000000000000..51ba7df1aa90c --- /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?= +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 +--- + 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