forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-containers/podman: Bump to version 4.0.0
Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Zac Medico <[email protected]>
- Loading branch information
Showing
2 changed files
with
162 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST podman-3.4.4.tar.gz 10945990 BLAKE2B 3de69c9bc3bd1334837d21cb2817a9e9757fbb561a0b047658c7401608ecf1fbe09d5cd0c65497a82150a67a3775c77705d0dbd314a54f7b3a1953733cfb2906 SHA512 cfd295bf50ce86ea70741c3e663b409ed47b1e560c962bc579f319151a0fe2b24cdd3045667660083cce89449a9c5de1508c94a9a02375165a72ce7c16166666 | ||
DIST podman-4.0.0.tar.gz 11379640 BLAKE2B 2d68b95206ef59873c2a5c434aa3901c33a3526f840805ab42ac4dad4ed5861824a6b2142d02b500e087d56f4da3255c2b156af4d835a6427c2ebfae34278a75 SHA512 2e25f303d143bc4e265f0f8998ea1c4af3d6da8b35452cf6b27a4eb204805a9b5f75f4b6430921b42c80b76a6b5c9cf35a732c265727a11261fca25cc96f57e7 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,161 @@ | ||
# Copyright 1999-2022 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
EGIT_COMMIT="84c8870ac236578c41713113fc09a29a5f727bdd" | ||
|
||
inherit bash-completion-r1 flag-o-matic go-module tmpfiles | ||
|
||
DESCRIPTION="Library and podman tool for running OCI-based containers in Pods" | ||
HOMEPAGE="https://github.com/containers/podman/" | ||
MY_PN=podman | ||
MY_P=${MY_PN}-${PV} | ||
SRC_URI="https://github.com/containers/podman/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz" | ||
LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" | ||
SLOT="0" | ||
|
||
KEYWORDS="~amd64 ~arm64 ~ppc64" | ||
IUSE="apparmor btrfs +fuse +rootless selinux" | ||
RESTRICT+=" test" | ||
|
||
COMMON_DEPEND=" | ||
app-crypt/gpgme:= | ||
>=app-containers/conmon-2.0.0 | ||
|| ( >=app-containers/runc-1.0.0_rc6 app-containers/crun ) | ||
dev-libs/libassuan:= | ||
dev-libs/libgpg-error:= | ||
>=net-misc/cni-plugins-0.8.6 | ||
sys-fs/lvm2 | ||
sys-libs/libseccomp:= | ||
apparmor? ( sys-libs/libapparmor ) | ||
btrfs? ( sys-fs/btrfs-progs ) | ||
rootless? ( app-containers/slirp4netns ) | ||
selinux? ( sys-libs/libselinux:= ) | ||
" | ||
DEPEND=" | ||
${COMMON_DEPEND} | ||
dev-go/go-md2man" | ||
RDEPEND="${COMMON_DEPEND} | ||
fuse? ( sys-fs/fuse-overlayfs )" | ||
|
||
S=${WORKDIR}/${MY_P} | ||
|
||
src_prepare() { | ||
default | ||
|
||
# Disable installation of python modules here, since those are | ||
# installed by separate ebuilds. | ||
local makefile_sed_args=( | ||
-e '/^GIT_.*/d' | ||
-e 's/$(GO) build/$(GO) build -v -work -x/' | ||
-e 's/^\(install:.*\) install\.python$/\1/' | ||
-e 's|^pkg/varlink/iopodman.go: .gopathok pkg/varlink/io.podman.varlink$|pkg/varlink/iopodman.go: pkg/varlink/io.podman.varlink|' | ||
) | ||
|
||
has_version -b '>=dev-lang/go-1.13.9' || makefile_sed_args+=(-e 's:GO111MODULE=off:GO111MODULE=on:') | ||
|
||
sed "${makefile_sed_args[@]}" -i Makefile || die | ||
} | ||
|
||
src_compile() { | ||
local git_commit=${EGIT_COMMIT} | ||
|
||
# Filter unsupported linker flags | ||
filter-flags '-Wl,*' | ||
|
||
[[ -f hack/apparmor_tag.sh ]] || die | ||
if use apparmor; then | ||
echo -e "#!/bin/sh\necho apparmor" > hack/apparmor_tag.sh || die | ||
else | ||
echo -e "#!/bin/sh\ntrue" > hack/apparmor_tag.sh || die | ||
fi | ||
|
||
[[ -f hack/btrfs_installed_tag.sh ]] || die | ||
if use btrfs; then | ||
echo -e "#!/bin/sh\ntrue" > hack/btrfs_installed_tag.sh || die | ||
else | ||
echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ | ||
hack/btrfs_installed_tag.sh || die | ||
fi | ||
|
||
[[ -f hack/selinux_tag.sh ]] || die | ||
if use selinux; then | ||
echo -e "#!/bin/sh\necho selinux" > hack/selinux_tag.sh || die | ||
else | ||
echo -e "#!/bin/sh\ntrue" > hack/selinux_tag.sh || die | ||
fi | ||
|
||
# Avoid this error when generating pkg/varlink/iopodman.go: | ||
# cannot find package "github.com/varlink/go/varlink/idl" | ||
mkdir -p _output || die | ||
ln -snf ../vendor _output/src || die | ||
GO111MODULE=off GOPATH=${PWD}/_output go generate ./pkg/varlink/... || die | ||
rm _output/src || die | ||
|
||
export -n GOCACHE GOPATH XDG_CACHE_HOME | ||
GOBIN="${S}/bin" \ | ||
emake all \ | ||
GIT_BRANCH=master \ | ||
GIT_BRANCH_CLEAN=master \ | ||
COMMIT_NO="${git_commit}" \ | ||
GIT_COMMIT="${git_commit}" | ||
} | ||
|
||
src_install() { | ||
emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install | ||
|
||
insinto /etc/containers | ||
newins test/registries.conf registries.conf.example | ||
newins test/policy.json policy.json.example | ||
|
||
insinto /usr/share/containers | ||
doins vendor/github.com/containers/common/pkg/seccomp/seccomp.json | ||
|
||
newconfd "${FILESDIR}"/podman.confd podman | ||
newinitd "${FILESDIR}"/podman.initd podman | ||
|
||
insinto /etc/logrotate.d | ||
newins "${FILESDIR}/podman.logrotated" podman | ||
|
||
dobashcomp completions/bash/* | ||
|
||
insinto /usr/share/zsh/site-functions | ||
doins completions/zsh/* | ||
|
||
insinto /usr/share/fish/vendor_completions.d | ||
doins completions/fish/* | ||
|
||
keepdir /var/lib/containers | ||
} | ||
|
||
pkg_preinst() { | ||
PODMAN_ROOTLESS_UPGRADE=false | ||
if use rootless; then | ||
has_version 'app-containers/podman[rootless]' || PODMAN_ROOTLESS_UPGRADE=true | ||
fi | ||
} | ||
|
||
pkg_postinst() { | ||
tmpfiles_process podman.conf | ||
|
||
local want_newline=false | ||
if [[ ! ( -e ${EROOT%/*}/etc/containers/policy.json && -e ${EROOT%/*}/etc/containers/registries.conf ) ]]; then | ||
elog "You need to create the following config files:" | ||
elog "/etc/containers/registries.conf" | ||
elog "/etc/containers/policy.json" | ||
elog "To copy over default examples, use:" | ||
elog "cp /etc/containers/registries.conf{.example,}" | ||
elog "cp /etc/containers/policy.json{.example,}" | ||
want_newline=true | ||
fi | ||
if [[ ${PODMAN_ROOTLESS_UPGRADE} == true ]] ; then | ||
${want_newline} && elog "" | ||
elog "For rootless operation, you need to configure subuid/subgid" | ||
elog "for user running podman. In case subuid/subgid has only been" | ||
elog "configured for root, run:" | ||
elog "usermod --add-subuids 1065536-1131071 <user>" | ||
elog "usermod --add-subgids 1065536-1131071 <user>" | ||
want_newline=true | ||
fi | ||
} |