summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRahil Bhimjiani <rahil3108@gmail.com>2023-09-20 01:23:15 +0530
committerZac Medico <zmedico@gentoo.org>2023-09-20 22:09:50 -0700
commit1f6986b3e10ed59edd6b53cf309449bf487bbdca (patch)
tree6d14cff319e1d06196902abf84f225dd6da96e55 /app-containers
parentdev-python/ytmusicapi: Stabilize 1.2.0 ALLARCHES, #914473 (diff)
downloadgentoo-1f6986b3e10ed59edd6b53cf309449bf487bbdca.tar.gz
gentoo-1f6986b3e10ed59edd6b53cf309449bf487bbdca.tar.bz2
gentoo-1f6986b3e10ed59edd6b53cf309449bf487bbdca.zip
app-containers/buildah: add live version
Added USE seccomp & apparmor stopped using if-else when unnecessary improved btrfs useflag if else switch to upstream's install system instead of manually doman/dodoc making it more future-proof Closes: https://github.com/gentoo/gentoo/pull/32950 Closes: https://bugs.gentoo.org/914443 Signed-off-by: Rahil Bhimjiani <rahil3108@gmail.com> Signed-off-by: Zac Medico <zmedico@gentoo.org>
Diffstat (limited to 'app-containers')
-rw-r--r--app-containers/buildah/buildah-9999.ebuild123
1 files changed, 123 insertions, 0 deletions
diff --git a/app-containers/buildah/buildah-9999.ebuild b/app-containers/buildah/buildah-9999.ebuild
new file mode 100644
index 000000000000..8ca21b070f70
--- /dev/null
+++ b/app-containers/buildah/buildah-9999.ebuild
@@ -0,0 +1,123 @@
+# 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"
+LICENSE="Apache-2.0 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"
+ "README.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"
+ GIT_COMMIT=2326d49
+ KEYWORDS="~amd64 ~arm64"
+fi
+
+DEPEND="
+ systemd? ( sys-apps/systemd )
+ btrfs? ( sys-fs/btrfs-progs )
+ seccomp? ( sys-libs/libseccomp:= )
+ apparmor? ( sys-libs/libapparmor:= )
+ app-crypt/gpgme:=
+ dev-libs/libgpg-error:=
+ dev-libs/libassuan:=
+ sys-apps/shadow:=
+"
+RDEPEND="${DEPEND}"
+
+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
+
+ sed -i -e "s|/usr/local|${EPREFIX}/usr|g" Makefile docs/Makefile || die
+
+ [[ -f hack/libsubid_tag.sh ]] && echo -e '#!/usr/bin/env bash\necho libsubid' > hack/libsubid_tag.sh || die
+
+ [[ -f hack/apparmor_tag.sh ]] || die
+ if use apparmor; then
+ echo -e '#!/usr/bin/env bash\necho apparmor' > hack/apparmor_tag.sh || die
+ else
+ echo -e '#!/usr/bin/env bash\necho' > hack/apparmor_tag.sh || die
+ fi
+
+ use seccomp || {
+ cat << 'EOF' > "${T}/disable_seccomp.patch"
+--- Makefile
++++ Makefile
+@@ -5 +5 @@
+-SECURITYTAGS ?= seccomp $(APPARMORTAG)
++SECURITYTAGS ?= $(APPARMORTAG)
+EOF
+ eapply -p0 "${T}/disable_seccomp.patch" || die
+ }
+
+ [[ -f hack/systemd_tag.sh ]] || die
+ if use systemd; then
+ echo -e '#!/usr/bin/env bash\necho systemd' > hack/systemd_tag.sh || die
+ else
+ echo -e '#!/usr/bin/env bash\necho' > hack/systemd_tag.sh || die
+ fi
+
+ [[ -f btrfs_installed_tag.sh && -f btrfs_tag.sh ]] || die
+ if use btrfs; then
+ echo -e '#!/usr/bin/env bash\necho btrfs_noversion' > btrfs_tag.sh || die
+ echo -e '#!/usr/bin/env bash\necho' > btrfs_installed_tag.sh || die
+ else
+ echo -e '#!/usr/bin/env bash\necho exclude_graphdriver_btrfs' > btrfs_installed_tag.sh || die
+ echo -e '#!/usr/bin/env bash\necho' > btrfs_tag.sh || die
+ fi
+
+ use test || {
+ cat << 'EOF' > "${T}/disable_tests.patch"
+--- Makefile
++++ Makefile
+@@ -54 +54 @@
+-all: bin/buildah bin/imgtype bin/copy bin/tutorial docs
++all: bin/buildah docs
+EOF
+ eapply -p0 "${T}/disable_tests.patch" || die
+ }
+
+}
+
+src_compile() {
+ if [[ ${PV} == *9999* ]]; then
+ emake all
+ else
+ emake GIT_COMMIT=${GIT_COMMIT} all
+ fi
+}
+
+src_test() {
+ emake test-unit
+}
+
+src_install() {
+ default
+ emake DESTDIR="${D}" install.completions
+ use doc && dodoc -r "${EXTRA_DOCS[@]}"
+}