blob: 2dcea51820e244bf03ca7d04ab68df8d2012ea95 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module linux-info toolchain-funcs
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 test"
RESTRICT="test"
DOCS=(
"CHANGELOG.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-0.58.0-r1
app-crypt/gpgme:=
dev-libs/libgpg-error:=
dev-libs/libassuan:=
sys-apps/shadow:=
"
DEPEND="${RDEPEND}"
BDEPEND="dev-go/go-md2man"
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
@@ -123 +123 @@
-docs: install.tools ## build the docs on the host
+docs: ## build the docs on the host
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=""
tc-export AS LD STRIP
export GOMD2MAN="$(command -v go-md2man)"
export SELINUXOPT=
default
}
src_test() {
emake test-unit
}
src_install() {
emake DESTDIR="${ED}" SELINUXOPT= install install.completions
einstalldocs
}
|