diff options
Diffstat (limited to 'app-containers')
105 files changed, 2171 insertions, 1805 deletions
diff --git a/app-containers/aardvark-dns/Manifest b/app-containers/aardvark-dns/Manifest index 131bc511f60f..8ed39d36fd6a 100644 --- a/app-containers/aardvark-dns/Manifest +++ b/app-containers/aardvark-dns/Manifest @@ -1,6 +1,8 @@ DIST aardvark-dns-1.10.0.crate 51028 BLAKE2B 81cdc4eb7eaff7359a1a12657b2bc42603383cf0f80a3a599ce9ce277e15ad83e9d5b36c3de3bef15b3201a1e60d86286ad61469d1d58ba2252b4c0174506ea2 SHA512 3d67f1b3c66aeaf4878c09e5e8fc34717cea6c348e0295bc0521c0c4144433656a3306731c24bb362a0e340e652b036b7544e544cca99b61590547bd7a6ce629 DIST aardvark-dns-1.11.0.crate 8977859 BLAKE2B d37c2015d1a46308bea214682133d6364fb50c75e840b664c692c6f344d21a093acab5a93dbf1c7dd624a0adc7cdd38cedc35be8dfde0904a7a773b4f620e002 SHA512 0fb9f9cb20e6c548483778a1109ec315c6135dc1afa3736980754847b06a2e988f5704de7b52b2784b20297d370d47d034137d3899f519d2bb5818a5a68234d8 +DIST aardvark-dns-1.12.2.crate 55913 BLAKE2B b1c4e647c5a31946a48deb01c4428eb43550e8d906f3328226399ab6ba2ea44907382ceea47ba7ce125800bc8d0a01c287f6a73630a48671873a8df644ede488 SHA512 05a1410229e6e9cc495015e92fb4252d55af8439b9e6cbbba1b0a8b78256b01bca4bc205f61be903201eab27497062335f1c4235ea6ed7818a325d6cc68eb09d DIST aardvark-dns-1.9.0.crate 50846 BLAKE2B bae46eae2ec2071b1a1a301f00dc3e3aac0b3a5f1247f1f5be4f2e4b1d9d906fc22c53e5d56967731fcf226a295e8b1d8868dcfae228b05674a5ddecb58a1455 SHA512 1f21b4c40567c0aff967d38ea224884d5c2cb4a85ddffe7bbc5badd237a1195943e4d76f3c65ceb0cab984aa0c2528d8486e78e1e53c5376792477a6a5f426e7 DIST aardvark-dns-v1.10.0-vendor.tar.gz 6283889 BLAKE2B cb69144eabf876e418667782171273541bbc416b456193780b4d7f1d22ad03e18f06ec0d6b1e51e21eab912317bd61dd73266d717fa97a81b4314a3c7d14776a SHA512 68d0106b71f42ba789810020d62911d880debf90a35a086aabfd614403985025dc0c5934087a98943b53f6dfd8ede4add99465cec1ae9a098ff1de1082e1ef9c DIST aardvark-dns-v1.11.0-vendor.tar.gz 6829221 BLAKE2B 42f7df29c407dd91e8e9ea1b43fc368b6795ea17169091d3900e59aea12be16174241c996b016e2f5de3e7a592ac3a1fa1c6b817f16ba282ebdda1ab65bfe61a SHA512 e49a6bb410238b90287a75adee481b8fe899ff680be48831c9b3cf36f9985d1fec1ba5bb858a095ffd520c05888651163d65f8b038e7512e975cfa522c0bee56 +DIST aardvark-dns-v1.12.2-vendor.tar.gz 6919039 BLAKE2B 5edc43d9e7044da6e3a1694af77dd20c2e2d7ef897083a1609bee32fa96a9c63d18b7e9310e3a7226e71d921a44c5b5184b9975d2712163604a671a1236dcc0d SHA512 1dfacc29962acca5c7baa11fbe4d1c93276b91cb5e1db6033d8e23e963ca4c4098bdbf4bdf89730fdea4d5a45b3a2c00ee65888d502e8009d2adaaa6f8374dba DIST aardvark-dns-v1.9.0-vendor.tar.gz 8085548 BLAKE2B 487f69a9c34832d74783b66c565a7c2f67f101527e8a44c215f167e4ea80f069846b25decbb423972cd42cd9ee7717efc21c3d1b0885a7d87c0fbdb9cfb9d26f SHA512 f7174f1c4275991a6a2655046697f32511586f53fb343efa25f995cc07663091a634e8a82395840b022b6b3c8363863cdf8c9b6d4e38984fb841978eef0b1f22 diff --git a/app-containers/aardvark-dns/aardvark-dns-1.10.0.ebuild b/app-containers/aardvark-dns/aardvark-dns-1.10.0-r1.ebuild index 3f6fb3a7a9f2..3f6fb3a7a9f2 100644 --- a/app-containers/aardvark-dns/aardvark-dns-1.10.0.ebuild +++ b/app-containers/aardvark-dns/aardvark-dns-1.10.0-r1.ebuild diff --git a/app-containers/aardvark-dns/aardvark-dns-1.11.0.ebuild b/app-containers/aardvark-dns/aardvark-dns-1.11.0-r1.ebuild index ff2bd6fba837..ff2bd6fba837 100644 --- a/app-containers/aardvark-dns/aardvark-dns-1.11.0.ebuild +++ b/app-containers/aardvark-dns/aardvark-dns-1.11.0-r1.ebuild diff --git a/app-containers/aardvark-dns/aardvark-dns-1.12.2-r1.ebuild b/app-containers/aardvark-dns/aardvark-dns-1.12.2-r1.ebuild new file mode 100644 index 000000000000..6eb7550f45c2 --- /dev/null +++ b/app-containers/aardvark-dns/aardvark-dns-1.12.2-r1.ebuild @@ -0,0 +1,47 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" +inherit cargo + +DESCRIPTION="A container-focused DNS server" +HOMEPAGE="https://github.com/containers/aardvark-dns" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/aardvark-dns.git" +else + SRC_URI="${CARGO_CRATE_URIS}" + SRC_URI+="https://github.com/containers/aardvark-dns/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" +fi + +# main +LICENSE="Apache-2.0" +# deps +LICENSE+=" 0BSD Apache-2.0-with-LLVM-exceptions MIT Unlicense Unicode-DFS-2016 ZLIB" +SLOT="0" +QA_FLAGS_IGNORED="usr/libexec/podman/${PN}" +QA_PRESTRIPPED="usr/libexec/podman/${PN}" +ECARGO_VENDOR="${WORKDIR}/vendor" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die +} + +src_install() { + export PREFIX="${EPREFIX}"/usr + default +} diff --git a/app-containers/aardvark-dns/aardvark-dns-1.9.0.ebuild b/app-containers/aardvark-dns/aardvark-dns-1.9.0-r1.ebuild index 3f6fb3a7a9f2..3f6fb3a7a9f2 100644 --- a/app-containers/aardvark-dns/aardvark-dns-1.9.0.ebuild +++ b/app-containers/aardvark-dns/aardvark-dns-1.9.0-r1.ebuild diff --git a/app-containers/buildah/Manifest b/app-containers/buildah/Manifest index f135ecc06b6e..341683b7d49d 100644 --- a/app-containers/buildah/Manifest +++ b/app-containers/buildah/Manifest @@ -1,5 +1,2 @@ -DIST buildah-1.33.7.tar.gz 18604354 BLAKE2B d2788096d8d6fd6cc528e8f33edc577778a2775a561ea3c4a983eb4a6fa1d5b570f6d8dc0f77e464d0c242add5d641e20afce83c9f5157021fbc82a009ea47c9 SHA512 1248ad1dcf0d10608674543caf4d78f5052db7932102226e23b73add5e129bd8c614672f3d06aa8052675dd83fa83ef2742ef08fe1a883037b41df8fde893ea1 -DIST buildah-1.34.3.tar.gz 18856476 BLAKE2B c91c995a2ff4be8b4e84a70c581a817cb2f1333b08ca297163d218f80d538905c41718cfc267c03173330234c3476344be44df799eaaac891395a22bc7a020b3 SHA512 26d5c48cb5b056a274c1a9c6820a6076337f625fc6dd6683000db871f3de9d37907bd962ced3400334bfc230718219cda2108e2e984be5f8c76ecfa4a2f1e1ac -DIST buildah-1.35.3.tar.gz 19372597 BLAKE2B 014bea80b3a8c4482bbe098a0c5293892cf9f4f0d4d74ecaba8f155e49fab326689b95b690b413d64f6b576c7269bdb9d0f446244b832afe311e909b3f96856d SHA512 ca325ce1a878eb9e9a6caedf236add16702d8dcd83f15a1995b8215998821218104ea8cb7a5d11fc354ee01d9805c339578975d35db859f1d53b08e0a2139fe3 -DIST buildah-1.35.4.tar.gz 19370823 BLAKE2B 6dc8ad2a21c3ce41d4b8a2908d90bcbb32f5598c11fcde49a706334407370998731fedac7d8ee8e080a6a168c10b4a0404bf1120cab8b561e916a9df2bd2d115 SHA512 679f2328f675a39f9965128d51a6e8a3f82d64a6d3c3cdcb862cfcb7691eba272d869b6718147da1590aa573534081329ef05e879875024a11aa9ad52b2f292f -DIST buildah-1.36.0.tar.gz 19328201 BLAKE2B d3602b62a587d75904741b086bea6d789ac30fb6079b574214368552269e48310921340f42050c5c648173452fab7b478690fbfbd80bbebda4a5ec9a102aa4e6 SHA512 feb55b0dfb3cba4e9c6776b0f4730ebb4b9ea416f507e342f3b1cbf23b2bb79d96a58622faac7a980727e6739df7e0ceddf1a9d5ae483a3c7e781f7af75d115f +DIST buildah-1.37.5.tar.gz 19323742 BLAKE2B 1c03cc201f10f4d3645ecd3dac9ae97b3fe585b63ca8980e22e8b13d6dab05842c47e694b45c13875f03dadf0a656177445b0f3835a8a6faca63b288ff136013 SHA512 ee33d85ea3aa9ec423b4e48e19db69359e3fc480a61abd511fa473257aa326e9a9c4dafc985afb83f7caa9a7a5ba6a89b2a1c028fe6ef7bd4ef382ec8591331d +DIST buildah-1.38.0.tar.gz 18547712 BLAKE2B a7c8df00ecc570d44173318adf68036389ce27bad5c10c7ba2bf7a728c29647186fcf0bfb9d0949e7947aff1e64cb2683b69ea0b4cb3d4181697813de8a5870f SHA512 c9f31693043e348c2bee6219f5a42738d93aa690a81f6bb283bd4d93ea6fe0cbde50754f7ee1a7e690853b7cfb934ce60e35ceb029180f41a95192773023c243 diff --git a/app-containers/buildah/buildah-1.33.7.ebuild b/app-containers/buildah/buildah-1.33.7.ebuild deleted file mode 100644 index a24bd18a767c..000000000000 --- a/app-containers/buildah/buildah-1.33.7.ebuild +++ /dev/null @@ -1,160 +0,0 @@ -# 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 - app-crypt/gpgme:= - dev-libs/libgpg-error:= - dev-libs/libassuan:= - sys-apps/shadow:= -" -DEPEND="${RDEPEND}" -BDEPEND="dev-go/go-md2man" - -PATCHES=( - "${T}"/dont-call-as-directly-upstream-pr-5436.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() { - cat <<'EOF' > "${T}/dont-call-as-directly-upstream-pr-5436.patch" ---- a/Makefile -+++ b/Makefile -@@ -10,6 +10,8 @@ - BASHINSTALLDIR = $(PREFIX)/share/bash-completion/completions - BUILDFLAGS := -tags "$(BUILDTAGS)" - BUILDAH := buildah -+AS ?= as -+STRIP ?= strip - - GO := go - GO_LDFLAGS := $(shell if $(GO) version|grep -q gccgo; then echo "-gccgoflags"; else echo "-ldflags"; fi) -@@ -72,11 +74,11 @@ - 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),) -+ifneq ($(shell $(AS) --version | grep x86_64),) - internal/mkcw/embed/entrypoint: internal/mkcw/embed/entrypoint.s - $(AS) -o $(patsubst %.s,%.o,$^) $^ - $(LD) -o $@ $(patsubst %.s,%.o,$^) -- strip $@ -+ $(STRIP) $@ - else - .PHONY: internal/mkcw/embed/entrypoint - endif -EOF - - 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)" - default -} - -src_test() { - emake test-unit -} - -src_install() { - emake DESTDIR="${ED}" install install.completions - einstalldocs -} diff --git a/app-containers/buildah/buildah-1.34.3.ebuild b/app-containers/buildah/buildah-1.34.3.ebuild deleted file mode 100644 index cc06bf2ff42d..000000000000 --- a/app-containers/buildah/buildah-1.34.3.ebuild +++ /dev/null @@ -1,161 +0,0 @@ -# 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 - app-crypt/gpgme:= - dev-libs/libgpg-error:= - dev-libs/libassuan:= - sys-apps/shadow:= -" -DEPEND="${RDEPEND}" -BDEPEND="dev-go/go-md2man" - -PATCHES=( - "${T}"/dont-call-as-directly-upstream-pr-5436.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() { - cat <<'EOF' > "${T}/dont-call-as-directly-upstream-pr-5436.patch" ---- a/Makefile -+++ b/Makefile -@@ -14,6 +14,8 @@ - BASHINSTALLDIR = $(PREFIX)/share/bash-completion/completions - BUILDFLAGS := -tags "$(BUILDTAGS)" - BUILDAH := buildah -+AS ?= as -+STRIP ?= strip - - GO := go - GO_LDFLAGS := $(shell if $(GO) version|grep -q gccgo; then echo "-gccgoflags"; else echo "-ldflags"; fi) -@@ -76,14 +78,14 @@ - bin/buildah: $(SOURCES) cmd/buildah/*.go internal/mkcw/embed/entrypoint_amd64.gz - $(GO_BUILD) $(BUILDAH_LDFLAGS) $(GO_GCFLAGS) "$(GOGCFLAGS)" -o $@ $(BUILDFLAGS) ./cmd/buildah - --ifneq ($(shell as --version | grep x86_64),) -+ifneq ($(shell $(AS) --version | grep x86_64),) - internal/mkcw/embed/entrypoint_amd64.gz: internal/mkcw/embed/entrypoint_amd64 - gzip -k9nf $^ - - internal/mkcw/embed/entrypoint_amd64: internal/mkcw/embed/entrypoint_amd64.s - $(AS) -o $(patsubst %.s,%.o,$^) $^ - $(LD) -o $@ $(patsubst %.s,%.o,$^) -- strip $@ -+ $(STRIP) $@ - endif -EOF - - 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)" - default -} - -src_test() { - emake test-unit -} - -src_install() { - emake DESTDIR="${ED}" install install.completions - einstalldocs -} diff --git a/app-containers/buildah/buildah-1.35.3.ebuild b/app-containers/buildah/buildah-1.35.3.ebuild deleted file mode 100644 index acfc92a67c55..000000000000 --- a/app-containers/buildah/buildah-1.35.3.ebuild +++ /dev/null @@ -1,133 +0,0 @@ -# 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" - -PATCHES=( - "${FILESDIR}"/dont-call-as-directly-upstream-pr-5436.patch - "${FILESDIR}"/softcode-strip-upstream-pr-5446.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 - @@ -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)" - default -} - -src_test() { - emake test-unit -} - -src_install() { - emake DESTDIR="${ED}" install install.completions - einstalldocs -} diff --git a/app-containers/buildah/buildah-1.36.0.ebuild b/app-containers/buildah/buildah-1.37.5.ebuild index 1d1b2acc5e46..d1b02cc1d9f8 100644 --- a/app-containers/buildah/buildah-1.36.0.ebuild +++ b/app-containers/buildah/buildah-1.37.5.ebuild @@ -27,7 +27,7 @@ if [[ ${PV} == 9999* ]]; then 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" + KEYWORDS="amd64 arm64" fi RDEPEND=" @@ -115,6 +115,7 @@ src_compile() { tc-export AS LD STRIP export GOMD2MAN="$(command -v go-md2man)" + export SELINUXOPT= default } @@ -123,6 +124,6 @@ src_test() { } src_install() { - emake DESTDIR="${ED}" install install.completions + emake DESTDIR="${ED}" SELINUXOPT= install install.completions einstalldocs } diff --git a/app-containers/buildah/buildah-1.35.4.ebuild b/app-containers/buildah/buildah-1.38.0.ebuild index e1c7e23390e5..846ea4c76856 100644 --- a/app-containers/buildah/buildah-1.35.4.ebuild +++ b/app-containers/buildah/buildah-1.38.0.ebuild @@ -44,11 +44,6 @@ RDEPEND=" DEPEND="${RDEPEND}" BDEPEND="dev-go/go-md2man" -PATCHES=( - "${FILESDIR}"/dont-call-as-directly-upstream-pr-5436.patch - "${FILESDIR}"/softcode-strip-upstream-pr-5446.patch -) - pkg_pretend() { local CONFIG_CHECK="" use btrfs && CONFIG_CHECK+=" ~BTRFS_FS" @@ -101,10 +96,10 @@ src_prepare() { cat <<-'EOF' > "${T}/disable_tests.patch" --- a/Makefile +++ b/Makefile - @@ -54 +54 @@ - -all: bin/buildah bin/imgtype bin/copy bin/tutorial docs + @@ -56 +56 @@ + -all: bin/buildah bin/imgtype bin/copy bin/inet bin/tutorial docs +all: bin/buildah docs - @@ -123 +123 @@ + @@ -122 +122 @@ -docs: install.tools ## build the docs on the host +docs: ## build the docs on the host EOF @@ -120,6 +115,7 @@ src_compile() { tc-export AS LD STRIP export GOMD2MAN="$(command -v go-md2man)" + export SELINUXOPT= default } @@ -128,6 +124,6 @@ src_test() { } src_install() { - emake DESTDIR="${ED}" install install.completions + emake DESTDIR="${ED}" SELINUXOPT= install install.completions einstalldocs } diff --git a/app-containers/buildah/buildah-9999.ebuild b/app-containers/buildah/buildah-9999.ebuild index 1d1b2acc5e46..846ea4c76856 100644 --- a/app-containers/buildah/buildah-9999.ebuild +++ b/app-containers/buildah/buildah-9999.ebuild @@ -96,10 +96,10 @@ src_prepare() { cat <<-'EOF' > "${T}/disable_tests.patch" --- a/Makefile +++ b/Makefile - @@ -54 +54 @@ - -all: bin/buildah bin/imgtype bin/copy bin/tutorial docs + @@ -56 +56 @@ + -all: bin/buildah bin/imgtype bin/copy bin/inet bin/tutorial docs +all: bin/buildah docs - @@ -123 +123 @@ + @@ -122 +122 @@ -docs: install.tools ## build the docs on the host +docs: ## build the docs on the host EOF @@ -115,6 +115,7 @@ src_compile() { tc-export AS LD STRIP export GOMD2MAN="$(command -v go-md2man)" + export SELINUXOPT= default } @@ -123,6 +124,6 @@ src_test() { } src_install() { - emake DESTDIR="${ED}" install install.completions + emake DESTDIR="${ED}" SELINUXOPT= install install.completions einstalldocs } diff --git a/app-containers/buildah/files/dont-call-as-directly-upstream-pr-5436.patch b/app-containers/buildah/files/dont-call-as-directly-upstream-pr-5436.patch deleted file mode 100644 index 0fc376b1d68b..000000000000 --- a/app-containers/buildah/files/dont-call-as-directly-upstream-pr-5436.patch +++ /dev/null @@ -1,32 +0,0 @@ -From c1b43b57bb20f8796002e1d6f93bbdbc02e28f20 Mon Sep 17 00:00:00 2001 -From: Rahil Bhimjiani <me@rahil.rocks> -Date: Wed, 27 Mar 2024 14:27:09 +0530 -Subject: [PATCH] Makefile - instead of calling `as` directly, use it from env - var - -Signed-off-by: Rahil Bhimjiani <me@rahil.rocks> ---- - Makefile | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index f1ab6b8bf4..7d27a41530 100644 ---- a/Makefile -+++ b/Makefile -@@ -16,6 +16,7 @@ BUILDFLAGS := -tags "$(BUILDTAGS)" - BUILDAH := buildah - SELINUXOPT ?= $(shell test -x /usr/sbin/selinuxenabled && selinuxenabled && echo -Z) - SELINUXTYPE=container_runtime_exec_t -+AS ?= as - - GO := go - GO_LDFLAGS := $(shell if $(GO) version|grep -q gccgo; then echo "-gccgoflags"; else echo "-ldflags"; fi) -@@ -79,7 +80,7 @@ bin/buildah: $(SOURCES) cmd/buildah/*.go internal/mkcw/embed/entrypoint_amd64.gz - $(GO_BUILD) $(BUILDAH_LDFLAGS) $(GO_GCFLAGS) "$(GOGCFLAGS)" -o $@ $(BUILDFLAGS) ./cmd/buildah - test -z "${SELINUXOPT}" || chcon --verbose -t $(SELINUXTYPE) $@ - --ifneq ($(shell as --version | grep x86_64),) -+ifneq ($(shell $(AS) --version | grep x86_64),) - internal/mkcw/embed/entrypoint_amd64.gz: internal/mkcw/embed/entrypoint_amd64 - gzip -k9nf $^ - diff --git a/app-containers/buildah/files/softcode-strip-upstream-pr-5446.patch b/app-containers/buildah/files/softcode-strip-upstream-pr-5446.patch deleted file mode 100644 index 0ca0a6602a7d..000000000000 --- a/app-containers/buildah/files/softcode-strip-upstream-pr-5446.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 2cd31a0698bea846366e8e153619a108484a1a2a -Author: Rahil Bhimjiani <me@rahil.rocks> -Date: Mon Apr 1 09:25:21 2024 +0530 - - Makefile: softcode `strip`, use it from env var - - Signed-off-by: Rahil Bhimjiani <me@rahil.rocks> - -diff --git a/Makefile b/Makefile -index 7d27a4153..3a955c85a 100644 ---- a/Makefile -+++ b/Makefile -@@ -17,6 +17,7 @@ BUILDAH := buildah - SELINUXOPT ?= $(shell test -x /usr/sbin/selinuxenabled && selinuxenabled && echo -Z) - SELINUXTYPE=container_runtime_exec_t - AS ?= as -+STRIP ?= strip - - GO := go - GO_LDFLAGS := $(shell if $(GO) version|grep -q gccgo; then echo "-gccgoflags"; else echo "-ldflags"; fi) -@@ -87,7 +88,7 @@ internal/mkcw/embed/entrypoint_amd64.gz: internal/mkcw/embed/entrypoint_amd64 - internal/mkcw/embed/entrypoint_amd64: internal/mkcw/embed/entrypoint_amd64.s - $(AS) -o $(patsubst %.s,%.o,$^) $^ - $(LD) -o $@ $(patsubst %.s,%.o,$^) -- strip $@ -+ $(STRIP) $@ - endif - - diff --git a/app-containers/cni-plugins/Manifest b/app-containers/cni-plugins/Manifest index 8b15590237bf..868c9c778c17 100644 --- a/app-containers/cni-plugins/Manifest +++ b/app-containers/cni-plugins/Manifest @@ -1,3 +1,2 @@ -DIST cni-plugins-1.2.0.tar.gz 3365015 BLAKE2B 6b487a9c9b240c73510f2bc6aaa4a6c79055e43cacca8204781dbc65d231164fed9f3f68a2a0cead7a41a67bfc9d9e4480b488be26415d368da007559a721b25 SHA512 fb6fb4f46ac1610b3721f5f3a6ddfb096cbf2e5d5b792306edca5351a3944d2f802170d83e5adec01420395bf64fc8a174ede61ac9b93b5ac6b938a4b48651e6 DIST cni-plugins-1.3.0.tar.gz 3684138 BLAKE2B c5599f1d8ac3bffb802877ae8c49024a9dea1940923316e534397a8dc7e467f6fe3ceef514a41522611a8f06c4f4ba0788105081e68a4712e2eefade33226c7b SHA512 87e186b3cd64f66280f5b2293dcdd1fc22cb8f51a248124fb622adc48a893348419ba4c29c4769dede4d9e60f2e9fea5d4198f10badb4ecd20a1551e0b344e10 DIST cni-plugins-1.5.1.tar.gz 3808203 BLAKE2B 481e6c3e929d9169c643596ba48e008151aef10ff670cac9fa00294a3fe98bc5d7c9ee9f83394becb4c127290abb3b082c4124d332b32c8d97f44fcb01b7e3cf SHA512 d2e01958dd8328407164cb6be9d962321742dae7011ce7cd7b2342f5e4b4bbcd992d8249c53d3d81250a60c27f049969bbf329a75440524f52c1f1466b6e7132 diff --git a/app-containers/cni-plugins/cni-plugins-1.2.0.ebuild b/app-containers/cni-plugins/cni-plugins-1.2.0.ebuild deleted file mode 100644 index 93c3929f37d9..000000000000 --- a/app-containers/cni-plugins/cni-plugins-1.2.0.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit go-module linux-info systemd - -DESCRIPTION="Standard networking plugins for container networking" -HOMEPAGE="https://github.com/containernetworking/plugins" -SRC_URI="https://github.com/containernetworking/plugins/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64 ~riscv" -IUSE="hardened" - -RDEPEND="net-firewall/iptables" - -CONFIG_CHECK="~BRIDGE_VLAN_FILTERING ~NETFILTER_XT_MATCH_COMMENT - ~NETFILTER_XT_MATCH_MULTIPORT" - -S="${WORKDIR}/plugins-${PV}" - -src_compile() { - CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" ./build_linux.sh || die -} - -src_install() { - exeinto /opt/cni/bin - doexe bin/* - dodoc README.md - local i - for i in plugins/{meta/{bandwidth,firewall,flannel,portmap,sbr,tuning},main/{bridge,host-device,ipvlan,loopback,macvlan,ptp,vlan},ipam/{dhcp,host-local,static},sample}; do - newdoc README.md ${i##*/}.README.md - done - systemd_dounit plugins/ipam/dhcp/systemd/cni-dhcp.{service,socket} - newinitd "${FILESDIR}"/cni-dhcp.initd cni-dhcp -} diff --git a/app-containers/cni-plugins/cni-plugins-1.3.0.ebuild b/app-containers/cni-plugins/cni-plugins-1.3.0.ebuild index b21d3a20952c..c47a3aa00eb1 100644 --- a/app-containers/cni-plugins/cni-plugins-1.3.0.ebuild +++ b/app-containers/cni-plugins/cni-plugins-1.3.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -10,7 +10,7 @@ SRC_URI="https://github.com/containernetworking/plugins/archive/v${PV}.tar.gz -> LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" +KEYWORDS="amd64 arm64 ~ppc64 ~riscv" IUSE="hardened" RDEPEND="net-firewall/iptables" diff --git a/app-containers/containerd/Manifest b/app-containers/containerd/Manifest index c975c19ec600..a6b4e7834dcd 100644 --- a/app-containers/containerd/Manifest +++ b/app-containers/containerd/Manifest @@ -2,3 +2,6 @@ DIST containerd-1.7.15.tar.gz 10071827 BLAKE2B 91de9b7d777d53ecdab4af5bbb0d4ccbe DIST containerd-1.7.19.tar.gz 10157428 BLAKE2B 3f51d63d4280a11ffe308c3e65df2fefdd91f543169501cf361bb8c6d5085b6b606cc3425508246ce872c86a475e2d195dd2473fee89a47548cfdfbd810307c2 SHA512 cb58bf5148381f9f0eba096e159592f294f887c5b17f8aaf6de8fed80c515abf4f08c849bbbd266dd85ede09fe709bf7d15a61a749f1136456329c47508dbe34 DIST containerd-1.7.21.tar.gz 10188737 BLAKE2B 0a3eef5bd97b4249963d6e6b80652e2abef0ac7ece726d15efc3b1d364b3525ac7602afecfde3d376bdbec7d5ca39636e09dd8d2a96c420012ef4232afc2a6dd SHA512 fba998c8d7f2907b3e5fb09c3947c3272661ec33379c611c5110ca0151812adcd70ff6b837e97a5d4228d685902276eeb98cd82bb4c46149686e169e81943c75 DIST containerd-1.7.22.tar.gz 10189969 BLAKE2B b1fac9764a8bac0b883849786bd20c9a8e64d764186c6362978faec5ba360636caccc6c1a7c51c6781aa51f96a4e713968d1e86b54b6fe2fa9e3dfcc07727e64 SHA512 9572f2b0f49365cc3888999a0c0b7d29694922f0cbefb33e1fbbfc71781cde402537da3a23e36fd3a600a1d819bcef9acbeee423df2699fa9e3f07cfde7f9128 +DIST containerd-1.7.23.tar.gz 10192816 BLAKE2B 592e3a1992a637879f1669a660991f811db6f3d11a788c9809277b3fb9639d8b89445cbbca1de16ed45703e8506c8850d9ce68b64d1213817732d008a1847ea6 SHA512 4cb003a6ef2f9fe856665c3b7099e13b23cf07c77ed9a9ed50988d74de1933e3fe9463ae123635230f25cde38cd8a487133b11e20d829a79517c4d7fbe2ce012 +DIST containerd-1.7.24.tar.gz 10196410 BLAKE2B be5238208170f63e7328627a4407da3eefa2c03051c95228bc26dac04560c564330ae118e1b01fcbd22983073b9fe25161f1da7698449507cd8222f41ff59eba SHA512 eba2d562f336ffac981b67d2574c5951774f4c6a70ad1cc8aabb59204d1c8e9aa5b3be50c048bf04a018be1335b7ec8e47b73013de2e19805c978587b53bc85e +DIST containerd-2.0.0.tar.gz 10420188 BLAKE2B 4a75c845cabf3e0213a7cd312febc0c45b127b5b70caa5b6843e669b554e4fa65112585f3b16382180539527144d2371f02bc791cb01415eb60ad01d17f0065a SHA512 b1a89c4c53db2c69757bc40d90d585e2662ab4fffb28acb904f9710b281a9f22273ecdbab49250b229bf95b29cf1a33a352afb81967db7580ae209a83c5fb2ea diff --git a/app-containers/containerd/containerd-1.7.23.ebuild b/app-containers/containerd/containerd-1.7.23.ebuild new file mode 100644 index 000000000000..c974b09a3845 --- /dev/null +++ b/app-containers/containerd/containerd-1.7.23.ebuild @@ -0,0 +1,90 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd +GIT_REVISION=57f17b0a6295a39009d861b89e3b3b87b005ca27 + +DESCRIPTION="A daemon to control runC" +HOMEPAGE="https://containerd.io/" +SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test" + +COMMON_DEPEND=" + btrfs? ( sys-fs/btrfs-progs ) + seccomp? ( sys-libs/libseccomp ) +" + +DEPEND=" +${COMMON_DEPEND} +" + +# recommended version of runc is found in script/setup/runc-version +RDEPEND=" + ${COMMON_DEPEND} + ~app-containers/runc-1.1.14[apparmor?,seccomp?] +" + +BDEPEND=" + dev-go/go-md2man + virtual/pkgconfig +" + +# tests require root or docker +RESTRICT+="test" + +src_prepare() { + default + sed -i \ + -e "s/-s -w//" \ + -e "s/-mod=readonly//" \ + Makefile || die + sed -i \ + -e "s:/usr/local:/usr:" \ + containerd.service || die +} + +src_compile() { + local options=( + $(usev apparmor) + $(usex btrfs "" "no_btrfs") + $(usex cri "" "no_cri") + $(usex device-mapper "" "no_devmapper") + $(usev seccomp) + $(usev selinux) + ) + + myemakeargs=( + BUILDTAGS="${options[*]}" + LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" + REVISION="${GIT_REVISION}" + VERSION=v${PV} + ) + + # race condition in man target https://bugs.gentoo.org/765100 + # we need to explicitly specify GOFLAGS for "go run" to use vendor source + emake "${myemakeargs[@]}" man -j1 #nowarn + emake "${myemakeargs[@]}" all + +} + +src_install() { + rm bin/gen-manpages || die + dobin bin/* + doman man/* + newconfd "${FILESDIR}"/${PN}.confd "${PN}" + newinitd "${FILESDIR}"/${PN}.initd "${PN}" + systemd_dounit containerd.service + keepdir /var/lib/containerd + + # we already installed manpages, remove markdown source + # before installing docs directory + rm -r docs/man || die + + local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. ) + einstalldocs +} diff --git a/app-containers/containerd/containerd-1.7.24.ebuild b/app-containers/containerd/containerd-1.7.24.ebuild new file mode 100644 index 000000000000..7e9f508cd288 --- /dev/null +++ b/app-containers/containerd/containerd-1.7.24.ebuild @@ -0,0 +1,90 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd +GIT_REVISION=88bf19b2105c8b17560993bee28a01ddc2f97182 + +DESCRIPTION="A daemon to control runC" +HOMEPAGE="https://containerd.io/" +SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test" + +COMMON_DEPEND=" + btrfs? ( sys-fs/btrfs-progs ) + seccomp? ( sys-libs/libseccomp ) +" + +DEPEND=" +${COMMON_DEPEND} +" + +# recommended version of runc is found in script/setup/runc-version +RDEPEND=" + ${COMMON_DEPEND} + ~app-containers/runc-1.2.2[apparmor?,seccomp?] +" + +BDEPEND=" + dev-go/go-md2man + virtual/pkgconfig +" + +# tests require root or docker +RESTRICT+="test" + +src_prepare() { + default + sed -i \ + -e "s/-s -w//" \ + -e "s/-mod=readonly//" \ + Makefile || die + sed -i \ + -e "s:/usr/local:/usr:" \ + containerd.service || die +} + +src_compile() { + local options=( + $(usev apparmor) + $(usex btrfs "" "no_btrfs") + $(usex cri "" "no_cri") + $(usex device-mapper "" "no_devmapper") + $(usev seccomp) + $(usev selinux) + ) + + myemakeargs=( + BUILDTAGS="${options[*]}" + LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" + REVISION="${GIT_REVISION}" + VERSION=v${PV} + ) + + # race condition in man target https://bugs.gentoo.org/765100 + # we need to explicitly specify GOFLAGS for "go run" to use vendor source + emake "${myemakeargs[@]}" man -j1 #nowarn + emake "${myemakeargs[@]}" all + +} + +src_install() { + rm bin/gen-manpages || die + dobin bin/* + doman man/* + newconfd "${FILESDIR}"/${PN}.confd "${PN}" + newinitd "${FILESDIR}"/${PN}.initd "${PN}" + systemd_dounit containerd.service + keepdir /var/lib/containerd + + # we already installed manpages, remove markdown source + # before installing docs directory + rm -r docs/man || die + + local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. ) + einstalldocs +} diff --git a/app-containers/containerd/containerd-2.0.0.ebuild b/app-containers/containerd/containerd-2.0.0.ebuild new file mode 100644 index 000000000000..5f1930094da4 --- /dev/null +++ b/app-containers/containerd/containerd-2.0.0.ebuild @@ -0,0 +1,90 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd +GIT_REVISION=88bf19b2105c8b17560993bee28a01ddc2f97182 + +DESCRIPTION="A daemon to control runC" +HOMEPAGE="https://containerd.io/" +SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test" + +COMMON_DEPEND=" + btrfs? ( sys-fs/btrfs-progs ) + seccomp? ( sys-libs/libseccomp ) +" + +DEPEND=" +${COMMON_DEPEND} +" + +# recommended version of runc is found in script/setup/runc-version +RDEPEND=" + ${COMMON_DEPEND} + ~app-containers/runc-1.2.1[apparmor?,seccomp?] +" + +BDEPEND=" + dev-go/go-md2man + virtual/pkgconfig +" + +# tests require root or docker +RESTRICT+="test" + +src_prepare() { + default + sed -i \ + -e "s/-s -w//" \ + -e "s/-mod=readonly//" \ + Makefile || die + sed -i \ + -e "s:/usr/local:/usr:" \ + containerd.service || die +} + +src_compile() { + local options=( + $(usev apparmor) + $(usex btrfs "" "no_btrfs") + $(usex cri "" "no_cri") + $(usex device-mapper "" "no_devmapper") + $(usev seccomp) + $(usev selinux) + ) + + myemakeargs=( + BUILDTAGS="${options[*]}" + LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" + REVISION="${GIT_REVISION}" + VERSION=v${PV} + ) + + # race condition in man target https://bugs.gentoo.org/765100 + # we need to explicitly specify GOFLAGS for "go run" to use vendor source + emake "${myemakeargs[@]}" man -j1 #nowarn + emake "${myemakeargs[@]}" all + +} + +src_install() { + rm bin/gen-manpages || die + dobin bin/* + doman man/* + newconfd "${FILESDIR}"/${PN}.confd "${PN}" + newinitd "${FILESDIR}"/${PN}.initd "${PN}" + systemd_dounit containerd.service + keepdir /var/lib/containerd + + # we already installed manpages, remove markdown source + # before installing docs directory + rm -r docs/man || die + + local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. ) + einstalldocs +} diff --git a/app-containers/containers-common/Manifest b/app-containers/containers-common/Manifest index 09300934cd25..bcb3c04ac308 100644 --- a/app-containers/containers-common/Manifest +++ b/app-containers/containers-common/Manifest @@ -1,3 +1,4 @@ DIST containers-common-0.57.0.tar.gz 12700958 BLAKE2B 8432a7d839b94b59eabd75d4978a4d0c1340a64ed626db74e74a8318e08c61172bfba5e4f4c4b0dfffec302c5a310bb5be8fad3ab4d91a6d89ced373a0a6f297 SHA512 b993821040788085ff44e48023a64cea4e3e7e50731c359087bd287168e6849a543d930acbdaff2437fc7951acc46f7183f337dd977215eca814332e6869d1e3 DIST containers-common-0.58.0.tar.gz 13164567 BLAKE2B 17795eec2d38b4d8b9d6afeb20e249208c5ae2ac767a365ef7313d1e7c36eadb9a9eb284a657dfe3f4fcb0577448d4883fabbad76e0318425fdc03809e27cd7c SHA512 6f569d68d3b0e5ead304c7f23341808d66a47b6352c772d353d50c5f4777cd8a5a5b85d6faaf2887f828c17ec49b9c5f929177a67294b5bbb69baa80656982a8 DIST containers-common-0.59.1.tar.gz 13131960 BLAKE2B 5b3b947789f889955716816fa15a84eb2f398d6cfb59c85bd969442fb8f55715f2c17c78d963ae913d96e6a109f69da745cfc7db8d23e2ed6516f992b982dda0 SHA512 452c9b84f7631afdf39b7b1fcaf2f721bede312d8fb55b89a953f16ca3546c0df11bb23c99588a592b6375275516d1364570261fbc15301ca3ad486ee66eae32 +DIST containers-common-0.60.4.tar.gz 13106900 BLAKE2B 1afb428044bc8eebd002b884f2a2072971cd83fca561fd509b83088ccdf82b3a62d63ff32ec5ef856c3d0ee0ffac316201fa8f1d7956153ce30e2244cc860f02 SHA512 5d61415d4959486223a36ff98304363a558e6da9ccbdca94f976649a37d404ac00c8454019f60a79360029c91c9565d22868b109dbb84c19f13377e0e23dcc4d diff --git a/app-containers/containers-common/containers-common-0.60.4.ebuild b/app-containers/containers-common/containers-common-0.60.4.ebuild new file mode 100644 index 000000000000..985ebb5c0ca4 --- /dev/null +++ b/app-containers/containers-common/containers-common-0.60.4.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit readme.gentoo-r1 + +DESCRIPTION="Common config files and docs for Containers stack" +HOMEPAGE="https://github.com/containers/common" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/common.git" +else + SRC_URI="https://github.com/containers/common/archive/v${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${P#containers-}" + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" +fi + +LICENSE="Apache-2.0" +SLOT="0" +RESTRICT="test" +RDEPEND=" + >=app-containers/aardvark-dns-1.12.0 + >=app-containers/crun-1.17 + >=app-containers/containers-image-5.32.0 + >=app-containers/containers-storage-1.55.0 + app-containers/containers-shortnames + >=app-containers/netavark-1.12.0 + net-firewall/nftables + net-firewall/iptables[nftables] + >=net-misc/passt-2024.09.06 + >=sys-fs/fuse-overlayfs-1.14 +" + +BDEPEND=" + >=dev-go/go-md2man-2.0.3 +" + +PATCHES=( + "${FILESDIR}/examplify-mounts-conf.patch" +) + +DOC_CONTENTS="\n +For rootless operations, one needs to configure subuid(5) and subgid(5)\n +See /etc/sub{uid,gid} to check whether rootless user is already configured\n +If not, quickly configure it with:\n +usermod --add-subuids 1065536-1131071 <rootless user>\n +usermod --add-subgids 1065536-1131071 <rootless user>\n +" + +src_prepare() { + default + + [[ -f docs/Makefile && -f Makefile ]] || die + sed -i -e 's|/usr/local|/usr|g;' docs/Makefile Makefile || die +} + +src_compile() { + emake docs +} + +src_install() { + emake DESTDIR="${ED}" install + readme.gentoo_create_doc + + insinto /usr/share/containers + doins pkg/seccomp/seccomp.json pkg/subscriptions/mounts.conf + + keepdir /etc/containers/certs.d /etc/containers/oci/hooks.d /etc/containers/systemd /var/lib/containers/sigstore +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/app-containers/containers-common/containers-common-9999.ebuild b/app-containers/containers-common/containers-common-9999.ebuild index deb362fc0d3b..985ebb5c0ca4 100644 --- a/app-containers/containers-common/containers-common-9999.ebuild +++ b/app-containers/containers-common/containers-common-9999.ebuild @@ -21,16 +21,16 @@ LICENSE="Apache-2.0" SLOT="0" RESTRICT="test" RDEPEND=" - >=app-containers/aardvark-dns-1.10.0 - >=app-containers/crun-1.14.3 - >=app-containers/containers-image-5.30.0 - >=app-containers/containers-storage-1.53.0 + >=app-containers/aardvark-dns-1.12.0 + >=app-containers/crun-1.17 + >=app-containers/containers-image-5.32.0 + >=app-containers/containers-storage-1.55.0 app-containers/containers-shortnames - >=app-containers/netavark-1.10.3 + >=app-containers/netavark-1.12.0 net-firewall/nftables net-firewall/iptables[nftables] - >=net-misc/passt-2024.03.20 - >=sys-fs/fuse-overlayfs-1.13 + >=net-misc/passt-2024.09.06 + >=sys-fs/fuse-overlayfs-1.14 " BDEPEND=" diff --git a/app-containers/containers-image/Manifest b/app-containers/containers-image/Manifest index 1382b8858816..f1adcbdab4a1 100644 --- a/app-containers/containers-image/Manifest +++ b/app-containers/containers-image/Manifest @@ -1,2 +1,3 @@ DIST containers-image-5.29.2.tar.gz 707618 BLAKE2B f1556cbb26ceedd74a338355caf8b557c43286726f4be63544cebc9a8f4b92be78d7a0cddbedaba7352d13e9fc399f62ee114caba6c8b1ecc334dab1379e523b SHA512 f3f6e09670dc393067992a78303f01e2584dabe79ba156973a50d7a460c011e5a27d0ccdf0ff6b399099a9a3a4c57f3badf24fb5d0704efd645ab7196a544d8f DIST containers-image-5.30.0.tar.gz 719070 BLAKE2B 5952ab703b6df793f326dd4fc82f50c5f672e2b9d142e0bc706014092420e3563599d9f1c1f65f743e1a8144b91f92b2326d7bf4c3024b5efb466d777a8ad613 SHA512 89cd0d482bb5d70037ff51413b7abca01d36bc7f39e9dc130c78462e501dae32193137a367d81532afd216a7432e127728147e6e839d5d99eeb6b6680f31d4dc +DIST containers-image-5.32.2.tar.gz 735422 BLAKE2B a0585c877b4679226d1760bf873ceeb5cba7f5177ab83fa6f8a161b1f3958f3d660445556b13b4221712c241cee94429cabdb1fd4186d4dc6edba7b032fce2bc SHA512 7498f9e446b2c205b033703641f7cfcb6c8bd8f097b12ef3f734c94772d63fc7b9b40a6700d53d93919d2c34772f079aa3cb7d9f9e5a130b6587f4fe2a558df6 diff --git a/app-containers/containers-image/containers-image-5.32.2.ebuild b/app-containers/containers-image/containers-image-5.32.2.ebuild new file mode 100644 index 000000000000..2b3c1bcb8666 --- /dev/null +++ b/app-containers/containers-image/containers-image-5.32.2.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Default config and docs related to Containers' images" +HOMEPAGE="https://github.com/containers/image" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/image.git" +else + SRC_URI="https://github.com/containers/image/archive/v${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${P#containers-}" + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" +fi + +LICENSE="Apache-2.0" +SLOT="0" + +# https://github.com/gentoo/gentoo/pull/35012#discussion_r1473740969 +RESTRICT='test' +BDEPEND=">=dev-go/go-md2man-2.0.3" +RDEPEND="!<=app-containers/containers-common-0.57.0" + +src_compile() { + emake docs +} + +src_install() { + emake DESTDIR="${ED}" install + + insinto /etc/containers + doins registries.conf +} diff --git a/app-containers/containers-image/containers-image-9999.ebuild b/app-containers/containers-image/containers-image-9999.ebuild index 40770f7a7d7d..2b3c1bcb8666 100644 --- a/app-containers/containers-image/containers-image-9999.ebuild +++ b/app-containers/containers-image/containers-image-9999.ebuild @@ -22,9 +22,6 @@ SLOT="0" RESTRICT='test' BDEPEND=">=dev-go/go-md2man-2.0.3" RDEPEND="!<=app-containers/containers-common-0.57.0" -PATCHES=( - "${FILESDIR}"/fix-warnings.patch -) src_compile() { emake docs diff --git a/app-containers/containers-storage/Manifest b/app-containers/containers-storage/Manifest index bdc0a5515600..828d588b19b5 100644 --- a/app-containers/containers-storage/Manifest +++ b/app-containers/containers-storage/Manifest @@ -1,3 +1 @@ -DIST containers-storage-1.51.0.tar.gz 4283732 BLAKE2B 108401d68e617e6237e68cf2147113680e0452a8d15ee099da9872508800f3e7b8f2c5508e17d9c5f3d58fec4efc1c20f23f1a567fe592533c0e63efd05ae5c8 SHA512 89916b49438bce8bb774b4aa799676d4b3a946a0b5207a1b5241b1a3ac0875b06b3cd8e81d7e23332ceae6010b693516fc31d8c7f75a37e7ad3056a83c75b6c1 -DIST containers-storage-1.53.0.tar.gz 4291738 BLAKE2B 939ecca8a948165c42453d5461429d46249d73582869793969f9d4ae52d0a9fec25e6c39cd13190dad0730d9a17de7af1f237b3cf5434fd30f442c78e57ee7b3 SHA512 ea4a1d1899208eb8861e36beba206724b1f55cfd6007bc5a90c3a6a5e02835b4a2985814dc9363c31dcdc81a3fb331b29f51f5523628edb8d9c64c465d6dcaa3 -DIST containers-storage-1.54.0.tar.gz 4165066 BLAKE2B 30f3e4287e9db46fca81ae6c08d3016ec4be6f38a4981d310f06cbc72e4125b458446fe49675f53232efdf0bec58e9cd18aa90424677e1b726338f1fb62b7172 SHA512 e3535ab378bcb7b852d1ebf431e94696f53da469278f618c07dde2d3c8c6b5b3a4c71d65a9c14d1c1b4fa1e41a0550029468ef9ba1f24c1d3294a5aeec55b5fd +DIST containers-storage-1.55.1.tar.gz 4197824 BLAKE2B 5859e2267096541449aeff8576ad1dc00a72993d123ec5571e775f0081a6bc9cfc588bfd522bf7742bd417314e3a699d51e57127f66c152abb7cf805ffe61464 SHA512 3ba244d28e25c6a88f01a73ff26a4a0747c71124a6191d086d8521e1622f36740cfa0b1cbac56f7699a5af9a7001382e71c32fd0644960a53a97c00fd09a754e diff --git a/app-containers/containers-storage/containers-storage-1.51.0.ebuild b/app-containers/containers-storage/containers-storage-1.51.0.ebuild deleted file mode 100644 index e06dc0abad14..000000000000 --- a/app-containers/containers-storage/containers-storage-1.51.0.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Default config and docs related to Containers' storage" -HOMEPAGE="https://github.com/containers/storage" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/storage.git" -else - SRC_URI="https://github.com/containers/storage/archive/v${PV}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${P#containers-}" - KEYWORDS="amd64 arm64 ~riscv" -fi - -LICENSE="Apache-2.0" -SLOT="0" - -BDEPEND=">=dev-go/go-md2man-2.0.2" - -src_prepare() { - default - eapply "${FILESDIR}"/system-md2man-path.patch -} - -src_compile() { - emake -C docs containers-storage.conf.5 -} - -src_install() { - emake DESTDIR="${ED}" -C docs install - - insinto /etc/containers - doins storage.conf -} diff --git a/app-containers/containers-storage/containers-storage-1.54.0.ebuild b/app-containers/containers-storage/containers-storage-1.54.0.ebuild deleted file mode 100644 index be92b5c954ce..000000000000 --- a/app-containers/containers-storage/containers-storage-1.54.0.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Default config and docs related to Containers' storage" -HOMEPAGE="https://github.com/containers/storage" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/storage.git" -else - SRC_URI="https://github.com/containers/storage/archive/v${PV}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${P#containers-}" - KEYWORDS="~amd64 ~arm64 ~loong ~riscv" -fi - -LICENSE="Apache-2.0" -SLOT="0" - -BDEPEND=">=dev-go/go-md2man-2.0.2" - -src_compile() { - emake -C docs GOMD2MAN=go-md2man containers-storage.conf.5 -} - -src_install() { - emake DESTDIR="${ED}" -C docs install - - insinto /etc/containers - doins storage.conf -} diff --git a/app-containers/containers-storage/containers-storage-1.53.0.ebuild b/app-containers/containers-storage/containers-storage-1.55.1.ebuild index 2b2cde252bcd..360694b3adcd 100644 --- a/app-containers/containers-storage/containers-storage-1.53.0.ebuild +++ b/app-containers/containers-storage/containers-storage-1.55.1.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="https://github.com/containers/storage/archive/v${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P#containers-}" - KEYWORDS="amd64 arm64 ~riscv" + KEYWORDS="amd64 arm64 ~loong ~riscv" fi LICENSE="Apache-2.0" diff --git a/app-containers/containers-storage/files/system-md2man-path.patch b/app-containers/containers-storage/files/system-md2man-path.patch deleted file mode 100644 index f7d8d58aeb80..000000000000 --- a/app-containers/containers-storage/files/system-md2man-path.patch +++ /dev/null @@ -1,7 +0,0 @@ ---- a/docs/Makefile -+++ b/docs/Makefile -@@ -1,2 +1,3 @@ --GOMD2MAN = ../tests/tools/build/go-md2man -+GOMD2MAN = $(shell command -v go-md2man) -+ - PREFIX ?= ${DESTDIR}/usr diff --git a/app-containers/cri-o/Manifest b/app-containers/cri-o/Manifest index 5c4967d78dee..cc00c81c09d8 100644 --- a/app-containers/cri-o/Manifest +++ b/app-containers/cri-o/Manifest @@ -1,2 +1 @@ -DIST cri-o-1.29.2.tar.gz 21203342 BLAKE2B deec88f8a505bdc1f184a3512da7f6d4b78499c4a66cacf0651a9fe56b62d33d62eaaf2ce68e5d8e856e13988b26e076ab69c24b30a62b42d88656441d948fcb SHA512 dd4105e0097a098b9009b00b59a8e8aeaad85b07177305e2e4b2c68a583a0c342e7a615f47a8cbcb7f179035f2c279573069f15aa1e91e491fe770eec1df326c -DIST cri-o-1.30.4.tar.gz 19645954 BLAKE2B bb55eb674e7703ca313ed03cf6fa9952390121440a37c3413aac0c739b2cd7f03d36993139d41ae210faabb0530cab939074a78b8aa4319e0994063132a2e344 SHA512 fe0d69107e186943482909dac5e332226d7dfd5a1702722edc5c4f5df3ad9c6bff63e43dc7831c057ecc3ca387ee77815d43f531ad1e7b921d645d59797aa95d +DIST cri-o-1.31.2.tar.gz 19921920 BLAKE2B 4e60c15d73691dabab8f7f1229b0b8e534393128a53cd31639509454286ec237cf5e6bf258c8e06478b76b872b6e1e8d3481b19a277be4c0bf756b1a6d858d95 SHA512 be42d08ee2a9d030d9279dee269d121822de5c74aafa765688c91383a284cda890aa969a5a2b0649835893bd3b382e6bf2a1f81991710b479b4159877e0626aa diff --git a/app-containers/cri-o/cri-o-1.30.4.ebuild b/app-containers/cri-o/cri-o-1.30.4.ebuild deleted file mode 100644 index 74f118a739af..000000000000 --- a/app-containers/cri-o/cri-o-1.30.4.ebuild +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -EGIT_COMMIT=dbc00ffd41a487c847158032193b6dca9b49e821 - -inherit go-module - -DESCRIPTION="OCI-based implementation of Kubernetes Container Runtime Interface" -HOMEPAGE="https://cri-o.io/" -SRC_URI="https://github.com/cri-o/${PN}/archive/v${PV}.tar.gz -> ${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" -IUSE="btrfs +device-mapper selinux systemd" - -COMMON_DEPEND=" - app-crypt/gpgme:= - app-containers/conmon - app-containers/runc - dev-libs/glib:= - dev-libs/libassuan:= - dev-libs/libgpg-error:= - net-firewall/conntrack-tools - net-firewall/iptables - app-containers/cni-plugins - net-misc/socat - sys-apps/iproute2 - sys-libs/libseccomp:= - btrfs? ( sys-fs/btrfs-progs ) - device-mapper? ( sys-fs/lvm2:= ) - selinux? ( sys-libs/libselinux:= ) - systemd? ( sys-apps/systemd:= )" -DEPEND=" - ${COMMON_DEPEND} - dev-go/go-md2man" -RDEPEND="${COMMON_DEPEND} - !<app-containers/podman-1.3.2-r1 - selinux? ( sec-policy/selinux-crio )" - -src_prepare() { - default - - sed -e '/^export GOPROXY=/d' \ - -e '/^GIT_.*/d' \ - -e '/ git diff --exit-code/d' \ - -e 's/$(GO) build -i/$(GO) build -v -work -x/' \ - -e 's/\${GIT_COMMIT}/'${EGIT_COMMIT}'/' \ - -e "s|^GIT_COMMIT := .*|GIT_COMMIT := ${EGIT_COMMIT}|" \ - -e "s|^COMMIT_NO := .*|COMMIT_NO := ${EGIT_COMMIT}|" \ - -i Makefile || die - - echo ".NOTPARALLEL: binaries docs" >> Makefile || die - - sed -e 's:/usr/local/bin:/usr/bin:' \ - -i contrib/systemd/* || die -} - -src_compile() { - [[ -f hack/btrfs_installed_tag.sh ]] || die - use btrfs || { echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ - hack/btrfs_installed_tag.sh || die; } - - [[ -f hack/libdm_installed.sh ]] || die - use device-mapper || { echo -e "#!/bin/sh\necho exclude_graphdriver_devicemapper" > \ - hack/libdm_installed.sh || die; } - - [[ -f hack/selinux_tag.sh ]] || die - use selinux || { echo -e "#!/bin/sh\ntrue" > \ - hack/selinux_tag.sh || die; } - - mkdir -p bin || die - emake all \ - GOBIN="${S}/bin" \ - GO_BUILD="go build ${GOFLAGS}" \ - GO_MD2MAN="$(which go-md2man)" -} - -src_install() { - emake install install.config install.systemd \ - DESTDIR="${D}" \ - GO_MD2MAN="$(which go-md2man)" \ - PREFIX="${D}${EPREFIX}/usr" - keepdir /etc/crio - mv "${ED}/etc/crio/crio.conf"{,.example} || die - - newinitd "${FILESDIR}/crio.initd" crio - - insinto /etc/logrotate.d - newins "${FILESDIR}/${PN}.logrotated" "${PN}" - - # Suppress crio log error messages triggered if these don't exist. - keepdir /etc/containers/oci/hooks.d - keepdir /usr/share/containers/oci/hooks.d - - # Suppress crio "Missing CNI default network" log message. - keepdir /etc/cni/net.d - insinto /etc/cni/net.d - doins contrib/cni/99-loopback.conflist -} diff --git a/app-containers/cri-o/cri-o-1.29.2.ebuild b/app-containers/cri-o/cri-o-1.31.2.ebuild index 31584eebabb9..dc7fce58874d 100644 --- a/app-containers/cri-o/cri-o-1.29.2.ebuild +++ b/app-containers/cri-o/cri-o-1.31.2.ebuild @@ -3,7 +3,7 @@ EAPI=8 -EGIT_COMMIT=d317b5dc918bbfbc78481072a0d93e572aa8d0e8 +EGIT_COMMIT=920af25f2b6fd4f52bced0e73f696e48464da543 inherit go-module @@ -39,6 +39,7 @@ DEPEND=" RDEPEND="${COMMON_DEPEND} !<app-containers/podman-1.3.2-r1 selinux? ( sec-policy/selinux-crio )" +BDEPEND="sys-apps/which" src_prepare() { default diff --git a/app-containers/cri-tools/Manifest b/app-containers/cri-tools/Manifest index f6b768507883..ee719ecb7abb 100644 --- a/app-containers/cri-tools/Manifest +++ b/app-containers/cri-tools/Manifest @@ -1,3 +1,4 @@ DIST cri-tools-1.25.0.tar.gz 7905707 BLAKE2B 79595f31fc22aff608406bad4319a60dddcabda5f4dab8706305f11500b3db43f1d7021a340a096227d4580212953f32a95b05bbf81c1236f8fa8cf635017abb SHA512 dc04359320d59d6b3789e4e81fb613f3795b7e82dbad681393eaeff2c876e5b0393dd9384d7857d24ada5de34d03e151f7cf121367cc20e71d0b78607372b3a1 DIST cri-tools-1.27.0.tar.gz 8465050 BLAKE2B d6c0429271ebc4085e75b54d7f3b9f75ab796e63bc9ae7562105296b13bbad8b512293a7d25abf1ab946f4bf54e672016fdb72696c12c730d21ac74724da465c SHA512 b94122e6401eb0c33b9c3d112274b7ab20cbbad05e76a54933e79d2e42ded2d684771cb9ed703a6c1afa381844142b6f1b4dc77d17e915f9a42c236fd8426b9b DIST cri-tools-1.31.1.tar.gz 7830559 BLAKE2B 5ec935be8d453a2d024fb8b07c8c7a21a15c23c7aba03b9030806c5ed47698f41a5167b02c3d38e792fec035725fccdff92867e68c5b2c8a06ff040e4c37cc9e SHA512 a72946944207d20f27236da12f7c2d532a1c9ebc881c3af4709494f7abc6f7b2d421934006a535a0b4a35926f09f58315ff0aaf4da870fd5a65281f547ef86a1 +DIST cri-tools-1.32.0.tar.gz 7682096 BLAKE2B 125fc9014942e681353ef49d4d397af4fc77500c0fb37d2d1be0850839c37f51f2ef41b5c7d9ca422e814d1fe50f985bfd42d2bba11d391cea66b3bec381dc08 SHA512 654cfd4d546932d48c02e19071e137fa7565a5134ba1845498d61f2dfef45fca722a51dbadb7a467214f7424290c53cb79a2908684d1fbd3820836b55640f66d diff --git a/app-containers/cri-tools/cri-tools-1.32.0.ebuild b/app-containers/cri-tools/cri-tools-1.32.0.ebuild new file mode 100644 index 000000000000..21381a7af4bb --- /dev/null +++ b/app-containers/cri-tools/cri-tools-1.32.0.ebuild @@ -0,0 +1,33 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 go-module + +DESCRIPTION="CLI and validation tools for Kubelet Container Runtime (CRI)" +HOMEPAGE="https://github.com/kubernetes-sigs/cri-tools" +SRC_URI="https://github.com/kubernetes-sigs/cri-tools/archive/v${PV}.tar.gz -> ${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" +RESTRICT="test" + +DOCS=( docs {README,RELEASE,CHANGELOG,CONTRIBUTING}.md ) + +src_compile() { + emake VERSION="${PV}" + find build/ -name crictl -exec cp {} build/bin/ \; || die + ./build/bin/crictl completion bash > "crictl.bash" || die + ./build/bin/crictl completion zsh > "crictl.zsh" || die +} + +src_install() { + einstalldocs + + dobin ./build/bin/crictl + newbashcomp crictl.bash crictl + insinto /usr/share/zsh/site-functions + newins crictl.zsh _crictl +} diff --git a/app-containers/crun/Manifest b/app-containers/crun/Manifest index 53569abf7193..6681d587bded 100644 --- a/app-containers/crun/Manifest +++ b/app-containers/crun/Manifest @@ -1,4 +1,5 @@ DIST crun-1.11.2.tar.xz 738176 BLAKE2B ef13475089c87599159ce00dd26fbb19c7f2bb9564352c1f8040925e521bb924cf28a8d1f37cc95ce7d1b2797b8654740e9ad08352e357c8c9e2d176466101e0 SHA512 ae35ffb9bd1c7acebfd7f6236fa6a7ad524593d8f2cea1203f0e89023e9791d2d5bbc5c5cfc32ee5f18ad80662a1659076ab5f4d5ff74c6026842f2dd12be977 DIST crun-1.14.3.tar.xz 750456 BLAKE2B 5a63b5da2f85ff1a83d4589be224c5b7a1123b6d7714b90a63c1907b78d42392aff25ffe5d9a4127173ac47026d57e9c93a39f5ba4b07de7f9f3722c14e6d203 SHA512 d6645c519ff00dda5def6d58240600d15e76969489918d51c0def2fee7dbad6374f83e5afc14a998d176aa2944765df5cd84c3031b265a1931ab23f2fc965fc1 DIST crun-1.16.tar.gz 1759549 BLAKE2B 1dfdf9177ae52e627c92e70e48a558bb355c87f629e95f1debaf6b7d8c38802110bd796545d5b2dbe3cac7f8de1f9c94e9b5f046cc618e73afd4c434188d585c SHA512 718e17abdb8c2a9e1fdd39f09e7e3e435d88c5785cc13c1e67f492847d7d938cf399aecc055ecf88720fa8f73b8539f057e3b0e53f10f4e382f5664a2243b959 +DIST crun-1.17.tar.gz 1773153 BLAKE2B 9f75cb6879e0b8cd47bb8939c1cf6f88d5e13e6d8932c652ea20c64501bc69fbda84dd061866a9c08e353848f39d1022bf67fbc0d160d5ef7fdc08c1edec03f9 SHA512 7556467c5e0e93bb7321e2e88de8a2f537340e3e0acaa5501eab8deb0f4bb93c4561f8d063156789d3ee98fdd49069fc52c0ed0c773bd44db476eeeccc16aa1a DIST crun-1.8.4.tar.xz 729552 BLAKE2B 8169518a0ddd8deb3820f7030d03dec6941d5d34fb73a036b82f15b0d8f2f702e117de00b829a16cb9976e118f5a5ca732b1cd572708f664cfeafc564f883824 SHA512 2ed80db2e7ddd1438bbe33e99ec2cdbcc55c4869504f719ff9302e834929752af09a59cd905accb37ee5f6cae3b9b16fd4f4c3fdab31db5fc38b007c1505bfa0 diff --git a/app-containers/crun/crun-1.17.ebuild b/app-containers/crun/crun-1.17.ebuild new file mode 100644 index 000000000000..c2730e40b57e --- /dev/null +++ b/app-containers/crun/crun-1.17.ebuild @@ -0,0 +1,75 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) + +inherit python-any-r1 + +DESCRIPTION="A fast and low-memory footprint OCI Container Runtime fully written in C" +HOMEPAGE="https://github.com/containers/crun" + +if [[ "$PV" == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/${PN}.git" +else + SRC_URI="https://github.com/containers/${PN}/releases/download/${PV}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv" +fi + +LICENSE="GPL-2+ LGPL-2.1+" +SLOT="0" +IUSE="+bpf +caps criu +seccomp selinux systemd static-libs" + +DEPEND=" + dev-libs/yajl:= + sys-kernel/linux-headers + caps? ( sys-libs/libcap ) + criu? ( >=sys-process/criu-3.15 ) + seccomp? ( sys-libs/libseccomp ) + systemd? ( sys-apps/systemd:= ) +" +RDEPEND="${DEPEND} + selinux? ( sec-policy/selinux-container )" +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig +" + +src_configure() { + local myeconfargs=( + $(use_enable bpf) + $(use_enable caps) + $(use_enable criu) + $(use_enable seccomp) + $(use_enable systemd) + $(usex static-libs '--enable-shared --enable-static' '--enable-shared --disable-static' '' '') + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + emake "DESTDIR=${D}" install-exec + doman crun.1 + einstalldocs + + einfo "Cleaning up .la files" + find "${ED}" -name '*.la' -delete || die +} + +src_test() { + emake check-TESTS -C ./libocispec + + # the crun test suite is comprehensive to the extent that tests will fail + # within a sandbox environment, due to the nature of the privileges + # required to create linux "containers". + local supported_tests=( + "tests/tests_libcrun_utils" + "tests/tests_libcrun_errors" + "tests/tests_libcrun_intelrdt" + "tests/test_oci_features" + ) + emake check-TESTS TESTS="${supported_tests[*]}" +} diff --git a/app-containers/devcontainer/Manifest b/app-containers/devcontainer/Manifest index e37ba75f03e2..3cb269360a51 100644 --- a/app-containers/devcontainer/Manifest +++ b/app-containers/devcontainer/Manifest @@ -1,5 +1 @@ -DIST devcontainer-0.67.0.tgz 620141 BLAKE2B e6c8718a21e29c6f921968cb42c55e3d57147579c0f42b57846893dac899cdd88520b2ffcfe675fd5427047fdcd5f1eb1636c10eb05c5509e62dcb8d2a8942f8 SHA512 91af4cba268ce23fce4cffec2fdb12902fe4349e84065710caf66a8987b4745e0a948ded3e2a191dd9dff52c4cf9789b41306601567e6081085ca6250c5b8705 -DIST devcontainer-0.68.0.tgz 620875 BLAKE2B ef8a395b5c34466032edf9157f8b5eeb95d349f8ad72220f1e05e8b31b7cae823fa15272f7e9898dc953414587fc3ccc2688e38e3028200a1b6064bb6a068963 SHA512 d2e84b514ad0a51e5dfbacbc6ede64727df40417a60fe589d682d0c88e9150da5491e76b94cc80ccddc9d7d3c4971ee36d8e78c7c59046ee39d098832ee9989b -DIST devcontainer-0.69.0.tgz 621256 BLAKE2B 2afc8edee15ad9cafd8b2fb6150154e4b759de656d999f200d9529c15c77822fd8fb9dbf711c67bad3b2801746540e575e1e5cf6ce599e06d09cfdd64f73439f SHA512 095de76f69279b6200a38d46a7d1bd9e0c528a3e1cabe72b0f151cd840a45509e886dfdacee29afde476e77bef2c6e2eb71cdc20f16d85ea63e605224e2e0f0e -DIST devcontainer-0.70.0.tgz 621528 BLAKE2B ede937273928b8d37e64555cd8e600ff33792942d85c1a99d5489909bfe62f10587a09633ebb18e7d3ca8ee902bb43af03243984f3004446d62c1850b4986399 SHA512 1ead34033ce65a6e8967bd1bb35f631869a75cb44b682dc48fc4dec26046f4466f3b1c5f83eb0140653926364b8e40aa13f6f787eb8a80267834c68418a4c685 -DIST devcontainer-0.71.0.tgz 621743 BLAKE2B 6605d9c48d0041534f2982dd870b77e0453560be7652bbdac13a00e01fadbe0cd1c59048e70c7019bf2dab85ea9de2963bdcc03b7462e8c9a88cad8341ba7d0b SHA512 332d77983402672e3316c2285362d57679b7836a12bf1024a7e67580efdc601606dd851db5e2041a6e378a0abaed63c4a5d26a1372e32a420aa7823a7c907311 +DIST devcontainer-0.72.0.tgz 621831 BLAKE2B f762bfafab73dd03da65e5b0932cb5f067dc613c4e3889bc19b8be8da877a55f17577054617d7322478666b5fc25dc167ba84bd0efa9a1562eb27bdc6a893ce5 SHA512 bc3bf7dff2393cec35c0326670c6ce09359ddf14e4e1b6d5aee27d420af97a22d29753ac7ee7cde567de4d9aa02b51deaab36ab47ff13f208a0762d70cd22fdf diff --git a/app-containers/devcontainer/devcontainer-0.68.0.ebuild b/app-containers/devcontainer/devcontainer-0.68.0.ebuild deleted file mode 100644 index 10d7f50fc167..000000000000 --- a/app-containers/devcontainer/devcontainer-0.68.0.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Reference implementation of the Development Containers specification" -HOMEPAGE="https://containers.dev/ - https://github.com/devcontainers/cli/" -SRC_URI="https://registry.npmjs.org/@devcontainers/cli/-/cli-${PV}.tgz - -> ${P}.tgz" -S="${WORKDIR}/package" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 ~x86" - -RDEPEND=" - net-libs/nodejs -" -BDEPEND=" - >=net-libs/nodejs-16[npm] -" - -DOCS=( CHANGELOG.md README.md ) - -src_compile() { - # Skip, nothing to compile here. - : -} - -src_install() { - local -a my_npm_opts=( - --audit false - --color false - --foreground-scripts - --global - --offline - --omit dev - --prefix "${ED}/usr" - --progress false - --verbose - ) - npm "${my_npm_opts[@]}" install "${DISTDIR}/${P}.tgz" || die "npm install failed" - - einstalldocs -} diff --git a/app-containers/devcontainer/devcontainer-0.69.0.ebuild b/app-containers/devcontainer/devcontainer-0.69.0.ebuild deleted file mode 100644 index 991cd956e37b..000000000000 --- a/app-containers/devcontainer/devcontainer-0.69.0.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Reference implementation of the Development Containers specification" -HOMEPAGE="https://containers.dev/ - https://github.com/devcontainers/cli/" -SRC_URI="https://registry.npmjs.org/@devcontainers/cli/-/cli-${PV}.tgz - -> ${P}.tgz" -S="${WORKDIR}/package" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -RDEPEND=" - net-libs/nodejs -" -BDEPEND=" - >=net-libs/nodejs-16[npm] -" - -DOCS=( CHANGELOG.md README.md ) - -src_compile() { - # Skip, nothing to compile here. - : -} - -src_install() { - local -a my_npm_opts=( - --audit false - --color false - --foreground-scripts - --global - --offline - --omit dev - --prefix "${ED}/usr" - --progress false - --verbose - ) - npm "${my_npm_opts[@]}" install "${DISTDIR}/${P}.tgz" || die "npm install failed" - - einstalldocs -} diff --git a/app-containers/devcontainer/devcontainer-0.70.0.ebuild b/app-containers/devcontainer/devcontainer-0.70.0.ebuild deleted file mode 100644 index 991cd956e37b..000000000000 --- a/app-containers/devcontainer/devcontainer-0.70.0.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Reference implementation of the Development Containers specification" -HOMEPAGE="https://containers.dev/ - https://github.com/devcontainers/cli/" -SRC_URI="https://registry.npmjs.org/@devcontainers/cli/-/cli-${PV}.tgz - -> ${P}.tgz" -S="${WORKDIR}/package" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -RDEPEND=" - net-libs/nodejs -" -BDEPEND=" - >=net-libs/nodejs-16[npm] -" - -DOCS=( CHANGELOG.md README.md ) - -src_compile() { - # Skip, nothing to compile here. - : -} - -src_install() { - local -a my_npm_opts=( - --audit false - --color false - --foreground-scripts - --global - --offline - --omit dev - --prefix "${ED}/usr" - --progress false - --verbose - ) - npm "${my_npm_opts[@]}" install "${DISTDIR}/${P}.tgz" || die "npm install failed" - - einstalldocs -} diff --git a/app-containers/devcontainer/devcontainer-0.71.0.ebuild b/app-containers/devcontainer/devcontainer-0.71.0.ebuild deleted file mode 100644 index 991cd956e37b..000000000000 --- a/app-containers/devcontainer/devcontainer-0.71.0.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Reference implementation of the Development Containers specification" -HOMEPAGE="https://containers.dev/ - https://github.com/devcontainers/cli/" -SRC_URI="https://registry.npmjs.org/@devcontainers/cli/-/cli-${PV}.tgz - -> ${P}.tgz" -S="${WORKDIR}/package" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -RDEPEND=" - net-libs/nodejs -" -BDEPEND=" - >=net-libs/nodejs-16[npm] -" - -DOCS=( CHANGELOG.md README.md ) - -src_compile() { - # Skip, nothing to compile here. - : -} - -src_install() { - local -a my_npm_opts=( - --audit false - --color false - --foreground-scripts - --global - --offline - --omit dev - --prefix "${ED}/usr" - --progress false - --verbose - ) - npm "${my_npm_opts[@]}" install "${DISTDIR}/${P}.tgz" || die "npm install failed" - - einstalldocs -} diff --git a/app-containers/devcontainer/devcontainer-0.67.0.ebuild b/app-containers/devcontainer/devcontainer-0.72.0.ebuild index 10d7f50fc167..10d7f50fc167 100644 --- a/app-containers/devcontainer/devcontainer-0.67.0.ebuild +++ b/app-containers/devcontainer/devcontainer-0.72.0.ebuild diff --git a/app-containers/distrobox/Manifest b/app-containers/distrobox/Manifest index edfce52369f2..c29269c3ac9d 100644 --- a/app-containers/distrobox/Manifest +++ b/app-containers/distrobox/Manifest @@ -1 +1 @@ -DIST distrobox-1.7.2.1.tar.gz 6888919 BLAKE2B 1fd4e49585f686cf9f434c3285935bdda1131684b74dfcc20b018ab9853fb13516f3dbaf7c16b9ea55a0d038e3d9eb297bcea74c95755fbe60ef6512a9ce0df8 SHA512 aaf4324a9a31844dc08a6cc4e06d3b725675c92df01b558e733c96701d7e9700baabc1afad97ce5e2a8e2345defcea71c85f0ea6667249316f850aeca5aea149 +DIST distrobox-1.8.0.tar.gz 6915152 BLAKE2B ac1d3e8b99c1f9ec93518ec92c023aab76849a258e0482c23667ac3e7f4f80b4e93a4c7f0636c1bdd93dfe3dc67ccfc28261fb7f83d998259b8a0209534d3c90 SHA512 5d34c8aea935a6ea328071268b63ba8a5cd3e7962f85e9753e0adfcca6121c560d790124a1ce288ec6362e4c58e4e732d45a2873053a48a3d9b8bd823ddd72c5 diff --git a/app-containers/distrobox/distrobox-1.7.2.1.ebuild b/app-containers/distrobox/distrobox-1.8.0.ebuild index 3d1b2ae515fe..3d1b2ae515fe 100644 --- a/app-containers/distrobox/distrobox-1.7.2.1.ebuild +++ b/app-containers/distrobox/distrobox-1.8.0.ebuild diff --git a/app-containers/distrobuilder/Manifest b/app-containers/distrobuilder/Manifest index f5226ec2651a..bfebe222df10 100644 --- a/app-containers/distrobuilder/Manifest +++ b/app-containers/distrobuilder/Manifest @@ -2,3 +2,5 @@ DIST distrobuilder-2.1.tar.gz 5599048 BLAKE2B 90e82a20a3ef61d13148951956bb1f74cc DIST distrobuilder-2.1.tar.gz.asc 833 BLAKE2B fb3aadbc989438b0606c88e74fdd86e809b6373b907b37372cbbc0ca99415821f61772205967e0a7aa26b0bdaceb66df4ab39da1f08c339edeb84e66a04aab56 SHA512 0220fa34d966e2b3a244af21a894f5db7556b891ee3205b605ef633699553f0f53d876412c855010a0ef685fcfe376997790cf51d59fd46b7c9ba539507de4e3 DIST distrobuilder-3.0.tar.gz 6135124 BLAKE2B 71cf594cdece46890418ea58af06205c59beaecce46a977efadcb336b93f0e1ed85ba4c1563a1f9f95937e935f844c91b6e45dfc73c0210f134ba3a694adea1d SHA512 c2218e6312257e5f15077d8380b9b49f7b8afd7ed5e43d46ac5d18a8cc332b096ab50c7301f74eb93769548c10f273e21a584ab2e908260ead4d2b219683bd1c DIST distrobuilder-3.0.tar.gz.asc 833 BLAKE2B 9a6fba0101eaea411a1b56359265c02533739a180c095ef2edd07dbe65c1d3bd2c1deab46e0cfdab362a282b85843659c8876853252b7ab1ab49e9f3f3dc1e8f SHA512 238a0a93575cb05fcd13fc32b5faed7592ff3345ae91d07fc1ede5696903f2e4da3d6d79bf39bc05ac16f0c8e04afe3eefa0e96b2c789992f55859bac6fd56d0 +DIST distrobuilder-3.1.tar.gz 6184215 BLAKE2B 2cb88f90c4459f71a2878824f7cb8f1d982f960ef498251561f58a57948d4dca35e67c85b15fff584db9ba369da07055d4854689f6d01a8f0f22dff97e813424 SHA512 5b0853a5f9a31b635f2d5160e918af8b7a66812570a1e50e70a515ef581bffe3904f6cf2487fa3d6691ed76ff34f97cd24b645b5f5ba146fec2127c3d9f21558 +DIST distrobuilder-3.1.tar.gz.asc 833 BLAKE2B 6986484fd6efa20eb625ace7a8395abef82c4bc685e45792072cfe3c78bf060bc5e5ec776a801fac4ac32f49088f13029a4dd3fbd41fc008df7100f1a3c805e6 SHA512 7b1c9d7dcb59dfe93635bb8fe5b2a65c030a5da5cacb3c22fb2cdadffec1252ad68901b92efc0eedb0f8aac26cb14a9b5f934caa920d77039d150fe817bd1e21 diff --git a/app-containers/distrobuilder/distrobuilder-3.1.ebuild b/app-containers/distrobuilder/distrobuilder-3.1.ebuild new file mode 100644 index 000000000000..babc8dc8f04f --- /dev/null +++ b/app-containers/distrobuilder/distrobuilder-3.1.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module linux-info optfeature + +DESCRIPTION="System container image builder for LXC and incus" +HOMEPAGE="https://linuxcontainers.org/distrobuilder/introduction/" + +SRC_URI="https://linuxcontainers.org/downloads/distrobuilder/distrobuilder-${PV}.tar.gz + verify-sig? ( https://linuxcontainers.org/downloads/distrobuilder/distrobuilder-${PV}.tar.gz.asc )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~ppc64" +IUSE="verify-sig" + +RDEPEND="app-cdr/cdrtools + app-crypt/gnupg + dev-util/debootstrap + dev-vcs/git + net-misc/rsync + sys-fs/squashfs-tools" +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" + +# Test deps aren't vendored. +RESTRICT="test" + +CONFIG_CHECK="~OVERLAY_FS" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc + +GOPATH="${S}/_dist" + +src_compile() { + export GOPATH="${S}/_dist" + emake +} + +src_test() { + export GOPATH="${S}/_dist" + emake check +} + +src_install() { + export GOPATH="${S}/_dist" + dobin ${GOPATH}/bin/distrobuilder + dodoc -r doc/* +} + +pkg_postinst() { + optfeature_header "Optional support" + optfeature "building MS Windows images" app-arch/wimlib app-misc/hivex +} diff --git a/app-containers/docker-buildx/docker-buildx-0.11.2.ebuild b/app-containers/docker-buildx/docker-buildx-0.11.2.ebuild index 8cecb6eed7ae..859c9d9d75b2 100644 --- a/app-containers/docker-buildx/docker-buildx-0.11.2.ebuild +++ b/app-containers/docker-buildx/docker-buildx-0.11.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/docker/buildx.git" else SRC_URI="https://github.com/docker/buildx/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" S="${WORKDIR}/${MY_PN}-${PV}" fi diff --git a/app-containers/docker-cli/Manifest b/app-containers/docker-cli/Manifest index 36bc548f97e8..95b5d72b80ff 100644 --- a/app-containers/docker-cli/Manifest +++ b/app-containers/docker-cli/Manifest @@ -2,3 +2,7 @@ DIST docker-cli-26.1.0-man.tar.xz 79004 BLAKE2B 36dcf969c6567680990420d6d177101b DIST docker-cli-26.1.0.tar.gz 7213165 BLAKE2B 302236467f2b6f3f46b0f0c75e89c2cef0cd251d36e12f78a67c906cfb85b842b998fd3b07f4a2dfc0a04825a9b105d90f11d176055ded397f2d4e9145639d5d SHA512 1a1e9af1a836765ffa91f7f2e1b27911e2b6b373c308a7db332a7cd1825459ab1c04a93d03c9947b631bead0af21d9f03e06c3a60855cc56ca7039e50e38ba87 DIST docker-cli-27.2.0-man.tar.xz 79052 BLAKE2B 019299b8cd0adbb1a3749f9aa37b1e38bf212b2c13eee81ae49f843bcc56ff3f41413e1021bebf5c88b4406d7928c2c40de026df861195aa2df79d9c724f8b87 SHA512 d61d6f9f9139f2d22268932d795a50e7b9b1ff993699ba87ca9353cb9908ac18c103a34ee9a486f3537988d6ba7317b05588cd84ff8327b86826ab7ed5023947 DIST docker-cli-27.2.0.tar.gz 7236608 BLAKE2B 828f002d83de47efad370e28df2f5e50f75da7952bf4fcbe30d3d66c9bc281ee99fab820f7bca002c8eb13fa29b7518e951974b62008e213662c1d384a286c0d SHA512 5dce9e974a96b2518a73d50a9421d12feeb9cc792bb89000f26e04a91fdddade2648dea39aa721e48c9b07bfc18f7a6676fb7e286ae779556753886ec45e86c3 +DIST docker-cli-27.3.1-man.tar.xz 75056 BLAKE2B 791cd4fab7c36417cdfd3078bbbaff6a7e87a61908bbfd38fdfdb7fff6dfc6bac80ee351a54d5673f5c5e25180d4e0429b4b6d0a220cbea3880d568faa64dc96 SHA512 24a1f6aa923d8aa878c2007d49597e1384494b05bb0886f64b15e575fecf96941235f1f89c8731074e85f49dda5efec087d6759cb7622cb834461e76ebfb3fcd +DIST docker-cli-27.3.1.tar.gz 7225408 BLAKE2B 1c3d428b3e7d653b0a246ee51f9bea47eba5f2b80bbfb1915f31f57e420750a28e2615482058f4051c55c8b723d4935d2711dd4a4c423ec3a17932fd9363d13e SHA512 6e80e94a0e9e16aaf2b19bc97c99ead39184745f601aea94e47c066a19b6436850d5269962e0802e9f7fa9f7dcb357ec0756c9466afa2c0a6ae239d61ef15961 +DIST docker-cli-27.4.0-man.tar.xz 75096 BLAKE2B bc3a6edfa83d506ba2cd9407506d7e3e60c57fe7bd319e08b50d559bfbce289b83a44440b1cf948f163b3b348787ae7a9e5e5e897f6ae113b60bc33407870ab3 SHA512 e2701a76ab028bc325183f52d96a2129f425a14c5c038411e928507c8e103638e9b376eb3192be9c8a99996fadf453d0205d1b64d92661a61df5feea6609e58d +DIST docker-cli-27.4.0.tar.gz 7270507 BLAKE2B 18ddd86952016fbf6d423812c28ab7983e55517d832dec278e7a0cef4af0790cba54ed74ba7ca60036116ff6170a6578f7eec24ca8c852ee6b8cea321c9d0ae9 SHA512 432ebf450b03f2e4ca6e7230bbb2b37d5c8372bc62bf3c4c24469d1015974231f9f5cadf949a2340fa1e8d3ba82c88cadae604a029141a9e037ee1fd6ff89355 diff --git a/app-containers/docker-cli/docker-cli-27.3.1.ebuild b/app-containers/docker-cli/docker-cli-27.3.1.ebuild new file mode 100644 index 000000000000..166bc1757d93 --- /dev/null +++ b/app-containers/docker-cli/docker-cli-27.3.1.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +GIT_COMMIT=ce1223035ac3ab8922717092e63a184cf67b493d + +EGO_PN="github.com/docker/cli" +MY_PV=${PV/_/-} +inherit bash-completion-r1 golang-vcs-snapshot + +DESCRIPTION="the command line binary for docker" +HOMEPAGE="https://www.docker.com/" +SRC_URI="https://github.com/docker/cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-man.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="hardened selinux" + +RDEPEND="!<app-containers/docker-20.10.1 + selinux? ( sec-policy/selinux-docker )" +BDEPEND=" + >=dev-lang/go-1.16.6" + +RESTRICT="installsources strip test" + +S="${WORKDIR}/${P}/src/${EGO_PN}" + +src_unpack() { + golang-vcs-snapshot_src_unpack + set -- ${A} + unpack ${2} +} + +src_prepare() { + default + sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die +} + +src_compile() { + export DISABLE_WARN_OUTSIDE_CONTAINER=1 + export GOPATH="${WORKDIR}/${P}" + # setup CFLAGS and LDFLAGS for separate build target + # see https://github.com/tianon/docker-overlay/pull/10 + CGO_CFLAGS+=" -I${ESYSROOT}/usr/include" + CGO_LDFLAGS+=" -L${ESYSROOT}/usr/$(get_libdir)" + emake \ + LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \ + VERSION="${PV}" \ + GITCOMMIT="${GIT_COMMIT}" \ + dynbinary +} + +src_install() { + dobin build/docker + doman "${WORKDIR}"/man/man?/* + dobashcomp contrib/completion/bash/* + bashcomp_alias docker dockerd + insinto /usr/share/fish/vendor_completions.d/ + doins contrib/completion/fish/docker.fish + insinto /usr/share/zsh/site-functions + doins contrib/completion/zsh/_* +} + +pkg_postinst() { + has_version "app-containers/docker-buildx" && return + ewarn "the 'docker build' command is deprecated and will be removed in a" + ewarn "future release. If you need this functionality, install" + ewarn "app-containers/docker-buildx." +} diff --git a/app-containers/docker-cli/docker-cli-27.4.0.ebuild b/app-containers/docker-cli/docker-cli-27.4.0.ebuild new file mode 100644 index 000000000000..83361a3c2d6b --- /dev/null +++ b/app-containers/docker-cli/docker-cli-27.4.0.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +GIT_COMMIT=bde2b893136c1c7a2894386e4f8743089c89b041 + +EGO_PN="github.com/docker/cli" +MY_PV=${PV/_/-} +inherit bash-completion-r1 golang-vcs-snapshot + +DESCRIPTION="the command line binary for docker" +HOMEPAGE="https://www.docker.com/" +SRC_URI="https://github.com/docker/cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-man.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="hardened selinux" + +RDEPEND="!<app-containers/docker-20.10.1 + selinux? ( sec-policy/selinux-docker )" +BDEPEND=" + >=dev-lang/go-1.16.6" + +RESTRICT="installsources strip test" + +S="${WORKDIR}/${P}/src/${EGO_PN}" + +src_unpack() { + golang-vcs-snapshot_src_unpack + set -- ${A} + unpack ${2} +} + +src_prepare() { + default + sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die +} + +src_compile() { + export DISABLE_WARN_OUTSIDE_CONTAINER=1 + export GOPATH="${WORKDIR}/${P}" + # setup CFLAGS and LDFLAGS for separate build target + # see https://github.com/tianon/docker-overlay/pull/10 + CGO_CFLAGS+=" -I${ESYSROOT}/usr/include" + CGO_LDFLAGS+=" -L${ESYSROOT}/usr/$(get_libdir)" + emake \ + LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \ + VERSION="${PV}" \ + GITCOMMIT="${GIT_COMMIT}" \ + dynbinary +} + +src_install() { + dobin build/docker + doman "${WORKDIR}"/man/man?/* + dobashcomp contrib/completion/bash/* + bashcomp_alias docker dockerd + insinto /usr/share/fish/vendor_completions.d/ + doins contrib/completion/fish/docker.fish + insinto /usr/share/zsh/site-functions + doins contrib/completion/zsh/_* +} + +pkg_postinst() { + has_version "app-containers/docker-buildx" && return + ewarn "the 'docker build' command is deprecated and will be removed in a" + ewarn "future release. If you need this functionality, install" + ewarn "app-containers/docker-buildx." +} diff --git a/app-containers/docker-compose/docker-compose-1.29.2-r6.ebuild b/app-containers/docker-compose/docker-compose-1.29.2-r6.ebuild index cb09144e9979..212c92a1c835 100644 --- a/app-containers/docker-compose/docker-compose-1.29.2-r6.ebuild +++ b/app-containers/docker-compose/docker-compose-1.29.2-r6.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..11} ) inherit bash-completion-r1 distutils-r1 @@ -25,7 +25,7 @@ RDEPEND=" >=dev-python/python-dotenv-0.13.0[${PYTHON_USEDEP}] >=dev-python/jsonschema-2.5.1[${PYTHON_USEDEP}] dev-python/paramiko[${PYTHON_USEDEP}] - >=dev-python/PySocks-1.6.0[${PYTHON_USEDEP}] + >=dev-python/pysocks-1.6.0[${PYTHON_USEDEP}] >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] >=dev-python/requests-2.20.0[${PYTHON_USEDEP}] >=dev-python/six-1.3.0[${PYTHON_USEDEP}] diff --git a/app-containers/docker-compose/docker-compose-1.29.2-r7.ebuild b/app-containers/docker-compose/docker-compose-1.29.2-r7.ebuild index 57c5fd2f5d6f..c8bd9fbb0304 100644 --- a/app-containers/docker-compose/docker-compose-1.29.2-r7.ebuild +++ b/app-containers/docker-compose/docker-compose-1.29.2-r7.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9..12} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit bash-completion-r1 distutils-r1 @@ -17,7 +17,7 @@ S="${WORKDIR}/compose-${MY_PV}" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64" +KEYWORDS="amd64 arm64" RDEPEND=" >=dev-python/distro-1.5.0[${PYTHON_USEDEP}] @@ -27,7 +27,7 @@ RDEPEND=" >=dev-python/python-dotenv-0.13.0[${PYTHON_USEDEP}] >=dev-python/jsonschema-2.5.1[${PYTHON_USEDEP}] dev-python/paramiko[${PYTHON_USEDEP}] - >=dev-python/PySocks-1.6.0[${PYTHON_USEDEP}] + >=dev-python/pysocks-1.6.0[${PYTHON_USEDEP}] >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] >=dev-python/requests-2.20.0[${PYTHON_USEDEP}] >=dev-python/six-1.3.0[${PYTHON_USEDEP}] diff --git a/app-containers/docker/Manifest b/app-containers/docker/Manifest index aa42e30ebba6..49c33a48640a 100644 --- a/app-containers/docker/Manifest +++ b/app-containers/docker/Manifest @@ -1,2 +1,4 @@ DIST docker-26.1.0.tar.gz 16390376 BLAKE2B 6703e9b153c430bc28aed2e7de7bada0203353d61f0a2ce3d49ddbd017eab196a685dd1ab1e719a6b287813eb5fa4f2c612e2cf1ab95789d6e79ebe5dac7ace3 SHA512 47b6b9af9947016884614b6bc25977e1db281da95c9b8b34c753c21c664a737a893f9fa65d92cbb897735aae3893567e106e6bababb5507e069b1e0981e48d50 DIST docker-27.2.0.tar.gz 16689537 BLAKE2B faf0bae9f7da127d5b65b9989acd82dc726bc3f09ace502df151b9f03a84b6f1ec2a946d905263aaa7d2e7d7a3cd4ad1a09291dcfc6691e73cc9a8738f150d55 SHA512 97abaf56d2249c1514beacf17fc9096848b960846e064f1a9bd800a59762a1f1888b32e83b3e8289e23656496ca0293fea65931210d68faaa8a713aab6e48b65 +DIST docker-27.3.1.tar.gz 16790553 BLAKE2B 64670eec5a957cb1a088047836fe5e906435f85a062178f52276bafa3df750207bfd02ebb8783e642a6817b2bfa9fb439e441d412e448eba0f3cf15869067d72 SHA512 0fddcc8314eed2e7b131af78f1fa01292cfc4fcb7fd0af94b79d5435349ab54a21b0a78cffbf29dd4c58747d8bcd1f47473cc5f5ab2596e133828b2e6540d172 +DIST docker-27.4.0.tar.gz 16836980 BLAKE2B 9bea16a6177cf8c4f05f015bb241b51f7c96ca8813167a07d3b951e418f38aff09277f83772342bf326a5acb05c7c3a0659120d92d6d57df2e9f9fbba3006c79 SHA512 f684d6e91bf0a00247605ea88ea6421cc13b9152239b8f51eb640a568b43b3898ea6bcd22ef64a0e263d6e795362160473db849490672dd1fd39d174ad6f45a0 diff --git a/app-containers/docker/docker-27.3.1.ebuild b/app-containers/docker/docker-27.3.1.ebuild new file mode 100644 index 000000000000..3fe81a9b43df --- /dev/null +++ b/app-containers/docker/docker-27.3.1.ebuild @@ -0,0 +1,319 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +EGO_PN=github.com/docker/docker +MY_PV=${PV/_/-} +inherit golang-vcs-snapshot linux-info optfeature systemd udev +GIT_COMMIT=41ca978a0a5400cc24b274137efa9f25517fcc0b + +DESCRIPTION="The core functions you need to create Docker images and run Docker containers" +HOMEPAGE="https://www.docker.com/" +SRC_URI="https://github.com/moby/moby/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="apparmor btrfs +container-init +overlay2 seccomp selinux systemd" + +DEPEND=" + acct-group/docker + >=dev-db/sqlite-3.7.9:3 + apparmor? ( sys-libs/libapparmor ) + btrfs? ( >=sys-fs/btrfs-progs-3.16.1 ) + seccomp? ( >=sys-libs/libseccomp-2.2.1 ) + systemd? ( sys-apps/systemd ) +" + +# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies +# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#optional-dependencies +RDEPEND=" + ${DEPEND} + >=net-firewall/iptables-1.4 + sys-process/procps + >=dev-vcs/git-1.7 + >=app-arch/xz-utils-4.9 + >=app-containers/containerd-1.7.22[apparmor?,btrfs?,seccomp?] + >=app-containers/runc-1.1.14[apparmor?,seccomp?] + !app-containers/docker-proxy + container-init? ( >=sys-process/tini-0.19.0[static] ) + selinux? ( sec-policy/selinux-docker ) +" + +# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies +BDEPEND=" + >=dev-lang/go-1.16.12 + dev-go/go-md2man + virtual/pkgconfig +" +# tests require running dockerd as root and downloading containers +RESTRICT="installsources strip test" + +S="${WORKDIR}/${P}/src/${EGO_PN}" + +# https://bugs.gentoo.org/748984 https://github.com/etcd-io/etcd/pull/12552 +pkg_setup() { + # this is based on "contrib/check-config.sh" from upstream's sources + # required features. + CONFIG_CHECK=" + ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS + ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG + ~KEYS + ~VETH ~BRIDGE ~BRIDGE_NETFILTER + ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE + ~NETFILTER_XT_MATCH_ADDRTYPE + ~NETFILTER_XT_MATCH_CONNTRACK + ~NETFILTER_XT_MATCH_IPVS + ~NETFILTER_XT_MARK + ~IP_NF_NAT ~NF_NAT + ~POSIX_MQUEUE + " + WARNING_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: is required for bind-mounting /dev/mqueue into containers" + + if kernel_is lt 4 8; then + CONFIG_CHECK+=" + ~DEVPTS_MULTIPLE_INSTANCES + " + fi + + if kernel_is le 5 1; then + CONFIG_CHECK+=" + ~NF_NAT_IPV4 + " + fi + + if kernel_is le 5 2; then + CONFIG_CHECK+=" + ~NF_NAT_NEEDED + " + fi + + if kernel_is ge 4 15; then + CONFIG_CHECK+=" + ~CGROUP_BPF + " + fi + + # optional features + CONFIG_CHECK+=" + ~USER_NS + " + + if use seccomp; then + CONFIG_CHECK+=" + ~SECCOMP ~SECCOMP_FILTER + " + fi + + CONFIG_CHECK+=" + ~CGROUP_PIDS + " + + if kernel_is lt 6 1; then + CONFIG_CHECK+=" + ~MEMCG_SWAP + " + fi + + if kernel_is le 5 8; then + CONFIG_CHECK+=" + ~MEMCG_SWAP_ENABLED + " + fi + + CONFIG_CHECK+=" + ~!LEGACY_VSYSCALL_NATIVE + " + if kernel_is lt 5 19; then + CONFIG_CHECK+=" + ~LEGACY_VSYSCALL_EMULATE + " + fi + CONFIG_CHECK+=" + ~!LEGACY_VSYSCALL_NONE + " + WARNING_LEGACY_VSYSCALL_NONE="CONFIG_LEGACY_VSYSCALL_NONE enabled: \ + Containers with <=glibc-2.13 will not work" + + if kernel_is le 4 5; then + CONFIG_CHECK+=" + ~MEMCG_KMEM + " + fi + + if kernel_is lt 5; then + CONFIG_CHECK+=" + ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED + " + fi + + CONFIG_CHECK+=" + ~BLK_CGROUP ~BLK_DEV_THROTTLING + ~CGROUP_PERF + ~CGROUP_HUGETLB + ~NET_CLS_CGROUP ~CGROUP_NET_PRIO + ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED + ~IP_NF_TARGET_REDIRECT + ~IP_VS + ~IP_VS_NFCT + ~IP_VS_PROTO_TCP + ~IP_VS_PROTO_UDP + ~IP_VS_RR + " + + if use selinux; then + CONFIG_CHECK+=" + ~SECURITY_SELINUX + " + fi + + if use apparmor; then + CONFIG_CHECK+=" + ~SECURITY_APPARMOR + " + fi + + # if ! is_set EXT4_USE_FOR_EXT2; then + # check_flags EXT3_FS EXT3_FS_XATTR EXT3_FS_POSIX_ACL EXT3_FS_SECURITY + # if ! is_set EXT3_FS || ! is_set EXT3_FS_XATTR || ! is_set EXT3_FS_POSIX_ACL || ! is_set EXT3_FS_SECURITY; then + # echo " $(wrap_color '(enable these ext3 configs if you are using ext3 as backing filesystem)' bold black)" + # fi + # fi + + CONFIG_CHECK+=" + ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + " + + # if ! is_set EXT4_FS || ! is_set EXT4_FS_POSIX_ACL || ! is_set EXT4_FS_SECURITY; then + # if is_set EXT4_USE_FOR_EXT2; then + # echo " $(wrap_color 'enable these ext4 configs if you are using ext3 or ext4 as backing filesystem' bold black)" + # else + # echo " $(wrap_color 'enable these ext4 configs if you are using ext4 as backing filesystem' bold black)" + # fi + # fi + + # network drivers + CONFIG_CHECK+=" + ~VXLAN ~BRIDGE_VLAN_FILTERING + ~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH + ~XFRM ~XFRM_USER ~XFRM_ALGO ~INET_ESP + " + if kernel_is le 5 3; then + CONFIG_CHECK+=" + ~INET_XFRM_MODE_TRANSPORT + " + fi + + CONFIG_CHECK+=" + ~IPVLAN + " + CONFIG_CHECK+=" + ~MACVLAN ~DUMMY + " + CONFIG_CHECK+=" + ~NF_NAT_FTP ~NF_CONNTRACK_FTP ~NF_NAT_TFTP ~NF_CONNTRACK_TFTP + " + + # storage drivers + if use btrfs; then + CONFIG_CHECK+=" + ~BTRFS_FS + ~BTRFS_FS_POSIX_ACL + " + fi + + CONFIG_CHECK+=" + ~OVERLAY_FS + " + + linux-info_pkg_setup +} + +src_compile() { + export DOCKER_GITCOMMIT="${GIT_COMMIT}" + export GOPATH="${WORKDIR}/${P}" + export VERSION=${PV} + tc-export PKG_CONFIG + + # setup CFLAGS and LDFLAGS for separate build target + # see https://github.com/tianon/docker-overlay/pull/10 + CGO_CFLAGS+=" -I${ESYSROOT}/usr/include" + CGO_LDFLAGS+=" -L${ESYSROOT}/usr/$(get_libdir)" + + # let's set up some optional features :) + export DOCKER_BUILDTAGS='' + for gd in btrfs overlay2; do + if ! use $gd; then + DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}" + fi + done + + for tag in apparmor seccomp; do + if use $tag; then + DOCKER_BUILDTAGS+=" $tag" + fi + done + + export EXCLUDE_AUTO_BUILDTAG_JOURNALD=$(usex systemd '' 'y') + + # build binaries + ./hack/make.sh dynbinary || die 'dynbinary failed' +} + +src_install() { + dosym containerd /usr/bin/docker-containerd + dosym containerd-shim /usr/bin/docker-containerd-shim + dosym runc /usr/bin/docker-runc + use container-init && dosym tini /usr/bin/docker-init + dobin bundles/dynbinary-daemon/dockerd + dobin bundles/dynbinary-daemon/docker-proxy + for f in dockerd-rootless-setuptool.sh dockerd-rootless.sh; do + dosym ../share/docker/contrib/${f} /usr/bin/${f} + done + + newinitd contrib/init/openrc/docker.initd docker + newconfd contrib/init/openrc/docker.confd docker + + systemd_dounit contrib/init/systemd/docker.{service,socket} + + udev_dorules contrib/udev/*.rules + + dodoc AUTHORS CONTRIBUTING.md NOTICE README.md + dodoc -r docs/* + + # note: intentionally not using "doins" so that we preserve +x bits + dodir /usr/share/${PN}/contrib + cp -R contrib/* "${ED}/usr/share/${PN}/contrib" +} + +pkg_postinst() { + udev_reload + + elog + elog "To use Docker, the Docker daemon must be running as root. To automatically" + elog "start the Docker daemon at boot:" + if systemd_is_booted || has_version sys-apps/systemd; then + elog " systemctl enable docker.service" + else + elog " rc-update add docker default" + fi + elog + elog "To use Docker as a non-root user, add yourself to the 'docker' group:" + elog ' usermod -aG docker <youruser>' + elog + + if has_version sys-fs/zfs; then + elog " ZFS storage driver is available" + elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info" + elog + fi + + optfeature "rootless mode support" sys-apps/shadow + optfeature "rootless mode support" sys-apps/rootlesskit + optfeature_header "for rootless mode you also need a network stack" + optfeature "rootless mode network stack" app-containers/slirp4netns +} + +pkg_postrm() { + udev_reload +} diff --git a/app-containers/docker/docker-27.4.0.ebuild b/app-containers/docker/docker-27.4.0.ebuild new file mode 100644 index 000000000000..97c7ea5319e3 --- /dev/null +++ b/app-containers/docker/docker-27.4.0.ebuild @@ -0,0 +1,319 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +EGO_PN=github.com/docker/docker +MY_PV=${PV/_/-} +inherit golang-vcs-snapshot linux-info optfeature systemd udev +GIT_COMMIT=92a83937d0280dcbea92099b01e01aa4251c1777 + +DESCRIPTION="The core functions you need to create Docker images and run Docker containers" +HOMEPAGE="https://www.docker.com/" +SRC_URI="https://github.com/moby/moby/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="apparmor btrfs +container-init +overlay2 seccomp selinux systemd" + +DEPEND=" + acct-group/docker + >=dev-db/sqlite-3.7.9:3 + apparmor? ( sys-libs/libapparmor ) + btrfs? ( >=sys-fs/btrfs-progs-3.16.1 ) + seccomp? ( >=sys-libs/libseccomp-2.2.1 ) + systemd? ( sys-apps/systemd ) +" + +# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies +# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#optional-dependencies +RDEPEND=" + ${DEPEND} + >=net-firewall/iptables-1.4 + sys-process/procps + >=dev-vcs/git-1.7 + >=app-arch/xz-utils-4.9 + >=app-containers/containerd-1.7.24[apparmor?,btrfs?,seccomp?] + >=app-containers/runc-1.2.2[apparmor?,seccomp?] + !app-containers/docker-proxy + container-init? ( >=sys-process/tini-0.19.0[static] ) + selinux? ( sec-policy/selinux-docker ) +" + +# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies +BDEPEND=" + >=dev-lang/go-1.16.12 + dev-go/go-md2man + virtual/pkgconfig +" +# tests require running dockerd as root and downloading containers +RESTRICT="installsources strip test" + +S="${WORKDIR}/${P}/src/${EGO_PN}" + +# https://bugs.gentoo.org/748984 https://github.com/etcd-io/etcd/pull/12552 +pkg_setup() { + # this is based on "contrib/check-config.sh" from upstream's sources + # required features. + CONFIG_CHECK=" + ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS + ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG + ~KEYS + ~VETH ~BRIDGE ~BRIDGE_NETFILTER + ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE + ~NETFILTER_XT_MATCH_ADDRTYPE + ~NETFILTER_XT_MATCH_CONNTRACK + ~NETFILTER_XT_MATCH_IPVS + ~NETFILTER_XT_MARK + ~IP_NF_NAT ~NF_NAT + ~POSIX_MQUEUE + " + WARNING_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: is required for bind-mounting /dev/mqueue into containers" + + if kernel_is lt 4 8; then + CONFIG_CHECK+=" + ~DEVPTS_MULTIPLE_INSTANCES + " + fi + + if kernel_is le 5 1; then + CONFIG_CHECK+=" + ~NF_NAT_IPV4 + " + fi + + if kernel_is le 5 2; then + CONFIG_CHECK+=" + ~NF_NAT_NEEDED + " + fi + + if kernel_is ge 4 15; then + CONFIG_CHECK+=" + ~CGROUP_BPF + " + fi + + # optional features + CONFIG_CHECK+=" + ~USER_NS + " + + if use seccomp; then + CONFIG_CHECK+=" + ~SECCOMP ~SECCOMP_FILTER + " + fi + + CONFIG_CHECK+=" + ~CGROUP_PIDS + " + + if kernel_is lt 6 1; then + CONFIG_CHECK+=" + ~MEMCG_SWAP + " + fi + + if kernel_is le 5 8; then + CONFIG_CHECK+=" + ~MEMCG_SWAP_ENABLED + " + fi + + CONFIG_CHECK+=" + ~!LEGACY_VSYSCALL_NATIVE + " + if kernel_is lt 5 19; then + CONFIG_CHECK+=" + ~LEGACY_VSYSCALL_EMULATE + " + fi + CONFIG_CHECK+=" + ~!LEGACY_VSYSCALL_NONE + " + WARNING_LEGACY_VSYSCALL_NONE="CONFIG_LEGACY_VSYSCALL_NONE enabled: \ + Containers with <=glibc-2.13 will not work" + + if kernel_is le 4 5; then + CONFIG_CHECK+=" + ~MEMCG_KMEM + " + fi + + if kernel_is lt 5; then + CONFIG_CHECK+=" + ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED + " + fi + + CONFIG_CHECK+=" + ~BLK_CGROUP ~BLK_DEV_THROTTLING + ~CGROUP_PERF + ~CGROUP_HUGETLB + ~NET_CLS_CGROUP ~CGROUP_NET_PRIO + ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED + ~IP_NF_TARGET_REDIRECT + ~IP_VS + ~IP_VS_NFCT + ~IP_VS_PROTO_TCP + ~IP_VS_PROTO_UDP + ~IP_VS_RR + " + + if use selinux; then + CONFIG_CHECK+=" + ~SECURITY_SELINUX + " + fi + + if use apparmor; then + CONFIG_CHECK+=" + ~SECURITY_APPARMOR + " + fi + + # if ! is_set EXT4_USE_FOR_EXT2; then + # check_flags EXT3_FS EXT3_FS_XATTR EXT3_FS_POSIX_ACL EXT3_FS_SECURITY + # if ! is_set EXT3_FS || ! is_set EXT3_FS_XATTR || ! is_set EXT3_FS_POSIX_ACL || ! is_set EXT3_FS_SECURITY; then + # echo " $(wrap_color '(enable these ext3 configs if you are using ext3 as backing filesystem)' bold black)" + # fi + # fi + + CONFIG_CHECK+=" + ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + " + + # if ! is_set EXT4_FS || ! is_set EXT4_FS_POSIX_ACL || ! is_set EXT4_FS_SECURITY; then + # if is_set EXT4_USE_FOR_EXT2; then + # echo " $(wrap_color 'enable these ext4 configs if you are using ext3 or ext4 as backing filesystem' bold black)" + # else + # echo " $(wrap_color 'enable these ext4 configs if you are using ext4 as backing filesystem' bold black)" + # fi + # fi + + # network drivers + CONFIG_CHECK+=" + ~VXLAN ~BRIDGE_VLAN_FILTERING + ~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH + ~XFRM ~XFRM_USER ~XFRM_ALGO ~INET_ESP + " + if kernel_is le 5 3; then + CONFIG_CHECK+=" + ~INET_XFRM_MODE_TRANSPORT + " + fi + + CONFIG_CHECK+=" + ~IPVLAN + " + CONFIG_CHECK+=" + ~MACVLAN ~DUMMY + " + CONFIG_CHECK+=" + ~NF_NAT_FTP ~NF_CONNTRACK_FTP ~NF_NAT_TFTP ~NF_CONNTRACK_TFTP + " + + # storage drivers + if use btrfs; then + CONFIG_CHECK+=" + ~BTRFS_FS + ~BTRFS_FS_POSIX_ACL + " + fi + + CONFIG_CHECK+=" + ~OVERLAY_FS + " + + linux-info_pkg_setup +} + +src_compile() { + export DOCKER_GITCOMMIT="${GIT_COMMIT}" + export GOPATH="${WORKDIR}/${P}" + export VERSION=${PV} + tc-export PKG_CONFIG + + # setup CFLAGS and LDFLAGS for separate build target + # see https://github.com/tianon/docker-overlay/pull/10 + CGO_CFLAGS+=" -I${ESYSROOT}/usr/include" + CGO_LDFLAGS+=" -L${ESYSROOT}/usr/$(get_libdir)" + + # let's set up some optional features :) + export DOCKER_BUILDTAGS='' + for gd in btrfs overlay2; do + if ! use $gd; then + DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}" + fi + done + + for tag in apparmor seccomp; do + if use $tag; then + DOCKER_BUILDTAGS+=" $tag" + fi + done + + export EXCLUDE_AUTO_BUILDTAG_JOURNALD=$(usex systemd '' 'y') + + # build binaries + ./hack/make.sh dynbinary || die 'dynbinary failed' +} + +src_install() { + dosym containerd /usr/bin/docker-containerd + dosym containerd-shim /usr/bin/docker-containerd-shim + dosym runc /usr/bin/docker-runc + use container-init && dosym tini /usr/bin/docker-init + dobin bundles/dynbinary-daemon/dockerd + dobin bundles/dynbinary-daemon/docker-proxy + for f in dockerd-rootless-setuptool.sh dockerd-rootless.sh; do + dosym ../share/docker/contrib/${f} /usr/bin/${f} + done + + newinitd contrib/init/openrc/docker.initd docker + newconfd contrib/init/openrc/docker.confd docker + + systemd_dounit contrib/init/systemd/docker.{service,socket} + + udev_dorules contrib/udev/*.rules + + dodoc AUTHORS CONTRIBUTING.md NOTICE README.md + dodoc -r docs/* + + # note: intentionally not using "doins" so that we preserve +x bits + dodir /usr/share/${PN}/contrib + cp -R contrib/* "${ED}/usr/share/${PN}/contrib" +} + +pkg_postinst() { + udev_reload + + elog + elog "To use Docker, the Docker daemon must be running as root. To automatically" + elog "start the Docker daemon at boot:" + if systemd_is_booted || has_version sys-apps/systemd; then + elog " systemctl enable docker.service" + else + elog " rc-update add docker default" + fi + elog + elog "To use Docker as a non-root user, add yourself to the 'docker' group:" + elog ' usermod -aG docker <youruser>' + elog + + if has_version sys-fs/zfs; then + elog " ZFS storage driver is available" + elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info" + elog + fi + + optfeature "rootless mode support" sys-apps/shadow + optfeature "rootless mode support" sys-apps/rootlesskit + optfeature_header "for rootless mode you also need a network stack" + optfeature "rootless mode network stack" app-containers/slirp4netns +} + +pkg_postrm() { + udev_reload +} diff --git a/app-containers/incus/Manifest b/app-containers/incus/Manifest index 4ab576d8e2e5..b3d2f751fb78 100644 --- a/app-containers/incus/Manifest +++ b/app-containers/incus/Manifest @@ -1,8 +1,6 @@ -DIST incus-6.0.1.tar.xz 11653056 BLAKE2B d026f9fb99d7393d286006cfe759681b58b980b7a2432a98ba8a6862e17099ef6ee8d1ec1766d00fac1a6d1e748a7d10d3d5ad14b31c542618044f77a27fe255 SHA512 8218c121cf1afd307f748c0f1c0b1ba34a05fa0c43a515aab03d9f92c66becaa6bff245e93842e7b0746ce6019d66f1a5e4c317ec05e0ab088b539e5378d78dc -DIST incus-6.0.1.tar.xz.asc 833 BLAKE2B c5c9d3d4796e97ef745102c13e52d691e7f087a5a0cc8e0a069ec7c94686e6e8de04d3dd247157e16eb3deea2b877453e3462ec829ced2ba9cb1928af9a3aa1b SHA512 c47df95afa7c9ef7041fb29497567ab3b1ed30c3c175b4be84bc75a6a2c47072cc291e43fa738a5a58d753b04aef87334780f9d45184a9543a49fad263859aa0 DIST incus-6.0.2.tar.xz 11197324 BLAKE2B fa15816ea05865ce48f7cb668c3138d2d186a1876669d6eaf05ffd335d8feedf7eda41301be9d2e07879aa3fb2e7177a5bd26cb89a3789d46ef648c2fcb06db5 SHA512 ef58bc22154204a3f89b973fd5289385fa98aa2c2a97b0ff3ed2fa2a0c899ee3dc08cb46552ade2e86dc13f5de55f9ef59aea775c60eb3df74d088f8a1e2795a DIST incus-6.0.2.tar.xz.asc 833 BLAKE2B bcdeb0d2a3684dcdcb620166865523a2e9eb595f0e7760f05a06ea0608dc4fc7111b75206fe62a63cfd90a0d0ec79206404994e53770d5e35a639a67e1ad753c SHA512 18587ddc7b7cb41418ee0e7a43875663e71c9d39a505fd55bc29fe83717b5d5cdc876c46912561610735ddf80462631716354a943a272ae5ccf0ee495aff1c1c -DIST incus-6.5.tar.xz 11233032 BLAKE2B 667bf93a55dc58f8426765d3b536fee0e3b3f521fa64ba51948874a04dbf4549d856170f50723aaad18690169e41913507bdac4cf426c65cf89df06ae883b1e8 SHA512 e5e9d0b7458052214813201c771c24e878c0682d749bb150fd477f5319a4dc1b641c963646ee5c16981d5698e941b62a4c5cc7a5f29e9f45eebf6a443dc029ec -DIST incus-6.5.tar.xz.asc 833 BLAKE2B f2c468c86f5d4524bc0590bbd6b2c3e6bb69e2173cc63eb3f0b1d75a5ecd0ceb3e906c77a31011f82ced4407a00562e066494ff2ae4e82144e9eb0e28d88d4e7 SHA512 f31aceb2972dac43f7dfca5968224961b2666eccacb1a31cc9de1baf5415e85f32f41e23f4b6eb4411e66f59260b7a847457827b641e02e7221ec6b12331d911 DIST incus-6.6.tar.xz 11835124 BLAKE2B a21ada1f3a0eb571a896c86538873ec061293a3f7430a71a0edbc2a3f547b2ffb12095296c983b25c3285f81a13ce4c4d63c857615ddbbd8ac6a65b4a83f3976 SHA512 7d4d31702655ef5a7851a4058c04b89ade635e9196700bdd2845657c38dd5ba253f6da2a30f6dc60e4657ea1d04b08aeb7ea22842732507a558c9225eddfe007 DIST incus-6.6.tar.xz.asc 833 BLAKE2B f59487815f87bfec1bb70342eb3463346bd0a25c8d980cc857095d8490ca45dc7785b0ea1bd7489064b08633de4cc710aa90823fdd22bb9dfd7ddfd9076b1d4c SHA512 69021d4a7827abfef370aeeaac0671e81902918d3b767468aaea54093214461e8cc23fbc8e4f83f957f5d4120d4969f0966c6312d250f2e7ce3373c603edf37a +DIST incus-6.7.tar.xz 11313960 BLAKE2B c55ec6c584eeb6123d707b628ff27f96f6555ad5d17a720c55cc69cfb2abee9c6692544fba63ec2c63c5c8cb0d68baf0c9fadc2bb538dfce20362097fa3809ee SHA512 4b7e9af926d6132f63cbc53466d98691b2fb182a1900cf4ac5964df8678829da0241c4a468cfe3e49d448ecb25d2e8b1be0f52ac71c176a87d554fcd59ab5f97 +DIST incus-6.7.tar.xz.asc 833 BLAKE2B 6c72ca10f20f55607b1059bf908e4b36d81b499c2b6e329855c8769cafe9def44bf8cc6a320718150192daf6e820f6e42beb1b9e7a90f794b9c906734b0ba742 SHA512 dd6d55f8f3e8538f8050fce0124bbab1495978ad1ccee954a3d38cc1bb33c0a8f9f6a7f673e7e0942e9bc732a2acdbcb71245c110eb091ef0b53015ef05e9d74 diff --git a/app-containers/incus/files/incus-0.4.confd b/app-containers/incus/files/incus-0.4.confd deleted file mode 100644 index b0f7e0e212ae..000000000000 --- a/app-containers/incus/files/incus-0.4.confd +++ /dev/null @@ -1,26 +0,0 @@ -# Group which owns the shared socket -INCUS_OPTIONS+=" --group incus-admin" - -# Enable cpu profiling into the specified file -#INCUS_OPTIONS+=" --cpuprofile /tmp/lxc_cpu_profile" - -# Enable memory profiling into the specified file -#INCUS_OPTIONS+=" --memprofile /tmp/lxc_mem_profile" - -# Enable debug mode -#INCUS_OPTIONS+=" --debug" - -# For debugging, print a complete stack trace every n seconds -#INCUS_OPTIONS+=" --print-goroutines-every 5" - -# Enable verbose mode -#INCUS_OPTIONS+=" -v" - -# Logfile to log to -#INCUS_OPTIONS+=" --logfile /var/log/incus/incus.log" - -# Enable syslog logging -#INCUS_OPTIONS+=" --syslog" - -# Increase ulimits to allow more open files on OpenRC. -rc_ulimit="-n 1048576 -l unlimited" diff --git a/app-containers/incus/files/incus-0.4.initd b/app-containers/incus/files/incus-0.4.initd deleted file mode 100644 index 34e1f07a8921..000000000000 --- a/app-containers/incus/files/incus-0.4.initd +++ /dev/null @@ -1,59 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -DAEMON=/usr/sbin/incusd -PIDFILE=/run/incus.pid - -depend() { - need net - need lxcfs -} - -start() { - ebegin "Starting incus daemon service" - - modprobe -f loop > /dev/null 2>&1 - - # Fix permissions on /var/lib/incus and make sure it exists. - # Create a log directory for incus with correct permissions. - install -d /var/lib/incus --group incus-admin --owner root --mode 0775 - install -d /var/log/incus --group incus-admin --owner root - - start-stop-daemon --start \ - --pidfile ${PIDFILE} \ - --exec ${DAEMON} \ - --background \ - --make-pidfile \ - -- \ - ${INCUS_OPTIONS} - eend ${?} - - # Create necessary systemd paths in order for systemd containers to work on openrc host. - # /etc/rc.conf should have following values: - # rc_cgroup_mode="hybrid" - if [ -d /sys/fs/cgroup/unified ] && - [ ! -d /sys/fs/cgroup/systemd ]; then - install -d /sys/fs/cgroup/systemd --group incus-admin --owner root - mount -t cgroup -o none,name=systemd systemd /sys/fs/cgroup/systemd - fi -} - -stop() { - if [ "${RC_CMD}" = restart ]; then - ebegin "Stopping incus daemon service (but not containers)" - # start-stop-daemon sends SIGTERM with a timeout of 5s by default. - # SIGTERM indicates to INCUS that it will be stopped temporarily. - # Instances will keep running. - start-stop-daemon --stop --quiet -p "${PIDFILE}" - eend ${?} - else - ebegin "Stopping incus daemon service and containers, waiting 40s" - # SIGPWR indicates to INCUS that the host is going down. - # LXD will do a clean shutdown of all instances. - # After 30s all remaining instances will be killed. - # We wait up to 40s for INCUS. - start-stop-daemon --stop --quiet -R SIGPWR/40 -p "${PIDFILE}" - eend ${?} - fi -} diff --git a/app-containers/incus/incus-6.0.1-r1.ebuild b/app-containers/incus/incus-6.0.1-r1.ebuild deleted file mode 100644 index 6a00a3b589ab..000000000000 --- a/app-containers/incus/incus-6.0.1-r1.ebuild +++ /dev/null @@ -1,219 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit go-module linux-info optfeature systemd toolchain-funcs verify-sig - -DESCRIPTION="Modern, secure and powerful system container and virtual machine manager" -HOMEPAGE="https://linuxcontainers.org/incus/introduction/ https://github.com/lxc/incus" -SRC_URI="https://linuxcontainers.org/downloads/incus/${P}.tar.xz - verify-sig? ( https://linuxcontainers.org/downloads/incus/${P}.tar.xz.asc )" - -LICENSE="Apache-2.0 BSD LGPL-3 MIT" -SLOT="0/lts" -KEYWORDS="amd64 ~arm64" -IUSE="apparmor fuidshift nls" - -DEPEND="acct-group/incus - acct-group/incus-admin - app-arch/xz-utils - >=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)] - dev-db/sqlite:3 - >=dev-libs/cowsql-1.15.6 - dev-libs/lzo - >=dev-libs/raft-0.22.1:=[lz4] - >=dev-util/xdelta-3.0[lzma(+)] - net-dns/dnsmasq[dhcp] - sys-libs/libcap - virtual/udev" -RDEPEND="${DEPEND} - fuidshift? ( !app-containers/lxd ) - net-firewall/ebtables - net-firewall/iptables - sys-apps/iproute2 - sys-fs/fuse:* - >=sys-fs/lxcfs-5.0.0 - sys-fs/squashfs-tools[lzma] - virtual/acl" -BDEPEND=">=dev-lang/go-1.21 - nls? ( sys-devel/gettext ) - verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" - -CONFIG_CHECK=" - ~CGROUPS - ~IPC_NS - ~NET_NS - ~PID_NS - - ~SECCOMP - ~USER_NS - ~UTS_NS - - ~KVM - ~MACVTAP - ~VHOST_VSOCK -" - -ERROR_IPC_NS="CONFIG_IPC_NS is required." -ERROR_NET_NS="CONFIG_NET_NS is required." -ERROR_PID_NS="CONFIG_PID_NS is required." -ERROR_SECCOMP="CONFIG_SECCOMP is required." -ERROR_UTS_NS="CONFIG_UTS_NS is required." - -WARNING_KVM="CONFIG_KVM and CONFIG_KVM_AMD/-INTEL is required for virtual machines." -WARNING_MACVTAP="CONFIG_MACVTAP is required for virtual machines." -WARNING_VHOST_VSOCK="CONFIG_VHOST_VSOCK is required for virtual machines." - -# Go magic. -QA_PREBUILT="/usr/bin/incus - /usr/bin/lxc-to-incus - /usr/bin/incus-agent - /usr/bin/incus-benchmark - /usr/bin/incus-migrate - /usr/sbin/fuidshift - /usr/sbin/lxd-to-incus - /usr/sbin/incusd" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc - -# The testsuite must be run as root. -# make: *** [Makefile:156: check] Error 1 -RESTRICT="test" - -GOPATH="${S}/_dist" - -src_unpack() { - verify-sig_src_unpack - go-module_src_unpack -} - -src_prepare() { - export GOPATH="${S}/_dist" - - default - - sed -i \ - -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/incus:g" \ - -e "s:make:make ${MAKEOPTS}:g" \ - Makefile || die - - # Fix hardcoded ovmf file path, see bug 763180 - sed -i \ - -e "s:/usr/share/OVMF:/usr/share/edk2-ovmf:g" \ - -e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \ - doc/environment.md \ - internal/server/apparmor/instance.go \ - internal/server/apparmor/instance_qemu.go \ - internal/server/instance/drivers/driver_qemu.go || die "Failed to fix hardcoded ovmf paths." - - # Fix hardcoded virtfs-proxy-helper file path, see bug 798924 - sed -i \ - -e "s:/usr/lib/qemu/virtfs-proxy-helper:/usr/libexec/virtfs-proxy-helper:g" \ - internal/server/device/device_utils_disk.go || die "Failed to fix virtfs-proxy-helper path." - - cp "${FILESDIR}"/incus-0.4.service "${T}"/incus.service || die - if use apparmor; then - sed -i \ - '/^EnvironmentFile=.*/a ExecStartPre=\/usr\/libexec\/lxc\/lxc-apparmor-load' \ - "${T}"/incus.service || die - fi - - # Disable -Werror's from go modules. - find "${S}" -name "cgo.go" -exec sed -i "s/ -Werror / /g" {} + || die -} - -src_configure() { :; } - -src_compile() { - export GOPATH="${S}/_dist" - export CGO_LDFLAGS_ALLOW="-Wl,-z,now" - - for k in incus-benchmark incus-simplestreams incus-user incus lxc-to-incus lxd-to-incus ; do - ego install -v -x "${S}/cmd/${k}" - done - - if use fuidshift ; then - ego install -v -x "${S}/cmd/fuidshift" - fi - - ego install -v -x -tags libsqlite3 "${S}"/cmd/incusd - - # Needs to be built statically - CGO_ENABLED=0 go install -v -tags netgo "${S}"/cmd/incus-migrate - CGO_ENABLED=0 go install -v -tags agent,netgo "${S}"/cmd/incus-agent - - use nls && emake build-mo -} - -src_test() { - emake check -} - -src_install() { - export GOPATH="${S}/_dist" - - if tc-is-cross-compiler ; then - local bindir="_dist/bin/linux_${GOARCH}" - else - local bindir="_dist/bin" - fi - - newsbin "${FILESDIR}"/incus-startup-0.4.sh incus-startup - - # Admin tools - for l in incusd incus-user lxd-to-incus ; do - dosbin ${bindir}/${l} - done - - # User tools - for m in incus-agent incus-benchmark incus-migrate incus-simplestreams incus lxc-to-incus ; do - dobin ${bindir}/${m} - done - - # fuidshift, should be moved under admin tools at some point - if use fuidshift ; then - dosbin ${bindir}/fuidshift - fi - - newconfd "${FILESDIR}"/incus-0.4.confd incus - newinitd "${FILESDIR}"/incus-0.4.initd incus - newinitd "${FILESDIR}"/incus-user-0.4.initd incus-user - - systemd_dounit "${T}"/incus.service - systemd_newunit "${FILESDIR}"/incus-0.4.socket incus.socket - systemd_newunit "${FILESDIR}"/incus-startup-0.4.service incus-startup.service - systemd_newunit "${FILESDIR}"/incus-user-0.4.service incus-user.service - systemd_newunit "${FILESDIR}"/incus-user-0.4.socket incus-user.socket - - if ! tc-is-cross-compiler; then - # Generate and install shell completion files. - mkdir -p "${D}"/usr/share/{bash-completion/completions/,fish/vendor_completions.d/,zsh/site-functions/} || die - "${bindir}"/incus completion bash > "${D}"/usr/share/bash-completion/completions/incus || die - "${bindir}"/incus completion fish > "${D}"/usr/share/fish/vendor_completions.d/incus.fish || die - "${bindir}"/incus completion zsh > "${D}"/usr/share/zsh/site-functions/_incus || die - else - ewarn "Shell completion files not installed! Install them manually with incus completion --help" - fi - - dodoc AUTHORS - dodoc -r doc/* - use nls && domo po/*.mo -} - -pkg_postinst() { - elog - elog "Please see" - elog " https://wiki.gentoo.org/wiki/Incus" - elog " https://wiki.gentoo.org/wiki/Incus#Migrating_from_LXD" - elog - optfeature "virtual machine support" app-cdr/cdrtools app-emulation/qemu[spice,usbredir,virtfs] - optfeature "btrfs storage backend" sys-fs/btrfs-progs - optfeature "ipv6 support" net-dns/dnsmasq[ipv6] - optfeature "full incus-migrate support" net-misc/rsync - optfeature "lvm2 storage backend" sys-fs/lvm2 - optfeature "zfs storage backend" sys-fs/zfs - elog - elog "Be sure to add your local user to the incus group." - elog -} diff --git a/app-containers/incus/incus-6.0.2.ebuild b/app-containers/incus/incus-6.0.2.ebuild index aaf998d9ce31..4de9f46a4cac 100644 --- a/app-containers/incus/incus-6.0.2.ebuild +++ b/app-containers/incus/incus-6.0.2.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://linuxcontainers.org/downloads/incus/${P}.tar.xz LICENSE="Apache-2.0 BSD LGPL-3 MIT" SLOT="0/lts" -KEYWORDS="~amd64 ~arm64" +KEYWORDS="amd64 ~arm64" IUSE="apparmor fuidshift nls" DEPEND="acct-group/incus @@ -99,7 +99,7 @@ src_prepare() { Makefile || die sed -i \ - -e "s:/usr/share/OVMF:/usr/share/edk2-ovmf:g" \ + -e "s:/usr/share/OVMF:/usr/share/edk2/OvmfX64:g" \ -e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \ internal/server/instance/drivers/edk2/driver_edk2.go || die "Failed to fix hardcoded ovmf paths." diff --git a/app-containers/incus/incus-6.6.ebuild b/app-containers/incus/incus-6.6.ebuild index a703537528cf..a9c0723f61be 100644 --- a/app-containers/incus/incus-6.6.ebuild +++ b/app-containers/incus/incus-6.6.ebuild @@ -99,7 +99,7 @@ src_prepare() { Makefile || die sed -i \ - -e "s:/usr/share/OVMF:/usr/share/edk2-ovmf:g" \ + -e "s:/usr/share/OVMF:/usr/share/edk2/OvmfX64:g" \ -e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \ internal/server/instance/drivers/edk2/driver_edk2.go || die "Failed to fix hardcoded ovmf paths." @@ -204,6 +204,7 @@ pkg_postinst() { elog " https://wiki.gentoo.org/wiki/Incus#Migrating_from_LXD" elog optfeature "virtual machine support" app-cdr/cdrtools app-emulation/qemu[spice,usbredir,virtfs] + optfeature "OCI container images support" app-containers/skopeo app-containers/umoci optfeature "btrfs storage backend" sys-fs/btrfs-progs optfeature "ipv6 support" net-dns/dnsmasq[ipv6] optfeature "full incus-migrate support" net-misc/rsync diff --git a/app-containers/incus/incus-6.5-r1.ebuild b/app-containers/incus/incus-6.7.ebuild index a703537528cf..a9c0723f61be 100644 --- a/app-containers/incus/incus-6.5-r1.ebuild +++ b/app-containers/incus/incus-6.7.ebuild @@ -99,7 +99,7 @@ src_prepare() { Makefile || die sed -i \ - -e "s:/usr/share/OVMF:/usr/share/edk2-ovmf:g" \ + -e "s:/usr/share/OVMF:/usr/share/edk2/OvmfX64:g" \ -e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \ internal/server/instance/drivers/edk2/driver_edk2.go || die "Failed to fix hardcoded ovmf paths." @@ -204,6 +204,7 @@ pkg_postinst() { elog " https://wiki.gentoo.org/wiki/Incus#Migrating_from_LXD" elog optfeature "virtual machine support" app-cdr/cdrtools app-emulation/qemu[spice,usbredir,virtfs] + optfeature "OCI container images support" app-containers/skopeo app-containers/umoci optfeature "btrfs storage backend" sys-fs/btrfs-progs optfeature "ipv6 support" net-dns/dnsmasq[ipv6] optfeature "full incus-migrate support" net-misc/rsync diff --git a/app-containers/k3d/Manifest b/app-containers/k3d/Manifest index b3995d3253af..ba162b5e026d 100644 --- a/app-containers/k3d/Manifest +++ b/app-containers/k3d/Manifest @@ -1,3 +1,3 @@ -DIST k3d-5.4.9.tar.gz 7740293 BLAKE2B b7a657720524abac2c36cccef8cf6e9c5588fcc191ecc2a3f7ed138762cc23abdc2b6413c67d426635e50777b8b87fccf93dc7cd88b0dd5c67becbc3f9056472 SHA512 caa6566f79837deb31db991df5475369b4921a5a110b723ad6c76f8ce2349399d0843d3e5de071a4ec50b318157d8fb47cc36018a0af9bb487793269c27027bf DIST k3d-5.6.0.tar.gz 8022281 BLAKE2B 93f32f65e6c42650608b94d58d2149c3fec96251500be0d95d5673f07ae8c366d80954afa4d80eec149b7a9e8af7389323c21498910a3010bb80b975f64064d0 SHA512 c13df93499ffde6567e4bf7dcf260cb65ca01c390bf39361122fa61553591f418213049cf29d8dde63896f026a28d96f4e2ab522a143ac66cfa9f3786f8ba9b9 DIST k3d-5.7.3.tar.gz 9566684 BLAKE2B 9dff7ab447b3fd790a036d61bc3a4bb61238c74eec60aa12a4ff10150ff2f4999a3b1e635aaae6211f4e05ed9c589dc08e08ba511eb7690f857c0dad954b6ce7 SHA512 d6e2f6fb3013429745e1663214c7dd66dd2727b592a32e81f5837bbcc997aee18418366a0e21463ba48a2d72b9a86067f492f1f44c4689a129166dcf018e5642 +DIST k3d-5.7.5.tar.gz 9542352 BLAKE2B 7855f4241577ab2558d3eda7eb866fd456ba3c08a60d8ba1d4c7874d846654f39d7bd618bb010d48543536d5e38847cb715fd0ce5af8a519ce0cc7bd3814a1df SHA512 b14f9ddd521aade832ad5493007be55294648a037bcdaeae7e1f424f60975451872ad1bed895892e51ad22ac86ec6fcdc77c08d2b0422d3aad20ab4b40b9f884 diff --git a/app-containers/k3d/k3d-5.4.9.ebuild b/app-containers/k3d/k3d-5.7.5.ebuild index 6f57b743d680..cf9bfa7e51d5 100644 --- a/app-containers/k3d/k3d-5.4.9.ebuild +++ b/app-containers/k3d/k3d-5.7.5.ebuild @@ -1,4 +1,4 @@ -# Copyright 2021-2023 Gentoo Authors +# Copyright 2021-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -7,7 +7,7 @@ inherit go-module DESCRIPTION="k3d creates k3s clusters in docker" HOMEPAGE="https://github.com/rancher/k3d" -K3D_K3S_TAG=v1.24.12-k3s1 +K3D_K3S_TAG=v1.31.2-k3s1 SRC_URI="https://github.com/rancher/k3d/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="MIT Apache-2.0 BSD BSD-2 MPL-2.0 ISC" SLOT="0" @@ -21,12 +21,16 @@ src_prepare() { } src_compile() { - GOWORK=off \ + local extra_ldflags=( + -X "github.com/k3d-io/k3d/v5/version.Version=v${PV}" + -X "github.com/k3d-io/k3d/v5/version.K3sVersion=${K3D_K3S_TAG}" + ) + env -u GOWORK \ CGO_ENABLED=0 \ go build \ -mod=vendor \ - -ldflags "-w -s -X github.com/k3d-io/k3d/v5/version.Version=v${PV} -X github.com/k3d-io/k3d/v5/version.K3sVersion=${K3D_K3S_TAG}" \ - -o bin/k3d + -ldflags "-w -s ${extra_ldflags[*]}" \ + -o bin/k3d || die } src_install() { diff --git a/app-containers/lxc/Manifest b/app-containers/lxc/Manifest index 0fdf05139b34..ab6eb81347c6 100644 --- a/app-containers/lxc/Manifest +++ b/app-containers/lxc/Manifest @@ -1,6 +1,4 @@ DIST lxc-5.0.3.tar.gz 975269 BLAKE2B 533d97fe4d986acbf5d562bb2c295a63df2a9a8bfc27aeff5056e4235f667102500debc586c5698482ec048c1b222a0fdc234db6fd6648c4b649f87a85de18f8 SHA512 0553be317431ab7ec0c450c0f85724a53de1f251c39c9716168e17cda6a8daec70b8221228c4be64027df28a327e0f1fd508e6bb48348ab540bbfeaf2b9ac974 DIST lxc-5.0.3.tar.gz.asc 833 BLAKE2B c35278ed17cad76d2ea94b3985e0110731efea751fb5f1c2d1c9db71486e4844285f372a94c8611dcfe91fdb16459694843b9e0a8273cfc68a56f549c7162cfb SHA512 a5ce5769d49abdf35d94de8273fd3e9c2a8ba4fafea71cf33ee6bce1d83531c8b550d972f7080409a4cc5a92e9d04ece50ed108f92c6aec4868d150e58d7d11a -DIST lxc-6.0.1.tar.gz 964526 BLAKE2B 6fb6442e0a9a356433351f412c9a1e4f18155146e49f40ebe6e132ea770a8737793df0c7ca13ca70ce631a2308ff525fca2fd2d127b98edbd00e0af7efce6879 SHA512 7e8b9740178ae46a2ad3ba3f1e509f69f978d0a2a1f7e1938213ae9cb9a80f496d01be64958cad4aa6f01a73f1d8c3759c3e9df9df4f67c77e603ea0809d79c2 -DIST lxc-6.0.1.tar.gz.asc 833 BLAKE2B 8469ff5603c48205c6451630ec8f03617c648e3d13f73ebd7d908017422b75613e5489b42ad0f598fcf5cf9e241fccaeb4b0ec3ac186a670ed56a252e282b16e SHA512 e0ebd29c3e793e1159e350854e2ac7adacd918b76dfa2de1e0227fd45034ac9308d02b7da1c0c80eae471ebba44a0804a7a0bf17cbf1c18de45bc63974e017e0 DIST lxc-6.0.2.tar.gz 964007 BLAKE2B 55c0155a66194d4d10fff5ffc7edc6d6afab730245a401671f8d1bd6f54bd8558bd0644c0f42bd49b5b470bc343809091f1893c27b5830674870f6b91f23d6e0 SHA512 52841b5f48eeb4b2b63e0437e3abc38cec6a801778eb2fab264c78d7ee3be957bd45aa839c9fcd281396464fa0af84bb2fc8bf4bfadc9509fae3b4dc52b44da5 DIST lxc-6.0.2.tar.gz.asc 833 BLAKE2B b4b6b56e65239c2125864e16e947a88c2d4d97a1b2dfa6920ca5c2f89b3df7d44d9ec8eb9a56753d6009143a53f6bb5bbd13f3b5b7f26e537aa6f1f1d0d0cc85 SHA512 741caccb3dc0ef1043c04122c75a3e3f6d8e6024a65bf905b186da0aabef971a1224e60f9adee069d1a2c24f43c408be1ccc32e5d4faba85860e9a19d9e4c0d9 diff --git a/app-containers/lxc/lxc-6.0.1.ebuild b/app-containers/lxc/lxc-6.0.1.ebuild deleted file mode 100644 index 415d5d6ed638..000000000000 --- a/app-containers/lxc/lxc-6.0.1.ebuild +++ /dev/null @@ -1,174 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit bash-completion-r1 linux-info meson optfeature systemd toolchain-funcs verify-sig - -DESCRIPTION="A userspace interface for the Linux kernel containment features" -HOMEPAGE="https://linuxcontainers.org/ https://github.com/lxc/lxc" -SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz - verify-sig? ( https://linuxcontainers.org/downloads/lxc/${P}.tar.gz.asc )" - -LICENSE="GPL-2 LGPL-2.1 LGPL-3" -SLOT="0/1.8" # SONAME liblxc.so.1 + ${PV//./} _if_ breaking ABI change while bumping. -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86" -IUSE="apparmor +caps examples io-uring lto man pam seccomp selinux ssl systemd test +tools" - -RDEPEND="acct-group/lxc - acct-user/lxc - apparmor? ( sys-libs/libapparmor ) - caps? ( sys-libs/libcap ) - io-uring? ( >=sys-libs/liburing-2:= ) - pam? ( sys-libs/pam ) - seccomp? ( sys-libs/libseccomp ) - selinux? ( sys-libs/libselinux ) - ssl? ( dev-libs/openssl:0= ) - systemd? ( - sys-apps/dbus - sys-apps/systemd:= - ) - tools? ( sys-libs/libcap )" -DEPEND="${RDEPEND} - caps? ( sys-libs/libcap[static-libs] ) - tools? ( sys-libs/libcap[static-libs] ) - sys-kernel/linux-headers" -BDEPEND="virtual/pkgconfig - man? ( app-text/docbook2X ) - verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" - -RESTRICT="!test? ( test )" - -CONFIG_CHECK="~!NETPRIO_CGROUP - ~CGROUPS - ~CGROUP_CPUACCT - ~CGROUP_DEVICE - ~CGROUP_FREEZER - - ~CGROUP_SCHED - ~CPUSETS - ~IPC_NS - ~MACVLAN - - ~MEMCG - ~NAMESPACES - ~NET_NS - ~PID_NS - - ~POSIX_MQUEUE - ~USER_NS - ~UTS_NS - ~VETH" - -ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers" -ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking" -ERROR_MEMCG="CONFIG_MEMCG: needed for memory resource control in containers" -ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network" -ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command" -ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info" -ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc - -DOCS=( AUTHORS CONTRIBUTING MAINTAINERS README.md doc/FAQ.txt ) - -pkg_setup() { - linux-info_pkg_setup -} - -src_configure() { - - # -Dtools-multicall=false: will create a single binary called 'lxc' that conflicts with LXD. - local emesonargs=( - --localstatedir "${EPREFIX}/var" - - -Dcoverity-build=false - -Dinstall-state-dirs=false - -Doss-fuzz=false - -Dspecfile=false - -Dtools-multicall=false - - -Dcommands=true - -Dinstall-init-files=true - -Dmemfd-rexec=true - -Dthread-safety=true - - $(meson_use apparmor) - $(meson_use caps capabilities) - $(meson_use examples) - $(meson_use io-uring io-uring-event-loop) - $(meson_use lto b_lto) - $(meson_use man) - $(meson_use pam pam-cgroup) - $(meson_use seccomp) - $(meson_use selinux) - $(meson_use ssl openssl) - $(meson_use test tests) - $(meson_use tools) - - $(usex systemd -Ddbus=true -Ddbus=false) - $(usex systemd -Dinit-script="systemd" -Dinit-script="sysvinit") - - -Ddata-path=/var/lib/lxc - -Ddoc-path=/usr/share/doc/${PF} - -Dlog-path=/var/log/lxc - -Drootfs-mount-path=/var/lib/lxc/rootfs - -Druntime-path=/run - ) - - use tools && local emesonargs+=( -Dcapabilities=true ) - - if $(tc-ld-is-gold) || $(tc-ld-is-lld); then - local emesonargs+=( -Db_lto_mode=thin ) - else - local emesonargs+=( -Db_lto_mode=default ) - fi - - meson_src_configure -} - -src_install() { - meson_src_install - - # The main bash-completion file will collide with lxd, need to relocate and update symlinks. - mkdir -p "${ED}"/$(get_bashcompdir) || die "Failed to create bashcompdir." - - if use tools; then - bashcomp_alias lxc-start lxc-{attach,autostart,cgroup,checkpoint,config,console,copy,create,destroy,device,execute,freeze,info,ls,monitor,snapshot,stop,top,unfreeze,unshare,usernsexec,wait} - else - bashcomp_alias lxc-start lxc-usernsexec - fi - - find "${ED}" -name '*.la' -delete -o -name '*.a' -delete || die - - # Replace upstream sysvinit/systemd files. - if use systemd; then - rm -r "${D}$(systemd_get_systemunitdir)" || die "Failed to remove systemd lib dir" - else - rm "${ED}"/etc/init.d/lxc-{containers,net} || die "Failed to remove sysvinit scripts" - fi - - newinitd "${FILESDIR}/${PN}.initd.9" ${PN} - systemd_newunit "${FILESDIR}"/lxc-monitord.service.5.0.0 lxc-monitord.service - systemd_newunit "${FILESDIR}"/lxc-net.service.5.0.0 lxc-net.service - systemd_newunit "${FILESDIR}"/lxc.service-5.0.0 lxc.service - systemd_newunit "${FILESDIR}"/lxc_at.service.5.0.0 "lxc@.service" - - if ! use apparmor; then - sed -i '/lxc-apparmor-load/d' "${D}$(systemd_get_systemunitdir)/lxc.service" || - die "Failed to remove apparmor references from lxc.service systemd unit." - fi -} - -pkg_postinst() { - elog "Please refer to " - elog "https://wiki.gentoo.org/wiki/LXC for introduction and usage guide." - elog - elog "Run 'lxc-checkconfig' to see optional kernel features." - elog - - optfeature "creating your own LXC containers" app-containers/distrobuilder - optfeature "automatic template scripts" app-containers/lxc-templates - optfeature "Debian-based distribution container image support" dev-util/debootstrap - optfeature "snapshot & restore functionality" sys-process/criu -} diff --git a/app-containers/lxc/lxc-6.0.2.ebuild b/app-containers/lxc/lxc-6.0.2.ebuild index 3917c9589db5..adb4ba4e3de4 100644 --- a/app-containers/lxc/lxc-6.0.2.ebuild +++ b/app-containers/lxc/lxc-6.0.2.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz LICENSE="GPL-2 LGPL-2.1 LGPL-3" SLOT="0/1.8" # SONAME liblxc.so.1 + ${PV//./} _if_ breaking ABI change while bumping. -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86" IUSE="apparmor +caps examples io-uring lto man pam seccomp selinux ssl systemd test +tools" RDEPEND="acct-group/lxc diff --git a/app-containers/lxd/lxd-5.0.3-r2.ebuild b/app-containers/lxd/lxd-5.0.3-r2.ebuild index 2a37a0ddeac2..e6b8cc7f1855 100644 --- a/app-containers/lxd/lxd-5.0.3-r2.ebuild +++ b/app-containers/lxd/lxd-5.0.3-r2.ebuild @@ -103,7 +103,7 @@ src_prepare() { # Fix hardcoded ovmf file path, see bug 763180 sed -i \ - -e "s:/usr/share/OVMF:/usr/share/edk2-ovmf:g" \ + -e "s:/usr/share/OVMF:/usr/share/edk2/OvmfX64:g" \ -e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \ doc/environment.md \ lxd/apparmor/instance.go \ diff --git a/app-containers/lxd/lxd-5.21.1-r1.ebuild b/app-containers/lxd/lxd-5.21.1-r1.ebuild index 36ce81664eaa..12cdb9a81965 100644 --- a/app-containers/lxd/lxd-5.21.1-r1.ebuild +++ b/app-containers/lxd/lxd-5.21.1-r1.ebuild @@ -97,7 +97,7 @@ src_prepare() { # Fix hardcoded ovmf file path, see bug 763180 sed -i \ - -e "s:/usr/share/OVMF:/usr/share/edk2-ovmf:g" \ + -e "s:/usr/share/OVMF:/usr/share/edk2/OvmfX64:g" \ -e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \ doc/environment.md \ lxd/apparmor/instance.go \ diff --git a/app-containers/lxd/lxd-6.1.ebuild b/app-containers/lxd/lxd-6.1.ebuild index bd080aee1b6a..422d2004d236 100644 --- a/app-containers/lxd/lxd-6.1.ebuild +++ b/app-containers/lxd/lxd-6.1.ebuild @@ -97,7 +97,7 @@ src_prepare() { # Fix hardcoded ovmf file path, see bug 763180 sed -i \ - -e "s:/usr/share/OVMF:/usr/share/edk2-ovmf:g" \ + -e "s:/usr/share/OVMF:/usr/share/edk2/OvmfX64:g" \ -e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \ doc/environment.md \ lxd/apparmor/instance.go \ diff --git a/app-containers/nerdctl/Manifest b/app-containers/nerdctl/Manifest index e1163e8c602d..2d175fd88781 100644 --- a/app-containers/nerdctl/Manifest +++ b/app-containers/nerdctl/Manifest @@ -2,3 +2,9 @@ DIST nerdctl-1.7.5-go-mod-vendor.tar.gz 7229228 BLAKE2B 24dd81b3b54542e8723c44d7 DIST nerdctl-1.7.5.tar.gz 517127 BLAKE2B 800fc487c60ea62641b26a1b41f95747bd39467d8e1c7fd7b5302c5d515c2e6765fcf7ef8860b3cbfe04428fe849a7293ec914bae3da65ac6418a1f5c789d832 SHA512 3e35c5e3c68c675d23c1a106d267f62c2e36cd8026308ac6237fa5aa2f3ebaea0f47888e6702290f40c26f543e90bca91d76cae28b74732e8fb351f6ef2441f9 DIST nerdctl-1.7.6-go-mod-vendor.tar.gz 7224842 BLAKE2B 65b06708bd9e568a58f486af7e1f47f4118543158035437f6145bba8221963e13014baeb16e16e0c038ca9b3b1109437594b92d25036779634d4c0360bd84595 SHA512 62e0dce2480c3f50c2f9473864294e36ee09bcb0b5f0e9655c1995f7067b6feb6d379a5f6331dde0e1f5bd1f673e0b172d96edf060167cc17cf2ec8a38cfeafa DIST nerdctl-1.7.6.tar.gz 517166 BLAKE2B 0ba11ac7331fdcbdab03a63284d0c9f3e2d6e11860c014cc88b4fbcac3ba7a76b6f359c8094a0dbe4d5f69c02b5c1e87e940b8cf839c93a512de2d5b8e68ded9 SHA512 8fd8a393c25206b7213fa7a95f4d6c76ed68aad82cfc6c8968d134e7d31304f4b7c20e6fa8b6d825c5398ccf5f08f3af94a3e3f7b30ebdf2ac7aa2066120bc50 +DIST nerdctl-2.0.0-go-mod-vendor.tar.gz 7302844 BLAKE2B 16b286ccab4ea143fd067c0b0f6dc55f4976010609702c3d8517e3cc6b774fd86684ea2da89152602dad6f17ae6f25d4f7b564b573e6fa62fa5907c32d91184f SHA512 504bbbb2b11166703866adc509d6c66a9da718c59aad9d73644f3f805040a6dfe7c016a896dcc2191aa25d89f4e19154ec8a24bf0d8d2f8bbbc5d55b830e993a +DIST nerdctl-2.0.0.tar.gz 1326169 BLAKE2B 1f3518045eb41d694535663d5426d7a68e09bb1323bbdd037088ef1049d41812d1d3176628d230bd4f6bd83e7ee844769b0449d268ab4d390ea81739e035609b SHA512 645df69994921c92685c8dcaeeeef6a3e64554029d70550d783ee9b199ae80ffd4c7f7126bb8e122d7b0958b80452cb49be3267138d17cfac535da36e65d6d57 +DIST nerdctl-2.0.1-go-mod-vendor.tar.gz 7349046 BLAKE2B 70e9044055d24e80843f37ff7ff6ba9fdef93ccdbed398114c109cfe99ca5c65597ba39e3fd78ea2521d6fe16f289cdbe3dace2b78c125845c417657839a16f6 SHA512 aa9b01db2f0860bfbd3af755418219ab8fed1bd7a1097ac9c6961b28eda4a6292f49c4dddacdc84884f8032330ccb293b90f70dae18b7909b1e8078cc7da2936 +DIST nerdctl-2.0.1.tar.gz 1327776 BLAKE2B dd185fb3c22f3ae57076e9a1e446a4d7c402d87c66d4dd54fa857c999f7634451a811543c7e114eef46bfbee70b4196ee1c71a9bc466544713ac02f44c8c48b0 SHA512 1df3bab770d397fa6a7811a5f6e7752b216d04e5281150e98c8a918311c099b7a3fce6f4c668558b5c7ac31f21223f192826cac96a6ed1eb73f5f5b462d34357 +DIST nerdctl-2.0.2-go-mod-vendor.tar.gz 7348723 BLAKE2B 8f9b96193b45f2006ffaa205f2c265462ed759652163272e31ecbef76f6752adb2288a843902faa27b42e5d2215e44521101d7017e3a4c6cb78660e288c27fb6 SHA512 a8b587b502dfacc14bef9d70e7233c53561ce39ea3612794086951c022daba445e2a4d429f3f40686e9c55deaac05848f4e6646f59f1df166dc5efb61ec75a67 +DIST nerdctl-2.0.2.tar.gz 1328952 BLAKE2B 4ffa3cdf3e6c2ec2ee2ece0c214b3219f3a068c9d34cf17eff12660421219470b1309f701bcfadea6623e3a7693f9f2cf0c732f882e97866d6e75945176ce5a5 SHA512 bab4358279ba8edf119062b494bf1b393e22c8ee483aa16d502e6656ed56a9775e024bc1c30cbdc2185840fbb7d8a8d7da7e30a0f1905b5a436024472619d2c3 diff --git a/app-containers/nerdctl/nerdctl-2.0.0.ebuild b/app-containers/nerdctl/nerdctl-2.0.0.ebuild new file mode 100644 index 000000000000..4522732319e2 --- /dev/null +++ b/app-containers/nerdctl/nerdctl-2.0.0.ebuild @@ -0,0 +1,53 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +EGIT_COMMIT="ef588dafa080e3dbc9c061ff3802affb66aef291" + +DESCRIPTION="Docker-compatible CLI for containerd, with support for Compose" +HOMEPAGE="https://github.com/containerd/nerdctl" +SRC_URI=" + https://github.com/containerd/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/containerd/${PN}/releases/download/v${PV}/${P}-go-mod-vendor.tar.gz +" + +LICENSE="Apache-2.0" +LICENSE+=" BSD BSD-2 ISC MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="rootless" + +DEPEND=" + rootless? ( + app-containers/slirp4netns + sys-apps/rootlesskit + ) +" +RDEPEND="${DEPEND}" + +src_unpack() { + unpack "${P}.tar.gz" + cd "${S}" + unpack "${P}-go-mod-vendor.tar.gz" + mv home/runner/work/nerdctl/nerdctl/vendor . || die +} + +src_compile() { + emake VERSION=v${PV} REVISION="${EGIT_COMMIT}" +} + +src_install() { + local emake_args=( + DESTDIR="${D}" + VERSION=v${PV} + REVISION="${EGIT_COMMIT}" + DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + PREFIX="${EPREFIX}/usr" + ) + emake "${emake_args[@]}" install + local DOCS=( README.md docs/* examples ) + einstalldocs +} diff --git a/app-containers/nerdctl/nerdctl-2.0.1.ebuild b/app-containers/nerdctl/nerdctl-2.0.1.ebuild new file mode 100644 index 000000000000..83ad2b2a7004 --- /dev/null +++ b/app-containers/nerdctl/nerdctl-2.0.1.ebuild @@ -0,0 +1,53 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +EGIT_COMMIT="47f31ff2c1615c1accb85c1ce4e7882ad739102f" + +DESCRIPTION="Docker-compatible CLI for containerd, with support for Compose" +HOMEPAGE="https://github.com/containerd/nerdctl" +SRC_URI=" + https://github.com/containerd/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/containerd/${PN}/releases/download/v${PV}/${P}-go-mod-vendor.tar.gz +" + +LICENSE="Apache-2.0" +LICENSE+=" BSD BSD-2 ISC MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="rootless" + +DEPEND=" + rootless? ( + app-containers/slirp4netns + sys-apps/rootlesskit + ) +" +RDEPEND="${DEPEND}" + +src_unpack() { + unpack "${P}.tar.gz" + cd "${S}" + unpack "${P}-go-mod-vendor.tar.gz" + mv home/runner/work/nerdctl/nerdctl/vendor . || die +} + +src_compile() { + emake VERSION=v${PV} REVISION="${EGIT_COMMIT}" +} + +src_install() { + local emake_args=( + DESTDIR="${D}" + VERSION=v${PV} + REVISION="${EGIT_COMMIT}" + DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + PREFIX="${EPREFIX}/usr" + ) + emake "${emake_args[@]}" install + local DOCS=( README.md docs/* examples ) + einstalldocs +} diff --git a/app-containers/nerdctl/nerdctl-2.0.2.ebuild b/app-containers/nerdctl/nerdctl-2.0.2.ebuild new file mode 100644 index 000000000000..bac4c17e9e5d --- /dev/null +++ b/app-containers/nerdctl/nerdctl-2.0.2.ebuild @@ -0,0 +1,53 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +EGIT_COMMIT="1220ce7ec2701d485a9b1beeea63dae3da134fb5" + +DESCRIPTION="Docker-compatible CLI for containerd, with support for Compose" +HOMEPAGE="https://github.com/containerd/nerdctl" +SRC_URI=" + https://github.com/containerd/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/containerd/${PN}/releases/download/v${PV}/${P}-go-mod-vendor.tar.gz +" + +LICENSE="Apache-2.0" +LICENSE+=" BSD BSD-2 ISC MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="rootless" + +DEPEND=" + rootless? ( + app-containers/slirp4netns + sys-apps/rootlesskit + ) +" +RDEPEND="${DEPEND}" + +src_unpack() { + unpack "${P}.tar.gz" + cd "${S}" + unpack "${P}-go-mod-vendor.tar.gz" + mv home/runner/work/nerdctl/nerdctl/vendor . || die +} + +src_compile() { + emake VERSION=v${PV} REVISION="${EGIT_COMMIT}" +} + +src_install() { + local emake_args=( + DESTDIR="${D}" + VERSION=v${PV} + REVISION="${EGIT_COMMIT}" + DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + PREFIX="${EPREFIX}/usr" + ) + emake "${emake_args[@]}" install + local DOCS=( README.md docs/* examples ) + einstalldocs +} diff --git a/app-containers/netavark/Manifest b/app-containers/netavark/Manifest index e0fe74fbb9d9..819ceee19b19 100644 --- a/app-containers/netavark/Manifest +++ b/app-containers/netavark/Manifest @@ -1,8 +1,10 @@ DIST netavark-1.10.2.crate 154261 BLAKE2B 2da5b12917f5db01d82c47808f403e06d6abbcbad0b777d1871de73d52d25219e3d6f8db48feb862aff8a20ed2184c728e813871aa1acc1d02e3997987a932b6 SHA512 362dd2652b3a9d9d1dec99cd85bc6e74b323d86b79ded742e68472e0b58881a5306d7217218d88e27d5e1c4094f2d67c9cb766d4b4c1ee2185c8b4fcbd299e3d DIST netavark-1.10.3.crate 154416 BLAKE2B a7750304484ae820eb3bb1bc4de8c2ad22d95494fe10471014e0eb999fb7578c5e9c2ab352fe357d964d701206ee7016f87134a62afe0a03cd1b574cae1264ca SHA512 6ed9cd5a69a6eacc4ad839a82680c7b98d453564aadee41eb6ea632223fba7fbdb20f11e4146dc74b6c6d3695ac50624424b3260dbb7769a4100a918e4328dbf DIST netavark-1.11.0.crate 155698 BLAKE2B df460f6a2e5ce82645dccf6ca487724da2abc6f3f2c90f56d935d691ddd9a4229b785177a4e6360f75aa13ee7cdb29a2794c0b7360ef9d40ea3f946771d3ab73 SHA512 e25b075f98cb2aa55cf0e8d8868aac3b6ff0b390f4f0632d6ee2f431cede144948ed98015576cf8a64fcc1a2c33c454415159951aacbdf0611613da867db9a13 +DIST netavark-1.12.2.crate 156878 BLAKE2B 787fd23e3fa233a18a753aa55a43413aafff47b4d0733a9f2250d3f2159c1a3d0dd20272997701b3bc39a6a042060e3d2edad2418326873111d8183f0060560c SHA512 45e423e15945ce63e1bb5d2364377de65efd2f2edfeb0fd3522d2d8afb5cb60e1951b5810ac1dbdbbdf77176885b738ad864132daa8d7de858fb4edce340d7ea DIST netavark-1.9.0.crate 139321 BLAKE2B c0c40c5b109544c094bf83ba9c73f829472c7703a72e25ec3dcb9b62b926f404618b2cb143fcc944f2240db074de14e711115d6f51d722125e152eea0ac0a631 SHA512 7a5fb4a856b5815c141ad63abbe0f122d762a411b86189add76cfff99adfdb066e24a7b577683950efdc39f2b7955bbdfb31f2c1c41037702fb732916e8aeebe DIST netavark-v1.10.2-vendor.tar.gz 16135498 BLAKE2B 607cad9d80067d579adaafdea22b238f5e2f6f92a3c6aed530c8e97bce2f7f869adeabbc7b7d1c04f7c517459112c42b5588aa3ccbf04d5205d2b8212c1e7a42 SHA512 a5079b724d25af60cc094dd5c0bc9e01d503f64bee7ef1c8e616e79793726d848a5e000d951f02d2516f10feea23e30ab637b37ae09da5580f4edb1e783240c0 DIST netavark-v1.10.3-vendor.tar.gz 16135507 BLAKE2B 114519b76d932c5918fd91cea73e8bc9f5aa3a63275f9218e667e400c3e2512e5db29ce806b5e5b509b043c04a3436344a27cf170e203d4360d00247e48b5ca9 SHA512 b8a99f45ba4ebb20414fe052ff08b1e7a7a86994c7dfa2f36d0500d52bcbd2d279aeff19fb0844a65e2375e86da33af735851f038f598771d2dac96ff7e032a5 DIST netavark-v1.11.0-vendor.tar.gz 17751524 BLAKE2B b466b27674e6944b2de8a684ee3e14f26775b6065f0f1e82987a0c240725c01f88d2138641b768b5e03fce5b26908d0281b1983b8c1844af4999064bf24d8f15 SHA512 d858bddaaf41b284af9ede84a4d3aab5b5935ea83df5261dfa58e2b7d14962dd55983b1a95b2692e323ea40fc2dc4d9b1bdf2aed90644739e6333c794a7915cb +DIST netavark-v1.12.2-vendor.tar.gz 18364290 BLAKE2B e2f09d53ac8106196aa873732df66f0357a5e26488cc1b8f1d10f5f5d650d471272efca7f33860afe6242500d934ee22d9ea58c256e47e296ed57d8d563f1f27 SHA512 1396eb4e41282745949a7a511c6c44e703c810624e56b8ca9455fec52c59d4ec4333103e00188b2b8c08a60bb9e8a8eca6ed995103c0dc20b3b91c1e0a1d0dfb DIST netavark-v1.9.0-vendor.tar.gz 16032862 BLAKE2B 313bcde75f2355dab3fa4fdc82881109924c07408aa352e92b590356cf292cd60ad39d8ef31687935e3fed6f22ec8c3b8f26e6eae21fdf211c29c83b745c8a84 SHA512 a5c11dd47122490579a260b6ac3b1c8f01d1c2881e58dbcc5bece398c7d6ef01f376f8c342df4ef619b135cc92a95c48741c8098413c33ede696c87a9cdcc96c diff --git a/app-containers/netavark/netavark-1.10.2.ebuild b/app-containers/netavark/netavark-1.10.2-r1.ebuild index 42ba29c8332d..42ba29c8332d 100644 --- a/app-containers/netavark/netavark-1.10.2.ebuild +++ b/app-containers/netavark/netavark-1.10.2-r1.ebuild diff --git a/app-containers/netavark/netavark-1.10.3.ebuild b/app-containers/netavark/netavark-1.10.3-r1.ebuild index 499417f28d96..499417f28d96 100644 --- a/app-containers/netavark/netavark-1.10.3.ebuild +++ b/app-containers/netavark/netavark-1.10.3-r1.ebuild diff --git a/app-containers/netavark/netavark-1.11.0-r1.ebuild b/app-containers/netavark/netavark-1.11.0-r1.ebuild new file mode 100644 index 000000000000..35792c7d1868 --- /dev/null +++ b/app-containers/netavark/netavark-1.11.0-r1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" + +inherit cargo systemd + +DESCRIPTION="A container network stack" +HOMEPAGE="https://github.com/containers/netavark" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/netavark.git" +else + SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" + KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv" +fi + +# main +LICENSE="Apache-2.0" +# deps +LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" +SLOT="0" +BDEPEND="dev-go/go-md2man + dev-libs/protobuf" + +QA_FLAGS_IGNORED=" + usr/libexec/podman/${PN}" +QA_PRESTRIPPED=" + usr/libexec/podman/${PN}" + +ECARGO_VENDOR="${WORKDIR}/vendor" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die +} + +src_compile() { + cargo_src_compile + export PREFIX="${EPREFIX}"/usr SYSTEMDDIR="$(systemd_get_systemunitdir)" + emake docs +} + +# Following is needed because we want to use `make install` instead of `cargo install` (exported by cargo.eclass) +src_install() { + default +} diff --git a/app-containers/netavark/netavark-1.11.0.ebuild b/app-containers/netavark/netavark-1.12.2-r1.ebuild index 81168b09df45..81168b09df45 100644 --- a/app-containers/netavark/netavark-1.11.0.ebuild +++ b/app-containers/netavark/netavark-1.12.2-r1.ebuild diff --git a/app-containers/netavark/netavark-1.9.0.ebuild b/app-containers/netavark/netavark-1.9.0-r1.ebuild index 499417f28d96..499417f28d96 100644 --- a/app-containers/netavark/netavark-1.9.0.ebuild +++ b/app-containers/netavark/netavark-1.9.0-r1.ebuild diff --git a/app-containers/nvidia-container-toolkit/Manifest b/app-containers/nvidia-container-toolkit/Manifest new file mode 100644 index 000000000000..6fa03184a094 --- /dev/null +++ b/app-containers/nvidia-container-toolkit/Manifest @@ -0,0 +1 @@ +DIST nvidia-container-toolkit-1.17.3.tar.gz 2718001 BLAKE2B 455a4159c45846951e8ebaee94393e20764e9e6cac10247dcbd4d9a16431a529ebe9bd6146fb590c1ea92f2e5f4c5561adfa6b8b495fe79f761e5664661acad4 SHA512 8c7a4290a1decc448c72e9a09213e0dc4e418ec633cefb16bb6b01fef7c502d23ed72cc1f3cc6583cad07feae5ca3cf44dad73e1274e042e3b26bdc7a4152b95 diff --git a/app-containers/nvidia-container-toolkit/files/config.toml b/app-containers/nvidia-container-toolkit/files/config.toml new file mode 100644 index 000000000000..cf5c0a8fe979 --- /dev/null +++ b/app-containers/nvidia-container-toolkit/files/config.toml @@ -0,0 +1,39 @@ +#accept-nvidia-visible-devices-as-volume-mounts = false +#accept-nvidia-visible-devices-envvar-when-unprivileged = true +disable-require = false +supported-driver-capabilities = "compat32,compute,display,graphics,ngx,utility,video" +#swarm-resource = "DOCKER_RESOURCE_GPU" + +[nvidia-container-cli] +#debug = "/var/log/nvidia-container-toolkit.log" +environment = [] +#ldcache = "/etc/ld.so.cache" +ldconfig = "@/sbin/ldconfig" +load-kmods = true +#no-cgroups = false +#path = "/usr/bin/nvidia-container-cli" +#root = "/run/nvidia/driver" +user = "root:video" + +[nvidia-container-runtime] +#debug = "/var/log/nvidia-container-runtime.log" +log-level = "info" +mode = "auto" +runtimes = ["docker-runc", "runc", "crun"] + +[nvidia-container-runtime.modes] + +[nvidia-container-runtime.modes.cdi] +annotation-prefixes = ["cdi.k8s.io/"] +default-kind = "nvidia.com/gpu" +spec-dirs = ["/etc/cdi", "/var/run/cdi"] + +[nvidia-container-runtime.modes.csv] +mount-spec-path = "/etc/nvidia-container-runtime/host-files-for-container.d" + +[nvidia-container-runtime-hook] +path = "nvidia-container-runtime-hook" +skip-mode-detection = false + +[nvidia-ctk] +path = "nvidia-ctk" diff --git a/app-containers/nvidia-container-toolkit/metadata.xml b/app-containers/nvidia-container-toolkit/metadata.xml new file mode 100644 index 000000000000..37403bfe0760 --- /dev/null +++ b/app-containers/nvidia-container-toolkit/metadata.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>vowstar@gmail.com</email> + <name>Huang Rui</name> + </maintainer> + <maintainer type="person" proxied="yes"> + <email>zhixu.liu@gmail.com</email> + <name>Z. Liu</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="github">NVIDIA/container-toolkit</remote-id> + </upstream> + <longdescription lang="en"> + NVIDIA container runtime toolkit, build and run containers leveraging + NVIDIA GPUs. tl;dr: nvidia-docker is deprecated because docker now has + native gpu support, which this package is required to use. The NVIDIA + Container Toolkit (formerly known as NVIDIA Docker) allows containers to + access full GPU acceleration. OpenGL, OpenCL and CUDA are supported for + production use. Vulkan support is currently in beta. This only works for + Linux containers running on Linux host systems with NVIDIA GPUs. + </longdescription> + <longdescription lang="zh"> + NVIDIA容器运行时工具包,构建和运行利用NVIDIA GPU的容器。简而言之: + nvidia-docker已经过时,因为docker现在具有原生的GPU支持,而这个包是使用它 + 所必需的。NVIDIA容器工具包(以前称为NVIDIA Docker)允许容器访问完整的 + GPU加速。OpenGL、OpenCL和CUDA支持生产使用。Vulkan支持目前处于测试阶段。 + 这只适用于在配备NVIDIA GPU的Linux主机系统上运行的Linux容器。 + </longdescription> +</pkgmetadata> diff --git a/app-containers/nvidia-container-toolkit/nvidia-container-toolkit-1.17.3.ebuild b/app-containers/nvidia-container-toolkit/nvidia-container-toolkit-1.17.3.ebuild new file mode 100644 index 000000000000..dadbd1fc8907 --- /dev/null +++ b/app-containers/nvidia-container-toolkit/nvidia-container-toolkit-1.17.3.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +EGO_PN="github.com/NVIDIA/${PN}" + +inherit go-module + +DESCRIPTION="NVIDIA container runtime toolkit" +HOMEPAGE="https://github.com/NVIDIA/container-toolkit" + +if [[ "${PV}" == "9999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/NVIDIA/${PN}.git" +else + SRC_URI=" + https://github.com/NVIDIA/${PN}/archive/v${PV/_rc/-rc.}.tar.gz -> ${P}.tar.gz + " + S="${WORKDIR}/${PN}-${PV/_rc/-rc.}" + KEYWORDS="~amd64" +fi + +LICENSE="Apache-2.0" +SLOT="0/${PV}" + +# Some tests may require specific environmental setups or additional hardware. +RESTRICT="test" # Bug 831702 + +RDEPEND=" + >=sys-libs/libnvidia-container-$(ver_cut 1-2) +" + +src_compile() { + emake binaries +} + +src_install() { + dobin nvidia-cdi-hook \ + nvidia-container-runtime \ + nvidia-container-runtime.cdi \ + nvidia-container-runtime.legacy \ + nvidia-container-runtime-hook \ + nvidia-ctk + insinto "/etc/nvidia-container-runtime" + doins "${FILESDIR}/config.toml" +} + +pkg_postinst() { + elog "Your docker or containerd (if applicable) service may need restart" + elog "after install this package:" + elog "OpenRC: rc-service containerd restart; rc-service docker restart" + elog "systemd: systemctl restart containerd; systemctl restart docker" + elog "You may need to edit your /etc/nvidia-container-runtime/config.toml" + elog "file before running ${PN} for the first time." + elog "For details, please see the NVIDIA docker manual page." +} diff --git a/app-containers/nvidia-container-toolkit/nvidia-container-toolkit-9999.ebuild b/app-containers/nvidia-container-toolkit/nvidia-container-toolkit-9999.ebuild new file mode 100644 index 000000000000..b11ae45b1ca4 --- /dev/null +++ b/app-containers/nvidia-container-toolkit/nvidia-container-toolkit-9999.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +EGO_PN="github.com/NVIDIA/${PN}" + +inherit go-module + +DESCRIPTION="NVIDIA container runtime toolkit" +HOMEPAGE="https://github.com/NVIDIA/container-toolkit" + +if [[ "${PV}" == "9999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/NVIDIA/${PN}.git" +else + SRC_URI=" + https://github.com/NVIDIA/${PN}/archive/v${PV/_rc/-rc.}.tar.gz -> ${P}.tar.gz + " + S="${WORKDIR}/${PN}-${PV/_rc/-rc.}" + KEYWORDS="~amd64" +fi + +LICENSE="Apache-2.0" +SLOT="0/${PV}" + +# Some tests may require specific environmental setups or additional hardware. +RESTRICT="test" # Bug 831702 + +RDEPEND=" + sys-libs/libnvidia-container +" + +src_compile() { + emake binaries +} + +src_install() { + dobin nvidia-cdi-hook \ + nvidia-container-runtime \ + nvidia-container-runtime.cdi \ + nvidia-container-runtime.legacy \ + nvidia-container-runtime-hook \ + nvidia-ctk + insinto "/etc/nvidia-container-runtime" + doins "${FILESDIR}/config.toml" +} + +pkg_postinst() { + elog "Your docker or containerd (if applicable) service may need restart" + elog "after install this package:" + elog "OpenRC: rc-service containerd restart; rc-service docker restart" + elog "systemd: systemctl restart containerd; systemctl restart docker" + elog "You may need to edit your /etc/nvidia-container-runtime/config.toml" + elog "file before running ${PN} for the first time." + elog "For details, please see the NVIDIA docker manual page." +} diff --git a/app-containers/podman-compose/Manifest b/app-containers/podman-compose/Manifest new file mode 100644 index 000000000000..9b60d9686f04 --- /dev/null +++ b/app-containers/podman-compose/Manifest @@ -0,0 +1 @@ +DIST podman-compose-1.2.0.gh.tar.gz 84708 BLAKE2B ab1f458cef6db99c5727a6676cd1a15ccc58108a14763b9bf8e1093bc674e1adbee21c81744a0cb7798be6134e7b566a4ed9222be71bda0d8f7e4568b3d2fcb7 SHA512 2b45bcb331e334d362a0906563377e1514aca95f50c575e4b53039e58394b39af1ceeb606d90c652ef6d8cc5e8764a27edf11fc9782a89b186812a474b583579 diff --git a/app-containers/podman-compose/metadata.xml b/app-containers/podman-compose/metadata.xml new file mode 100644 index 000000000000..993b06717a6d --- /dev/null +++ b/app-containers/podman-compose/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>zmedico@gentoo.org</email> + <name>Zac Medico</name> + </maintainer> + <upstream> + <remote-id type="pypi">podman-compose</remote-id> + <remote-id type="github">containers/podman-compose</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-containers/podman-compose/podman-compose-1.2.0.ebuild b/app-containers/podman-compose/podman-compose-1.2.0.ebuild new file mode 100644 index 000000000000..e0cc4093d423 --- /dev/null +++ b/app-containers/podman-compose/podman-compose-1.2.0.ebuild @@ -0,0 +1,40 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) +inherit distutils-r1 + +DESCRIPTION="A script to run docker-compose.yml using Podman" +HOMEPAGE="https://github.com/containers/podman-compose" +SRC_URI="https://github.com/containers/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + app-containers/aardvark-dns + app-containers/netavark + app-containers/podman +" + +RDEPEND=" + ${DEPEND} + dev-python/pyaml[${PYTHON_USEDEP}] + dev-python/python-dotenv[${PYTHON_USEDEP}] +" + +BDEPEND=" + test? ( + dev-python/parameterized[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + epytest pytests +} diff --git a/app-containers/podman/Manifest b/app-containers/podman/Manifest index 14d764f5eb50..b2d1a65fcab9 100644 --- a/app-containers/podman/Manifest +++ b/app-containers/podman/Manifest @@ -1,4 +1,2 @@ -DIST podman-4.9.4.tar.gz 21733620 BLAKE2B 17d099c0a13fbbb77556742313c39995127fc97b4086ef3c2d74a92cc0a4f825a6c729dd099c6d4f4cd3d2ebfd470494babdeaa85a5653b327ea1a16fb5ea993 SHA512 7b52555789a1c214fcf26b0826bdda6cf0ccca588f87c0f15ac5e8358ddac625e17cafbe6a43de07cad964e1418b5ee0d2e38a5cb5dc6f6d4e638399749a7f7b -DIST podman-5.0.2.tar.gz 23811875 BLAKE2B e943eb36eb0b80332223afc5d971c0886f6eaffeb7133c634d28c0a38e9aae6a54266691067dbca7684882f8b6dad72c3d5de2287ec5a7e8fb4b1cfd96df0b4d SHA512 70dbac9fc81d66eb9b0a5174f5776b805397005cacca917674d2b001591fadd05a776c956e693bad932e9eefe591c35da5c566e8e9e01db8be42bc454cd03104 -DIST podman-5.0.3.tar.gz 23814179 BLAKE2B 46385710e4d24f8eca3a7c98c18a97b96ecd4691b3c965c5a5e7bc690d40d892a6d5fb71c1dd8ec56cc907a2167ab5ee795b4d2c2279c58cef3a5a1cece8b678 SHA512 c605a52cc5aba43d485796c4986f2d1be704e5c931473bf5ba1cf77f703cdb3d16f41d33da0b25287e8d001077f77caf117d3ea5dbd7c56a744274025d9ab07d -DIST podman-5.1.1.tar.gz 23794366 BLAKE2B 0612a148972c96f532e96a8eb1ab388d80b32fe2ca7c5626e615748ef269a853407aeb39f34686d9eb75de239882e524cf5ee7c97152caccf5f77eb6ecfd54d8 SHA512 e896ee97980da4a522eb865d2eacb6876dd8bc5be1488aed8bd81a81af95faa1383b176b5d236d4af0f76bc30ddad5230df3e11c59ffc6f86e5b4cf3876ff184 +DIST podman-5.2.5.tar.gz 23834863 BLAKE2B 2264c9b19e621a1269ae5baee6fee148e6f1b9cacbdd83fdbecf671f87855d0ae566e41e4e8cbffe57662b7e9a3d653d57a7d2acb8f30b869b8af1bd7473a617 SHA512 29f71c67a5700e8dffe45e6e91acab509d8c8924a5f3cf9b4eee95f665a9ed19333285df89da892699ee314cee27c0c8a4a62d29e4205198781f5d5f585135a9 +DIST podman-5.3.0.tar.gz 24194165 BLAKE2B fb2da37e4f97d69997b9518425bb1ec74846e4e26855bf9ece0eeefb723f603051d4d4a1b3320cdba5c97595db12e1948f280776429819d10bfe83a57f349c78 SHA512 3f1ab7e792850e2e21823c59ca9e03d348e78267e3ec5344a04c38e51466159717944c318cf5e61ad9a785d9112b468b9fc37f3b60a40e8764d5cac9f58e7d16 diff --git a/app-containers/podman/files/seccomp-toggle-4.7.0.patch b/app-containers/podman/files/seccomp-toggle-4.7.0.patch deleted file mode 100644 index 17a09b601369..000000000000 --- a/app-containers/podman/files/seccomp-toggle-4.7.0.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/Makefile -+++ b/Makefile -@@ -57,7 +57,11 @@ - $(shell hack/systemd_tag.sh) \ - $(shell hack/libsubid_tag.sh) \ - exclude_graphdriver_devicemapper \ -- seccomp -+ -+BUILD_SECCOMP ?= yes -+ifeq ($(BUILD_SECCOMP),yes) -+BUILDTAGS += seccomp -+endif - # N/B: This value is managed by Renovate, manual changes are - # possible, as long as they don't disturb the formatting - # (i.e. DO NOT ADD A 'v' prefix!) diff --git a/app-containers/podman/metadata.xml b/app-containers/podman/metadata.xml index 59ab2d3ffda0..897bde567784 100644 --- a/app-containers/podman/metadata.xml +++ b/app-containers/podman/metadata.xml @@ -26,19 +26,6 @@ <flag name="btrfs"> Enables btrfs support (graph driver) in Podman </flag> - <flag name="cgroup-hybrid"> - Use legacy (hybrid) cgroups instead of modern (unified) cgroups - </flag> - <flag name="fuse"> - Enables fuse dependencies (fuse-overlayfs is especially useful - for rootless mode). - </flag> - <flag name="init"> - Enables catatonit dependency required for podman run --init. - </flag> - <flag name="rootless"> - Enables dependencies for running in rootless mode. - </flag> <flag name="wrapper"> Install wrapper which lets use podman for command `docker` </flag> diff --git a/app-containers/podman/podman-4.9.4.ebuild b/app-containers/podman/podman-4.9.4.ebuild deleted file mode 100644 index ea2bd34e2507..000000000000 --- a/app-containers/podman/podman-4.9.4.ebuild +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11,12} ) - -inherit go-module python-any-r1 tmpfiles toolchain-funcs linux-info - -DESCRIPTION="A tool for managing OCI containers and pods with Docker-compatible CLI" -HOMEPAGE="https://github.com/containers/podman/ https://podman.io/" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/podman.git" -else - SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${P/_rc/-rc}" - if [[ ${PV} != *rc* ]] ; then - KEYWORDS="amd64 arm64 ~riscv" - fi -fi - -# 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 cgroup-hybrid wrapper +fuse +init +rootless +seccomp selinux systemd" -RESTRICT="test" - -RDEPEND=" - app-crypt/gpgme:= - >=app-containers/conmon-2.0.0 - >=app-containers/containers-common-0.56.0 - dev-libs/libassuan:= - dev-libs/libgpg-error:= - sys-apps/shadow:= - - apparmor? ( sys-libs/libapparmor ) - btrfs? ( sys-fs/btrfs-progs ) - cgroup-hybrid? ( >=app-containers/runc-1.0.0_rc6 ) - !cgroup-hybrid? ( app-containers/crun ) - wrapper? ( !app-containers/docker-cli ) - fuse? ( sys-fs/fuse-overlayfs ) - init? ( app-containers/catatonit ) - rootless? ( app-containers/slirp4netns ) - seccomp? ( sys-libs/libseccomp:= ) - selinux? ( sec-policy/selinux-podman sys-libs/libselinux:= ) - systemd? ( sys-apps/systemd:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - dev-go/go-md2man -" - -PATCHES=( - "${FILESDIR}/seccomp-toggle-4.7.0.patch" -) - -CONFIG_CHECK=" - ~USER_NS -" - -pkg_setup() { - use btrfs && CONFIG_CHECK+=" ~BTRFS_FS" - linux-info_pkg_setup - python-any-r1_pkg_setup -} - -src_prepare() { - default - - # assure necessary files are present - local file - for file in apparmor_tag btrfs_installed_tag btrfs_tag systemd_tag; do - [[ -f hack/"${file}".sh ]] || die - done - - local feature - for feature in apparmor systemd; do - cat <<-EOF > hack/"${feature}"_tag.sh || die - #!/usr/bin/env bash - $(usex ${feature} "echo ${feature}" echo) - EOF - done - - echo -e "#!/usr/bin/env bash\n echo" > hack/btrfs_installed_tag.sh || die - cat <<-EOF > hack/btrfs_tag.sh || die - #!/usr/bin/env bash - $(usex btrfs echo 'echo exclude_graphdriver_btrfs btrfs_noversion') - EOF -} - -src_compile() { - export PREFIX="${EPREFIX}/usr" - - # bug 906073 - use elibc_musl && export CGO_CFLAGS="-D_LARGEFILE64_SOURCE" - - # 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="" EPOCH_TEST_COMMIT="" - - # Use proper pkg-config to get gpgme cflags and ldflags when - # cross-compiling, bug 930982. - if tc-is-cross-compiler; then - tc-export PKG_CONFIG - fi - - # BUILD_SECCOMP is used in the patch to toggle seccomp - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" BUILD_SECCOMP="$(usex seccomp)" all $(usev wrapper docker-docs) -} - -src_install() { - emake DESTDIR="${D}" install install.completions $(usev wrapper install.docker-full) - - insinto /etc/cni/net.d - doins cni/87-podman-bridge.conflist - - if use !systemd; then - newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman - newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman - - newinitd "${FILESDIR}"/podman-restart-5.0.0_rc4.initd podman-restart - newconfd "${FILESDIR}"/podman-restart-5.0.0_rc4.confd podman-restart - - newinitd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.initd podman-clean-transient - newconfd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.confd podman-clean-transient - - exeinto /etc/cron.daily - newexe "${FILESDIR}"/podman-auto-update-5.0.0.cron podman-auto-update - - insinto /etc/logrotate.d - newins "${FILESDIR}/podman.logrotated" podman - fi - - 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 $(usev wrapper podman-docker.conf) - - local want_newline=false - 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 -} diff --git a/app-containers/podman/podman-5.0.3.ebuild b/app-containers/podman/podman-5.0.3.ebuild deleted file mode 100644 index 738613b007dc..000000000000 --- a/app-containers/podman/podman-5.0.3.ebuild +++ /dev/null @@ -1,134 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11,12} ) - -inherit go-module python-any-r1 tmpfiles toolchain-funcs linux-info - -DESCRIPTION="A tool for managing OCI containers and pods with Docker-compatible CLI" -HOMEPAGE="https://github.com/containers/podman/ https://podman.io/" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/podman.git" -else - SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${P/_rc/-rc}" - [[ ${PV} != *rc* ]] && \ - KEYWORDS="~amd64 ~arm64 ~riscv" -fi - -# 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 selinux systemd wrapper" -RESTRICT="test" - -RDEPEND=" - app-containers/catatonit - >=app-containers/conmon-2.1.10 - >=app-containers/containers-common-0.58.0-r1 - app-crypt/gpgme:= - dev-libs/libassuan:= - dev-libs/libgpg-error:= - sys-apps/shadow:= - - apparmor? ( sys-libs/libapparmor ) - btrfs? ( sys-fs/btrfs-progs ) - wrapper? ( !app-containers/docker-cli ) - seccomp? ( sys-libs/libseccomp:= ) - selinux? ( sec-policy/selinux-podman sys-libs/libselinux:= ) - systemd? ( sys-apps/systemd:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - dev-go/go-md2man -" - -PATCHES=( - "${FILESDIR}/seccomp-toggle-4.7.0.patch" -) - -CONFIG_CHECK=" - ~USER_NS -" - -pkg_setup() { - use btrfs && CONFIG_CHECK+=" ~BTRFS_FS" - linux-info_pkg_setup - python-any-r1_pkg_setup -} - -src_prepare() { - default - - # assure necessary files are present - local file - for file in apparmor_tag btrfs_installed_tag btrfs_tag systemd_tag; do - [[ -f hack/"${file}".sh ]] || die - done - - local feature - for feature in apparmor systemd; do - cat <<-EOF > hack/"${feature}"_tag.sh || die - #!/usr/bin/env bash - $(usex ${feature} "echo ${feature}" echo) - EOF - done - - echo -e "#!/usr/bin/env bash\n echo" > hack/btrfs_installed_tag.sh || die - cat <<-EOF > hack/btrfs_tag.sh || die - #!/usr/bin/env bash - $(usex btrfs echo 'echo exclude_graphdriver_btrfs btrfs_noversion') - EOF -} - -src_compile() { - export PREFIX="${EPREFIX}/usr" - - # 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="" EPOCH_TEST_COMMIT="" - - # Use proper pkg-config to get gpgme cflags and ldflags when - # cross-compiling, bug 930982. - if tc-is-cross-compiler; then - tc-export PKG_CONFIG - fi - - # BUILD_SECCOMP is used in the patch to toggle seccomp - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" BUILD_SECCOMP="$(usex seccomp)" \ - all $(usev wrapper docker-docs) -} - -src_install() { - emake DESTDIR="${D}" install install.completions $(usev wrapper install.docker-full) - - if use !systemd; then - newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman - newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman - - newinitd "${FILESDIR}"/podman-restart-5.0.0_rc4.initd podman-restart - newconfd "${FILESDIR}"/podman-restart-5.0.0_rc4.confd podman-restart - - newinitd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.initd podman-clean-transient - newconfd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.confd podman-clean-transient - - exeinto /etc/cron.daily - newexe "${FILESDIR}"/podman-auto-update-5.0.0.cron podman-auto-update - - insinto /etc/logrotate.d - newins "${FILESDIR}/podman.logrotated" podman - fi - - keepdir /var/lib/containers -} - -pkg_postinst() { - tmpfiles_process podman.conf $(usev wrapper podman-docker.conf) -} diff --git a/app-containers/podman/podman-5.0.2.ebuild b/app-containers/podman/podman-5.2.5.ebuild index 738613b007dc..91caafc19598 100644 --- a/app-containers/podman/podman-5.0.2.ebuild +++ b/app-containers/podman/podman-5.2.5.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{11,12} ) +PYTHON_COMPAT=( python3_{11..13} ) inherit go-module python-any-r1 tmpfiles toolchain-funcs linux-info @@ -17,7 +17,7 @@ else SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P/_rc/-rc}" [[ ${PV} != *rc* ]] && \ - KEYWORDS="~amd64 ~arm64 ~riscv" + KEYWORDS="amd64 arm64 ~loong ~riscv" fi # main pkg @@ -51,7 +51,7 @@ BDEPEND=" " PATCHES=( - "${FILESDIR}/seccomp-toggle-4.7.0.patch" + "${T}"/togglable-seccomp.patch ) CONFIG_CHECK=" @@ -65,6 +65,19 @@ pkg_setup() { } src_prepare() { + cat <<'EOF' > "${T}"/togglable-seccomp.patch || die +--- a/Makefile ++++ b/Makefile +@@ -56,7 +56,6 @@ BUILDTAGS ?= \ + $(shell hack/systemd_tag.sh) \ + $(shell hack/libsubid_tag.sh) \ + exclude_graphdriver_devicemapper \ +- seccomp + # allow downstreams to easily add build tags while keeping our defaults + BUILDTAGS += ${EXTRA_BUILDTAGS} + # N/B: This value is managed by Renovate, manual changes are +EOF + default # assure necessary files are present @@ -101,13 +114,12 @@ src_compile() { tc-export PKG_CONFIG fi - # BUILD_SECCOMP is used in the patch to toggle seccomp - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" BUILD_SECCOMP="$(usex seccomp)" \ + emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" SELINUXOPT= \ all $(usev wrapper docker-docs) } src_install() { - emake DESTDIR="${D}" install install.completions $(usev wrapper install.docker-full) + emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) if use !systemd; then newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman diff --git a/app-containers/podman/podman-5.1.1.ebuild b/app-containers/podman/podman-5.3.0.ebuild index fd1d527b4b94..1deb45b19629 100644 --- a/app-containers/podman/podman-5.1.1.ebuild +++ b/app-containers/podman/podman-5.3.0.ebuild @@ -114,12 +114,12 @@ src_compile() { tc-export PKG_CONFIG fi - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" \ + emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" SELINUXOPT= \ all $(usev wrapper docker-docs) } src_install() { - emake DESTDIR="${D}" install install.completions $(usev wrapper install.docker-full) + emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) if use !systemd; then newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman diff --git a/app-containers/podman/podman-9999.ebuild b/app-containers/podman/podman-9999.ebuild index fd1d527b4b94..1deb45b19629 100644 --- a/app-containers/podman/podman-9999.ebuild +++ b/app-containers/podman/podman-9999.ebuild @@ -114,12 +114,12 @@ src_compile() { tc-export PKG_CONFIG fi - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" \ + emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" SELINUXOPT= \ all $(usev wrapper docker-docs) } src_install() { - emake DESTDIR="${D}" install install.completions $(usev wrapper install.docker-full) + emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) if use !systemd; then newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman diff --git a/app-containers/runc/Manifest b/app-containers/runc/Manifest index a5fb81afbe3c..14ab1ef8531f 100644 --- a/app-containers/runc/Manifest +++ b/app-containers/runc/Manifest @@ -1,3 +1,6 @@ DIST runc-1.1.12.tar.gz 2522196 BLAKE2B 14fe8d5f82d5b4d7f6b4bb9111c5d258e74f6a44aeb51fc87c69104e95b9bf24a3d503f4cc5dedb40d542fbd4b6e27273f456bda4fcf3bc298eb93ae292d9663 SHA512 92e8ac54a77d7ebcc76b5a9cc08d9a064211f12e9d26f064070cc203a5afb11c3af28d8f556f297513f797a2933d50bf10a8f22e307724041d66aa8c5ca1d9d3 DIST runc-1.1.13.tar.gz 2532849 BLAKE2B f3d3171ffce2bb833bfb5cc21d0dc034fd7e38c47ee098cc1fc75c06fd4dfae21dfe25c2e69a1ca93b29d36e8799727ea41725eee8aca3a059c14dab6c8a435f SHA512 644bf9e6359bf49bbdec667c0f7c69ded78c7eacfc2d1b730d52fdcf7348571c6406b8e5790811fe3662a458c878e4225c3559885f0d95f8905273e7e40e55ad DIST runc-1.1.14.tar.gz 2543890 BLAKE2B 3eede8cd7d04d2a3826cfc7caae032744551799e8262d28e989d3d5c66ca3969ce8dede064ebd37361a00eb276fa7c9961180dd9fc9b0d53535421ecc99acb39 SHA512 bdefbf34cf57485c6b961babc8294d0e6b2e003eb836b8e99c49ef4d00acf11f30a46ad0bcd399ee9346610419591daf1eecb3b6b127962357d629bf5f252e22 +DIST runc-1.2.0.tar.gz 2776027 BLAKE2B 743ea8641c0fabda5e32c1d3e044627241337bcdfd92b740bf8ef406e2ad4f37f7069975d93639954a1b20b2627b6456a66847eabfb544ee0eef44e59b2a7453 SHA512 30194521e9ff8e5586309bedbb29812f057220f765b68145d88f2e0008f7f9b5a22fa185d448247d7c71aeade3f48f76b48d4289c94a6c02a1e3384ae5674617 +DIST runc-1.2.1.tar.gz 2742512 BLAKE2B 06beda96edb4fa0796371d28f646b01760cd9b663104045407ae27f3ddd51e0318eddba8fc3dbe107629831a5f4051af0f50406418213485b7ee90cdf9a86085 SHA512 098ba9810d6a6704b11f97360cf403d0e5cccdf635a9b5c594b70e26c2c1554c328506265754f500e2faec1f08655839837036010c6a25265047a47c31f4defd +DIST runc-1.2.2.tar.gz 2743483 BLAKE2B d1e59aff284dcacdc50a17c4efab09b4bdda5d93ce13822542ea73ec696d3642d4dcc715d2adad308622100b04ef62365d3848be6418db5a325ac574b66e314c SHA512 87066ff0fe7ff6dc0eefd61ba2b194fa96433a091a34e9035350123b7da7dccf7fcec6f52b377c72be853820b4a57154b42bcd58c872263f8b7a16bfc480e5d7 diff --git a/app-containers/runc/runc-1.2.0.ebuild b/app-containers/runc/runc-1.2.0.ebuild new file mode 100644 index 000000000000..4ebe9d4e820f --- /dev/null +++ b/app-containers/runc/runc-1.2.0.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module linux-info + +# update on bump, look for commit ID on release tag. +# https://github.com/opencontainers/runc +RUNC_COMMIT=0b9fa21be2bcba45f6d9d748b4bcf70cfbffbc19 + +CONFIG_CHECK="~USER_NS" + +DESCRIPTION="runc container cli tools" +HOMEPAGE="https://github.com/opencontainers/runc/" +MY_PV="${PV/_/-}" +SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${MY_PV}" + +LICENSE="Apache-2.0 BSD-2 BSD MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="apparmor hardened +kmem +seccomp selinux test" + +COMMON_DEPEND=" + apparmor? ( sys-libs/libapparmor ) + seccomp? ( sys-libs/libseccomp )" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND} + !app-emulation/docker-runc + selinux? ( sec-policy/selinux-container )" +BDEPEND=" + dev-go/go-md2man + test? ( "${RDEPEND}" )" + +# tests need busybox binary, and portage namespace +# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox +# majority of tests pass +RESTRICT+=" test" + +src_compile() { + # Taken from app-containers/docker-1.7.0-r1 + CGO_CFLAGS+=" -I${ESYSROOT}/usr/include" + CGO_LDFLAGS+=" $(usex hardened '-fno-PIC ' '') + -L${ESYSROOT}/usr/$(get_libdir)" + + # build up optional flags + local options=( + $(usev apparmor) + $(usev seccomp) + $(usex kmem '' 'nokmem') + ) + + myemakeargs=( + BUILDTAGS="${options[*]}" + COMMIT="${RUNC_COMMIT}" + ) + + emake "${myemakeargs[@]}" runc man +} + +src_install() { + myemakeargs+=( + PREFIX="${ED}/usr" + BINDIR="${ED}/usr/bin" + MANDIR="${ED}/usr/share/man" + ) + emake "${myemakeargs[@]}" install install-man install-bash + + local DOCS=( README.md PRINCIPLES.md docs/. ) + einstalldocs +} + +src_test() { + emake "${myemakeargs[@]}" localunittest +} diff --git a/app-containers/runc/runc-1.2.1.ebuild b/app-containers/runc/runc-1.2.1.ebuild new file mode 100644 index 000000000000..56751cc62a35 --- /dev/null +++ b/app-containers/runc/runc-1.2.1.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module linux-info + +# update on bump, look for commit ID on release tag. +# https://github.com/opencontainers/runc +RUNC_COMMIT=7cb363254b69e10320360b63fb73e0ffb5da7bf2 + +CONFIG_CHECK="~USER_NS" + +DESCRIPTION="runc container cli tools" +HOMEPAGE="https://github.com/opencontainers/runc/" +MY_PV="${PV/_/-}" +SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${MY_PV}" + +LICENSE="Apache-2.0 BSD-2 BSD MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="apparmor hardened +kmem +seccomp selinux test" + +COMMON_DEPEND=" + apparmor? ( sys-libs/libapparmor ) + seccomp? ( sys-libs/libseccomp )" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND} + !app-emulation/docker-runc + selinux? ( sec-policy/selinux-container )" +BDEPEND=" + dev-go/go-md2man + test? ( "${RDEPEND}" )" + +# tests need busybox binary, and portage namespace +# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox +# majority of tests pass +RESTRICT+=" test" + +src_compile() { + # Taken from app-containers/docker-1.7.0-r1 + CGO_CFLAGS+=" -I${ESYSROOT}/usr/include" + CGO_LDFLAGS+=" $(usex hardened '-fno-PIC ' '') + -L${ESYSROOT}/usr/$(get_libdir)" + + # build up optional flags + local options=( + $(usev apparmor) + $(usev seccomp) + $(usex kmem '' 'nokmem') + ) + + myemakeargs=( + BUILDTAGS="${options[*]}" + COMMIT="${RUNC_COMMIT}" + ) + + emake "${myemakeargs[@]}" runc man +} + +src_install() { + myemakeargs+=( + PREFIX="${ED}/usr" + BINDIR="${ED}/usr/bin" + MANDIR="${ED}/usr/share/man" + ) + emake "${myemakeargs[@]}" install install-man install-bash + + local DOCS=( README.md PRINCIPLES.md docs/. ) + einstalldocs +} + +src_test() { + emake "${myemakeargs[@]}" localunittest +} diff --git a/app-containers/runc/runc-1.2.2.ebuild b/app-containers/runc/runc-1.2.2.ebuild new file mode 100644 index 000000000000..56751cc62a35 --- /dev/null +++ b/app-containers/runc/runc-1.2.2.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module linux-info + +# update on bump, look for commit ID on release tag. +# https://github.com/opencontainers/runc +RUNC_COMMIT=7cb363254b69e10320360b63fb73e0ffb5da7bf2 + +CONFIG_CHECK="~USER_NS" + +DESCRIPTION="runc container cli tools" +HOMEPAGE="https://github.com/opencontainers/runc/" +MY_PV="${PV/_/-}" +SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${MY_PV}" + +LICENSE="Apache-2.0 BSD-2 BSD MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="apparmor hardened +kmem +seccomp selinux test" + +COMMON_DEPEND=" + apparmor? ( sys-libs/libapparmor ) + seccomp? ( sys-libs/libseccomp )" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND} + !app-emulation/docker-runc + selinux? ( sec-policy/selinux-container )" +BDEPEND=" + dev-go/go-md2man + test? ( "${RDEPEND}" )" + +# tests need busybox binary, and portage namespace +# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox +# majority of tests pass +RESTRICT+=" test" + +src_compile() { + # Taken from app-containers/docker-1.7.0-r1 + CGO_CFLAGS+=" -I${ESYSROOT}/usr/include" + CGO_LDFLAGS+=" $(usex hardened '-fno-PIC ' '') + -L${ESYSROOT}/usr/$(get_libdir)" + + # build up optional flags + local options=( + $(usev apparmor) + $(usev seccomp) + $(usex kmem '' 'nokmem') + ) + + myemakeargs=( + BUILDTAGS="${options[*]}" + COMMIT="${RUNC_COMMIT}" + ) + + emake "${myemakeargs[@]}" runc man +} + +src_install() { + myemakeargs+=( + PREFIX="${ED}/usr" + BINDIR="${ED}/usr/bin" + MANDIR="${ED}/usr/share/man" + ) + emake "${myemakeargs[@]}" install install-man install-bash + + local DOCS=( README.md PRINCIPLES.md docs/. ) + einstalldocs +} + +src_test() { + emake "${myemakeargs[@]}" localunittest +} diff --git a/app-containers/skopeo/skopeo-1.15.1.ebuild b/app-containers/skopeo/skopeo-1.15.1.ebuild index 4f81ac53e2a7..462b948cd231 100644 --- a/app-containers/skopeo/skopeo-1.15.1.ebuild +++ b/app-containers/skopeo/skopeo-1.15.1.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == 9999* ]]; then EGIT_REPO_URI="https://github.com/containers/skopeo.git" else SRC_URI="https://github.com/containers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~arm64" + KEYWORDS="amd64 arm64" fi # main diff --git a/app-containers/snapd/snapd-2.63.ebuild b/app-containers/snapd/snapd-2.63.ebuild index 994f00213a29..6da4ee8c69a5 100644 --- a/app-containers/snapd/snapd-2.63.ebuild +++ b/app-containers/snapd/snapd-2.63.ebuild @@ -14,7 +14,7 @@ PATCHES=("${DISTDIR}/${P}-bug-933073-GNU_SOURCE.patch") MY_PV=${PV} LICENSE="GPL-3 Apache-2.0 BSD BSD-2 LGPL-3-with-linking-exception MIT" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="apparmor +forced-devmode gtk kde systemd" REQUIRED_USE="!forced-devmode? ( apparmor ) systemd" |