diff options
Diffstat (limited to 'app-containers')
316 files changed, 10895 insertions, 3526 deletions
diff --git a/app-containers/aardvark-dns/Manifest b/app-containers/aardvark-dns/Manifest new file mode 100644 index 000000000000..c205c4065d9a --- /dev/null +++ b/app-containers/aardvark-dns/Manifest @@ -0,0 +1,4 @@ +DIST aardvark-dns-1.10.0.crate 51028 BLAKE2B 81cdc4eb7eaff7359a1a12657b2bc42603383cf0f80a3a599ce9ce277e15ad83e9d5b36c3de3bef15b3201a1e60d86286ad61469d1d58ba2252b4c0174506ea2 SHA512 3d67f1b3c66aeaf4878c09e5e8fc34717cea6c348e0295bc0521c0c4144433656a3306731c24bb362a0e340e652b036b7544e544cca99b61590547bd7a6ce629 +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.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.ebuild new file mode 100644 index 000000000000..cdf0cb032c10 --- /dev/null +++ b/app-containers/aardvark-dns/aardvark-dns-1.10.0.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 ~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 target/$(usex debug debug release)|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.ebuild new file mode 100644 index 000000000000..e4edd4d987c7 --- /dev/null +++ b/app-containers/aardvark-dns/aardvark-dns-1.9.0.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 ~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 target/$(usex debug debug release)|g;" Makefile || die +} + +src_install() { + export PREFIX="${EPREFIX}"/usr + default +} diff --git a/app-containers/aardvark-dns/aardvark-dns-9999.ebuild b/app-containers/aardvark-dns/aardvark-dns-9999.ebuild new file mode 100644 index 000000000000..cdf0cb032c10 --- /dev/null +++ b/app-containers/aardvark-dns/aardvark-dns-9999.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 ~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 target/$(usex debug debug release)|g;" Makefile || die +} + +src_install() { + export PREFIX="${EPREFIX}"/usr + default +} diff --git a/app-containers/aardvark-dns/metadata.xml b/app-containers/aardvark-dns/metadata.xml new file mode 100644 index 000000000000..5a843697929d --- /dev/null +++ b/app-containers/aardvark-dns/metadata.xml @@ -0,0 +1,25 @@ +<?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> + <maintainer type="person" proxied="yes"> + <email>me@rahil.rocks</email> + <name>Rahil Bhimjiani</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription lang="en"> + Aardvark-dns is an authoritative dns server for A/AAAA container + records. It can forward other requests to configured resolvers. + </longdescription> + <upstream> + <remote-id type="github">containers/aardvark-dns</remote-id> + <bugs-to>https://github.com/containers/aardvark-dns/issues</bugs-to> + <doc>https://github.com/containers/aardvark-dns/blob/main/README.md</doc> + </upstream> +</pkgmetadata> diff --git a/app-containers/apptainer/Manifest b/app-containers/apptainer/Manifest index 0736b04fcb1d..41d909813726 100644 --- a/app-containers/apptainer/Manifest +++ b/app-containers/apptainer/Manifest @@ -1,2 +1 @@ -DIST apptainer-1.0.2.tar.gz 11984629 BLAKE2B 56ed18bf86fe51e3bb27605f2c87a2c20fd9f3457594f1e0628b00d8616befa275b76bc4aba2a4306c854217e03662aab7eb7022c6ca5db418537df011b2398b SHA512 c29d04eff3a2ee7126c9bbb65664540a446fe695efc9c4662a6da151b2e809d55c1f5a7b5bddb82ba4fdd41a49ceb538c00a72778a4ed1d0306ff5f49d2f4d53 -DIST apptainer-1.0.3.tar.gz 11972174 BLAKE2B 7fb0602184d9d78ef0de224ec888a01e046d3d44cd79a3233bbb8eab276d9ee360810356a25f4ef05612e337b5a905334f528d5aa5bfa489d9910538719afd2c SHA512 93ebe5abce32f35d56fe7d0f818703961cb7f7115965bad387fc895a275d45b569efeecf57ab5778457732233caa57651cd011a3bcac5ed5aaf2dd665082d959 +DIST apptainer-1.3.0.tar.gz 17103544 BLAKE2B ed42b763a20b2b71cce6081b903697dc506073f91f9d928d49801165289d15c1416044af8fcedddcbd2a260c17a2e6488ed3d06b1edb4fb5f5ca5e9d14a14312 SHA512 a72afcac8e783f43732517314a94ffe039ab8f29027bcc398295fed97b123e6777039c016b6655a3cefbcba7e69832f62f3418b11e1bbd0452edc702ecaef69e diff --git a/app-containers/apptainer/apptainer-1.0.3.ebuild b/app-containers/apptainer/apptainer-1.0.3.ebuild deleted file mode 100644 index 56b48324770c..000000000000 --- a/app-containers/apptainer/apptainer-1.0.3.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit linux-info toolchain-funcs - -DESCRIPTION="The container system for secure high-performance computing" -HOMEPAGE="https://apptainer.org/" -SRC_URI="https://github.com/apptainer/${PN}/releases/download/v${PV}/${P}.tar.gz" - -SLOT="0" -LICENSE="BSD" -KEYWORDS="~amd64 ~riscv ~x86 ~amd64-linux ~x86-linux" -IUSE="examples +network +suid" - -# Do not complain about CFLAGS etc. since go projects do not use them. -QA_FLAGS_IGNORED='.*' - -DEPEND="app-crypt/gpgme - >=dev-lang/go-1.17.6 - dev-libs/openssl - sys-apps/util-linux - sys-fs/cryptsetup - sys-fs/squashfs-tools - sys-libs/libseccomp" -RDEPEND="${DEPEND} - !sys-cluster/singularity" -BDEPEND="virtual/pkgconfig" - -CONFIG_CHECK="~SQUASHFS" - -PATCHES=( - "${FILESDIR}"/${PN}-1.0.2-trim_upstream_cflags.patch -) - -DOCS=( README.md CONTRIBUTORS.md CONTRIBUTING.md ) - -src_configure() { - local myconfargs=( - -c "$(tc-getBUILD_CC)" \ - -x "$(tc-getBUILD_CXX)" \ - -C "$(tc-getCC)" \ - -X "$(tc-getCXX)" \ - --prefix="${EPREFIX}"/usr \ - --sysconfdir="${EPREFIX}"/etc \ - --runstatedir="${EPREFIX}"/run \ - --localstatedir="${EPREFIX}"/var \ - $(usex network "" "--without-network") \ - $(usex suid "" "--without-suid") - ) - ./mconfig -v ${myconfargs[@]} || die "Error invoking mconfig" -} - -src_compile() { - emake -C builddir -} - -src_install() { - emake DESTDIR="${D}" -C builddir install - keepdir /var/${PN}/mnt/session - - einstalldocs - if use examples; then - dodoc -r examples - fi -} diff --git a/app-containers/apptainer/apptainer-1.0.2.ebuild b/app-containers/apptainer/apptainer-1.3.0.ebuild index f8ab29b4d9f4..5f69289300ad 100644 --- a/app-containers/apptainer/apptainer-1.0.2.ebuild +++ b/app-containers/apptainer/apptainer-1.3.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,18 +12,22 @@ SRC_URI="https://github.com/apptainer/${PN}/releases/download/v${PV}/${P}.tar.gz SLOT="0" LICENSE="BSD" KEYWORDS="amd64 ~riscv ~x86 ~amd64-linux ~x86-linux" -IUSE="examples +network +suid" +IUSE="examples +network suid systemd" # Do not complain about CFLAGS etc. since go projects do not use them. QA_FLAGS_IGNORED='.*' DEPEND="app-crypt/gpgme - >=dev-lang/go-1.17.6 + >=dev-lang/go-1.20.0 dev-libs/openssl sys-apps/util-linux sys-fs/cryptsetup sys-fs/squashfs-tools - sys-libs/libseccomp" + sys-libs/libseccomp + !suid? ( + sys-fs/e2fsprogs[fuse] + sys-fs/squashfuse + )" RDEPEND="${DEPEND} !sys-cluster/singularity" BDEPEND="virtual/pkgconfig" @@ -47,7 +51,7 @@ src_configure() { --runstatedir="${EPREFIX}"/run \ --localstatedir="${EPREFIX}"/var \ $(usex network "" "--without-network") \ - $(usex suid "" "--without-suid") + $(use_with suid) ) ./mconfig -v ${myconfargs[@]} || die "Error invoking mconfig" } @@ -60,8 +64,29 @@ src_install() { emake DESTDIR="${D}" -C builddir install keepdir /var/${PN}/mnt/session + if use systemd; then + sed -i -e '/systemd cgroups/ s/no/yes/' "${ED}"/etc/${PN}/${PN}.conf \ + || die "Failed to enable systemd use in configuration" + else + sed -i -e '/systemd cgroups/ s/yes/no/' "${ED}"/etc/${PN}/${PN}.conf \ + || die "Failed to disable systemd use in configuration" + fi + einstalldocs if use examples; then dodoc -r examples fi } + +pkg_postinst() { + if ! use suid; then + local oldver + for oldver in ${REPLACING_VERSIONS}; do + if ver_test "${oldver}" -lt 1.1.0; then + ewarn "Since version 1.1.0 ${PN} no longer installs setuid-root components by default, relying on unprivileged user namespaces instead. For details, see https://apptainer.org/docs/admin/main/user_namespace.html" + ewarn "Make sure user namespaces (possibly except network ones for improved security) are enabled on your system, or re-enable installation of setuid root components by passing USE=suid to ${CATEGORY}/${PN}" + break + fi + done + fi +} diff --git a/app-containers/buildah/Manifest b/app-containers/buildah/Manifest index c8c3c02f1bdb..7c70929c83d1 100644 --- a/app-containers/buildah/Manifest +++ b/app-containers/buildah/Manifest @@ -1,5 +1,3 @@ -DIST buildah-1.25.1.tar.gz 14212065 BLAKE2B ec4f668654011f1b93745e1a1d575fdda0cd5f4d6f9f7f7b3106c24aa7d405951ecd645a54c2dd5a3ad2695069e66ad847bdb15f0e73a9c7efba2a7e283d4f58 SHA512 628f8095eb4488ae2be06a2a92de85dde4f3841e8ed9882132c119f27b0c93f26ba10f5dd259d63654b90539d762f6c1973d460f073c0b2450ac5d9582a6a68d -DIST buildah-1.26.1.tar.gz 14159554 BLAKE2B bf17a51653bb07591c19fca449d6f4eeb87693a4d20ae5f12f669b10c328fadd763e0c0fa76605154a5a6439f4e250bc8f00c2d01c9fbf1e266aa67189aafdbd SHA512 07225ebb23e5a815be1ef8acb5d15ef9fb8c6e9324fa9b65ec024f7b6bbe892721f9feaac2911d1b466c2cf336bd0c68e3d1b4df953f13a3390da84a93f76723 -DIST buildah-1.26.2.tar.gz 14155439 BLAKE2B 3f858f86221b64623d94783c0ef3dd15fa14cef730b30cc5f0554e37f9e3e609a6381842b90b7614b6708434ee5c109497ee89f2da89bb9cc5360e2f8b345adb SHA512 f50a7ee787d10a8f8d1a7e0ff9f86990de975df427af894be5bcc84bceafd2eb87dfe75c1b967ae57056299893c942df257aef1e9aaeb712022a8abceeaebba9 -DIST buildah-1.26.3.tar.gz 14468210 BLAKE2B 1ec44501e63bf3594c72575d7460c6478a9d996977659b9fb466fbc658e4923892a77bea9f48a503f02a6101615be9a663f9701ee343436d140d580d8ab01875 SHA512 5d8ea60246085ba27795b52152765fc3c85c92c5caf4515c1b2973aec17844eb9da2ffff82f6c503e36f675089c998b9ee51c4b4b899104ccd9fa771308c8048 -DIST buildah-1.26.4.tar.gz 14471666 BLAKE2B ddedadc8f5eac161bc98ab2460abf356ebef9d09bffb1e681db822ed273d9e424e1d638171fcff667efd956e415f988668e6d9fdb3d15db6ed900441c40736eb SHA512 39425ee3f40f1cfd2c76749b43f07efe19c90dff56d9b2024a69e092a328cf526f6bbb23b6f38536e7df11a465219f8f344aa643a82f6511fbb0253e5729d71a +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 diff --git a/app-containers/buildah/buildah-1.25.1.ebuild b/app-containers/buildah/buildah-1.25.1.ebuild deleted file mode 100644 index d84f33be7c3f..000000000000 --- a/app-containers/buildah/buildah-1.25.1.ebuild +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit bash-completion-r1 go-module -GIT_COMMIT=fcf94e39 - -DESCRIPTION="A tool that facilitates building OCI images" -HOMEPAGE="https://github.com/containers/buildah" -SRC_URI="https://github.com/containers/buildah/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="selinux" - -RDEPEND="app-crypt/gpgme:= - app-containers/skopeo - dev-libs/libgpg-error:= - dev-libs/libassuan:= - sys-apps/shadow:= - sys-fs/lvm2:= - sys-libs/libseccomp:= - selinux? ( sys-libs/libselinux:= )" -DEPEND="${RDEPEND}" - -RESTRICT+=" test" - -src_prepare() { - default - [[ -f selinux_tag.sh ]] || die - use selinux || { echo -e "#!/bin/sh\ntrue" > \ - selinux_tag.sh || die; } - sed -i -e 's/make -C/$(MAKE) -C/' Makefile || die 'sed failed' -} - -src_compile() { - emake GIT_COMMIT=${GIT_COMMIT} all -} - -src_install() { - dodoc CHANGELOG.md CONTRIBUTING.md README.md install.md troubleshooting.md - doman docs/*.1 - dodoc -r docs/tutorials - dobin bin/{${PN},imgtype} - dobashcomp contrib/completions/bash/buildah -} - -src_test() { - emake test-unit -} diff --git a/app-containers/buildah/buildah-1.26.1.ebuild b/app-containers/buildah/buildah-1.26.1.ebuild deleted file mode 100644 index 016059edd2b4..000000000000 --- a/app-containers/buildah/buildah-1.26.1.ebuild +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit bash-completion-r1 go-module -GIT_COMMIT=6e2ec2eb - -DESCRIPTION="A tool that facilitates building OCI images" -HOMEPAGE="https://github.com/containers/buildah" -SRC_URI="https://github.com/containers/buildah/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="selinux" - -RDEPEND="app-crypt/gpgme:= - app-containers/skopeo - dev-libs/libgpg-error:= - dev-libs/libassuan:= - sys-apps/shadow:= - sys-fs/lvm2:= - sys-libs/libseccomp:= - selinux? ( sys-libs/libselinux:= )" -DEPEND="${RDEPEND}" - -RESTRICT+=" test" - -src_prepare() { - default - [[ -f selinux_tag.sh ]] || die - use selinux || { echo -e "#!/bin/sh\ntrue" > \ - selinux_tag.sh || die; } - sed -i -e 's/make -C/$(MAKE) -C/' Makefile || die 'sed failed' -} - -src_compile() { - emake GIT_COMMIT=${GIT_COMMIT} all -} - -src_install() { - dodoc CHANGELOG.md CONTRIBUTING.md README.md install.md troubleshooting.md - doman docs/*.1 - dodoc -r docs/tutorials - dobin bin/{${PN},imgtype} - dobashcomp contrib/completions/bash/buildah -} - -src_test() { - emake test-unit -} diff --git a/app-containers/buildah/buildah-1.26.2.ebuild b/app-containers/buildah/buildah-1.26.2.ebuild deleted file mode 100644 index 678ed253256c..000000000000 --- a/app-containers/buildah/buildah-1.26.2.ebuild +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit bash-completion-r1 go-module -GIT_COMMIT=19159983 - -DESCRIPTION="A tool that facilitates building OCI images" -HOMEPAGE="https://github.com/containers/buildah" -SRC_URI="https://github.com/containers/buildah/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="selinux" - -RDEPEND="app-crypt/gpgme:= - app-containers/skopeo - dev-libs/libgpg-error:= - dev-libs/libassuan:= - sys-apps/shadow:= - sys-fs/lvm2:= - sys-libs/libseccomp:= - selinux? ( sys-libs/libselinux:= )" -DEPEND="${RDEPEND}" - -RESTRICT+=" test" - -src_prepare() { - default - [[ -f selinux_tag.sh ]] || die - use selinux || { echo -e "#!/bin/sh\ntrue" > \ - selinux_tag.sh || die; } - sed -i -e 's/make -C/$(MAKE) -C/' Makefile || die 'sed failed' -} - -src_compile() { - emake GIT_COMMIT=${GIT_COMMIT} all -} - -src_install() { - dodoc CHANGELOG.md CONTRIBUTING.md README.md install.md troubleshooting.md - doman docs/*.1 - dodoc -r docs/tutorials - dobin bin/{${PN},imgtype} - dobashcomp contrib/completions/bash/buildah -} - -src_test() { - emake test-unit -} diff --git a/app-containers/buildah/buildah-1.26.3.ebuild b/app-containers/buildah/buildah-1.26.3.ebuild deleted file mode 100644 index 25c8fa9e6852..000000000000 --- a/app-containers/buildah/buildah-1.26.3.ebuild +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit bash-completion-r1 go-module -GIT_COMMIT=ad138d8e - -DESCRIPTION="A tool that facilitates building OCI images" -HOMEPAGE="https://github.com/containers/buildah" -SRC_URI="https://github.com/containers/buildah/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="selinux" - -RDEPEND="app-crypt/gpgme:= - app-containers/skopeo - dev-libs/libgpg-error:= - dev-libs/libassuan:= - sys-apps/shadow:= - sys-fs/lvm2:= - sys-libs/libseccomp:= - selinux? ( sys-libs/libselinux:= )" -DEPEND="${RDEPEND}" - -RESTRICT+=" test" - -src_prepare() { - default - [[ -f selinux_tag.sh ]] || die - use selinux || { echo -e "#!/bin/sh\ntrue" > \ - selinux_tag.sh || die; } - sed -i -e 's/make -C/$(MAKE) -C/' Makefile || die 'sed failed' -} - -src_compile() { - emake GIT_COMMIT=${GIT_COMMIT} all -} - -src_install() { - dodoc CHANGELOG.md CONTRIBUTING.md README.md install.md troubleshooting.md - doman docs/*.1 - dodoc -r docs/tutorials - dobin bin/{${PN},imgtype} - dobashcomp contrib/completions/bash/buildah -} - -src_test() { - emake test-unit -} diff --git a/app-containers/buildah/buildah-1.26.4.ebuild b/app-containers/buildah/buildah-1.26.4.ebuild deleted file mode 100644 index 956963e68243..000000000000 --- a/app-containers/buildah/buildah-1.26.4.ebuild +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit bash-completion-r1 go-module -GIT_COMMIT=981f8017 - -DESCRIPTION="A tool that facilitates building OCI images" -HOMEPAGE="https://github.com/containers/buildah" -SRC_URI="https://github.com/containers/buildah/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="selinux" - -RDEPEND="app-crypt/gpgme:= - app-containers/skopeo - dev-libs/libgpg-error:= - dev-libs/libassuan:= - sys-apps/shadow:= - sys-fs/lvm2:= - sys-libs/libseccomp:= - selinux? ( sys-libs/libselinux:= )" -DEPEND="${RDEPEND}" - -RESTRICT+=" test" - -src_prepare() { - default - [[ -f selinux_tag.sh ]] || die - use selinux || { echo -e "#!/bin/sh\ntrue" > \ - selinux_tag.sh || die; } - sed -i -e 's/make -C/$(MAKE) -C/' Makefile || die 'sed failed' -} - -src_compile() { - emake GIT_COMMIT=${GIT_COMMIT} all -} - -src_install() { - dodoc CHANGELOG.md CONTRIBUTING.md README.md install.md troubleshooting.md - doman docs/*.1 - dodoc -r docs/tutorials - dobin bin/{${PN},imgtype} - dobashcomp contrib/completions/bash/buildah -} - -src_test() { - emake test-unit -} diff --git a/app-containers/buildah/buildah-1.33.7.ebuild b/app-containers/buildah/buildah-1.33.7.ebuild new file mode 100644 index 000000000000..a24bd18a767c --- /dev/null +++ b/app-containers/buildah/buildah-1.33.7.ebuild @@ -0,0 +1,160 @@ +# 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 new file mode 100644 index 000000000000..cc06bf2ff42d --- /dev/null +++ b/app-containers/buildah/buildah-1.34.3.ebuild @@ -0,0 +1,161 @@ +# 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 new file mode 100644 index 000000000000..e1c7e23390e5 --- /dev/null +++ b/app-containers/buildah/buildah-1.35.3.ebuild @@ -0,0 +1,133 @@ +# 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-9999.ebuild b/app-containers/buildah/buildah-9999.ebuild new file mode 100644 index 000000000000..987715de5560 --- /dev/null +++ b/app-containers/buildah/buildah-9999.ebuild @@ -0,0 +1,132 @@ +# 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}"/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/files/dont-call-as-directly-upstream-pr-5436.patch b/app-containers/buildah/files/dont-call-as-directly-upstream-pr-5436.patch new file mode 100644 index 000000000000..0fc376b1d68b --- /dev/null +++ b/app-containers/buildah/files/dont-call-as-directly-upstream-pr-5436.patch @@ -0,0 +1,32 @@ +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 new file mode 100644 index 000000000000..0ca0a6602a7d --- /dev/null +++ b/app-containers/buildah/files/softcode-strip-upstream-pr-5446.patch @@ -0,0 +1,29 @@ +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/buildah/metadata.xml b/app-containers/buildah/metadata.xml index f3f28d12b5c5..93c7c7c12936 100644 --- a/app-containers/buildah/metadata.xml +++ b/app-containers/buildah/metadata.xml @@ -5,7 +5,21 @@ <email>zmedico@gentoo.org</email> <name>Zac Medico</name> </maintainer> + <maintainer type="person" proxied="yes"> + <email>me@rahil.rocks</email> + <name>Rahil Bhimjiani</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> <upstream> <remote-id type="github">containers/buildah</remote-id> </upstream> + <use> + <flag name="btrfs"> + Enables dependencies for the "btrfs" graph driver, including + necessary kernel flags. + </flag> + </use> </pkgmetadata> diff --git a/app-containers/cadvisor/cadvisor-0.36.0.ebuild b/app-containers/cadvisor/cadvisor-0.36.0.ebuild index 9e760144cab2..f039eb3ee130 100644 --- a/app-containers/cadvisor/cadvisor-0.36.0.ebuild +++ b/app-containers/cadvisor/cadvisor-0.36.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -20,11 +20,12 @@ DEPEND="${COMMON_DEPEND}" RDEPEND="${COMMON_DEPEND}" src_prepare() { + default sed -i -e "/go get/d" build/assets.sh || die sed -i -e "s/git describe.*/echo ${PV} )/"\ -e "s/git rev-parse --short HEAD.*/echo ${COMMIT} )/"\ build/build.sh || die - default + sed -i -e "s/-short -race/-short/" Makefile || die } src_compile() { diff --git a/app-containers/catatonit/Manifest b/app-containers/catatonit/Manifest index fa6878661536..2d8bb7fdb1a3 100644 --- a/app-containers/catatonit/Manifest +++ b/app-containers/catatonit/Manifest @@ -1,2 +1 @@ -DIST catatonit-0.1.7-automake.patch 965 BLAKE2B fd42082321b75210653657cadd09751aa70a1eabeea4abc0cbc06aa91c510cff70d4261759407426a198f1aa3a1826d9f3a255d18e0e22e2dad53eca6b76ee87 SHA512 62cb75e8dcff7348eb5fe9dfb57627659bb755ffdd6a29b6d4e486e2b4c92945fa7420410941523585102ac11b14c2a1700fb6fd3fd663e7f38c10863f82fa87 -DIST catatonit-0.1.7.tar.gz 21720 BLAKE2B ab73198e55dd06d3d0af04e6eff17a2f1e70ab1c0f9ec35f68f9afe71ce8cd1bdc3320e9728a6d8036c2251fe95028e1aad0838d1c9f51e4cc70e482a1109c24 SHA512 7d3174c60e1c8bd1f4b95b7751ccbe01cac63265060f18914b53311f68f7b4c63c693604f348ccfac5db4a96939169f835fbbbd614803b18062053d94f7dca67 +DIST catatonit-0.2.0.tar.gz 16608 BLAKE2B 27b6ed1148aaef963140c42e2cb6a7a8c9c25f01eef62cf519c3b1c230c8f30838f5b9cb54bf0b37b1194084f3f0c750e20316738a330d6a01c830b71b45623c SHA512 115e72002e35bb2a03919f9422a9cb2d9a0e4f087862d4ffd20e9508af6d67efc359a577ec059574f2f6c98966a1f080b65dffc8dfb83b3c2ed48e63e2aeac3b diff --git a/app-containers/catatonit/catatonit-0.1.7.ebuild b/app-containers/catatonit/catatonit-0.1.7.ebuild deleted file mode 100644 index 0da65b484e47..000000000000 --- a/app-containers/catatonit/catatonit-0.1.7.ebuild +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DESCRIPTION="A container init that is so simple it's effectively brain-dead" -HOMEPAGE="https://github.com/openSUSE/catatonit" -SRC_URI="https://github.com/openSUSE/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz - https://github.com/openSUSE/catatonit/pull/19.patch -> ${P}-automake.patch" - -LICENSE="GPL-3+" -SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64 ~riscv" - -PATCHES=("${DISTDIR}/${P}-automake.patch") - -src_configure() { - ./autogen.sh || die - default -} - -src_install() { - default - dodir /usr/libexec/podman - ln "${ED}/usr/"{bin,libexec/podman}/catatonit || die -} diff --git a/app-containers/catatonit/catatonit-0.2.0.ebuild b/app-containers/catatonit/catatonit-0.2.0.ebuild new file mode 100644 index 000000000000..d456e8839984 --- /dev/null +++ b/app-containers/catatonit/catatonit-0.2.0.ebuild @@ -0,0 +1,31 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="A container init that is so simple it's effectively brain-dead" +HOMEPAGE="https://github.com/openSUSE/catatonit" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/openSUSE/catatonit.git" +else + SRC_URI="https://github.com/openSUSE/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 arm64 ~ppc64 ~riscv" +fi + +LICENSE="GPL-2+" +SLOT="0" + +src_prepare() { + default + eautoreconf +} + +src_install() { + default + dodir /usr/libexec/podman + dosym -r /usr/bin/"${PN}" /usr/libexec/podman/"${PN}" +} diff --git a/app-containers/catatonit/catatonit-9999.ebuild b/app-containers/catatonit/catatonit-9999.ebuild new file mode 100644 index 000000000000..74469d9d4d19 --- /dev/null +++ b/app-containers/catatonit/catatonit-9999.ebuild @@ -0,0 +1,31 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="A container init that is so simple it's effectively brain-dead" +HOMEPAGE="https://github.com/openSUSE/catatonit" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/openSUSE/catatonit.git" +else + SRC_URI="https://github.com/openSUSE/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" +fi + +LICENSE="GPL-2+" +SLOT="0" + +src_prepare() { + default + eautoreconf +} + +src_install() { + default + dodir /usr/libexec/podman + dosym -r /usr/bin/"${PN}" /usr/libexec/podman/"${PN}" +} diff --git a/app-containers/catatonit/metadata.xml b/app-containers/catatonit/metadata.xml index dd80ca2b54fb..45e2d07428b2 100644 --- a/app-containers/catatonit/metadata.xml +++ b/app-containers/catatonit/metadata.xml @@ -4,7 +4,17 @@ <maintainer type="person"> <email>zmedico@gentoo.org</email> </maintainer> + <maintainer type="person" proxied="yes"> + <email>me@rahil.rocks</email> + <name>Rahil Bhimjiani</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> <upstream> <remote-id type="github">openSUSE/catatonit</remote-id> + <bugs-to>https://github.com/openSUSE/catatonit/issues</bugs-to> + <doc>https://github.com/openSUSE/catatonit/blob/main/README.md</doc> </upstream> </pkgmetadata> diff --git a/app-containers/cni-plugins/Manifest b/app-containers/cni-plugins/Manifest index c093ccfee4f5..cfa9c06f5b3f 100644 --- a/app-containers/cni-plugins/Manifest +++ b/app-containers/cni-plugins/Manifest @@ -1,2 +1,4 @@ DIST cni-plugins-0.9.1.tar.gz 2703099 BLAKE2B 878f476e62f12020b39d33a79723fe246b34d80705d3a336573401743392adca9a57b196d6d191b4a6f281110f47ecbb1525aacd91cd488bea61c7aaed12a6ef SHA512 24e8fcedbff2ae7a83aa96085b546b164de6a0884d593e3b5386e9d2de3c4d9a215db9e9405332020cc45c371709a32b600e263e4f8dee62c51adafdc0180f24 DIST cni-plugins-1.1.1.tar.gz 3076064 BLAKE2B 2fd70260995e423d2b4ac3a8d2135074baffe5d36177d5e1e5a9ce146f6d2ecfeb3b843de62e43f863085ff965be4160cf5f4cae892d3c59070ef390409ef3c9 SHA512 03da31caee5f9595abf65d4a551984b995bc18c5e97409549f08997c5a6a2b41a8950144f8a5b4f810cb401ddbe312232d2be76ec977acf8108eb490786b1817 +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 diff --git a/app-containers/cni-plugins/cni-plugins-1.1.1-r1.ebuild b/app-containers/cni-plugins/cni-plugins-1.1.1-r1.ebuild new file mode 100644 index 000000000000..2cd642a24d33 --- /dev/null +++ b/app-containers/cni-plugins/cni-plugins-1.1.1-r1.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2022 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.2.0.ebuild b/app-containers/cni-plugins/cni-plugins-1.2.0.ebuild new file mode 100644 index 000000000000..93c3929f37d9 --- /dev/null +++ b/app-containers/cni-plugins/cni-plugins-1.2.0.ebuild @@ -0,0 +1,37 @@ +# 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 new file mode 100644 index 000000000000..b21d3a20952c --- /dev/null +++ b/app-containers/cni-plugins/cni-plugins-1.3.0.ebuild @@ -0,0 +1,37 @@ +# 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/conmon/Manifest b/app-containers/conmon/Manifest index 9f788b077ab6..a091bde18e70 100644 --- a/app-containers/conmon/Manifest +++ b/app-containers/conmon/Manifest @@ -1,3 +1,2 @@ -DIST conmon-2.0.30.tar.gz 161285 BLAKE2B c4e01759d819d3dff94b9ae09caa72b6f664e49d907d3a1be9fb4a0e1f782fad29a7cd7c89703e861f4aa6d7955996386f81460f19f22be2889c4f88c34536cb SHA512 2451e441913925f8423385b83e97630e980948a9bd57ae8800889016c4412a26bed598825d3c034c3edcecbab66c38417f55ad3866d3c2c98cada6acce2b2d16 -DIST conmon-2.0.31.tar.gz 158184 BLAKE2B b14bae77a18cc352bc9583604544b4e7ffe4bd8a77e5c3185c897c11819bba227edcbd84b559d998a2b5648ca371f0e98e4d9cd15951a953cbe05a9c9ae9d434 SHA512 ff879fcd5a3b7de8ee6ff9de2a13d0afc36fdb392390278b26ee179be26ff375ddce4f5ae24e3e88b737f63202af64b49e82b2ffbfc0de8bfd14690dac523747 -DIST conmon-2.1.0.tar.gz 159045 BLAKE2B a39b7620091ca17f4d91a26e040f886293688562cba1827cc09c1da1c1401ad78cbb16420c9df8a055ab5ca3eb2933aec6ac1b9fbb1eea10f33b1b0d76c5dd54 SHA512 0f27a1b048c2dcafb40cd67f80c2a5d7e92f5beb849174233dc10e2db42b4ea8b89f27c901d3f38cf1d412ed875c5521e07140038e859fb54bcc554cb9197e74 +DIST conmon-2.1.10.tar.gz 121047 BLAKE2B 14b4c2d541607eac0af6b335f35bd506c9a6c3d2b4e4e3ad79f32550385e90b6f7533f505565f90fb4bb1f42d528c41e9ddc7ec275c16ee982a6d0afe1c65bff SHA512 ecf1a961f431b005b54faa68b5c1bcf31d448f994ca66a56f13002216074dba79b53b52a377d4f8dab08141d6c6cf44467352fbff37175135d3da84081b27a18 +DIST conmon-2.1.8.tar.gz 120541 BLAKE2B 8ae12e674edf49f233f7423f2566a1ddea793bd4fc888618a8903a84309cb4aacea9d200bb0f8e0895c96796dca9bc2e6e73c9c8a7dcc5f2c540b05f7a73a21e SHA512 a277de8f8adf001c3e3ef6ef19d4bade36d48c5395a624ee99cb22708ea26a9954df76362006a1331efc06265cb790883b43e84f0006f80c1725a7470ff244c3 diff --git a/app-containers/conmon/conmon-2.0.30.ebuild b/app-containers/conmon/conmon-2.0.30.ebuild deleted file mode 100644 index ccdbbf42fd95..000000000000 --- a/app-containers/conmon/conmon-2.0.30.ebuild +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit toolchain-funcs - -DESCRIPTION="An OCI container runtime monitor" -HOMEPAGE="https://github.com/containers/conmon" -SRC_URI="https://github.com/containers/conmon/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64" -IUSE="systemd" -RESTRICT="test" - -RDEPEND="dev-libs/glib:= - systemd? ( sys-apps/systemd:= )" -DEPEND="${RDEPEND} - dev-go/go-md2man" - -src_prepare() { - default - - if ! use systemd; then - sed -e 's| $(PKG_CONFIG) --exists libsystemd-journal | false |' \ - -e 's| $(PKG_CONFIG) --exists libsystemd | false |' \ - -i Makefile || die - fi - sed -e 's|make -C tools|$(MAKE) -C tools|' -i Makefile || die - sed -e 's|^GOMD2MAN = .*|GOMD2MAN = go-md2man|' -i docs/Makefile || die -} - -src_compile() { - tc-export CC - emake GIT_COMMIT="v${PV}" \ - all -} - -src_install() { - emake DESTDIR="${D}" \ - PREFIX="${EPREFIX}/usr" \ - install - dodir /usr/libexec/podman - ln "${ED}/usr/"{bin,libexec/podman}/conmon || die - dodoc README.md -} diff --git a/app-containers/conmon/conmon-2.0.31.ebuild b/app-containers/conmon/conmon-2.0.31.ebuild deleted file mode 100644 index ac41e5569b88..000000000000 --- a/app-containers/conmon/conmon-2.0.31.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit toolchain-funcs - -DESCRIPTION="An OCI container runtime monitor" -HOMEPAGE="https://github.com/containers/conmon" -SRC_URI="https://github.com/containers/conmon/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64" -IUSE="systemd" -RESTRICT="test" - -RDEPEND="dev-libs/glib:= - sys-libs/libseccomp - systemd? ( sys-apps/systemd:= )" -DEPEND="${RDEPEND} - dev-go/go-md2man" - -src_prepare() { - default - - if ! use systemd; then - sed -e 's| $(PKG_CONFIG) --exists libsystemd-journal | false |' \ - -e 's| $(PKG_CONFIG) --exists libsystemd | false |' \ - -i Makefile || die - fi - sed -e 's|make -C tools|$(MAKE) -C tools|' -i Makefile || die - sed -e 's|^GOMD2MAN = .*|GOMD2MAN = go-md2man|' -i docs/Makefile || die -} - -src_compile() { - tc-export CC - emake GIT_COMMIT="v${PV}" \ - all -} - -src_install() { - emake DESTDIR="${D}" \ - PREFIX="${EPREFIX}/usr" \ - install - dodir /usr/libexec/podman - ln "${ED}/usr/"{bin,libexec/podman}/conmon || die - dodoc README.md -} diff --git a/app-containers/conmon/conmon-2.1.0.ebuild b/app-containers/conmon/conmon-2.1.0.ebuild deleted file mode 100644 index 2d8d39bc47d0..000000000000 --- a/app-containers/conmon/conmon-2.1.0.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit toolchain-funcs - -DESCRIPTION="An OCI container runtime monitor" -HOMEPAGE="https://github.com/containers/conmon" -SRC_URI="https://github.com/containers/conmon/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" -IUSE="systemd" -RESTRICT="test" - -RDEPEND="dev-libs/glib:= - sys-libs/libseccomp - systemd? ( sys-apps/systemd:= )" -DEPEND="${RDEPEND} - dev-go/go-md2man" - -src_prepare() { - default - - if ! use systemd; then - sed -e 's| $(PKG_CONFIG) --exists libsystemd-journal | false |' \ - -e 's| $(PKG_CONFIG) --exists libsystemd | false |' \ - -i Makefile || die - fi - sed -e 's|make -C tools|$(MAKE) -C tools|' -i Makefile || die - sed -e 's|^GOMD2MAN = .*|GOMD2MAN = go-md2man|' -i docs/Makefile || die -} - -src_compile() { - tc-export CC - emake GIT_COMMIT="v${PV}" \ - all -} - -src_install() { - emake DESTDIR="${D}" \ - PREFIX="${EPREFIX}/usr" \ - install - dodir /usr/libexec/podman - ln "${ED}/usr/"{bin,libexec/podman}/conmon || die - dodoc README.md -} diff --git a/app-containers/conmon/conmon-2.1.10.ebuild b/app-containers/conmon/conmon-2.1.10.ebuild new file mode 100644 index 000000000000..c41813b997a1 --- /dev/null +++ b/app-containers/conmon/conmon-2.1.10.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="An OCI container runtime monitor" +HOMEPAGE="https://github.com/containers/conmon" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/conmon.git" +else + SRC_URI="https://github.com/containers/conmon/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="+seccomp systemd" +RESTRICT="test" + +RDEPEND="dev-libs/glib:= + seccomp? ( sys-libs/libseccomp ) + systemd? ( sys-apps/systemd:= )" +DEPEND="${RDEPEND}" +BDEPEND="dev-go/go-md2man" +PATCHES=( + "${FILESDIR}/conmon-2.1.8-Makefile.patch" +) + +src_prepare() { + default + sed -i -e "s|shell.*--exists libsystemd.* && echo \"0\"|shell echo $(usex systemd 0 1)|g;" Makefile || die + echo -e "#!/usr/bin/env bash\necho $(usex seccomp 0 1)" > hack/seccomp-notify.sh || die +} + +src_compile() { + tc-export CC PKG_CONFIG + export PREFIX="${EPREFIX}/usr" GOMD2MAN=go-md2man + default +} + +src_install() { + default + dodir /usr/libexec/podman + dosym ../../bin/"${PN}" /usr/libexec/podman/"${PN}" +} diff --git a/app-containers/conmon/conmon-2.1.8.ebuild b/app-containers/conmon/conmon-2.1.8.ebuild new file mode 100644 index 000000000000..1acfecb84328 --- /dev/null +++ b/app-containers/conmon/conmon-2.1.8.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="An OCI container runtime monitor" +HOMEPAGE="https://github.com/containers/conmon" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/conmon.git" +else + SRC_URI="https://github.com/containers/conmon/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 arm64 ~ppc64 ~riscv" + GIT_COMMIT="00e08f4a9ca5420de733bf542b930ad58e1a7e7d" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="+seccomp systemd" +RESTRICT="test" + +RDEPEND="dev-libs/glib:= + seccomp? ( sys-libs/libseccomp ) + systemd? ( sys-apps/systemd:= )" +DEPEND="${RDEPEND}" +BDEPEND="dev-go/go-md2man" +PATCHES=( + "${FILESDIR}/conmon-2.1.8-Makefile.patch" +) + +src_prepare() { + default + if use systemd; then + sed -i -e 's|shell $(PKG_CONFIG) --exists libsystemd.* && echo "0"|shell echo "0"|g;' Makefile || die + else + sed -i -e 's|shell $(PKG_CONFIG) --exists libsystemd.* && echo "0"|shell echo "1"|g;' Makefile || die + fi + + if use seccomp; then + echo -e '#!/usr/bin/env bash\necho "0"' > hack/seccomp-notify.sh || die + else + echo -e '#!/usr/bin/env bash\necho "1"' > hack/seccomp-notify.sh || die + fi +} + +src_compile() { + tc-export CC PKG_CONFIG + export PREFIX=${EPREFIX}/usr GOMD2MAN=go-md2man + if [[ ${PV} == *9999* ]]; then + default + else + emake GIT_COMMIT="${GIT_COMMIT}" + fi +} + +src_install() { + default + dodir /usr/libexec/podman + dosym ../../bin/"${PN}" /usr/libexec/podman/conmon +} diff --git a/app-containers/conmon/conmon-9999.ebuild b/app-containers/conmon/conmon-9999.ebuild new file mode 100644 index 000000000000..c41813b997a1 --- /dev/null +++ b/app-containers/conmon/conmon-9999.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="An OCI container runtime monitor" +HOMEPAGE="https://github.com/containers/conmon" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/conmon.git" +else + SRC_URI="https://github.com/containers/conmon/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="+seccomp systemd" +RESTRICT="test" + +RDEPEND="dev-libs/glib:= + seccomp? ( sys-libs/libseccomp ) + systemd? ( sys-apps/systemd:= )" +DEPEND="${RDEPEND}" +BDEPEND="dev-go/go-md2man" +PATCHES=( + "${FILESDIR}/conmon-2.1.8-Makefile.patch" +) + +src_prepare() { + default + sed -i -e "s|shell.*--exists libsystemd.* && echo \"0\"|shell echo $(usex systemd 0 1)|g;" Makefile || die + echo -e "#!/usr/bin/env bash\necho $(usex seccomp 0 1)" > hack/seccomp-notify.sh || die +} + +src_compile() { + tc-export CC PKG_CONFIG + export PREFIX="${EPREFIX}/usr" GOMD2MAN=go-md2man + default +} + +src_install() { + default + dodir /usr/libexec/podman + dosym ../../bin/"${PN}" /usr/libexec/podman/"${PN}" +} diff --git a/app-containers/conmon/files/conmon-2.1.8-Makefile.patch b/app-containers/conmon/files/conmon-2.1.8-Makefile.patch new file mode 100644 index 000000000000..8730f4cde59c --- /dev/null +++ b/app-containers/conmon/files/conmon-2.1.8-Makefile.patch @@ -0,0 +1,60 @@ +# https://github.com/containers/conmon/pull/482 +# https://github.com/containers/conmon/pull/456 +From 26f8263a2e5c7bff1e2d5985a8a3d5f07ab3b0b0 Mon Sep 17 00:00:00 2001 +From: Rahil Bhimjiani <me@rahil.rocks> +Date: Tue, 26 Sep 2023 03:21:49 +0530 +Subject: [PATCH] Remove checks for (long)deprecated libsystemd-journal in + favor of libsystemd + +https://bugzilla.redhat.com/show_bug.cgi?id=1350301#c2 + +Signed-off-by: Rahil Bhimjiani <me@rahil.rocks> +--- + Makefile | 5 +---- + meson.build | 5 +---- + 2 files changed, 2 insertions(+), 8 deletions(-) + +diff --git a/Makefile b/Makefile +index 5e6c0d39..40df8e3d 100644 +--- a/Makefile ++++ b/Makefile +@@ -38,10 +38,7 @@ override CFLAGS += $(shell $(PKG_CONFIG) --cflags glib-2.0) -DVERSION=\"$(VERSIO + # "pkg-config --exists" will error if the package doesn't exist. Make can only compare + # output of commands, so the echo commands are to allow pkg-config to error out, make to catch it, + # and allow the compilation to complete. +-ifeq ($(shell $(PKG_CONFIG) --exists libsystemd-journal && echo "0"), 0) +- override LIBS += $(shell $(PKG_CONFIG) --libs libsystemd-journal) +- override CFLAGS += $(shell $(PKG_CONFIG) --cflags libsystemd-journal) -D USE_JOURNALD=1 +-else ifeq ($(shell $(PKG_CONFIG) --exists libsystemd && echo "0"), 0) ++ifeq ($(shell $(PKG_CONFIG) --exists libsystemd && echo "0"), 0) + override LIBS += $(shell $(PKG_CONFIG) --libs libsystemd) + override CFLAGS += $(shell $(PKG_CONFIG) --cflags libsystemd) -D USE_JOURNALD=1 + endif +diff --git a/meson.build b/meson.build +index 336e48f3..b454e349 100644 +--- a/meson.build ++++ b/meson.build +@@ -47,10 +47,7 @@ else + libdl = cc.find_library('dl') + endif + +-sd_journal = dependency('libsystemd-journal', required : false) +-if not sd_journal.found() +- sd_journal = dependency('libsystemd', required : false) +-endif ++sd_journal = dependency('libsystemd', required : false) + if sd_journal.found() + add_project_arguments('-DUSE_JOURNALD=1', language : 'c') + endif +diff --git a/docs/Makefile b/docs/Makefile +index af20d2b8..25987664 100644 +--- a/docs/Makefile ++++ b/docs/Makefile +@@ -1,6 +1,6 @@ + PREFIX ?= /usr/local + DATADIR := ${PREFIX}/share + MANDIR := $(DATADIR)/man +-GOMD2MAN = ../tools/build/go-md2man ++GOMD2MAN ?= ../tools/build/go-md2man + + docs: $(patsubst %.md,%,$(wildcard *.8.md)) diff --git a/app-containers/conmon/metadata.xml b/app-containers/conmon/metadata.xml index b4e9640c5697..a50753a5eb26 100644 --- a/app-containers/conmon/metadata.xml +++ b/app-containers/conmon/metadata.xml @@ -5,7 +5,17 @@ <email>zmedico@gentoo.org</email> <name>Zac Medico</name> </maintainer> + <maintainer type="person" proxied="yes"> + <email>me@rahil.rocks</email> + <name>Rahil Bhimjiani</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> <upstream> <remote-id type="github">containers/conmon</remote-id> + <bugs-to>https://github.com/containers/conmon/issues</bugs-to> + <doc>https://github.com/containers/conmon/blob/main/README.md</doc> </upstream> </pkgmetadata> diff --git a/app-containers/containerd/Manifest b/app-containers/containerd/Manifest index cc91c05a33a2..52561c5926bf 100644 --- a/app-containers/containerd/Manifest +++ b/app-containers/containerd/Manifest @@ -1,5 +1,7 @@ -DIST containerd-1.5.11.tar.gz 7494477 BLAKE2B 2415e85694e5f4410c8cee7be08d1d304adfcdb95c4078f7a92c710a5a11a29ae011daa70fcfa72c2fabf5b48b7cac962b39121f18bb027931ef77214e86b1aa SHA512 6348f4ae7f9b473aac7d5e7325ca4539345d09f01b95383cec28f09d5e5b0b831e25fe305c3a15050f1e1959948ee8dcad788a1d6dd4780cf3077132d5617ef8 -DIST containerd-1.6.2-deps.tar.xz 99095488 BLAKE2B a8ab5b2a506cb90cbadba9461d2737b1ac0bea672681e3f940d1dc76fdd2885d1ab287129a2aaa2fab64d19ba049eb7ecdffbafa6b08772430b94428a775a042 SHA512 2a96405c28a6ebaeae523ef36b4721f493332953880bfb7cecc4571b325557f2566141a62c0eb5c981045d498dd18ad18f8e7adfd9d5f17218a5d5d65760b855 -DIST containerd-1.6.2.tar.gz 8617797 BLAKE2B aaf16dbbd071f4eab45bc94cc50643b33665b5c4a4155ef007b7a974e04660235b69e12d99e78c24b27c09d45c0eb6e9be3d688b41592a54497a0a4e5f577c86 SHA512 3ff280ae0cf5a45b0c21a42290c94bad30d46bf8a5bbcef1024e3c67fde3345a31b23a88cdbb6025d526c93e2a0899e9b341c9b8ccbba381983de3d8a39b1046 -DIST containerd-1.6.4-deps.tar.xz 96520056 BLAKE2B 695e26ffc26c0d85350c91412b746f59d7edd556aef2fea71a8947b79e0cdba573503a19b45ddc4a733b721be6cef581ab22e7522d00ab9221a1322d5b9670a4 SHA512 439bad6067939ab97115c0cf85d8eafd1214435f78bc57ee6a3d60e606da1260153d871e50de7b31fb57dc293e2f1ffa083cf89d08a394ee99450effda309678 -DIST containerd-1.6.4.tar.gz 8625617 BLAKE2B b3766eec306a4e4b27849aa3131c0adf84e040c9b6b843bc2b231a13f5f1b6222035e4a7d2315170b0a001be60874544bbe2920bf4cda951aac48217efb3de28 SHA512 a913dbfdcf29faebd5617f64e7c5e62b366cb9c80d0dbf55337121601f3c5b7d19c1670f71e9454513b681a1568c7cd1fc28c5daf3ea1c820279f2a2356ff8c6 +DIST containerd-1.7.1.tar.gz 9682254 BLAKE2B f168070caf2b76f0be350a98f41bfdbfe6d78344d68821fb92a29f839a6e847d795e5b79436e36f985aa88028ff1c3f44f134cf6bd502ddac22453a457bd952b SHA512 e9b00ba8f4dd1b5b1088060d3822f684611d43b367ddfeb1bee1660140af85f31e9c9bfc600a67e8fc8645a625dc4e1919d9af7291bdeaa607bff7065a4fc945 +DIST containerd-1.7.13.tar.gz 10047499 BLAKE2B 792eca378db4e1f7c57d68e00e2c77d11eab1ca60d280f662f1152a349d1c5ddc2a3a334484741e9a4a81f25cb800dce042eea94307c9f020d850ed81ef533aa SHA512 b2932387ea14b8fb76e2583b862ec6495b2e08a8fd7cdf169978d554e8b352b44bb27585c9de1e4e3bb3984d0050d0f3de9bc7a559205d3130c2fe40f961feb4 +DIST containerd-1.7.14.tar.gz 10054632 BLAKE2B 1a4db0d1fba16b71e55f213f5776dbef7d9806bf0f7623f0d1ab945554f8ef6c98a0d29923f1b19c4f0017b8a1c73ca929fd43522371c3c228be838e71e86763 SHA512 c80ad36027407b2e06fdff76280750f84de8d7300ef8be275976766f2a0a04dec1f0f850c8efcceaa7f6163f43922b427d7ae1fcdeabfaf531f487c25c461dc8 +DIST containerd-1.7.15.tar.gz 10071827 BLAKE2B 91de9b7d777d53ecdab4af5bbb0d4ccbe755e4cf0fb7bc99a7bb15c66e0e11ad30aa2af685e0e8b0df80dbeef451704fa056a04b460d92adceebd290977febfc SHA512 84a94c7658a431cfd7a5321ac262d966f4291337ddff14211951b0d2025cd3af25a48175794d2b3a630ffc25ba03047579163546a4758a2fb5d1898cd233854f +DIST containerd-1.7.2.tar.gz 9688701 BLAKE2B d31cd0e96bb2675390cc63d06114e37d532b7c666b3ffc5b0087dfcef8de23559471f08bf8a52b164c5f645faf1b8102ab2ccdd8ec417a1c74336097f0c3a899 SHA512 c0d4c02991b7e9fc341c4ef3df2d93097f5854a51b99596ed95436a79f7a586820bb8bb7c17fc43b5f38d97ea942e59490fbbf6c9710391ef9caae3d34627bc5 +DIST containerd-1.7.6.tar.gz 9714550 BLAKE2B 863df1a8ab0f0fe6ec62893ed64824763c1b5230fe830fa268820ce0d6254c79e1ac62ab1261a74785b86b01dff83ea9109a899857fa47a48f2cf2eaf298fea8 SHA512 8b7e13c6ea544754ba7d53092d143f3fd2224b9bc874a33d8a00b781e719927f1b22ad5cd1e35b7b95e4890e630f4b92308549a970587ccdf9dbb8eb470e2703 +DIST containerd-1.7.8.tar.gz 9939250 BLAKE2B cddfea0617e92dc56f118e63a3e7af0103c1afe1b18e2c3bf198e4a58aa52424cb62f813f304231700ca10f8ff8936faed5c26735d3dab8958de2219b6769db0 SHA512 29c317b53f1e0eb48f45da47161aad9e97a9e7c5ff6ca2fc0d1233b9e6dcf7c8cd7f866502df80119447e6b889c8ce26257282c7d1948e05e22e1a5afeed1d03 diff --git a/app-containers/containerd/containerd-1.5.11.ebuild b/app-containers/containerd/containerd-1.7.1-r1.ebuild index c848b75853ce..cc7ea0516264 100644 --- a/app-containers/containerd/containerd-1.5.11.ebuild +++ b/app-containers/containerd/containerd-1.7.1-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -GIT_REVISION=3df54a852345ae127d1fa3092b95168e4a88e2f8 inherit go-module systemd +GIT_REVISION=2806fc1057397dbaeefbea0e4e17bddfbd388f38 DESCRIPTION="A daemon to control runC" HOMEPAGE="https://containerd.io/" @@ -22,7 +22,7 @@ DEPEND=" # recommended version of runc is found in script/setup/runc-version RDEPEND=" ${DEPEND} - ~app-containers/runc-1.0.3 + ~app-containers/runc-1.1.7[apparmor?,seccomp?] " BDEPEND=" @@ -31,13 +31,13 @@ BDEPEND=" " # tests require root or docker -# upstream does not recommend stripping binary -RESTRICT+=" strip test" +RESTRICT+="test" src_prepare() { default sed -i \ -e "s/-s -w//" \ + -e "s/-mod=readonly//" \ Makefile || die sed -i \ -e "s:/usr/local:/usr:" \ @@ -69,8 +69,10 @@ src_compile() { } src_install() { + rm "${D}"/bin/gen-manpages dobin bin/* doman man/* + newconfd "${FILESDIR}"/${PN}.confd "${PN}" newinitd "${FILESDIR}"/${PN}.initd "${PN}" systemd_dounit containerd.service keepdir /var/lib/containerd diff --git a/app-containers/containerd/containerd-1.7.13.ebuild b/app-containers/containerd/containerd-1.7.13.ebuild new file mode 100644 index 000000000000..e7293ba451b5 --- /dev/null +++ b/app-containers/containerd/containerd-1.7.13.ebuild @@ -0,0 +1,86 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd +GIT_REVISION=7c3aca7a610df76212171d200ca3811ff6096eb8 + +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" + +DEPEND=" + btrfs? ( sys-fs/btrfs-progs ) + seccomp? ( sys-libs/libseccomp ) +" + +# recommended version of runc is found in script/setup/runc-version +RDEPEND=" + ${DEPEND} + ~app-containers/runc-1.1.12[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 "${D}"/bin/gen-manpages + 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.14.ebuild b/app-containers/containerd/containerd-1.7.14.ebuild new file mode 100644 index 000000000000..9a363e0c14c7 --- /dev/null +++ b/app-containers/containerd/containerd-1.7.14.ebuild @@ -0,0 +1,86 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd +GIT_REVISION=dcf2847247e18caba8dce86522029642f60fe96b + +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" + +DEPEND=" + btrfs? ( sys-fs/btrfs-progs ) + seccomp? ( sys-libs/libseccomp ) +" + +# recommended version of runc is found in script/setup/runc-version +RDEPEND=" + ${DEPEND} + ~app-containers/runc-1.1.12[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 "${D}"/bin/gen-manpages + 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.15.ebuild b/app-containers/containerd/containerd-1.7.15.ebuild new file mode 100644 index 000000000000..8f8b2dbe442a --- /dev/null +++ b/app-containers/containerd/containerd-1.7.15.ebuild @@ -0,0 +1,86 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd +GIT_REVISION=926c9586fe4a6236699318391cd44976a98e31f1 + +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" + +DEPEND=" + btrfs? ( sys-fs/btrfs-progs ) + seccomp? ( sys-libs/libseccomp ) +" + +# recommended version of runc is found in script/setup/runc-version +RDEPEND=" + ${DEPEND} + ~app-containers/runc-1.1.12[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 "${D}"/bin/gen-manpages + 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.6.2.ebuild b/app-containers/containerd/containerd-1.7.2.ebuild index eef31e9b8f79..498fb8d90a5f 100644 --- a/app-containers/containerd/containerd-1.6.2.ebuild +++ b/app-containers/containerd/containerd-1.7.2.ebuild @@ -1,14 +1,13 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -GIT_REVISION=de8046a5501db9e0e478e1c10cbcfb21af4c6b2d inherit go-module systemd +GIT_REVISION=0cae528dd6cb557f7201036e9f43420650207b58 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" -SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" LICENSE="Apache-2.0" SLOT="0" @@ -23,7 +22,7 @@ DEPEND=" # recommended version of runc is found in script/setup/runc-version RDEPEND=" ${DEPEND} - ~app-containers/runc-1.1.0 + ~app-containers/runc-1.1.7[apparmor?,seccomp?] " BDEPEND=" @@ -32,13 +31,13 @@ BDEPEND=" " # tests require root or docker -# upstream does not recommend stripping binary -RESTRICT+=" strip test" +RESTRICT+="test" src_prepare() { default sed -i \ -e "s/-s -w//" \ + -e "s/-mod=readonly//" \ Makefile || die sed -i \ -e "s:/usr/local:/usr:" \ @@ -70,8 +69,10 @@ src_compile() { } src_install() { + rm "${D}"/bin/gen-manpages dobin bin/* doman man/* + newconfd "${FILESDIR}"/${PN}.confd "${PN}" newinitd "${FILESDIR}"/${PN}.initd "${PN}" systemd_dounit containerd.service keepdir /var/lib/containerd diff --git a/app-containers/containerd/containerd-1.6.4.ebuild b/app-containers/containerd/containerd-1.7.6.ebuild index bcc9928fb160..8ce5ddd813bd 100644 --- a/app-containers/containerd/containerd-1.6.4.ebuild +++ b/app-containers/containerd/containerd-1.7.6.ebuild @@ -1,14 +1,13 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -GIT_REVISION=212e8b6fa2f44b9c21b2798135fc6fb7c53efc16 inherit go-module systemd +GIT_REVISION=091922f03c2762540fd057fba91260237ff86acb 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" -SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" LICENSE="Apache-2.0" SLOT="0" @@ -23,7 +22,7 @@ DEPEND=" # recommended version of runc is found in script/setup/runc-version RDEPEND=" ${DEPEND} - ~app-containers/runc-1.1.2 + ~app-containers/runc-1.1.9[apparmor?,seccomp?] " BDEPEND=" @@ -32,13 +31,13 @@ BDEPEND=" " # tests require root or docker -# upstream does not recommend stripping binary -RESTRICT+=" strip test" +RESTRICT+="test" src_prepare() { default sed -i \ -e "s/-s -w//" \ + -e "s/-mod=readonly//" \ Makefile || die sed -i \ -e "s:/usr/local:/usr:" \ @@ -70,8 +69,10 @@ src_compile() { } src_install() { + rm "${D}"/bin/gen-manpages dobin bin/* doman man/* + newconfd "${FILESDIR}"/${PN}.confd "${PN}" newinitd "${FILESDIR}"/${PN}.initd "${PN}" systemd_dounit containerd.service keepdir /var/lib/containerd diff --git a/app-containers/containerd/containerd-1.7.8.ebuild b/app-containers/containerd/containerd-1.7.8.ebuild new file mode 100644 index 000000000000..023ca8488369 --- /dev/null +++ b/app-containers/containerd/containerd-1.7.8.ebuild @@ -0,0 +1,86 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd +GIT_REVISION=8e4b0bde866788eec76735cc77c4720144248fb7 + +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" + +DEPEND=" + btrfs? ( sys-fs/btrfs-progs ) + seccomp? ( sys-libs/libseccomp ) +" + +# recommended version of runc is found in script/setup/runc-version +RDEPEND=" + ${DEPEND} + ~app-containers/runc-1.1.9[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 "${D}"/bin/gen-manpages + 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/files/containerd.confd b/app-containers/containerd/files/containerd.confd new file mode 100644 index 000000000000..22ef83205e26 --- /dev/null +++ b/app-containers/containerd/files/containerd.confd @@ -0,0 +1,3 @@ +# This is the delay to be used in the start_post function to wait for +# the socket to be active. +#containerd_socket_delay=5 diff --git a/app-containers/containerd/files/containerd.initd b/app-containers/containerd/files/containerd.initd index 6536fc9ef209..143305c03336 100644 --- a/app-containers/containerd/files/containerd.initd +++ b/app-containers/containerd/files/containerd.initd @@ -22,5 +22,5 @@ start_pre() { } start_post() { - ewaitfile 5 /run/containerd/containerd.sock + ewaitfile ${containerd_socket_delay:-5} /run/containerd/containerd.sock } diff --git a/app-containers/containerd/metadata.xml b/app-containers/containerd/metadata.xml index 5641ef372193..4ee50fa856d8 100644 --- a/app-containers/containerd/metadata.xml +++ b/app-containers/containerd/metadata.xml @@ -12,12 +12,7 @@ <email>williamh@gentoo.org</email> <name>William Hubbs</name> </maintainer> - <maintainer type="person"> - <email>gyakovlev@gentoo.org</email> - <name>Georgy Yakovlev</name> - </maintainer> <use> - <flag name="apparmor">Support for AppArmor</flag> <flag name="btrfs">Support for BTRFS snapshot driver</flag> <flag name="cri">Support for Kubernetes CRI</flag> <flag name="device-mapper">Support for device mapper snapshot driver</flag> diff --git a/app-containers/containers-common/Manifest b/app-containers/containers-common/Manifest new file mode 100644 index 000000000000..d683aa50a470 --- /dev/null +++ b/app-containers/containers-common/Manifest @@ -0,0 +1,3 @@ +DIST containers-common-0.57.0.tar.gz 12700958 BLAKE2B 8432a7d839b94b59eabd75d4978a4d0c1340a64ed626db74e74a8318e08c61172bfba5e4f4c4b0dfffec302c5a310bb5be8fad3ab4d91a6d89ced373a0a6f297 SHA512 b993821040788085ff44e48023a64cea4e3e7e50731c359087bd287168e6849a543d930acbdaff2437fc7951acc46f7183f337dd977215eca814332e6869d1e3 +DIST containers-common-0.57.3.tar.gz 12702863 BLAKE2B 7842893f9b8ca72fa0657ea716f61cad95c4a8bff680922a15cffad4cecf897683591272fee83494e800023a432458cc689a810726e60e4d5ff9dd6af2d71737 SHA512 f0b7c4632317e666342f7b31bd9e5e9cdc794125d4d358e6a62ba115099ee1e6b33751cff982dcadbb3055b093d05fbd1049402f79ca2e6465cc6fcabce7c928 +DIST containers-common-0.58.0.tar.gz 13164567 BLAKE2B 17795eec2d38b4d8b9d6afeb20e249208c5ae2ac767a365ef7313d1e7c36eadb9a9eb284a657dfe3f4fcb0577448d4883fabbad76e0318425fdc03809e27cd7c SHA512 6f569d68d3b0e5ead304c7f23341808d66a47b6352c772d353d50c5f4777cd8a5a5b85d6faaf2887f828c17ec49b9c5f929177a67294b5bbb69baa80656982a8 diff --git a/app-containers/containers-common/containers-common-0.57.0-r1.ebuild b/app-containers/containers-common/containers-common-0.57.0-r1.ebuild new file mode 100644 index 000000000000..3cb764cb31ce --- /dev/null +++ b/app-containers/containers-common/containers-common-0.57.0-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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 ~riscv" +fi + +LICENSE="Apache-2.0" +SLOT="0" +RESTRICT="test" +RDEPEND=" + >=app-containers/containers-image-5.29.2 + app-containers/containers-storage + app-containers/containers-shortnames + !<app-containers/podman-4.5.0-r1 + net-firewall/nftables + net-firewall/iptables[nftables] + || ( app-containers/crun app-containers/runc ) + || ( + ( >=app-containers/netavark-1.6.0 >=app-containers/aardvark-dns-1.6.0 ) + >=app-containers/cni-plugins-0.9.1 + ) +" + +BDEPEND=" + >=dev-go/go-md2man-2.0.2 +" + +src_prepare() { + default + + [[ -f docs/Makefile && -f Makefile ]] || die + sed -i -e 's|/usr/local|/usr|g;' docs/Makefile Makefile || die + + # add comments to mounts.conf + eapply "${FILESDIR}/examplify-mounts-conf.patch" +} + +src_compile() { + emake docs +} + +src_install() { + emake DESTDIR="${ED}" install + + 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 +} diff --git a/app-containers/containers-common/containers-common-0.57.0.ebuild b/app-containers/containers-common/containers-common-0.57.0.ebuild new file mode 100644 index 000000000000..2d56b46669f2 --- /dev/null +++ b/app-containers/containers-common/containers-common-0.57.0.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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 ~riscv" +fi + +LICENSE="Apache-2.0" +SLOT="0" +RESTRICT="test" +RDEPEND=" + <app-containers/containers-image-5.29.2 + app-containers/containers-storage + app-containers/containers-shortnames + !<app-containers/podman-4.5.0-r1 + net-firewall/nftables + net-firewall/iptables[nftables] + || ( app-containers/crun app-containers/runc ) + || ( + ( >=app-containers/netavark-1.6.0 >=app-containers/aardvark-dns-1.6.0 ) + >=app-containers/cni-plugins-0.9.1 + ) +" + +BDEPEND=" + >=dev-go/go-md2man-2.0.2 +" + +src_prepare() { + default + + [[ -f docs/Makefile && -f Makefile ]] || die + sed -i -e 's|/usr/local|/usr|g;' docs/Makefile Makefile || die + + # add comments to mounts.conf + eapply "${FILESDIR}/examplify-mounts-conf.patch" +} + +src_compile() { + emake docs +} + +src_install() { + emake DESTDIR="${ED}" install + + insinto /etc/containers + # https://github.com/containers/skopeo/raw/main/default-policy.json + doins pkg/config/containers.conf "${FILESDIR}/policy.json" + + insinto /etc/containers/registries.d + # https://github.com/containers/skopeo/raw/main/default.yaml + doins "${FILESDIR}/default.yaml" + + 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 +} diff --git a/app-containers/containers-common/containers-common-0.57.3.ebuild b/app-containers/containers-common/containers-common-0.57.3.ebuild new file mode 100644 index 000000000000..5a0aa2f26d0b --- /dev/null +++ b/app-containers/containers-common/containers-common-0.57.3.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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 ~riscv" +fi + +LICENSE="Apache-2.0" +SLOT="0" +RESTRICT="test" +RDEPEND=" + app-containers/containers-image + app-containers/containers-storage + app-containers/containers-shortnames + net-firewall/nftables + net-firewall/iptables[nftables] + || ( app-containers/crun app-containers/runc ) + || ( + ( >=app-containers/netavark-1.6.0 >=app-containers/aardvark-dns-1.6.0 ) + >=app-containers/cni-plugins-0.9.1 + ) +" + +BDEPEND=" + >=dev-go/go-md2man-2.0.3 +" + +src_prepare() { + default + + [[ -f docs/Makefile && -f Makefile ]] || die + sed -i -e 's|/usr/local|/usr|g;' docs/Makefile Makefile || die + + # add comments to mounts.conf + eapply "${FILESDIR}/examplify-mounts-conf.patch" +} + +src_compile() { + emake docs +} + +src_install() { + emake DESTDIR="${ED}" install + + 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 +} diff --git a/app-containers/containers-common/containers-common-0.58.0-r1.ebuild b/app-containers/containers-common/containers-common-0.58.0-r1.ebuild new file mode 100644 index 000000000000..4a0427e20df7 --- /dev/null +++ b/app-containers/containers-common/containers-common-0.58.0-r1.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 ~riscv" +fi + +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/containers-shortnames + >=app-containers/netavark-1.10.3 + net-firewall/nftables + net-firewall/iptables[nftables] + >=net-misc/passt-2024.03.20 + >=sys-fs/fuse-overlayfs-1.13 +" + +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-0.58.0.ebuild b/app-containers/containers-common/containers-common-0.58.0.ebuild new file mode 100644 index 000000000000..c4d53773f1d9 --- /dev/null +++ b/app-containers/containers-common/containers-common-0.58.0.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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 ~riscv" +fi + +LICENSE="Apache-2.0" +SLOT="0" +RESTRICT="test" +RDEPEND=" + app-containers/containers-image + app-containers/containers-storage + app-containers/containers-shortnames + net-firewall/nftables + net-firewall/iptables[nftables] + || ( app-containers/crun app-containers/runc ) + || ( + ( >=app-containers/netavark-1.6.0 >=app-containers/aardvark-dns-1.6.0 ) + >=app-containers/cni-plugins-0.9.1 + ) +" + +BDEPEND=" + >=dev-go/go-md2man-2.0.3 +" + +PATCHES=( + "${FILESDIR}/examplify-mounts-conf.patch" +) + +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 + + 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 +} diff --git a/app-containers/containers-common/containers-common-9999.ebuild b/app-containers/containers-common/containers-common-9999.ebuild new file mode 100644 index 000000000000..4a0427e20df7 --- /dev/null +++ b/app-containers/containers-common/containers-common-9999.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 ~riscv" +fi + +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/containers-shortnames + >=app-containers/netavark-1.10.3 + net-firewall/nftables + net-firewall/iptables[nftables] + >=net-misc/passt-2024.03.20 + >=sys-fs/fuse-overlayfs-1.13 +" + +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/files/default.yaml b/app-containers/containers-common/files/default.yaml new file mode 100644 index 000000000000..a7f3d2823136 --- /dev/null +++ b/app-containers/containers-common/files/default.yaml @@ -0,0 +1,28 @@ +# This is a default registries.d configuration file. You may +# add to this file or create additional files in registries.d/. +# +# lookaside: for reading/writing simple signing signatures +# lookaside-staging: for writing simple signing signatures, preferred over lookaside +# +# lookaside and lookaside-staging take a value of the following: +# lookaside: {schema}://location +# +# For reading signatures, schema may be http, https, or file. +# For writing signatures, schema may only be file. + +# The default locations are built-in, for both reading and writing: +# /var/lib/containers/sigstore for root, or +# ~/.local/share/containers/sigstore for non-root users. +default-docker: +# lookaside: https://… +# lookaside-staging: file:///… + +# The 'docker' indicator here is the start of the configuration +# for docker registries. +# +# docker: +# +# privateregistry.com: +# lookaside: https://privateregistry.com/sigstore/ +# lookaside-staging: /mnt/nfs/privateregistry/sigstore + diff --git a/app-containers/containers-common/files/examplify-mounts-conf.patch b/app-containers/containers-common/files/examplify-mounts-conf.patch new file mode 100644 index 000000000000..eeaca09d5f1e --- /dev/null +++ b/app-containers/containers-common/files/examplify-mounts-conf.patch @@ -0,0 +1,7 @@ +--- a/pkg/subscriptions/mounts.conf ++++ a/pkg/subscriptions/mounts.conf +@@ -1 +1,3 @@ +-/usr/share/rhel/secrets:/run/secrets ++# Refer to containers-mounts.conf(5) ++# Example: ++# /usr/share/rhel/secrets:/run/secrets diff --git a/app-containers/containers-common/files/policy.json b/app-containers/containers-common/files/policy.json new file mode 100644 index 000000000000..dffc54a62647 --- /dev/null +++ b/app-containers/containers-common/files/policy.json @@ -0,0 +1,14 @@ +{ + "default": [ + { + "type": "insecureAcceptAnything" + } + ], + "transports": + { + "docker-daemon": + { + "": [{"type":"insecureAcceptAnything"}] + } + } +} diff --git a/app-containers/containers-common/metadata.xml b/app-containers/containers-common/metadata.xml new file mode 100644 index 000000000000..21378d94d99f --- /dev/null +++ b/app-containers/containers-common/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>me@rahil.rocks</email> + <name>Rahil Bhimjiani</name> + </maintainer> + <maintainer type="person"> + <email>zmedico@gentoo.org</email> + <name>Zac Medico</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="github">containers/common</remote-id> + <bugs-to>https://github.com/containers/common/issues</bugs-to> + <doc>https://github.com/containers/common/blob/main/README.md</doc> + </upstream> +</pkgmetadata> diff --git a/app-containers/containers-image/Manifest b/app-containers/containers-image/Manifest new file mode 100644 index 000000000000..0a452993112f --- /dev/null +++ b/app-containers/containers-image/Manifest @@ -0,0 +1,3 @@ +DIST containers-image-5.29.0.tar.gz 706774 BLAKE2B 0af5c7c43e8b75df591cbd291d0865ac19322bf62ad98b4f36cfb51b006ced088f91f0b3f582ce29ae80582e72087467cfe589683216eeb50ad3762152853dc0 SHA512 5e670f85fe0b43769667f1a3e710434ab65c4ec2d8c60b0cad4b0ed41c35f84677528f9dfecb0b946de556ebbdd56f4949760432ec49b1b3c691120a323af869 +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 diff --git a/app-containers/containers-image/containers-image-5.29.0.ebuild b/app-containers/containers-image/containers-image-5.29.0.ebuild new file mode 100644 index 000000000000..eb50b44f8f73 --- /dev/null +++ b/app-containers/containers-image/containers-image-5.29.0.ebuild @@ -0,0 +1,37 @@ +# 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 ~riscv" +fi + +LICENSE="Apache-2.0" +SLOT="0" + +BDEPEND=">=dev-go/go-md2man-2.0.2" + +src_prepare() { + default + eapply "${FILESDIR}/fix-warnings.patch" +} + +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-5.29.2-r1.ebuild b/app-containers/containers-image/containers-image-5.29.2-r1.ebuild new file mode 100644 index 000000000000..5a0b9d37566c --- /dev/null +++ b/app-containers/containers-image/containers-image-5.29.2-r1.ebuild @@ -0,0 +1,39 @@ +# 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 ~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" +PATCHES=( + "${FILESDIR}"/moving-policy-json-default-yaml.patch + "${FILESDIR}"/prevent-downloading-mods-5.29.2.patch +) + +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-5.30.0.ebuild b/app-containers/containers-image/containers-image-5.30.0.ebuild new file mode 100644 index 000000000000..9d755c4cf4ad --- /dev/null +++ b/app-containers/containers-image/containers-image-5.30.0.ebuild @@ -0,0 +1,38 @@ +# 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 ~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" +PATCHES=( + "${FILESDIR}"/fix-warnings.patch +) + +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 new file mode 100644 index 000000000000..9d755c4cf4ad --- /dev/null +++ b/app-containers/containers-image/containers-image-9999.ebuild @@ -0,0 +1,38 @@ +# 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 ~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" +PATCHES=( + "${FILESDIR}"/fix-warnings.patch +) + +src_compile() { + emake docs +} + +src_install() { + emake DESTDIR="${ED}" install + + insinto /etc/containers + doins registries.conf +} diff --git a/app-containers/containers-image/files/fix-warnings.patch b/app-containers/containers-image/files/fix-warnings.patch new file mode 100644 index 000000000000..c68cffa8584b --- /dev/null +++ b/app-containers/containers-image/files/fix-warnings.patch @@ -0,0 +1,14 @@ +--- a/Makefile ++++ b/Makefile +@@ -5,7 +5,2 @@ + +-GOBIN := $(shell go env GOBIN) +-ifeq ($(GOBIN),) +-GOBIN := $(shell go env GOPATH)/bin +-endif +- + # when cross compiling _for_ a Darwin or windows host, then we must use openpgp +@@ -17,3 +12,2 @@ + +-PACKAGES := $(shell GO111MODULE=on go list $(BUILDFLAGS) ./...) + SOURCE_DIRS = $(shell echo $(PACKAGES) | awk 'BEGIN{FS="/"; RS=" "}{print $$4}' | uniq) diff --git a/app-containers/containers-image/files/moving-policy-json-default-yaml.patch b/app-containers/containers-image/files/moving-policy-json-default-yaml.patch new file mode 100644 index 000000000000..1713839371a5 --- /dev/null +++ b/app-containers/containers-image/files/moving-policy-json-default-yaml.patch @@ -0,0 +1,100 @@ +From 45441676e34e6410ae8af6dbb46b6161c5c81a7c Mon Sep 17 00:00:00 2001 +From: Rahil Bhimjiani <me@rahil.website> +Date: Thu, 7 Dec 2023 14:12:26 +0530 +Subject: [PATCH] Moving policy.json and default.yaml from containers/skopeo + +It makes more sense to keep these 2 files along with their man +pages...in c/image +https://github.com/containers/common/pull/1757 + +Signed-off-by: Rahil Bhimjiani <me@rahil.website> +--- + Makefile | 11 +++++++++++ + default-policy.json | 14 ++++++++++++++ + default.yaml | 27 +++++++++++++++++++++++++++ + 3 files changed, 52 insertions(+) + create mode 100644 default-policy.json + create mode 100644 default.yaml + +diff --git a/Makefile b/Makefile +index f329ef083..5e9799b19 100644 +--- a/Makefile ++++ b/Makefile +@@ -24,6 +24,13 @@ GOMD2MAN ?= $(shell command -v go-md2man || echo '$(GOBIN)/go-md2man') + MANPAGES_MD = $(wildcard docs/*.5.md) + MANPAGES ?= $(MANPAGES_MD:%.md=%) + ++ifeq ($(shell uname -s),FreeBSD) ++CONTAINERSCONFDIR ?= /usr/local/etc/containers ++else ++CONTAINERSCONFDIR ?= /etc/containers ++endif ++REGISTRIESDDIR ?= ${CONTAINERSCONFDIR}/registries.d ++ + # 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!) +@@ -46,6 +53,10 @@ install-docs: docs + install -m 644 docs/*.5 ${MANINSTALLDIR}/man5/ + + install: install-docs ++ install -d -m 755 ${DESTDIR}${CONTAINERSCONFDIR} ++ install -m 644 default-policy.json ${DESTDIR}${CONTAINERSCONFDIR}/policy.json ++ install -d -m 755 ${DESTDIR}${REGISTRIESDDIR} ++ install -m 644 default.yaml ${DESTDIR}${REGISTRIESDDIR}/default.yaml + + cross: + GOOS=windows $(MAKE) build BUILDTAGS="$(BUILDTAGS) $(BUILD_TAGS_WINDOWS_CROSS)" +diff --git a/default-policy.json b/default-policy.json +new file mode 100644 +index 000000000..dffc54a62 +--- /dev/null ++++ b/default-policy.json +@@ -0,0 +1,14 @@ ++{ ++ "default": [ ++ { ++ "type": "insecureAcceptAnything" ++ } ++ ], ++ "transports": ++ { ++ "docker-daemon": ++ { ++ "": [{"type":"insecureAcceptAnything"}] ++ } ++ } ++} +diff --git a/default.yaml b/default.yaml +new file mode 100644 +index 000000000..9e892d760 +--- /dev/null ++++ b/default.yaml +@@ -0,0 +1,27 @@ ++# This is a default registries.d configuration file. You may ++# add to this file or create additional files in registries.d/. ++# ++# lookaside: for reading/writing simple signing signatures ++# lookaside-staging: for writing simple signing signatures, preferred over lookaside ++# ++# lookaside and lookaside-staging take a value of the following: ++# lookaside: {schema}://location ++# ++# For reading signatures, schema may be http, https, or file. ++# For writing signatures, schema may only be file. ++ ++# The default locations are built-in, for both reading and writing: ++# /var/lib/containers/sigstore for root, or ++# ~/.local/share/containers/sigstore for non-root users. ++default-docker: ++# lookaside: https://… ++# lookaside-staging: file:///… ++ ++# The 'docker' indicator here is the start of the configuration ++# for docker registries. ++# ++# docker: ++# ++# privateregistry.com: ++# lookaside: https://privateregistry.com/sigstore/ ++# lookaside-staging: /mnt/nfs/privateregistry/sigstore diff --git a/app-containers/containers-image/files/prevent-downloading-mods-5.29.2.patch b/app-containers/containers-image/files/prevent-downloading-mods-5.29.2.patch new file mode 100644 index 000000000000..8d70156bfb6f --- /dev/null +++ b/app-containers/containers-image/files/prevent-downloading-mods-5.29.2.patch @@ -0,0 +1,10 @@ +--- a/Makefile ++++ b/Makefile +@@ -15,7 +15,6 @@ + BUILDTAGS = btrfs_noversion libdm_no_deferred_remove + BUILDFLAGS := -tags "$(BUILDTAGS)" + +-PACKAGES := $(shell GO111MODULE=on go list $(BUILDFLAGS) ./...) + SOURCE_DIRS = $(shell echo $(PACKAGES) | awk 'BEGIN{FS="/"; RS=" "}{print $$4}' | uniq) + + PREFIX ?= ${DESTDIR}/usr diff --git a/app-containers/containers-image/metadata.xml b/app-containers/containers-image/metadata.xml new file mode 100644 index 000000000000..86025dfe250e --- /dev/null +++ b/app-containers/containers-image/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>me@rahil.rocks</email> + <name>Rahil Bhimjiani</name> + </maintainer> + <maintainer type="person"> + <email>zmedico@gentoo.org</email> + <name>Zac Medico</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="github">containers/image</remote-id> + <bugs-to>https://github.com/containers/image/issues</bugs-to> + <doc>https://github.com/containers/image/blob/main/README.md</doc> + </upstream> +</pkgmetadata> diff --git a/app-containers/containers-shortnames/Manifest b/app-containers/containers-shortnames/Manifest new file mode 100644 index 000000000000..af3f5371bc0f --- /dev/null +++ b/app-containers/containers-shortnames/Manifest @@ -0,0 +1 @@ +DIST containers-shortnames-2023.02.20.tar.gz 13527 BLAKE2B 165a4c51bd284078990c94059145bb6b4bd5de4d8595eb2ccd2acc6fe8561e7edc300b7edadc684675ee281d7ada1c3a6d5aa0117c640ec22c2d2ef7e46486b5 SHA512 856dbbeb2acda276e9605bd1ecec0f8d65952c597ee2af61dd8909d7d3c04e5ef06c40b69ec4a98f79e623c536850f614c1b0af3a19637e300e7d3a285933193 diff --git a/app-containers/containers-shortnames/containers-shortnames-2023.02.20.ebuild b/app-containers/containers-shortnames/containers-shortnames-2023.02.20.ebuild new file mode 100644 index 000000000000..bf48bb1f16f0 --- /dev/null +++ b/app-containers/containers-shortnames/containers-shortnames-2023.02.20.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Configures default shortnames (aliases) for Containers" +HOMEPAGE="https://github.com/containers/shortnames" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/shortnames.git" +else + SRC_URI="https://github.com/containers/shortnames/archive/v${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${P#containers-}" + KEYWORDS="amd64 arm64 ~riscv" +fi + +LICENSE="Apache-2.0" +SLOT="0" + +src_configure() { + return +} + +src_compile() { + return +} + +src_test() { + return +} + +src_install() { + insinto /etc/containers/registries.conf.d + newins shortnames.conf 000-shortnames.conf +} diff --git a/app-containers/containers-shortnames/containers-shortnames-9999.ebuild b/app-containers/containers-shortnames/containers-shortnames-9999.ebuild new file mode 100644 index 000000000000..fc6e0837c92f --- /dev/null +++ b/app-containers/containers-shortnames/containers-shortnames-9999.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Configures default shortnames (aliases) for Containers" +HOMEPAGE="https://github.com/containers/shortnames" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/shortnames.git" +else + SRC_URI="https://github.com/containers/shortnames/archive/v${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${P#containers-}" + KEYWORDS="~amd64" +fi + +LICENSE="Apache-2.0" +SLOT="0" + +src_configure() { + return +} + +src_compile() { + return +} + +src_test() { + return +} + +src_install() { + insinto /etc/containers/registries.conf.d + newins shortnames.conf 000-shortnames.conf +} diff --git a/app-containers/containers-shortnames/metadata.xml b/app-containers/containers-shortnames/metadata.xml new file mode 100644 index 000000000000..6fbce4b1e2e0 --- /dev/null +++ b/app-containers/containers-shortnames/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>me@rahil.rocks</email> + <name>Rahil Bhimjiani</name> + </maintainer> + <maintainer type="person"> + <email>zmedico@gentoo.org</email> + <name>Zac Medico</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="github">containers/shortnames</remote-id> + <bugs-to>https://github.com/containers/shortnames/issues</bugs-to> + <doc>https://github.com/containers/shortnames/blob/main/README.md</doc> + </upstream> +</pkgmetadata> diff --git a/app-containers/containers-storage/Manifest b/app-containers/containers-storage/Manifest index 4f58c21d5678..23aaf63ce28c 100644 --- a/app-containers/containers-storage/Manifest +++ b/app-containers/containers-storage/Manifest @@ -1,2 +1,2 @@ -DIST containers-storage-1.41.0.tar.gz 3685908 BLAKE2B 5835fa222127d8e2398a33ec02b24ee0b5a94943ed30a19d8b5f76ce4b852f1e7ad9eceb052dcbb2a2c3db96d3ec4ca0150ab81cd0e0a0e351b353f47c0862b5 SHA512 e2d4d887f067d4bdab97426d9cfe7f941b8148d3c40ddb60d5cbc08f1b3a8c5e6a182586f9cdb96873377b8467368527ff89220ba8a5cd7ad4682a90a1243f56 -DIST containers-storage-1.42.0.tar.gz 3767236 BLAKE2B 3cca3833695bb5e15a0ab5d97d5f72e14102d8c6eee1c132932e4177f64ab9a171cf8486f4fe8d9e09a0537a325c988c6b766249c3c0843bb5f1b270a705b523 SHA512 c8a4fdfbc71915dd3a1d5c1fabef4be7641b8a0edb14805719d93bc9de5bd8fe150636c4457fa544487a6bccbb0f58ad36ca3990d6ca3c2b73935418aaf98f22 +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 diff --git a/app-containers/containers-storage/containers-storage-1.41.0.ebuild b/app-containers/containers-storage/containers-storage-1.41.0.ebuild deleted file mode 100644 index c01863fdb218..000000000000 --- a/app-containers/containers-storage/containers-storage-1.41.0.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit go-module - -KEYWORDS="~amd64" -DESCRIPTION="containers/storage library" -HOMEPAGE="https://github.com/containers/storage" -LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT" -SLOT="0" -IUSE="btrfs +device-mapper test" -SRC_URI="https://github.com/containers/storage/archive/v${PV}.tar.gz -> ${P}.tar.gz" -RDEPEND=" - btrfs? ( sys-fs/btrfs-progs ) - device-mapper? ( sys-fs/lvm2:= )" -DEPEND="${RDEPEND} - dev-go/go-md2man - test? ( - sys-fs/btrfs-progs - sys-fs/lvm2 - sys-apps/util-linux - )" -RESTRICT="test" - -S=${WORKDIR}/${P#containers-} - -src_prepare() { - default - - sed -e 's|: install\.tools|:|' -i Makefile || die - - [[ -f hack/btrfs_tag.sh ]] || die - use btrfs || { echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ - "hack/btrfs_tag.sh" || die; } - - [[ -f hack/libdm_tag.sh ]] || die - use device-mapper || { echo -e "#!/bin/sh\necho btrfs_noversion exclude_graphdriver_devicemapper" > \ - "hack/libdm_tag.sh" || die; } -} - -src_compile() { - export -n GOCACHE GOPATH XDG_CACHE_HOME #678856 - emake GOMD2MAN=go-md2man FFJSON= containers-storage docs -} - -src_install() { - dobin "${PN}" - while read -r -d ''; do - mv "${REPLY}" "${REPLY%.1}" || die - done < <(find "${S}/docs" -name '*.[[:digit:]].1' -print0) - find "${S}/docs" -name '*.[[:digit:]]' -exec doman '{}' + || die -} - -src_test() { - env -u GOFLAGS unshare -m emake local-test-unit || die -} diff --git a/app-containers/containers-storage/containers-storage-1.42.0.ebuild b/app-containers/containers-storage/containers-storage-1.42.0.ebuild deleted file mode 100644 index c01863fdb218..000000000000 --- a/app-containers/containers-storage/containers-storage-1.42.0.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit go-module - -KEYWORDS="~amd64" -DESCRIPTION="containers/storage library" -HOMEPAGE="https://github.com/containers/storage" -LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT" -SLOT="0" -IUSE="btrfs +device-mapper test" -SRC_URI="https://github.com/containers/storage/archive/v${PV}.tar.gz -> ${P}.tar.gz" -RDEPEND=" - btrfs? ( sys-fs/btrfs-progs ) - device-mapper? ( sys-fs/lvm2:= )" -DEPEND="${RDEPEND} - dev-go/go-md2man - test? ( - sys-fs/btrfs-progs - sys-fs/lvm2 - sys-apps/util-linux - )" -RESTRICT="test" - -S=${WORKDIR}/${P#containers-} - -src_prepare() { - default - - sed -e 's|: install\.tools|:|' -i Makefile || die - - [[ -f hack/btrfs_tag.sh ]] || die - use btrfs || { echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ - "hack/btrfs_tag.sh" || die; } - - [[ -f hack/libdm_tag.sh ]] || die - use device-mapper || { echo -e "#!/bin/sh\necho btrfs_noversion exclude_graphdriver_devicemapper" > \ - "hack/libdm_tag.sh" || die; } -} - -src_compile() { - export -n GOCACHE GOPATH XDG_CACHE_HOME #678856 - emake GOMD2MAN=go-md2man FFJSON= containers-storage docs -} - -src_install() { - dobin "${PN}" - while read -r -d ''; do - mv "${REPLY}" "${REPLY%.1}" || die - done < <(find "${S}/docs" -name '*.[[:digit:]].1' -print0) - find "${S}/docs" -name '*.[[:digit:]]' -exec doman '{}' + || die -} - -src_test() { - env -u GOFLAGS unshare -m emake local-test-unit || die -} diff --git a/app-containers/containers-storage/containers-storage-1.51.0.ebuild b/app-containers/containers-storage/containers-storage-1.51.0.ebuild new file mode 100644 index 000000000000..e06dc0abad14 --- /dev/null +++ b/app-containers/containers-storage/containers-storage-1.51.0.ebuild @@ -0,0 +1,37 @@ +# 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.53.0.ebuild b/app-containers/containers-storage/containers-storage-1.53.0.ebuild new file mode 100644 index 000000000000..7161e2aa1c52 --- /dev/null +++ b/app-containers/containers-storage/containers-storage-1.53.0.ebuild @@ -0,0 +1,32 @@ +# 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_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-9999.ebuild b/app-containers/containers-storage/containers-storage-9999.ebuild new file mode 100644 index 000000000000..7161e2aa1c52 --- /dev/null +++ b/app-containers/containers-storage/containers-storage-9999.ebuild @@ -0,0 +1,32 @@ +# 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_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/files/system-md2man-path.patch b/app-containers/containers-storage/files/system-md2man-path.patch new file mode 100644 index 000000000000..f7d8d58aeb80 --- /dev/null +++ b/app-containers/containers-storage/files/system-md2man-path.patch @@ -0,0 +1,7 @@ +--- 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/containers-storage/metadata.xml b/app-containers/containers-storage/metadata.xml index e452dd2d6b3f..64acdad60d53 100644 --- a/app-containers/containers-storage/metadata.xml +++ b/app-containers/containers-storage/metadata.xml @@ -1,21 +1,21 @@ <?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> - <use> - <flag name="btrfs"> - Enables dependencies for the "btrfs" graph driver, including - necessary kernel flags. - </flag> - <flag name="device-mapper"> - Enables dependencies for the "devicemapper" graph driver, including - necessary kernel flags. - </flag> - </use> - <upstream> - <remote-id type="github">containers/storage</remote-id> - </upstream> + <maintainer type="person"> + <email>zmedico@gentoo.org</email> + <name>Zac Medico</name> + </maintainer> + <maintainer type="person" proxied="yes"> + <email>me@rahil.rocks</email> + <name>Rahil Bhimjiani</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="github">containers/storage</remote-id> + <bugs-to>https://github.com/containers/storage/issues</bugs-to> + <doc>https://github.com/containers/storage/blob/main/README.md</doc> + </upstream> </pkgmetadata> diff --git a/app-containers/cosign/Manifest b/app-containers/cosign/Manifest index 0ca8b92ca05c..501d631a7ce8 100644 --- a/app-containers/cosign/Manifest +++ b/app-containers/cosign/Manifest @@ -1,6 +1,10 @@ -DIST cosign-1.10.0-deps.tar.xz 393342088 BLAKE2B 527a143a1a81b86c8d2d2186c6e18111aa46a7cd908c77bf8f6cc7ebd53a4a8461168dacf46d97dc7e2a14d9e7fe1d7cc59cd81a4fd695177863ec5893577ba3 SHA512 9b764f7d642fd2b7ad3210d7b0fe16b1d5d24ea581266e4f43b0039cb63b1dfbac8fa6826d0359ac3a85575fb03562938ced72e6673fe9a5a4fe85601001adba -DIST cosign-1.10.0.tar.gz 7140596 BLAKE2B 796ada75ce24ba8d2c7ad8702b9abeb82fd3ae75decac58c8e95f41bda7420056659cf76b4d79a1eaf3e3752c91ebb5da7bbb8bfbcfc0e99bea335ee7566183d SHA512 8ce41349737835945b0a5fe66d9b87b8747301c4e067db305ad7fc573bb8e86b2c6ae787944e01f8490a6db7aba72c33e285f098d0b7c710f1e54814a9cb2cdd -DIST cosign-1.8.0-deps.tar.xz 541301856 BLAKE2B fb1fd9c2570f327876a5d151261f906951c57fdbaa6eefe1dcb84166f71ae381053f44a3d8a5707660cba066435aa6747aa5c47896b19b461954f6c824c33cd2 SHA512 b2773c1f07d32edc6a4ba02c487a3620eea141f29b425159eb2973ef32867afa7f334fdde2a23d00c84314a236b3bd513f1ea8faf231204a7fd9358ba0ba5234 -DIST cosign-1.8.0.tar.gz 7217748 BLAKE2B 2d9625609f86cad05770085617cd80335d62554e608f64abf96a3dcf5f0d4449b850d493ce2faff2593d0f996d2ace3f304d89ef99c7bfa2a2027a419ae6da1d SHA512 7d45e80ae5fa15fa7fe14bc5cd13a159356b58afc3baebac5d2c64fa38c74e73a3d17f75bed0730fe842da63de5487c54dfb9f77bbffa1f943281b74d3b30c94 -DIST cosign-1.9.0-deps.tar.xz 543778128 BLAKE2B 56f1e75c4199ae8bb33e71546709ebf621bab8123036f80e61624929e46d679353a211eb2da30197181f285033293c35f055977d762684bfc88d843deb06edc6 SHA512 07942be16e53e4325b3026b51557f352d45eee0d0b4cf84d823ebdd53573630c9e461f8dd6e93068dc20e6f25d589241a4e809839c7aa2aab65e3b7aebc2f3a3 -DIST cosign-1.9.0.tar.gz 7240352 BLAKE2B c6b9c617e288b6104d683a1b1ce8c22897e122a70429dd3db2a4643b91d4cf492c1fcd016ac4bcae32de51464aea538babbb04a8fe7d3b3275310adba528d945 SHA512 1a2a7b32aa0d4f2ad90113a3b5923390d29564d3ddc5e9c8539c8ad646541734164942e93d56321b9ff78910532911272a0e3ee007c2066e40656caac17d6c16 +DIST cosign-2.0.0-deps.tar.xz 446730048 BLAKE2B f59c698ef5c4b908d09af10d0f254c9e03c3e109451d3e2ba2a7d5df007735651e1e28a089f07120155ee2d11648224afc2b126779ca344f0bdd8cd5f155d205 SHA512 29454a7710e18967879010f19c72ffebb75a867d495c48623fa7c61b20d770eb5868e96f0350fba275030438b309a4d1cf7a63212b208725fd5513de3693370b +DIST cosign-2.0.0.tar.gz 6654819 BLAKE2B eee1f7f86a12173baa8d6bac2441646b61c1ce205bbd695018bcf4f068e266c245f2cbd131a40017bb8d88bc8d1960b91c49782c9cdf65e2e47ce356ffe2a92c SHA512 b64fd9bc806d72aaada007d8e0bedcd73ba42cb35fbf4c0ee589c92d5460c90e5604f0ddb6a1f12ba45ce588098803ef026a309332a78613284265e95af4354f +DIST cosign-2.0.1-deps.tar.xz 409822612 BLAKE2B dba99cb2e5b9c3668b1d0c80ae7acc77d1a12ec5afe535178a8b5bc7cb5f06139d4196c31de9399c100a9bb964fde4881691ad7ff27f94ac1975a2ff742fa384 SHA512 ce81c672f1a1e793f11a5614d1c1f8f516208f844213ddbf173f8bf724b824240578be604212bdc66b3ea01737c6ec57f2713d8134c8063682abfb355c9884cb +DIST cosign-2.0.1.tar.gz 6656038 BLAKE2B eb552f0160473cd98d4c876c126f1bbacb53deeddaa9b475f12c3baa5b076fdc06ac3e9783f785059a96baf3643d010617efb695fb6a10f28f5d40023fa6602d SHA512 2d8ce3c495818091e8077503fd2266bd0f3d8ee8a76f2a9b27ab1ab1cf1e2a01fee3ce6138f54d634015010d80e8193f79a8029dd3eb7a09c4b457be16ee4e50 +DIST cosign-2.2.0-deps.tar.xz 474893012 BLAKE2B 75b8a9ccdb117c9eb147a5efd2a167164e5ff5d4dc18483777f0afc1a8c0fc378323003ca58bac92cea4c09a3c4b73d692a81bb45b13bce31553f0e0af2e76e9 SHA512 8b3288ad01ca0d5e789d782f7ba479314396a8848785e4b8fc62b60e1f96b442937d7f2d955370b82b825da62ba1d316169e1ccdff9ce1204663402d680910cb +DIST cosign-2.2.0.tar.gz 850421 BLAKE2B 182bb28cf2b17a04e20d61d4d039e9106fb54a773a9669ad27ff1f3f081a5739dbba7b949688d71a882a4cefceda057ce2636af50e99795194e9656c05928e08 SHA512 379c8544744afb36c143113d6cd3af63cdc28249a34e4c81ab4fe547e97868ae28e0796d9fe77108b7fa2ba30e6379be612650a4f37dc34c08de3fb88fbc5e1d +DIST cosign-2.2.1-deps.tar.xz 487130076 BLAKE2B a0adbfc4d6230f4ba1013dfc28638752e1732eff92b72993aa386073d255a2629c9abb36bca24cacdcd7edff11b4f34cd54356cb3af82b2c3a781a19c12c168e SHA512 27d09d16abbf1ee3d4d1e186dca9cd0836a6da8e36eeb6cce861c85c2a1ec594a4b37dfbd3ada0970fe469aebcf188a0bbe9f8903871bca0e3b81fb718acda09 +DIST cosign-2.2.1.tar.gz 853562 BLAKE2B 40894d00d6071206221010337cb517ee9559518764a0d991df3363cb4dc381a0af4cd31e60c0c1fc6cffce6086af08c908ccf503893356f224f95b1d4085b195 SHA512 84f2308bbb1968eaf6d0d95e2dcb8efa2c42cd2599298b37d576e5e87f0cf6c1153c330b034908c0c7557953e0a7d964eaa4a8768f7dc35900f5f427d8fe7713 +DIST cosign-2.2.3-deps.tar.xz 429760040 BLAKE2B 47ee9a4f6305a670e1818ce74a9da351fc763d4196334d738ab48b9dcba06f4be43ce2ba77dc879aae59ada2fa2ea66168a223c9da1029e02e140590dd1733a5 SHA512 481f8593b80d91996f2b2d4de10acad8bf1c5db3cf099a9683fd7da307c1142c870166a9222e58f9449a060248c94fecf35343dccc07d5cbf2acbdc00c0aef29 +DIST cosign-2.2.3.tar.gz 845096 BLAKE2B 2017cc1716899640cbfc10ce093280a1ee4789eb1e8a8077978ebe4efe38075efa73ccb1abecb41eaa64dc16e652dbb709be7f195a6542284d86b2d9fb5128f3 SHA512 fc488c80dab3d05e0eca714c6107fada01dfddc2b68747676665d20a3f229224bbe36bfc60625c581c2e80dd10ad1421e142cf7ef6e24eba0894a708f2d10f06 diff --git a/app-containers/cosign/cosign-1.10.0.ebuild b/app-containers/cosign/cosign-2.0.0.ebuild index 7adb2e5ed8d1..62b7d9662254 100644 --- a/app-containers/cosign/cosign-1.10.0.ebuild +++ b/app-containers/cosign/cosign-2.0.0.ebuild @@ -1,8 +1,8 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -GIT_HASH=3a6088d03d7c053f9b3bd61ed07fba92133579cf +GIT_HASH=d6b9001f8e6ed745fb845849d623274c897d55f2 inherit go-module DESCRIPTION="container signing utility" @@ -12,14 +12,10 @@ SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" RESTRICT="test" -PATCHES=( - "${FILESDIR}"/${P}-fix-makefile.patch -) - src_compile() { emake \ GIT_HASH=${GIT_HASH} \ @@ -30,4 +26,5 @@ src_compile() { src_install() { dobin cosign einstalldocs +dodoc CHANGELOG.md } diff --git a/app-containers/cosign/cosign-1.9.0.ebuild b/app-containers/cosign/cosign-2.0.1.ebuild index 6ee89bf12fd6..5a36c4c478a2 100644 --- a/app-containers/cosign/cosign-1.9.0.ebuild +++ b/app-containers/cosign/cosign-2.0.1.ebuild @@ -1,9 +1,9 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -GIT_HASH=a4cb262dc3d45a283a6a7513bb767a38a2d3f448 inherit go-module +GIT_HASH=8faaee4d2b5f65678eb0831a8a3d5990a0271d3a DESCRIPTION="container signing utility" HOMEPAGE="https://sigstore.dev" @@ -26,4 +26,5 @@ src_compile() { src_install() { dobin cosign einstalldocs +dodoc CHANGELOG.md } diff --git a/app-containers/cosign/cosign-1.8.0.ebuild b/app-containers/cosign/cosign-2.2.0.ebuild index d70505278ce2..54a6b816281f 100644 --- a/app-containers/cosign/cosign-1.8.0.ebuild +++ b/app-containers/cosign/cosign-2.2.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -GIT_HASH=9ef6b207218572b3257a5b4251418d75569baaae inherit go-module +GIT_HASH=546f1c5b91ef58d6b034a402d0211d980184a0e5 DESCRIPTION="container signing utility" HOMEPAGE="https://sigstore.dev" @@ -26,4 +26,5 @@ src_compile() { src_install() { dobin cosign einstalldocs +dodoc CHANGELOG.md } diff --git a/app-containers/cosign/cosign-2.2.1.ebuild b/app-containers/cosign/cosign-2.2.1.ebuild new file mode 100644 index 000000000000..8324e0f4ed2e --- /dev/null +++ b/app-containers/cosign/cosign-2.2.1.ebuild @@ -0,0 +1,32 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module +GIT_HASH=12cbf9ea177d22bbf5cf028bcb4712b5f174ebc6 +SOURCE_DATE_EPOCH=1699360786 + +DESCRIPTION="container signing utility" +HOMEPAGE="https://sigstore.dev" +SRC_URI="https://github.com/sigstore/cosign/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +RESTRICT="test" + +src_compile() { + emake \ + GIT_HASH=${GIT_HASH} \ + GIT_VERSION=v${PV} \ + GIT_TREESTATE=clean \ + SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH} +} + +src_install() { + dobin cosign + einstalldocs +dodoc CHANGELOG.md +} diff --git a/app-containers/cosign/cosign-2.2.3.ebuild b/app-containers/cosign/cosign-2.2.3.ebuild new file mode 100644 index 000000000000..a1421c9276eb --- /dev/null +++ b/app-containers/cosign/cosign-2.2.3.ebuild @@ -0,0 +1,32 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module +GIT_HASH=493e6e29e2ac830aaf05ec210b36d0a5a60c3b32 +SOURCE_DATE_EPOCH=1706723680 + +DESCRIPTION="container signing utility" +HOMEPAGE="https://sigstore.dev" +SRC_URI="https://github.com/sigstore/cosign/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +RESTRICT="test" + +src_compile() { + emake \ + GIT_HASH=${GIT_HASH} \ + GIT_VERSION=v${PV} \ + GIT_TREESTATE=clean \ + SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH} +} + +src_install() { + dobin cosign + einstalldocs +dodoc CHANGELOG.md +} diff --git a/app-containers/cosign/files/cosign-1.10.0-fix-makefile.patch b/app-containers/cosign/files/cosign-1.10.0-fix-makefile.patch deleted file mode 100644 index 5699bca5732c..000000000000 --- a/app-containers/cosign/files/cosign-1.10.0-fix-makefile.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/Makefile b/Makefile -index 3b6dcb5..8981549 100644 ---- a/Makefile -+++ b/Makefile -@@ -20,8 +20,6 @@ else - GOBIN=$(shell go env GOBIN) - endif - --GOFILES ?= $(shell find . -type f -name '*.go' -not -path "./vendor/*") -- - # Set version variables for LDFLAGS - PROJECT_ID ?= projectsigstore - RUNTIME_IMAGE ?= gcr.io/distroless/static -@@ -72,18 +70,6 @@ log-%: - printf "\033[36m==> %s\033[0m\n", $$2 \ - }' - --.PHONY: checkfmt --checkfmt: SHELL := /usr/bin/env bash --checkfmt: ## Check formatting of all go files -- @ $(MAKE) --no-print-directory log-$@ -- $(shell test -z "$(shell gofmt -l $(GOFILES) | tee /dev/stderr)") -- $(shell test -z "$(shell goimports -l $(GOFILES) | tee /dev/stderr)") -- --.PHONY: fmt --fmt: ## Format all go files -- @ $(MAKE) --no-print-directory log-$@ -- goimports -w $(GOFILES) -- - cosign: $(SRCS) - CGO_ENABLED=0 go build -trimpath -ldflags "$(LDFLAGS)" -o $@ ./cmd/cosign - -@@ -121,7 +107,6 @@ clean: - rm -rf sget - rm -rf dist/ - -- - KOCACHE_PATH=/tmp/ko - ARTIFACT_HUB_LABELS=--image-label io.artifacthub.package.readme-url="https://raw.githubusercontent.com/sigstore/cosign/main/README.md" \ - --image-label io.artifacthub.package.logo-url=https://raw.githubusercontent.com/sigstore/cosign/main/images/logo.svg \ diff --git a/app-containers/cri-o/Manifest b/app-containers/cri-o/Manifest index 00c92eee069a..11f94eddc2da 100644 --- a/app-containers/cri-o/Manifest +++ b/app-containers/cri-o/Manifest @@ -1 +1,2 @@ -DIST cri-o-1.24.1.tar.gz 15943809 BLAKE2B 13840967b7555e680652cdfe71e358fee5afcfbdbc28771960a5e28c88d6242909a595212559b7967c05cfc7cf9921d6d227b810a26bdc66cb75ffed917bcb23 SHA512 899efb61c70be3a0e950dc239245e1a4dca66e2130d8b355a7ad73c1e91088a2d42c6a4cc05f879cc6a1252d40294e9a8845fd2b110148a05a9d63f61077c498 +DIST cri-o-1.29.0.tar.gz 21371695 BLAKE2B f670605f07446a78ce04f497207e0205aee23138be448bdc2d2fb172691e5bb309234daa1c5c0adbb37dcb24e9177f24f62e01e183ac6443f48054b9e65b6dfe SHA512 bb83c906964e61ae68219e1374a3e0810fc982fd0389549e6fe3128156af8d5c6effce4217de4d33d3e29e986db630525694093ca3a99b6065385e1e37927fef +DIST cri-o-1.29.2.tar.gz 21203342 BLAKE2B deec88f8a505bdc1f184a3512da7f6d4b78499c4a66cacf0651a9fe56b62d33d62eaaf2ce68e5d8e856e13988b26e076ab69c24b30a62b42d88656441d948fcb SHA512 dd4105e0097a098b9009b00b59a8e8aeaad85b07177305e2e4b2c68a583a0c342e7a615f47a8cbcb7f179035f2c279573069f15aa1e91e491fe770eec1df326c diff --git a/app-containers/cri-o/cri-o-1.29.0.ebuild b/app-containers/cri-o/cri-o-1.29.0.ebuild new file mode 100644 index 000000000000..9d8b95307d64 --- /dev/null +++ b/app-containers/cri-o/cri-o-1.29.0.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +EGIT_COMMIT=d59bbdc252837107c9f5d235b8fb2650ff2b9d93= + +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.24.1.ebuild b/app-containers/cri-o/cri-o-1.29.2.ebuild index b92849f49f50..31584eebabb9 100644 --- a/app-containers/cri-o/cri-o-1.24.1.ebuild +++ b/app-containers/cri-o/cri-o-1.29.2.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -EGIT_COMMIT=a3bbde8a77c323aa6a485da9a9046299155c6016 +EGIT_COMMIT=d317b5dc918bbfbc78481072a0d93e572aa8d0e8 inherit go-module @@ -37,7 +37,8 @@ DEPEND=" ${COMMON_DEPEND} dev-go/go-md2man" RDEPEND="${COMMON_DEPEND} - !<app-containers/podman-1.3.2-r1" + !<app-containers/podman-1.3.2-r1 + selinux? ( sec-policy/selinux-crio )" src_prepare() { default @@ -97,5 +98,5 @@ src_install() { # Suppress crio "Missing CNI default network" log message. keepdir /etc/cni/net.d insinto /etc/cni/net.d - doins contrib/cni/99-loopback.conf + doins contrib/cni/99-loopback.conflist } diff --git a/app-containers/cri-tools/Manifest b/app-containers/cri-tools/Manifest index bfe1b1d3dc29..a67abf87f207 100644 --- a/app-containers/cri-tools/Manifest +++ b/app-containers/cri-tools/Manifest @@ -1,4 +1,2 @@ -DIST cri-tools-1.23.0.tar.gz 6823865 BLAKE2B 75d394ec1f9ccf2122476c9b845499212d668f8170ae8551913e3e057271986ab77454bdd0fa646127bfadda203fabdc57cc448dfe1e64dd7cdbedc8f5ee8cf6 SHA512 36700eaf872da14921e0b2c8fa68f91e3e0226364e29a5b8e132fbd52504e130e0bc2cce30aba21e7def576a4682f150b0b051d44b78aa694c225c10999d7155 -DIST cri-tools-1.24.0.tar.gz 5868141 BLAKE2B 281c397bb60bb5075d2b99cab11a44cf8746c1f744dfafc4f051dd6c2344a53eba948a35d90f814105ef3cb2b0bef3e7e1723408069a2ab4293801f906ec48b0 SHA512 5c7468c15b9f030d5cf93112abc28f8024e1d1b46f85459cb0a10c84ab63d07f5dfa830d019f8ed1a31bf04ea14c5e200b11d85ae7573be44860b74312e66dbc -DIST cri-tools-1.24.1.tar.gz 5928557 BLAKE2B 42d2f0fc8227fd704c3884f1e8a195952aff1a64fb85629bef4122c011f76d0c7eb94ddcec7d56df610af6b3599b345676efa416249ce292725ec2bb35e8da66 SHA512 d36fda28e733fbf29a53c0384da86abf56373f4471797aaa030dc3d63a2f4682dddb0a5fd9a54ae74ac20c76e8acc5244781d8688ae03f8e930e56bcbe896fb0 -DIST cri-tools-1.24.2.tar.gz 5968560 BLAKE2B 8dce8d16d5218aa73705b4a49b31391eaa25b21deb97f3dfe553f43d7371adf58206d9198f3e22e1c9cbcb7f41b832b0600b324d7c0f943ef313dc89900da46d SHA512 9b5907b37bb5f00295eff4fa4207ae55d930feae7e0f48fa130c7ecc936bcd259a11d59ed240684a3e12c8bcee40f2c67d7f4af52c2a76df3d7bf82e5e388a75 +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 diff --git a/app-containers/cri-tools/cri-tools-1.23.0.ebuild b/app-containers/cri-tools/cri-tools-1.23.0.ebuild deleted file mode 100644 index 45007ff68a89..000000000000 --- a/app-containers/cri-tools/cri-tools-1.23.0.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 2021-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -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" - -DEPEND="dev-lang/go" - -RESTRICT+=" test" - -src_compile() { - emake VERSION="${PV}" - ./build/bin/crictl completion bash > "${PN}.bash" || die - ./build/bin/crictl completion zsh > "${PN}.zsh" || die -} - -src_install() { - dobin ./build/bin/crictl - - newbashcomp ${PN}.bash ${PN} - insinto /usr/share/zsh/site-functions - newins ${PN}.zsh _${PN} - - dodoc -r docs {README,RELEASE,CHANGELOG,CONTRIBUTING}.md -} diff --git a/app-containers/cri-tools/cri-tools-1.24.0.ebuild b/app-containers/cri-tools/cri-tools-1.24.0.ebuild deleted file mode 100644 index 0a580bdda110..000000000000 --- a/app-containers/cri-tools/cri-tools-1.24.0.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 2021-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -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" - -DEPEND="dev-lang/go" - -RESTRICT+=" test" - -src_compile() { - emake VERSION="${PV}" - ./build/bin/crictl completion bash > "${PN}.bash" || die - ./build/bin/crictl completion zsh > "${PN}.zsh" || die -} - -src_install() { - dobin ./build/bin/crictl - - newbashcomp ${PN}.bash ${PN} - insinto /usr/share/zsh/site-functions - newins ${PN}.zsh _${PN} - - dodoc -r docs {README,RELEASE,CHANGELOG,CONTRIBUTING}.md -} diff --git a/app-containers/cri-tools/cri-tools-1.24.2.ebuild b/app-containers/cri-tools/cri-tools-1.25.0.ebuild index 0ae021d25349..67c3e8b38870 100644 --- a/app-containers/cri-tools/cri-tools-1.24.2.ebuild +++ b/app-containers/cri-tools/cri-tools-1.25.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2021-2022 Gentoo Authors +# Copyright 2021-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,7 @@ SRC_URI="https://github.com/kubernetes-sigs/cri-tools/archive/v${PV}.tar.gz -> $ LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64 ~arm64" DEPEND="dev-lang/go" diff --git a/app-containers/cri-tools/cri-tools-1.24.1.ebuild b/app-containers/cri-tools/cri-tools-1.27.0.ebuild index 0ae021d25349..ae910c91f755 100644 --- a/app-containers/cri-tools/cri-tools-1.24.1.ebuild +++ b/app-containers/cri-tools/cri-tools-1.27.0.ebuild @@ -1,7 +1,7 @@ -# Copyright 2021-2022 Gentoo Authors +# Copyright 2021-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit bash-completion-r1 go-module @@ -11,24 +11,23 @@ SRC_URI="https://github.com/kubernetes-sigs/cri-tools/archive/v${PV}.tar.gz -> $ LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64 ~arm64" +RESTRICT="test" -DEPEND="dev-lang/go" - -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() { - dobin ./build/bin/crictl + einstalldocs + dobin ./build/bin/crictl newbashcomp crictl.bash crictl insinto /usr/share/zsh/site-functions newins crictl.zsh _crictl - - dodoc -r docs {README,RELEASE,CHANGELOG,CONTRIBUTING}.md } diff --git a/app-containers/crun/Manifest b/app-containers/crun/Manifest index 4777e551e272..3e403e47f1cf 100644 --- a/app-containers/crun/Manifest +++ b/app-containers/crun/Manifest @@ -1,2 +1,3 @@ -DIST crun-1.4.4.tar.xz 877892 BLAKE2B 57e48c0a229db3f54212177cef3fdb3f59b4bb1d1cc865da956f026a35837d839489bd126f880d7a9ceb18f5cffbf0e32ac9ae59a4cd39c34e3aff5b32c0559a SHA512 1756dccf6509457a5dc114d43c4f4e99258a20c3437dfe06016d080989c5d3035f5735d62d18ab537b660ec36de04df369a2582745baf4ab680af367a19830fd -DIST crun-1.4.5.tar.xz 879044 BLAKE2B c80cae28c23140086682493a7dddb40640491e3ea827f0a7376d9be12570111d056022f50b8d7c574ca07790753d20de2314db5b89463994c4fffbc7576c372d SHA512 9f288279615fdf587018c465047fc8793daae280ab864bf9046994983239129d50f2eb89cac9b092e5cdc49a10f3523ab403a3f0e7451f7536b79f651a355153 +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.8.4.tar.xz 729552 BLAKE2B 8169518a0ddd8deb3820f7030d03dec6941d5d34fb73a036b82f15b0d8f2f702e117de00b829a16cb9976e118f5a5ca732b1cd572708f664cfeafc564f883824 SHA512 2ed80db2e7ddd1438bbe33e99ec2cdbcc55c4869504f719ff9302e834929752af09a59cd905accb37ee5f6cae3b9b16fd4f4c3fdab31db5fc38b007c1505bfa0 diff --git a/app-containers/crun/crun-1.4.5.ebuild b/app-containers/crun/crun-1.11.2.ebuild index 1cc9dd0d9d26..029066f58826 100644 --- a/app-containers/crun/crun-1.4.5.ebuild +++ b/app-containers/crun/crun-1.11.2.ebuild @@ -1,12 +1,11 @@ -# Copyright 2019-2022 Gentoo Authors +# Copyright 2019-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{10..11} ) -# Can drop autotools/eautoreconf after next release & glibc patch gone -inherit autotools python-any-r1 +inherit python-any-r1 DESCRIPTION="A fast and low-memory footprint OCI Container Runtime fully written in C" HOMEPAGE="https://github.com/containers/crun" @@ -18,6 +17,7 @@ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv" IUSE="+bpf +caps criu +seccomp selinux systemd static-libs" DEPEND=" + dev-libs/libgcrypt:= dev-libs/yajl:= sys-kernel/linux-headers caps? ( sys-libs/libcap ) @@ -32,23 +32,15 @@ BDEPEND=" virtual/pkgconfig " -# 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". -RESTRICT="test" - PATCHES=( - "${FILESDIR}"/${PN}-1.4.5-glibc-2.36.patch + # merged upstream: https://github.com/containers/crun/pull/1345 + # drop when we get 1.11.3 + "${FILESDIR}/${P}-caps.patch" ) -src_prepare() { - default - - eautoreconf -} - src_configure() { local myeconfargs=( + --cache-file="${S}"/config.cache $(use_enable bpf) $(use_enable caps) $(use_enable criu) @@ -57,18 +49,28 @@ src_configure() { $(usex static-libs '--enable-shared --enable-static' '--enable-shared --disable-static' '' '') ) - # Need https://github.com/containers/libocispec/pull/107 to be merged & land in - # a crun release that syncs up w/ latest version, then can drop CONFIG_SHELL - CONFIG_SHELL="${BROOT}/bin/bash" econf "${myeconfargs[@]}" + econf "${myeconfargs[@]}" } src_compile() { + emake git-version.h emake -C libocispec emake crun } +# 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". +# due to this we disable most of the core test suite by unsetting PYTHON_TESTS +src_test() { + emake check PYTHON_TESTS= +} + src_install() { emake "DESTDIR=${D}" install-exec doman crun.1 einstalldocs + + einfo "Cleaning up .la files" + find "${ED}" -name '*.la' -delete || die } diff --git a/app-containers/crun/crun-1.14.3.ebuild b/app-containers/crun/crun-1.14.3.ebuild new file mode 100644 index 000000000000..1a73878201ef --- /dev/null +++ b/app-containers/crun/crun-1.14.3.ebuild @@ -0,0 +1,65 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +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.xz" + KEYWORDS="~amd64 ~arm ~arm64 ~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 +" + +# 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". +RESTRICT="test" + +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 +} diff --git a/app-containers/crun/crun-1.4.4.ebuild b/app-containers/crun/crun-1.8.4.ebuild index 67c59f247e94..c0e0200e403c 100644 --- a/app-containers/crun/crun-1.4.4.ebuild +++ b/app-containers/crun/crun-1.8.4.ebuild @@ -1,11 +1,12 @@ -# Copyright 2019-2022 Gentoo Authors +# Copyright 2019-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{9..11} ) -inherit python-any-r1 +# Can drop autotools/eautoreconf after next release & glibc patch gone +inherit autotools python-any-r1 DESCRIPTION="A fast and low-memory footprint OCI Container Runtime fully written in C" HOMEPAGE="https://github.com/containers/crun" @@ -17,6 +18,7 @@ KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv" IUSE="+bpf +caps criu +seccomp selinux systemd static-libs" DEPEND=" + dev-libs/libgcrypt:= dev-libs/yajl:= sys-kernel/linux-headers caps? ( sys-libs/libcap ) @@ -36,6 +38,12 @@ BDEPEND=" # required to create linux "containers". RESTRICT="test" +src_prepare() { + default + + eautoreconf +} + src_configure() { local myeconfargs=( $(use_enable bpf) @@ -46,12 +54,11 @@ src_configure() { $(usex static-libs '--enable-shared --enable-static' '--enable-shared --disable-static' '' '') ) - # Need https://github.com/containers/libocispec/pull/107 to be merged & land in - # a crun release that syncs up w/ latest version, then can drop CONFIG_SHELL - CONFIG_SHELL="${BROOT}/bin/bash" econf "${myeconfargs[@]}" + econf "${myeconfargs[@]}" } src_compile() { + emake git-version.h emake -C libocispec emake crun } @@ -60,4 +67,7 @@ src_install() { emake "DESTDIR=${D}" install-exec doman crun.1 einstalldocs + + einfo "Cleaning up .la files" + find "${ED}" -name '*.la' -delete || die } diff --git a/app-containers/crun/files/crun-1.11.2-caps.patch b/app-containers/crun/files/crun-1.11.2-caps.patch new file mode 100644 index 000000000000..d32a4dd1a8f8 --- /dev/null +++ b/app-containers/crun/files/crun-1.11.2-caps.patch @@ -0,0 +1,32 @@ +From 767ba88ef363115e80e077ce312f89f20488da01 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Robert=20G=C3=BCnzler?= <r@gnzler.io> +Date: Thu, 9 Nov 2023 14:16:08 +0100 +Subject: [PATCH] Fix build without libcap +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The work to support features introduced another point of dependency on +libcap that previously wasn't guarded by ifdefs + +Refs: https://github.com/containers/crun/pull/1237 +Signed-off-by: Robert Günzler <r@gnzler.io> +--- + src/libcrun/container.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/libcrun/container.c b/src/libcrun/container.c +index ed0fa29bb..7be1713ab 100644 +--- a/src/libcrun/container.c ++++ b/src/libcrun/container.c +@@ -3925,8 +3925,10 @@ libcrun_container_get_features (libcrun_context_t *context, struct features_info + // Populate namespaces + populate_array_field (&((*info)->linux.namespaces), namespaces, num_namspaces); + ++#ifdef HAVE_CAP + // Populate capabilities + populate_capabilities (*info, &capabilities, &num_capabilities); ++#endif + + // Hardcode the values for cgroup + (*info)->linux.cgroup.v1 = true; diff --git a/app-containers/crun/files/crun-1.4.5-glibc-2.36.patch b/app-containers/crun/files/crun-1.4.5-glibc-2.36.patch deleted file mode 100644 index 12990c9dbe65..000000000000 --- a/app-containers/crun/files/crun-1.4.5-glibc-2.36.patch +++ /dev/null @@ -1,79 +0,0 @@ -https://bugs.gentoo.org/863437 -https://github.com/containers/crun/commit/3df14584b84414df77b2079c1b8b48d44d0ceb61 - -From 3df14584b84414df77b2079c1b8b48d44d0ceb61 Mon Sep 17 00:00:00 2001 -From: Giuseppe Scrivano <gscrivan@redhat.com> -Date: Tue, 26 Jul 2022 15:17:16 +0200 -Subject: [PATCH] linux: fix build with glibc 2.36 - -glibc 2.36 has the new mount API in the <sys/mount.h> file. These -definitions conflict with the definitions in the <linux/mount.h> -file. - -Add a check and include <linux/mount.h> only if it doesn't conflict -with <sys/mount.h>. - -Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2110738 - -Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com> ---- a/configure.ac -+++ b/configure.ac -@@ -174,11 +174,21 @@ LIBS="" - AC_MSG_CHECKING([for new mount API (fsconfig)]) - AC_COMPILE_IFELSE( - [AC_LANG_SOURCE([[ -+ #include <sys/mount.h> -+ int cmd = FSCONFIG_CMD_CREATE; -+ ]])], -+ [AC_MSG_RESULT(yes) -+ AC_DEFINE([HAVE_FSCONFIG_CMD_CREATE_SYS_MOUNT_H], 1, [Define if FSCONFIG_CMD_CREATE is available in sys/mount.h])], -+ [AC_MSG_RESULT(no)]) -+AC_COMPILE_IFELSE( -+ [AC_LANG_SOURCE([[ -+ /* also make sure it doesn't conflict with <sys/mount.h> since it is always used. */ -+ #include <sys/mount.h> - #include <linux/mount.h> - int cmd = FSCONFIG_CMD_CREATE; - ]])], - [AC_MSG_RESULT(yes) -- AC_DEFINE([HAVE_FSCONFIG_CMD_CREATE], 1, [Define if FSCONFIG_CMD_CREATE is available])], -+ AC_DEFINE([HAVE_FSCONFIG_CMD_CREATE_LINUX_MOUNT_H], 1, [Define if FSCONFIG_CMD_CREATE is available in linux/mount.h])], - [AC_MSG_RESULT(no)]) - - AC_MSG_CHECKING([for seccomp notify API]) ---- a/src/libcrun/linux.c -+++ b/src/libcrun/linux.c -@@ -26,9 +26,13 @@ - #include <fcntl.h> - #include <unistd.h> - #include <sys/mount.h> --#ifdef HAVE_FSCONFIG_CMD_CREATE -+#ifdef HAVE_FSCONFIG_CMD_CREATE_LINUX_MOUNT_H - # include <linux/mount.h> - #endif -+#if defined HAVE_FSCONFIG_CMD_CREATE_LINUX_MOUNT_H || defined HAVE_FSCONFIG_CMD_CREATE_SYS_MOUNT_H -+# define HAVE_NEW_MOUNT_API -+#endif -+ - #include <sys/syscall.h> - #include <sys/prctl.h> - #ifdef HAVE_CAP -@@ -990,7 +994,7 @@ open_mount_target (libcrun_container_t *container, const char *target_rel, libcr - static int - fsopen_mount (runtime_spec_schema_defs_mount *mount) - { --#ifdef HAVE_FSCONFIG_CMD_CREATE -+#ifdef HAVE_NEW_MOUNT_API - cleanup_close int fsfd = -1; - int ret; - -@@ -1016,7 +1020,7 @@ fsopen_mount (runtime_spec_schema_defs_mount *mount) - static int - fs_move_mount_to (int fd, int dirfd, const char *name) - { --#ifdef HAVE_FSCONFIG_CMD_CREATE -+#ifdef HAVE_NEW_MOUNT_API - if (name) - return syscall_move_mount (fd, "", dirfd, name, MOVE_MOUNT_F_EMPTY_PATH); - - diff --git a/app-containers/devcontainer/Manifest b/app-containers/devcontainer/Manifest new file mode 100644 index 000000000000..9d3563fe1fb8 --- /dev/null +++ b/app-containers/devcontainer/Manifest @@ -0,0 +1,3 @@ +DIST devcontainer-0.57.0.tgz 617323 BLAKE2B 74dd49c0e741715e34dce79cdc73617f4bed68b87f11fafa403a9548b334ecff1af8e2e3705c57c31ca057e12b19094a75a3a3e339cac3b6d005e00e7e08b433 SHA512 7b5680d003630af459d5bf12f6873ea990a67b5f16888317a27d7197799d9ff1cd802834e669c4e1c601780fa8a07c38ec4dab77e7bf64de08406403e163e954 +DIST devcontainer-0.58.0.tgz 618922 BLAKE2B e0962e273f6a28d4c6897523b565634d7849a37ed5866e47430080ac8e42026e888ba2a13cbcbb62dd6974f753383882b66b0129d1e7aad8321c938c58ffec58 SHA512 57beb86d4fcefddbaa4f13612cca0538b2449932164c062082a8ef62f3a7bd57ed6f7bb09e5954fe479c6da9caebc0b3075783fb3ba3391381ab7ce9027e5f08 +DIST devcontainer-0.59.1.tgz 619278 BLAKE2B 793ac8856814cb35ad668b496b12c8bf6e92277014ca2efd245cdebd5b032cbd574017bf758fcb92a675d7bbd07c966bb7c4344b8cb774ad11c02a4daac91eca SHA512 27bfd94b2a34815f90579ed136b6c032dc5f3b5172dfa5c124c151ef5b156038afdbc7b2bf189314c6f910bc7182117977b42712a172ca44af20c8ba481762cf diff --git a/app-containers/devcontainer/devcontainer-0.57.0.ebuild b/app-containers/devcontainer/devcontainer-0.57.0.ebuild new file mode 100644 index 000000000000..10d7f50fc167 --- /dev/null +++ b/app-containers/devcontainer/devcontainer-0.57.0.ebuild @@ -0,0 +1,46 @@ +# 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.58.0.ebuild b/app-containers/devcontainer/devcontainer-0.58.0.ebuild new file mode 100644 index 000000000000..10d7f50fc167 --- /dev/null +++ b/app-containers/devcontainer/devcontainer-0.58.0.ebuild @@ -0,0 +1,46 @@ +# 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.59.1.ebuild b/app-containers/devcontainer/devcontainer-0.59.1.ebuild new file mode 100644 index 000000000000..991cd956e37b --- /dev/null +++ b/app-containers/devcontainer/devcontainer-0.59.1.ebuild @@ -0,0 +1,46 @@ +# 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/metadata.xml b/app-containers/devcontainer/metadata.xml new file mode 100644 index 000000000000..07653ea3406a --- /dev/null +++ b/app-containers/devcontainer/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> + +<pkgmetadata> + <maintainer type="person"> + <email>xgqt@gentoo.org</email> + <name>Maciej Barć</name> + </maintainer> + <longdescription> + A Development Container (or Dev Container for short) allows you to use a + container as a full-featured development environment. It can be used to run + an application, to separate tools, libraries, or runtimes needed for + working with a codebase, and to aid in continuous integration and testing. + Dev containers can be run locally or remotely, in a private or public + cloud, in a variety of supporting tools and editors. + </longdescription> + <upstream> + <bugs-to>https://github.com/devcontainers/cli/issues/</bugs-to> + <remote-id type="github">devcontainers/cli</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-containers/distrobox/Manifest b/app-containers/distrobox/Manifest new file mode 100644 index 000000000000..32415373b5a4 --- /dev/null +++ b/app-containers/distrobox/Manifest @@ -0,0 +1,2 @@ +DIST distrobox-1.7.0.1.tar.gz 6756031 BLAKE2B 320dde2bdf005c5bd66954f212547adb6bbd6d06611272c6a1b1859eef7ad47dbbbf300baaef555e2bf9a750def117ec69418affb75514652aa0e366314fbaf2 SHA512 971a3f15216d2dfa2829a1ea085c7579c4f0bf0e57678474f83df05ae8c897db8a8cd477a429d0126cad11ac0379029b9c759944cea8649971e67f20a3e18328 +DIST distrobox-1.7.1.tar.gz 6885484 BLAKE2B c4b2710d7f1cff7baee2e340a79345359e9906e508e8b1bc351a7b8ee2d8d2e1cb13c381e40231f8c962542e37e32988d04a687810bdfd7ec917868944c51cf3 SHA512 a86a49b9f6158af3172369a201ce3852a349258c46ebb8dfb269f7b96dfbe2bf2fe9f80a5cf9b9236432d99f4f67fb3d95ab4663964fcdb0f888d48cbdd82c39 diff --git a/app-containers/distrobox/distrobox-1.7.0.1.ebuild b/app-containers/distrobox/distrobox-1.7.0.1.ebuild new file mode 100644 index 000000000000..a49244c1584d --- /dev/null +++ b/app-containers/distrobox/distrobox-1.7.0.1.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Use any Linux distribution inside your terminal (powered by docker/podman)" +HOMEPAGE="https://distrobox.privatedns.org/ + https://github.com/89luca89/distrobox/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/89luca89/${PN}.git" +else + SRC_URI="https://github.com/89luca89/${PN}/archive/${PV}.tar.gz + -> ${P}.tar.gz" + + KEYWORDS="amd64 ~arm ~arm64 ~riscv ~x86" +fi + +LICENSE="GPL-3" # GPL-3.0-only ! +SLOT="0" + +RDEPEND=" + || ( + app-containers/docker + app-containers/podman + ) +" + +src_install() { + sh ./install --prefix "${ED}/usr" || die "${PN} install script failed" + + dodoc *.md +} diff --git a/app-containers/distrobox/distrobox-1.7.1.ebuild b/app-containers/distrobox/distrobox-1.7.1.ebuild new file mode 100644 index 000000000000..ddd8a782dfb3 --- /dev/null +++ b/app-containers/distrobox/distrobox-1.7.1.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Use any Linux distribution inside your terminal (powered by docker/podman)" +HOMEPAGE="https://distrobox.privatedns.org/ + https://github.com/89luca89/distrobox/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/89luca89/${PN}.git" +else + SRC_URI="https://github.com/89luca89/${PN}/archive/${PV}.tar.gz + -> ${P}.tar.gz" + + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +fi + +LICENSE="GPL-3" # GPL-3.0-only ! +SLOT="0" + +RDEPEND=" + || ( + app-containers/docker + app-containers/podman + ) +" + +src_install() { + sh ./install --prefix "${ED}/usr" || die "${PN} install script failed" + + dodoc *.md +} diff --git a/app-containers/distrobox/distrobox-9999.ebuild b/app-containers/distrobox/distrobox-9999.ebuild new file mode 100644 index 000000000000..ddd8a782dfb3 --- /dev/null +++ b/app-containers/distrobox/distrobox-9999.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Use any Linux distribution inside your terminal (powered by docker/podman)" +HOMEPAGE="https://distrobox.privatedns.org/ + https://github.com/89luca89/distrobox/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/89luca89/${PN}.git" +else + SRC_URI="https://github.com/89luca89/${PN}/archive/${PV}.tar.gz + -> ${P}.tar.gz" + + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +fi + +LICENSE="GPL-3" # GPL-3.0-only ! +SLOT="0" + +RDEPEND=" + || ( + app-containers/docker + app-containers/podman + ) +" + +src_install() { + sh ./install --prefix "${ED}/usr" || die "${PN} install script failed" + + dodoc *.md +} diff --git a/app-containers/distrobox/metadata.xml b/app-containers/distrobox/metadata.xml new file mode 100644 index 000000000000..b88c63cda978 --- /dev/null +++ b/app-containers/distrobox/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> + +<pkgmetadata> + <maintainer type="person"> + <email>xgqt@gentoo.org</email> + <name>Maciej Barć</name> + </maintainer> + <longdescription> + Use any Linux distribution inside your terminal. Enable both backward and + forward compatibility with software and freedom to use whatever + distribution you’re more comfortable with. Distrobox uses podman or docker + to create containers using the Linux distribution of your choice. The + created container will be tightly integrated with the host, allowing + sharing of the HOME directory of the user, external storage, external USB + devices and graphical apps (X11/Wayland), and audio. + </longdescription> + <upstream> + <bugs-to>https://github.com/89luca89/distrobox/issues/</bugs-to> + <remote-id type="github">89luca89/distrobox</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-containers/distrobuilder/Manifest b/app-containers/distrobuilder/Manifest index 1f52353798fa..f5226ec2651a 100644 --- a/app-containers/distrobuilder/Manifest +++ b/app-containers/distrobuilder/Manifest @@ -1,2 +1,4 @@ -DIST distrobuilder-2.0-deps.tar.xz 368438228 BLAKE2B 511e57d20b6d7be469e005a97cca073dc2c6bd67da550c17adb8f37e40c4cf74357da48f73dcf081eee7530d10857c006b82f5444813044eee8ec60f72e61046 SHA512 d7bdaacf5e1d106f3beac4d338c587e48373dc0fc7926670699fc9ca7cd4bb2e102268988c506361bec57610b3e9d3a287a70168adf5bf9f62f797742cdeac27 -DIST distrobuilder-2.0.tar.gz 179411 BLAKE2B bc008edc05f3e89872de87711cb51dd0797e93c03cbd2a077f43d4f1c28a1f14984c42f7181fc9c5501d96667e159ef263a92f43e20484534d47c64af88e85fa SHA512 3b85a992893689232f55b7cedbf2617fde95cf0af053424a585040781df592cd1f34800fe43bc5eb37e3740fea921ca9893b749fd280132794dc77f0ca4d9934 +DIST distrobuilder-2.1.tar.gz 5599048 BLAKE2B 90e82a20a3ef61d13148951956bb1f74cc3494ca86e339c188a1c9009dcb27c0cb9a298c639c6de891df67915b48d107557f6b698a45cbe35c54d41a45bac1ab SHA512 80184d27305f5659f1367563161220b966b1957810da61e8f3b9f32cf408795319b43dd650bc9f867b3ac73ef2b3251972bb11999d92feb34bfd9cdae7ff7b7b +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 diff --git a/app-containers/distrobuilder/distrobuilder-2.0.ebuild b/app-containers/distrobuilder/distrobuilder-2.0.ebuild deleted file mode 100644 index 334f0b48d537..000000000000 --- a/app-containers/distrobuilder/distrobuilder-2.0.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit go-module linux-info - -DESCRIPTION="System container image builder for LXC and LXD" -HOMEPAGE="https://linuxcontainers.org/distrobuilder/introduction/" - -SRC_URI="https://github.com/lxc/distrobuilder/archive/${P}.tar.gz" -SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - dev-util/debootstrap - app-crypt/gnupg - sys-fs/squashfs-tools - dev-vcs/git - net-misc/rsync - " - -CONFIG_CHECK="~OVERLAY_FS" -RESTRICT=" test" - -S="${WORKDIR}/${PN}-${P}" - -src_compile() { - GOBIN="${S}/bin" ego install ./... -} - -src_install() { - dobin bin/* - dodoc -r doc/* -} diff --git a/app-containers/distrobuilder/distrobuilder-2.1.ebuild b/app-containers/distrobuilder/distrobuilder-2.1.ebuild new file mode 100644 index 000000000000..db14d40b98fa --- /dev/null +++ b/app-containers/distrobuilder/distrobuilder-2.1.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module linux-info + +DESCRIPTION="System container image builder for LXC and LXD" +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-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 + +PATCHES=( "${FILESDIR}"/distrobuilder-2.1-glibc-2.36-fix.patch ) + +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/* +} diff --git a/app-containers/distrobuilder/distrobuilder-3.0-r1.ebuild b/app-containers/distrobuilder/distrobuilder-3.0-r1.ebuild new file mode 100644 index 000000000000..b3db1b7b116d --- /dev/null +++ b/app-containers/distrobuilder/distrobuilder-3.0-r1.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module linux-info + +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/* +} diff --git a/app-containers/distrobuilder/files/distrobuilder-2.1-glibc-2.36-fix.patch b/app-containers/distrobuilder/files/distrobuilder-2.1-glibc-2.36-fix.patch new file mode 100644 index 000000000000..5fd5ade014bb --- /dev/null +++ b/app-containers/distrobuilder/files/distrobuilder-2.1-glibc-2.36-fix.patch @@ -0,0 +1,34 @@ +diff --git a/vendor/github.com/lxc/lxd/lxd/include/syscall_wrappers.h b/vendor/github.com/lxc/lxd/lxd/include/syscall_wrappers.h +index 2c28133a8..a6975ab4d 100644 +--- a/vendor/github.com/lxc/lxd/lxd/include/syscall_wrappers.h ++++ b/vendor/github.com/lxc/lxd/lxd/include/syscall_wrappers.h +@@ -26,10 +26,10 @@ static inline int lxd_close_range(unsigned int fd, unsigned int max_fd, unsigned + return syscall(__NR_close_range, fd, max_fd, flags); + } + +-static inline int open_tree(int dfd, const char *filename, unsigned int flags) ++/* static inline int open_tree(int dfd, const char *filename, unsigned int flags) + { + return syscall(__NR_open_tree, dfd, filename, flags); +-} ++}*/ + + /* + * mount_setattr() +@@ -40,7 +40,7 @@ struct lxc_mount_attr { + __u64 propagation; + __u64 userns_fd; + }; +- ++/* + static inline int mount_setattr(int dfd, const char *path, unsigned int flags, + struct lxc_mount_attr *attr, size_t size) + { +@@ -53,6 +53,7 @@ static inline int move_mount(int from_dfd, const char *from_pathname, int to_dfd + return syscall(__NR_move_mount, from_dfd, from_pathname, to_dfd, + to_pathname, flags); + } ++*/ + + /* arg1 of prctl() */ + #ifndef PR_SCHED_CORE diff --git a/app-containers/distrobuilder/metadata.xml b/app-containers/distrobuilder/metadata.xml index dfdfc1731f80..5a061dc2f595 100644 --- a/app-containers/distrobuilder/metadata.xml +++ b/app-containers/distrobuilder/metadata.xml @@ -13,4 +13,7 @@ <email>virtualization@gentoo.org</email> <name>Gentoo Virtualization Project</name> </maintainer> + <upstream> + <remote-id type="github">lxc/distrobuilder</remote-id> + </upstream> </pkgmetadata> diff --git a/app-containers/docker-bench-security/Manifest b/app-containers/docker-bench-security/Manifest index 343ff9b85b6d..f722cecc4f51 100644 --- a/app-containers/docker-bench-security/Manifest +++ b/app-containers/docker-bench-security/Manifest @@ -1,2 +1 @@ -DIST docker-bench-security-1.3.2.tar.gz 414608 BLAKE2B 27977df473c341783aab400bbe5064e267d6f53aa62ffd6f95386572e059616750eb06b98ad3044efaf565f929e6ebfb5d57607b227718032fa33d70ce65eed5 SHA512 7d271167584ff99fdaff15b1d303f1cedeb5888057437cc3bfae8260aff96f98d8a0173c4d4e5718bf8ee4e0ffe3ae0280f0026cf386ae32c38e8302159a2226 -DIST docker-bench-security-1.3.3.tar.gz 274361 BLAKE2B b0a3fef0fedd7353a11f18603af0a9bd5a9c5674df8e0c2988f3b7430739b1fe1c37b3bc29323f39604e8f9d3af66e4a64b97c1e4bb1ef253cc39e9b1e1cb6e2 SHA512 0b9a8bb3cc0bf0887f3b3462c3529568f6cc4d327f66fe482ceb24865a3df51ffee48a1a12c93ca13401f23bf1cd47b3e8b25c99537f63a823ff173d54994fe9 +DIST docker-bench-security-1.6.0.tar.gz 349131 BLAKE2B ce4700e3b7448365420adfb20ca3fa1fa5316157b1f587c40a1ea24e45312ac059a31f5fb152838442e19822c977855323f528d8ddca95eb11347a74606e5913 SHA512 1f3391946dd93540f99e8ea212c9d907d7939d248105082e81845e62eb2a08c4c5a1a32d13c93676ca31df1ee76079a804d36de1874341ed5da64806ea1c7c7b diff --git a/app-containers/docker-bench-security/docker-bench-security-1.3.3.ebuild b/app-containers/docker-bench-security/docker-bench-security-1.3.3.ebuild deleted file mode 100644 index 7f98da207205..000000000000 --- a/app-containers/docker-bench-security/docker-bench-security-1.3.3.ebuild +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -DESCRIPTION="Test for best practices around deploying docker containers" -HOMEPAGE="https://github.com/docker/docker-bench-security" -SRC_URI="https://github.com/docker/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=">=app-containers/docker-1.10" - -src_install() { -dobin "${FILESDIR}/docker-bench-security" -exeinto /usr/lib/${PN} -doexe ${PN}.sh -insinto /usr/lib/${PN} -doins -r *lib.sh tests - dodoc -r benchmark_log.png CONTRIBUTING.md distros docker-compose.yml \ - Dockerfile MAINTAINERS README.md -} diff --git a/app-containers/docker-bench-security/docker-bench-security-1.3.2.ebuild b/app-containers/docker-bench-security/docker-bench-security-1.6.0.ebuild index 7f98da207205..45778b2f8d60 100644 --- a/app-containers/docker-bench-security/docker-bench-security-1.3.2.ebuild +++ b/app-containers/docker-bench-security/docker-bench-security-1.6.0.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=8 DESCRIPTION="Test for best practices around deploying docker containers" HOMEPAGE="https://github.com/docker/docker-bench-security" @@ -11,14 +11,14 @@ LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~amd64" -RDEPEND=">=app-containers/docker-1.10" +RDEPEND=">=app-containers/docker-1.13" src_install() { -dobin "${FILESDIR}/docker-bench-security" -exeinto /usr/lib/${PN} -doexe ${PN}.sh -insinto /usr/lib/${PN} -doins -r *lib.sh tests - dodoc -r benchmark_log.png CONTRIBUTING.md distros docker-compose.yml \ - Dockerfile MAINTAINERS README.md + dobin "${FILESDIR}/docker-bench-security" + exeinto /usr/lib/${PN} + doexe ${PN}.sh + insinto /usr/lib/${PN} + doins -r functions/*.sh tests + dodoc -r img/benchmark_log.png CONTRIBUTING.md docker-compose.yml \ + Dockerfile MAINTAINERS README.md } diff --git a/app-containers/docker-bench-security/metadata.xml b/app-containers/docker-bench-security/metadata.xml index cbef0562c18d..2214840c4cc0 100644 --- a/app-containers/docker-bench-security/metadata.xml +++ b/app-containers/docker-bench-security/metadata.xml @@ -9,4 +9,7 @@ The Docker Bench for Security is a script that checks for dozens of common best-practices around deploying Docker containers in production. </longdescription> + <upstream> + <remote-id type="github">docker/docker-bench-security</remote-id> + </upstream> </pkgmetadata> diff --git a/app-containers/docker-buildx/Manifest b/app-containers/docker-buildx/Manifest new file mode 100644 index 000000000000..810b0bff9ca8 --- /dev/null +++ b/app-containers/docker-buildx/Manifest @@ -0,0 +1,2 @@ +DIST docker-buildx-0.10.4.tar.gz 9184825 BLAKE2B f0e71c0f6dda5f02da4cf0b0514f67f5d339ba10359afc69aae25abf907447fd22fe3d92427299bc67aeaa6a84e748a8a5cbd86151b2baba2dd01f25cc04a793 SHA512 f82b89b8dd4e45524c8d353c4d7588f47b1c7b7ecf759fd9605247c1c7aa0ca152c3ecdec0e0b62b5eef05e6b65d2ca1f5ccab6d75819b92fc92ff62b44105b7 +DIST docker-buildx-0.11.2.tar.gz 10342565 BLAKE2B 1e034e9a07f36b46096f8f035869adc93b63af46cd9886f5ed4bc0939ce2f76b7f029a11ee536a34be23952e5c85251d757cec9ff05df172e3a26ea82a1bf0b1 SHA512 6f3718edf1e86c4422e1419580e4c38cf378a59555067be2aa6fac3e7f8878afe39d777765ace274cd9c47630f39cbacfacfdc4ecadd6ff46d5ee37d8f9bc75c diff --git a/app-containers/docker-buildx/docker-buildx-0.10.4-r1.ebuild b/app-containers/docker-buildx/docker-buildx-0.10.4-r1.ebuild new file mode 100644 index 000000000000..982bd439623f --- /dev/null +++ b/app-containers/docker-buildx/docker-buildx-0.10.4-r1.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +MY_PN="buildx" +DESCRIPTION="Docker CLI plugin for extended build capabilities with BuildKit" +HOMEPAGE="https://github.com/docker/buildx" +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + 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" + S="${WORKDIR}/${MY_PN}-${PV}" +fi + +LICENSE="Apache-2.0" +SLOT="0" + +# This gives us the ability to neatly `-skip` tests. +# not required once ::gentoo is all > 1.20 +RESTRICT="!test? ( test )" +IUSE="test" + +BDEPEND=" + test? ( >=dev-lang/go-1.20 ) +" +RDEPEND="app-containers/docker-cli" + +src_compile() { + local _buildx_r='github.com/docker/buildx' + local version=${PV} + if [[ ${PV} == 9999 ]]; then + version="$(git rev-parse --short HEAD)" + fi + ego build -o docker-buildx \ + -ldflags "-linkmode=external + -X $_buildx_r/version.Version=${version} + -X $_buildx_r/version.Revision=$(date -u +%FT%T%z) + -X $_buildx_r/version.Package=$_buildx_r" \ + ./cmd/buildx +} + +src_test() { + # TestGit can't work in a source tarball; TestReadTargets fails seemingly due to parallelism. + if [[ ${PV} == 9999 ]]; then + ego test ./... -skip "TestReadTargets" + else + ego test ./... -skip "TestGit|TestReadTargets" + fi +} + +src_install() { + exeinto /usr/libexec/docker/cli-plugins + doexe docker-buildx + + dodoc README.md +} diff --git a/app-containers/docker-buildx/docker-buildx-0.11.2.ebuild b/app-containers/docker-buildx/docker-buildx-0.11.2.ebuild new file mode 100644 index 000000000000..8cecb6eed7ae --- /dev/null +++ b/app-containers/docker-buildx/docker-buildx-0.11.2.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +MY_PN="buildx" +DESCRIPTION="Docker CLI plugin for extended build capabilities with BuildKit" +HOMEPAGE="https://github.com/docker/buildx" +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + 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" + S="${WORKDIR}/${MY_PN}-${PV}" +fi + +LICENSE="Apache-2.0" +SLOT="0" + +# This gives us the ability to neatly `-skip` tests. +# not required once ::gentoo is all > 1.20 +RESTRICT="!test? ( test )" +IUSE="test" + +BDEPEND=" + test? ( >=dev-lang/go-1.20 ) +" +RDEPEND="app-containers/docker-cli" + +src_compile() { + local _buildx_r='github.com/docker/buildx' + local version=${PV} + if [[ ${PV} == 9999 ]]; then + version="$(git rev-parse --short HEAD)" + fi + ego build -o docker-buildx \ + -ldflags "-linkmode=external + -X $_buildx_r/version.Version=${version} + -X $_buildx_r/version.Revision=$(date -u +%FT%T%z) + -X $_buildx_r/version.Package=$_buildx_r" \ + ./cmd/buildx +} + +src_test() { + # TestGit can't work in a source tarball; TestReadTargets fails seemingly due to parallelism. + if [[ ${PV} == 9999 ]]; then + ego test ./... -skip "TestReadTargets|TestIntegration" + else + ego test ./... -skip "TestGit|TestReadTargets|TestIntegration" + fi +} + +src_install() { + exeinto /usr/libexec/docker/cli-plugins + doexe docker-buildx + + dodoc README.md +} diff --git a/app-containers/docker-buildx/docker-buildx-9999.ebuild b/app-containers/docker-buildx/docker-buildx-9999.ebuild new file mode 100644 index 000000000000..8cecb6eed7ae --- /dev/null +++ b/app-containers/docker-buildx/docker-buildx-9999.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +MY_PN="buildx" +DESCRIPTION="Docker CLI plugin for extended build capabilities with BuildKit" +HOMEPAGE="https://github.com/docker/buildx" +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + 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" + S="${WORKDIR}/${MY_PN}-${PV}" +fi + +LICENSE="Apache-2.0" +SLOT="0" + +# This gives us the ability to neatly `-skip` tests. +# not required once ::gentoo is all > 1.20 +RESTRICT="!test? ( test )" +IUSE="test" + +BDEPEND=" + test? ( >=dev-lang/go-1.20 ) +" +RDEPEND="app-containers/docker-cli" + +src_compile() { + local _buildx_r='github.com/docker/buildx' + local version=${PV} + if [[ ${PV} == 9999 ]]; then + version="$(git rev-parse --short HEAD)" + fi + ego build -o docker-buildx \ + -ldflags "-linkmode=external + -X $_buildx_r/version.Version=${version} + -X $_buildx_r/version.Revision=$(date -u +%FT%T%z) + -X $_buildx_r/version.Package=$_buildx_r" \ + ./cmd/buildx +} + +src_test() { + # TestGit can't work in a source tarball; TestReadTargets fails seemingly due to parallelism. + if [[ ${PV} == 9999 ]]; then + ego test ./... -skip "TestReadTargets|TestIntegration" + else + ego test ./... -skip "TestGit|TestReadTargets|TestIntegration" + fi +} + +src_install() { + exeinto /usr/libexec/docker/cli-plugins + doexe docker-buildx + + dodoc README.md +} diff --git a/app-containers/docker-buildx/metadata.xml b/app-containers/docker-buildx/metadata.xml new file mode 100644 index 000000000000..14dd56055eaf --- /dev/null +++ b/app-containers/docker-buildx/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>nic@boet.cc</email> + <name>Nic Boet</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <maintainer type="project"> + <email>containers@gentoo.org</email> + <name>Containers</name> + </maintainer> + <upstream> + <remote-id type="github">docker/buildx</remote-id> + </upstream> + <longdescription lang="en"> + buildx is a Docker CLI plugin for extended build capabilities with BuildKit. + BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner. + </longdescription> +</pkgmetadata> diff --git a/app-containers/docker-cli/Manifest b/app-containers/docker-cli/Manifest index c8097a11c4a3..1485c2336233 100644 --- a/app-containers/docker-cli/Manifest +++ b/app-containers/docker-cli/Manifest @@ -1,3 +1,12 @@ -DIST docker-cli-20.10.12.tar.gz 7527161 BLAKE2B 34a90f6df9f43507461307817e72cfb9e37f88d00e6fc50b8b16f3db9c573e54edc2eb2641ff4e091a2a73e936f8844011520efe5aaec37a9eb9880f5f81c51a SHA512 ac7c997f5751f2e34b9bcb9f026d3d0c2cd58c32a13e9255536b0eb0d7eabd81c42f2d608c0fe7725322b619f2360818b08379e847d598dd0bec570602ad224f -DIST docker-cli-20.10.14.tar.gz 7508390 BLAKE2B b268a329450540c2e94eced7e7b7bb9387cd208c68bde82607fc56e1f0529d8ca35bb8c16839154443d950c21b0625a13aa8547d9f3053ed19645da683f14419 SHA512 f8b7f1040eccd404e39ec33bcef8bb8423636b0695af65f84c0612e77223844892d219f82cfbb99ccd5326e228f8af27be1870d90ebace77810ea5fce9f86e4a -DIST docker-cli-20.10.16.tar.gz 7635926 BLAKE2B eb7ecde2770bb4e937f40b885604f5daa996f5644f78881d9814ae3cdfc7a0eec107519ef24bbabe0c726c8c83eaa475667fa251c3e9346fec597069ec36ba2e SHA512 90451f71f16f3bd1410b13c5df256ef1f422dd5b9b75d63cf318ee91a07bcb3ddb2876d2fee81e835d8daaee48c4e010c2daf4373de1095e2075fed8ee5fe75e +DIST docker-cli-24.0.5-man.tar.xz 82496 BLAKE2B f3295b684dbf8d251ba13a19b9bad9b828fce7d2f76b6643b1cf579cd297b770e8f7304bd3fce823badfbe97e9b760a108b819ca3c760a55e352cf3c5235d815 SHA512 683b0f131902e0a57512207daa49534d73aac6db99dc8621ac6b48eeef26b873e2ba03fe4afe6f1e84c5922e4c60bf0e80e24cc95cdbf2a4953d1c11b80d56ad +DIST docker-cli-24.0.5.tar.gz 6243993 BLAKE2B a7ce84ecf329bc74e48f3a6e1b12a9e310a8f27ac68918ffeb40ab9c4eab8b79e753265b48220fcd3ab40b4136de5ebd44607831f642664eaf732111bd8f41b1 SHA512 765c67634d91d248b156d3e407398b98b7a0a89507bbac0310d4a68b95aa1a05e3af43c8b90bc10166748749d8cc36670619fc9efca110beefbdcd4385dc96be +DIST docker-cli-24.0.6-man.tar.xz 82600 BLAKE2B 9e39bf200d252a0d91b0b6f17680a4c1b34e55cc9f357a59f124138cef39c5ff10fb104c51efe3010bca9a4f72447764ced1c02e3bb3924051fa6f1f01a8f6fa SHA512 5e972647961899e438b765f53afff570b9f0c1742c7c72a3a424887719c3a6afbd467d15884d44ac64b752c984261967f304afa5c168466fe6f611967d18a578 +DIST docker-cli-24.0.6.tar.gz 6244014 BLAKE2B c5f2082e44a568d3f6ee2ff5df9e9b727808f0b70d7d0c6c18b9769c1c4d0f49d371cbd08c95e748d441dc0ef011b66446527b0eeb33368ee59b85496185ba12 SHA512 55c56ae08eb314cce5f4c93544c6748586eadb3abe502d39d4d297e14d274af37346b38695a20a91dcfe51d3d35a77ddd7aa69d170b525e5e6ba345161869cd8 +DIST docker-cli-24.0.7-man.tar.xz 82228 BLAKE2B 7fbf114a724157243c78de9ae03b5d0b1237c5b506cd44edd7a28ffc13609a36b7acf66a25e1eff9f60966e48346d97e70f946cca9301f27fd0355db53a1994d SHA512 af2075e3c731c7e0da4941f4baf35e798f87d1e1f3fa09e85b27a4bcadfd767074af2acaff1fd919d8af2a89ed6d49daefcc0811342d1757886db7a28d1252f2 +DIST docker-cli-24.0.7.tar.gz 6451010 BLAKE2B de047f55ce388c09ec33492f470daf87c6f2d1651b0cd839634183494fba4065506661d2d15aac0dc076d005426411f4099ba8e8d95ea2c7247bb114a00f4eef SHA512 b4811e4ecaf1f17e5a53ee4fb34affab79545d87a1662b0f915efb28108989128f8bbf165c4aed111fcb0c851f7ec7d9137eb0f31447d698b058ff4200dba18d +DIST docker-cli-25.0.1-man.tar.xz 78920 BLAKE2B a4b483e7d3b5c5a70d834a49ca04cd94f76745a8666bbbbbb7aabe9bae887e84b7511e18c455aa213a68d116e3c9bd9652bc5a7afb032e102213d41cc3b7450f SHA512 7a5b676ee9618d0c8d0f3c5690d5d9999dc5a28ba0aa5c41c9da0d1c99da2878502d055e9e8dad71674a84deaffeb07c28a4ac89941c972909fa455447e3c2bc +DIST docker-cli-25.0.1.tar.gz 6860093 BLAKE2B c0745afe7f009b692c91029e9a0a447a1179c2a865b6021f6d48aa2f44e3405084244ca6802c15eb389151fc46fa194efb535ca4c824bfcd92c1ad51371ff1fe SHA512 6443f3184313acf34292f44b60b0de48c4cb141c607be81988aaacca36a6e4b6c862b249a5fba1c7f22b11523b42f3d38939f695e12f64eca305218add92d65f +DIST docker-cli-25.0.4-man.tar.xz 78952 BLAKE2B 91315d341c9a6eb42e039dee3ab0b683a2abb2bb3ce44d64fe7b662f03966bfd29ee16a8700368b88a2052df79b5863648df95cf1ddd1ffe9cfe6fb076db8ed8 SHA512 d7d942ee7b979056e0008261d83945be69e837c055b2392b9aa41850b8b003d304df66b06c83d3ff0f4d24b4c7135a370502623e844973768ffb699aab195f19 +DIST docker-cli-25.0.4.tar.gz 6862436 BLAKE2B 6045e7080ca87971904e5a50057f420bc1e6ce9cc3038d5110ae067da259375eff17834e250d61c011aebc117034b892063fab2d131b5b8a9e5168602dc7fe83 SHA512 214984791ab67ca3da4bd5308d73a16218a0210da367d380bbe2a3f56eae131e252080aa2ebc3343df642007c9d91de6c0e0200122be9833866e58c87549db0d +DIST docker-cli-26.1.0-man.tar.xz 79004 BLAKE2B 36dcf969c6567680990420d6d177101bf457f7fc1c24dff195ce8b478268335419fba5ff51a7b77bb8c0a6e0e6077d83ddb50f2ecf08bf069be89fc4849afd6e SHA512 36297ee3cbf096112ec41db2cd1d06796ddd27a57c4323e71a727e17d3930102710f643a77df9e68cd9b3294a6bb0fdf5565379e9fae7331e25afcd147b0084f +DIST docker-cli-26.1.0.tar.gz 7213165 BLAKE2B 302236467f2b6f3f46b0f0c75e89c2cef0cd251d36e12f78a67c906cfb85b842b998fd3b07f4a2dfc0a04825a9b105d90f11d176055ded397f2d4e9145639d5d SHA512 1a1e9af1a836765ffa91f7f2e1b27911e2b6b373c308a7db332a7cd1825459ab1c04a93d03c9947b631bead0af21d9f03e06c3a60855cc56ca7039e50e38ba87 diff --git a/app-containers/docker-cli/docker-cli-20.10.14.ebuild b/app-containers/docker-cli/docker-cli-24.0.5.ebuild index d33e9fceab08..4e1f622ad7af 100644 --- a/app-containers/docker-cli/docker-cli-20.10.14.ebuild +++ b/app-containers/docker-cli/docker-cli-24.0.5.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -GIT_COMMIT=a224086349 +GIT_COMMIT=ced0996600 EGO_PN="github.com/docker/cli" MY_PV=${PV/_/-} inherit bash-completion-r1 golang-vcs-snapshot @@ -10,22 +10,28 @@ 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 ~ppc64 ~riscv ~x86" +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 - dev-go/go-md2man" + >=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 @@ -43,21 +49,11 @@ src_compile() { VERSION="${PV}" \ GITCOMMIT="${GIT_COMMIT}" \ dynbinary - - # build man pages - # see "cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man) - mkdir -p ./man/man1 || die "mkdir failed" - go build -o "${T}"/gen-manpages ./man || - die 'build gen-manpages failed' - "${T}"/gen-manpages --root "$(pwd)" --target "$(pwd)"/man/man1 || - die 'gen-manpages failed' - ./man/md2man-all.sh -q || - die 'md2man-all.sh failed' } src_install() { dobin build/docker - doman man/man*/* + doman "${WORKDIR}"/man/man?/* dobashcomp contrib/completion/bash/* bashcomp_alias docker dockerd insinto /usr/share/fish/vendor_completions.d/ @@ -65,3 +61,10 @@ src_install() { 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-20.10.16.ebuild b/app-containers/docker-cli/docker-cli-24.0.6.ebuild index e4d344cc3d8b..bb48e683d96b 100644 --- a/app-containers/docker-cli/docker-cli-20.10.16.ebuild +++ b/app-containers/docker-cli/docker-cli-24.0.6.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -GIT_COMMIT=aa7e414fdc +GIT_COMMIT=ed223bc820 EGO_PN="github.com/docker/cli" MY_PV=${PV/_/-} inherit bash-completion-r1 golang-vcs-snapshot @@ -10,22 +10,28 @@ 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 ~ppc64 ~riscv ~x86" +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 - dev-go/go-md2man" + >=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 @@ -43,21 +49,11 @@ src_compile() { VERSION="${PV}" \ GITCOMMIT="${GIT_COMMIT}" \ dynbinary - - # build man pages - # see "cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man) - mkdir -p ./man/man1 || die "mkdir failed" - go build -o "${T}"/gen-manpages ./man || - die 'build gen-manpages failed' - "${T}"/gen-manpages --root "$(pwd)" --target "$(pwd)"/man/man1 || - die 'gen-manpages failed' - ./man/md2man-all.sh -q || - die 'md2man-all.sh failed' } src_install() { dobin build/docker - doman man/man*/* + doman "${WORKDIR}"/man/man?/* dobashcomp contrib/completion/bash/* bashcomp_alias docker dockerd insinto /usr/share/fish/vendor_completions.d/ @@ -65,3 +61,10 @@ src_install() { 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-20.10.12.ebuild b/app-containers/docker-cli/docker-cli-24.0.7.ebuild index bc16249cf614..67adf9a5f12d 100644 --- a/app-containers/docker-cli/docker-cli-20.10.12.ebuild +++ b/app-containers/docker-cli/docker-cli-24.0.7.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -GIT_COMMIT=e91ed5707e +GIT_COMMIT=afdd53b4e3 EGO_PN="github.com/docker/cli" MY_PV=${PV/_/-} inherit bash-completion-r1 golang-vcs-snapshot @@ -10,21 +10,28 @@ 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 ppc64 ~riscv ~x86" -IUSE="hardened" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="hardened selinux" -RDEPEND="!<app-containers/docker-20.10.1" +RDEPEND="!<app-containers/docker-20.10.1 + selinux? ( sec-policy/selinux-docker )" BDEPEND=" - >=dev-lang/go-1.16.6 - dev-go/go-md2man" + >=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 @@ -42,21 +49,11 @@ src_compile() { VERSION="${PV}" \ GITCOMMIT="${GIT_COMMIT}" \ dynbinary - - # build man pages - # see "cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man) - mkdir -p ./man/man1 || die "mkdir failed" - go build -o "${T}"/gen-manpages ./man || - die 'build gen-manpages failed' - "${T}"/gen-manpages --root "$(pwd)" --target "$(pwd)"/man/man1 || - die 'gen-manpages failed' - ./man/md2man-all.sh -q || - die 'md2man-all.sh failed' } src_install() { dobin build/docker - doman man/man*/* + doman "${WORKDIR}"/man/man?/* dobashcomp contrib/completion/bash/* bashcomp_alias docker dockerd insinto /usr/share/fish/vendor_completions.d/ @@ -64,3 +61,10 @@ src_install() { 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-25.0.1.ebuild b/app-containers/docker-cli/docker-cli-25.0.1.ebuild new file mode 100644 index 000000000000..54c637076191 --- /dev/null +++ b/app-containers/docker-cli/docker-cli-25.0.1.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +GIT_COMMIT=29cf629222 +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 + export CGO_CFLAGS="-I${ESYSROOT}/usr/include" + export 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-25.0.4.ebuild b/app-containers/docker-cli/docker-cli-25.0.4.ebuild new file mode 100644 index 000000000000..97d5f7e61767 --- /dev/null +++ b/app-containers/docker-cli/docker-cli-25.0.4.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +GIT_COMMIT=1a576c50a9 +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 + export CGO_CFLAGS="-I${ESYSROOT}/usr/include" + export 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-26.1.0.ebuild b/app-containers/docker-cli/docker-cli-26.1.0.ebuild new file mode 100644 index 000000000000..964ba9056825 --- /dev/null +++ b/app-containers/docker-cli/docker-cli-26.1.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=9714adc6c797755f63053726c56bc1c17c0c9204 + +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 + export CGO_CFLAGS="-I${ESYSROOT}/usr/include" + export 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/metadata.xml b/app-containers/docker-cli/metadata.xml index 46eed1b411a8..3e133bab705a 100644 --- a/app-containers/docker-cli/metadata.xml +++ b/app-containers/docker-cli/metadata.xml @@ -4,12 +4,9 @@ <maintainer type="person"> <email>williamh@gentoo.org</email> <name>William Hubbs</name> - </maintainer> - <maintainer type="person"> - <email>gyakovlev@gentoo.org</email> - <name>Georgy Yakovlev</name> </maintainer> <upstream> <remote-id type="github">docker/cli</remote-id> + <remote-id type="cpe">cpe:/a:docker:command_line_interface</remote-id> </upstream> </pkgmetadata> diff --git a/app-containers/docker-compose/Manifest b/app-containers/docker-compose/Manifest index 48d6702bebf5..acdcd8a78aa7 100644 --- a/app-containers/docker-compose/Manifest +++ b/app-containers/docker-compose/Manifest @@ -1,5 +1,11 @@ -DIST docker-compose-1.29.2.tar.gz 320320 BLAKE2B 2d1a6375127fa09661822f7148665161b45bbd234c93444ae31c1d926513fcbc9fb845f8af01d8f11788f24b7517bff5f6cea2a5da9ade897891f2dd728f26bd SHA512 09f2ae2ae7a17ab5fb3e22580f7a80f1a8253f7ad9fc8f29aca432911bcde46ed22030ff3073cdd7eff3d55aaba17f56e628a178ec05c3a9b4f28495d6045111 -DIST docker-compose-2.5.0-deps.tar.xz 110626568 BLAKE2B 657d4d421172a6ba3516475045af50ef2351cc847933a799b7232ad6a46485d7961ad5875c9f19bf96d39adf275ca943d02fba2b939a210c080c6d38211e56f5 SHA512 231416474c6b3f73911bc7cf344ea5bfdb719cecf6ad7b159c755814df08ffcb60d05ccbdd294211cb7f64a52a5a81e2dfd357bdc10738918d47a75909d20bf9 -DIST docker-compose-2.5.0.tar.gz 274812 BLAKE2B cf3b49cc13a8ab37d6426e78f4d9fca9a7b629346d292458e32ca2b66d20ba49929cc354d570b05deec3a0e0ac7778a02045ea87070059fc20c352f2d2ddb589 SHA512 7b556394e58dcdd49229c608d0672fe1aa5bd0b715f49b4b3e2ecbea16cc4962deb7e816ea057a8a565c598c21207316b8f7b5e41f0af0c3f330054ae81c2703 -DIST docker-compose-2.6.0-deps.tar.xz 110634424 BLAKE2B a63f67babac39bb3cc01cdf1a6db24d6612f0d1e9d41eb4d60e83153f3acc5f096cc323a28cba8ae7ff0e43c18b10427cf80a235e8d3463827487d479ef0db3e SHA512 d3001fda9da5523594d684db4f12c85c41a4b6e64d7f97b774d0d3ce68c7c301d466f7a4e2a1c9e17b23fca124b6fc253746255919b5212f7bb6d72d3bed85e5 -DIST docker-compose-2.6.0.tar.gz 277387 BLAKE2B e4ca8d614a8ae860dcda77e3b655ff6a8f4af8b4c77e679cdfe256053ac6b0bbbf77a92f2ca871a6d95120c2bbb54093979f816be3c367ff59e355e57fe063d8 SHA512 df8402f0f827b7c1defbb7d0b5037ea38db98337d8ebc4756f0316cf55e368e6c61401fb0d000e1942e0878d5ce1870b0f2a3217ac4b34d1e5f4c3aab68832fe +DIST docker-compose-1.29.2.gh.tar.gz 320320 BLAKE2B 2d1a6375127fa09661822f7148665161b45bbd234c93444ae31c1d926513fcbc9fb845f8af01d8f11788f24b7517bff5f6cea2a5da9ade897891f2dd728f26bd SHA512 09f2ae2ae7a17ab5fb3e22580f7a80f1a8253f7ad9fc8f29aca432911bcde46ed22030ff3073cdd7eff3d55aaba17f56e628a178ec05c3a9b4f28495d6045111 +DIST docker-compose-2.17.2-deps.tar.xz 194695756 BLAKE2B 2a0ce1c41d09186f36ea4a935977a35edd80d013b6face813ac9622345ffa1ed8e090537ad990c4ee488ecccfe0575f92bb17f8baa0b8dc2104f75d18fac3877 SHA512 4649405eb0e49641265e514ef89cdae47806958611014ab9a9479848e857d85a5c3352ab44ff9ec39af1ca6fab67b6a2ae6c457d44690c1c1bcc3824aeb6fc07 +DIST docker-compose-2.17.2.gh.tar.gz 310664 BLAKE2B bb36afe02b85dd4f64e6eefdb542cc954e03c11f5f3b39bcd5d84b8b4ea87218e222a89a9f20aa2b6e89afc6edd0e7ef68ccc98cbe4e26be5fe2a07f189ea07e SHA512 e0afb5ac5867f3fbe4c3216710f6f529832310e69cc8943f47d6e67fbbcc7c7541a589f6b42eed54c0415c10851dd635c0b73c4ca31dd0969c6bf68de2b40b8b +DIST docker-compose-2.20.3-deps.tar.xz 182138348 BLAKE2B db61f405421b609ef68a667909441938b79b9f565bbace1c5dcdc5c8fc26ea60a8f00dbcbe03b1f0d7c7f0e3f2c0f900f9cfc9b0d4cf98527082ce3800811ba5 SHA512 84b898d298cbcea06bffe88139321aebc6a0be2f58478d0c255e48d9a1e3e12b1ee17104adf53911a4233fc8ec3bb51a75b2d1380cd34c65e3bdb8dba3892ed8 +DIST docker-compose-2.20.3.gh.tar.gz 336432 BLAKE2B c4c5c26e722b081363d0c28cb49483393ad3c8abdfddab6f3054997bd3389c4db92aa6698f205b990d976759f14143706a949db9ee69dc20953e1270525d3eb9 SHA512 d533318bbe550568a2c5bd43c6fa6d1d9b3887f09b6d75f278687dc28d23c4863c618599a816b7789a19182acaf869b6785c4bfc3a9b26d6329f1ac97b8059cf +DIST docker-compose-2.23.0-deps.tar.xz 163606408 BLAKE2B 56c60b81d7efd273309b71359f6286a546054db7d56851ba2a6b48c201e32c32fc596ec9e2f31f33988a45190f19a871fd28d3c639a35d1489511a7dda39984c SHA512 a1ed81259df7d84cb5fcb377ac7cd8d8f4b1b56b9c5006c1aa257d6f7834efc1fa69dfc6b50d4813dc89439d308573271d7c5c4115761d13083164080fae49b8 +DIST docker-compose-2.23.0.gh.tar.gz 343649 BLAKE2B 687f4aed8a4fa4edfb92b36a21210fec29d95fc441d5aee93f47b3f42b883f84b929fc72e0243e7816292ff51354aaa543069628de1a369d7f9832d64a0a1e73 SHA512 c6bb3041f8bc23ecf9932fdc1d0c88283848026083b1854770506fee7f1dbec2f605e6eaf159705ab8ed3f1b9669b8474addac61564b37aff84ea994abb88f4e +DIST docker-compose-2.24.0-deps.tar.xz 165907064 BLAKE2B 22b760393edc5a17bee52c6ccd5f227e724aaee32eb92113898e2f01727ff8913f98e2dba2f1f43277feffa9332888d64ef24b7fb9eb0f90f5038d711271b66a SHA512 2446cd56c69cc8cf1908ef2fd76e969bbd9a743f0b75d25e6c99304a203951a3196d8b8a9a4052560fb4923d20be8023452f051c3c3215e38007a7c6173489c9 +DIST docker-compose-2.24.0.gh.tar.gz 344571 BLAKE2B 4d79bf83b0584b8ed56c6f573798f8ed6fe264ffbfc870e9fbe6b79ba4c61248a6e139ebbbd0cd80b9ad607b5c71901ebb19b04e7b6c3e4cbbe8806d0a174eed SHA512 78e5d6ad6f00c4c4a5878b8231ab538bdc9a1d1df17fe1b5aca7bb3a4358897bd6742f8075c54fc00de8bccf5e9f6529acceb57ae221c0794b6c5b0e655b8771 +DIST docker-compose-2.26.1-deps.tar.xz 66292916 BLAKE2B 011026d25674981860ecdf37d598d1caa53394044c06dc335a8579d6f39d295d6f8304cada20b3f7f1691c680f32b998a4421ca4ac863d7eee186ad81c6cddfa SHA512 9834df136fd013e36481c1c88b63b945abff6d1183091a70affbea99e2d96681edcf6ec8cf0c95ec35d9ea9236ff4f9f8f2995ca80d069646edcc92555792f4f +DIST docker-compose-2.26.1.gh.tar.gz 361194 BLAKE2B 464afc0f4d41165b97c1c35f2fcf57916ea8e7da367b43c7efb0d863416ae3b13a243f56dd2261eec0f3c7465999ce5505bb62a2bc61c1e80998c2bacec905c5 SHA512 4a97326c6ed974400aca91a64e93ef0e1fa6b52f988f636b8bbcb43e14442c6702e2d42afda3e491a9da18176448f342ebae7212bf59617372295d831beb8aba diff --git a/app-containers/docker-compose/docker-compose-1.29.2-r1.ebuild b/app-containers/docker-compose/docker-compose-1.29.2-r3.ebuild index 81541d84c81a..ee0767eba707 100644 --- a/app-containers/docker-compose/docker-compose-1.29.2-r1.ebuild +++ b/app-containers/docker-compose/docker-compose-1.29.2-r3.ebuild @@ -1,16 +1,16 @@ -# Copyright 2018-2021 Gentoo Authors +# Copyright 2018-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{9..11} ) inherit bash-completion-r1 distutils-r1 MY_PV=${PV/_/-} DESCRIPTION="Multi-container orchestration for Docker" HOMEPAGE="https://github.com/docker/compose" -SRC_URI="https://github.com/docker/compose/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" +SRC_URI="https://github.com/docker/compose/archive/${MY_PV}.tar.gz -> ${P}.gh.tar.gz" LICENSE="Apache-2.0" SLOT="0" @@ -18,7 +18,7 @@ KEYWORDS="amd64 arm64" RDEPEND=" >=dev-python/distro-1.5.0[${PYTHON_USEDEP}] - >=dev-python/docker-py-5[${PYTHON_USEDEP}] + <dev-python/docker-7[${PYTHON_USEDEP}] >=dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}] >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}] >=dev-python/python-dotenv-0.13.0[${PYTHON_USEDEP}] @@ -35,6 +35,7 @@ DEPEND="${RDEPEND} test? ( >=dev-python/pytest-5[${PYTHON_USEDEP}] >=dev-python/ddt-1.2.2[${PYTHON_USEDEP}] + dev-python/py[${PYTHON_USEDEP}] )" S="${WORKDIR}/compose-${MY_PV}" @@ -45,6 +46,7 @@ PATCHES=( # Bug #679968 -- https://bugs.gentoo.org/679968 # Bug #681002 -- https://bugs.gentoo.org/681002 "${FILESDIR}"/${PN}-1.29.0-setup-py.patch + "${FILESDIR}"/${P}-tests-unit-cli-test-py.patch ) DOCS=( CHANGELOG.md README.md ) diff --git a/app-containers/docker-compose/docker-compose-1.29.2-r5.ebuild b/app-containers/docker-compose/docker-compose-1.29.2-r5.ebuild new file mode 100644 index 000000000000..65f0ca25d5a4 --- /dev/null +++ b/app-containers/docker-compose/docker-compose-1.29.2-r5.ebuild @@ -0,0 +1,73 @@ +# Copyright 2018-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} ) + +inherit bash-completion-r1 distutils-r1 + +MY_PV=${PV/_/-} +DESCRIPTION="Multi-container orchestration for Docker" +HOMEPAGE="https://github.com/docker/compose" +SRC_URI="https://github.com/docker/compose/archive/${MY_PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RDEPEND=" + >=dev-python/distro-1.5.0[${PYTHON_USEDEP}] + <dev-python/docker-7[${PYTHON_USEDEP}] + >=dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}] + >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}] + >=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/pyyaml-3.10[${PYTHON_USEDEP}] + >=dev-python/requests-2.20.0[${PYTHON_USEDEP}] + >=dev-python/six-1.3.0[${PYTHON_USEDEP}] + >=dev-python/texttable-0.9.0[${PYTHON_USEDEP}] + >=dev-python/websocket-client-0.32.0[${PYTHON_USEDEP}]" + +DEPEND="${RDEPEND} + test? ( + >=dev-python/pytest-5[${PYTHON_USEDEP}] + >=dev-python/ddt-1.2.2[${PYTHON_USEDEP}] + dev-python/py[${PYTHON_USEDEP}] + )" + +S="${WORKDIR}/compose-${MY_PV}" + +distutils_enable_tests pytest + +PATCHES=( + # Bug #679968 -- https://bugs.gentoo.org/679968 + # Bug #681002 -- https://bugs.gentoo.org/681002 + "${FILESDIR}"/${PN}-1.29.0-setup-py.patch + "${FILESDIR}"/${P}-tests-unit-cli-test-py.patch +) + +DOCS=( CHANGELOG.md README.md ) + +src_prepare() { + # Address QA issue "docker-compose.exe: missing alias (symlink) for completed command." + sed 's,^\(complete.*\) docker-compose\.exe\(.*\),\1\2,' -i contrib/completion/bash/docker-compose || die + + default +} + +python_test() { + epytest tests/unit/ +} + +python_install_all() { + newbashcomp contrib/completion/bash/docker-compose ${PN} + + insinto /usr/share/zsh/site-functions + doins contrib/completion/zsh/* + + distutils-r1_python_install_all +} 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 new file mode 100644 index 000000000000..cb09144e9979 --- /dev/null +++ b/app-containers/docker-compose/docker-compose-1.29.2-r6.ebuild @@ -0,0 +1,80 @@ +# Copyright 2018-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} ) + +inherit bash-completion-r1 distutils-r1 + +MY_PV=${PV/_/-} +DESCRIPTION="Multi-container orchestration for Docker" +HOMEPAGE="https://github.com/docker/compose" +SRC_URI="https://github.com/docker/compose/archive/${MY_PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 arm64" + +RDEPEND=" + >=dev-python/distro-1.5.0[${PYTHON_USEDEP}] + >=dev-python/docker-7[${PYTHON_USEDEP}] + >=dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}] + >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}] + >=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/pyyaml-3.10[${PYTHON_USEDEP}] + >=dev-python/requests-2.20.0[${PYTHON_USEDEP}] + >=dev-python/six-1.3.0[${PYTHON_USEDEP}] + >=dev-python/texttable-0.9.0[${PYTHON_USEDEP}] + >=dev-python/websocket-client-0.32.0[${PYTHON_USEDEP}]" + +DEPEND="${RDEPEND} + test? ( + >=dev-python/pytest-5[${PYTHON_USEDEP}] + >=dev-python/ddt-1.2.2[${PYTHON_USEDEP}] + dev-python/py[${PYTHON_USEDEP}] + )" + +S="${WORKDIR}/compose-${MY_PV}" + +EPYTEST_DESELECT=( + # These are not ready for >=dev-python/docker-7 + tests/unit/cli/docker_client_test.py::TLSConfigTestCase:: +) + +distutils_enable_tests pytest + +PATCHES=( + # Bug #679968 -- https://bugs.gentoo.org/679968 + # Bug #681002 -- https://bugs.gentoo.org/681002 + "${FILESDIR}"/${PN}-1.29.0-setup-py.patch + "${FILESDIR}"/${P}-tests-unit-cli-test-py.patch + # Bug #920631 -- https://bugs.gentoo.org/920631 + "${FILESDIR}"/${P}-docker-7.patch +) + +DOCS=( CHANGELOG.md README.md ) + +src_prepare() { + # Address QA issue "docker-compose.exe: missing alias (symlink) for completed command." + sed 's,^\(complete.*\) docker-compose\.exe\(.*\),\1\2,' -i contrib/completion/bash/docker-compose || die + + default +} + +python_test() { + epytest tests/unit/ +} + +python_install_all() { + newbashcomp contrib/completion/bash/docker-compose ${PN} + + insinto /usr/share/zsh/site-functions + doins contrib/completion/zsh/* + + distutils-r1_python_install_all +} diff --git a/app-containers/docker-compose/docker-compose-2.17.2.ebuild b/app-containers/docker-compose/docker-compose-2.17.2.ebuild new file mode 100644 index 000000000000..5702db996b66 --- /dev/null +++ b/app-containers/docker-compose/docker-compose-2.17.2.ebuild @@ -0,0 +1,50 @@ +# Copyright 2018-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module +MY_PV=${PV/_/-} + +DESCRIPTION="Multi-container orchestration for Docker" +HOMEPAGE="https://github.com/docker/compose" +SRC_URI="https://github.com/docker/compose/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0" +SLOT="2" +KEYWORDS="amd64 arm64" + +RDEPEND=">=app-containers/docker-cli-23.0.0" + +RESTRICT="test" +S="${WORKDIR}/compose-${MY_PV}" + +src_prepare() { + default + # do not strip + sed -i -e 's/-s -w//' Makefile || die +} + +src_compile() { + emake VERSION=v${PV} +} + +src_test() { + emake test +} + +src_install() { + exeinto /usr/libexec/docker/cli-plugins + doexe bin/build/docker-compose + dodoc README.md +} + +pkg_postinst() { + ewarn + ewarn "docker-compose 2.x is a sub command of docker" + ewarn "Use 'docker compose' from the command line instead of" + ewarn "'docker-compose'" + ewarn "If you need to keep 1.x around, please run the following" + ewarn "command before your next --depclean" + ewarn "# emerge --noreplace docker-compose:0" +} diff --git a/app-containers/docker-compose/docker-compose-2.20.3.ebuild b/app-containers/docker-compose/docker-compose-2.20.3.ebuild new file mode 100644 index 000000000000..5702db996b66 --- /dev/null +++ b/app-containers/docker-compose/docker-compose-2.20.3.ebuild @@ -0,0 +1,50 @@ +# Copyright 2018-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module +MY_PV=${PV/_/-} + +DESCRIPTION="Multi-container orchestration for Docker" +HOMEPAGE="https://github.com/docker/compose" +SRC_URI="https://github.com/docker/compose/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0" +SLOT="2" +KEYWORDS="amd64 arm64" + +RDEPEND=">=app-containers/docker-cli-23.0.0" + +RESTRICT="test" +S="${WORKDIR}/compose-${MY_PV}" + +src_prepare() { + default + # do not strip + sed -i -e 's/-s -w//' Makefile || die +} + +src_compile() { + emake VERSION=v${PV} +} + +src_test() { + emake test +} + +src_install() { + exeinto /usr/libexec/docker/cli-plugins + doexe bin/build/docker-compose + dodoc README.md +} + +pkg_postinst() { + ewarn + ewarn "docker-compose 2.x is a sub command of docker" + ewarn "Use 'docker compose' from the command line instead of" + ewarn "'docker-compose'" + ewarn "If you need to keep 1.x around, please run the following" + ewarn "command before your next --depclean" + ewarn "# emerge --noreplace docker-compose:0" +} diff --git a/app-containers/docker-compose/docker-compose-2.6.0.ebuild b/app-containers/docker-compose/docker-compose-2.23.0.ebuild index 3946a436a4be..f306d5212cc7 100644 --- a/app-containers/docker-compose/docker-compose-2.6.0.ebuild +++ b/app-containers/docker-compose/docker-compose-2.23.0.ebuild @@ -1,45 +1,46 @@ -# Copyright 2018-2022 Gentoo Authors +# Copyright 2018-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit bash-completion-r1 go-module +inherit go-module MY_PV=${PV/_/-} DESCRIPTION="Multi-container orchestration for Docker" HOMEPAGE="https://github.com/docker/compose" -SRC_URI="https://github.com/docker/compose/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +SRC_URI="https://github.com/docker/compose/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz" SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" LICENSE="Apache-2.0" SLOT="2" KEYWORDS="~amd64 ~arm64" -RDEPEND=">=app-containers/docker-cli-20.10.3" +BDEPEND=">=dev-lang/go-1.21" +RDEPEND=">=app-containers/docker-cli-23.0.0" +RESTRICT="test" S="${WORKDIR}/compose-${MY_PV}" src_prepare() { default # do not strip - sed -i -e 's/-s -w//' builder.Makefile || die + sed -i -e 's/-s -w//' Makefile || die } src_compile() { - emake -f builder.Makefile GIT_TAG=v${PV} + emake VERSION=v${PV} } src_test() { - emake -f builder.Makefile test + emake test } src_install() { exeinto /usr/libexec/docker/cli-plugins - doexe bin/docker-compose + doexe bin/build/docker-compose dodoc README.md } pkg_postinst() { - has_version =app-containers/docker-compose-1* || return ewarn ewarn "docker-compose 2.x is a sub command of docker" ewarn "Use 'docker compose' from the command line instead of" diff --git a/app-containers/docker-compose/docker-compose-2.5.0.ebuild b/app-containers/docker-compose/docker-compose-2.24.0.ebuild index 3946a436a4be..f306d5212cc7 100644 --- a/app-containers/docker-compose/docker-compose-2.5.0.ebuild +++ b/app-containers/docker-compose/docker-compose-2.24.0.ebuild @@ -1,45 +1,46 @@ -# Copyright 2018-2022 Gentoo Authors +# Copyright 2018-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit bash-completion-r1 go-module +inherit go-module MY_PV=${PV/_/-} DESCRIPTION="Multi-container orchestration for Docker" HOMEPAGE="https://github.com/docker/compose" -SRC_URI="https://github.com/docker/compose/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +SRC_URI="https://github.com/docker/compose/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz" SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" LICENSE="Apache-2.0" SLOT="2" KEYWORDS="~amd64 ~arm64" -RDEPEND=">=app-containers/docker-cli-20.10.3" +BDEPEND=">=dev-lang/go-1.21" +RDEPEND=">=app-containers/docker-cli-23.0.0" +RESTRICT="test" S="${WORKDIR}/compose-${MY_PV}" src_prepare() { default # do not strip - sed -i -e 's/-s -w//' builder.Makefile || die + sed -i -e 's/-s -w//' Makefile || die } src_compile() { - emake -f builder.Makefile GIT_TAG=v${PV} + emake VERSION=v${PV} } src_test() { - emake -f builder.Makefile test + emake test } src_install() { exeinto /usr/libexec/docker/cli-plugins - doexe bin/docker-compose + doexe bin/build/docker-compose dodoc README.md } pkg_postinst() { - has_version =app-containers/docker-compose-1* || return ewarn ewarn "docker-compose 2.x is a sub command of docker" ewarn "Use 'docker compose' from the command line instead of" diff --git a/app-containers/docker-compose/docker-compose-2.26.1.ebuild b/app-containers/docker-compose/docker-compose-2.26.1.ebuild new file mode 100644 index 000000000000..f306d5212cc7 --- /dev/null +++ b/app-containers/docker-compose/docker-compose-2.26.1.ebuild @@ -0,0 +1,51 @@ +# Copyright 2018-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module +MY_PV=${PV/_/-} + +DESCRIPTION="Multi-container orchestration for Docker" +HOMEPAGE="https://github.com/docker/compose" +SRC_URI="https://github.com/docker/compose/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0" +SLOT="2" +KEYWORDS="~amd64 ~arm64" + +BDEPEND=">=dev-lang/go-1.21" +RDEPEND=">=app-containers/docker-cli-23.0.0" + +RESTRICT="test" +S="${WORKDIR}/compose-${MY_PV}" + +src_prepare() { + default + # do not strip + sed -i -e 's/-s -w//' Makefile || die +} + +src_compile() { + emake VERSION=v${PV} +} + +src_test() { + emake test +} + +src_install() { + exeinto /usr/libexec/docker/cli-plugins + doexe bin/build/docker-compose + dodoc README.md +} + +pkg_postinst() { + ewarn + ewarn "docker-compose 2.x is a sub command of docker" + ewarn "Use 'docker compose' from the command line instead of" + ewarn "'docker-compose'" + ewarn "If you need to keep 1.x around, please run the following" + ewarn "command before your next --depclean" + ewarn "# emerge --noreplace docker-compose:0" +} diff --git a/app-containers/docker-compose/files/docker-compose-1.29.2-docker-7.patch b/app-containers/docker-compose/files/docker-compose-1.29.2-docker-7.patch new file mode 100644 index 000000000000..aafa7a7dddde --- /dev/null +++ b/app-containers/docker-compose/files/docker-compose-1.29.2-docker-7.patch @@ -0,0 +1,36 @@ +From 1e838052b7ccc2a5bb6b674154450a4411de9e15 Mon Sep 17 00:00:00 2001 +From: Sebastian Pipping <sebastian@pipping.org> +Date: Mon, 8 Jan 2024 21:28:27 +0100 +Subject: [PATCH] compose/cli/docker_client.py: Quickfix for + >=dev-python/docker-7 + +Symptom was: +> # docker-compose build +> Traceback (most recent call last): +> [..] +> File "[..]/python3.12/site-packages/compose/cli/docker_client.py", line 124, in docker_client +> kwargs = kwargs_from_env(environment=environment, ssl_version=tls_version) +> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> TypeError: kwargs_from_env() got an unexpected keyword argument 'ssl_version' + +Related: https://stackoverflow.com/a/77638834/11626624 +--- + compose/cli/docker_client.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/compose/cli/docker_client.py b/compose/cli/docker_client.py +index e4a0fea..f550e20 100644 +--- a/compose/cli/docker_client.py ++++ b/compose/cli/docker_client.py +@@ -121,7 +121,7 @@ def docker_client(environment, version=None, context=None, tls_version=None): + according to the same logic as the official Docker client. + """ + try: +- kwargs = kwargs_from_env(environment=environment, ssl_version=tls_version) ++ kwargs = kwargs_from_env(environment=environment) + except TLSParameterError: + raise UserError( + "TLS configuration is invalid - make sure your DOCKER_TLS_VERIFY " +-- +2.43.0 + diff --git a/app-containers/docker-compose/files/docker-compose-1.29.2-tests-unit-cli-test-py.patch b/app-containers/docker-compose/files/docker-compose-1.29.2-tests-unit-cli-test-py.patch new file mode 100644 index 000000000000..0d6cf44c1887 --- /dev/null +++ b/app-containers/docker-compose/files/docker-compose-1.29.2-tests-unit-cli-test-py.patch @@ -0,0 +1,33 @@ +From 988f954a7e185c521e7c0f720684e8a53068b136 Mon Sep 17 00:00:00 2001 +From: Sebastian Pipping <sebastian@pipping.org> +Date: Thu, 15 Dec 2022 18:11:03 +0100 +Subject: [PATCH] tests/unit/cli_test.py: Fix access to + py._path.local.LocalPath + +.. for test CLITestCase.test_default_project_name: + +> class CLITestCase(unittest.TestCase): +> +> def test_default_project_name(self): +> test_dir = py._path.local.LocalPath('tests/fixtures/simple-composefile') +> [..] +--- + tests/unit/cli_test.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/unit/cli_test.py b/tests/unit/cli_test.py +index fa6e767..83ecef8 100644 +--- a/tests/unit/cli_test.py ++++ b/tests/unit/cli_test.py +@@ -4,7 +4,7 @@ import tempfile + from io import StringIO + + import docker +-import py ++import py._path.local + import pytest + from docker.constants import DEFAULT_DOCKER_API_VERSION + +-- +2.39.0 + diff --git a/app-containers/docker-compose/metadata.xml b/app-containers/docker-compose/metadata.xml index cf47ba4d85b4..06f0c4e4e3e3 100644 --- a/app-containers/docker-compose/metadata.xml +++ b/app-containers/docker-compose/metadata.xml @@ -1,13 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"><!-- for 2.x.x (Golang) --> + <maintainer restrict=">=app-containers/docker-compose-2" type="person"> <email>williamh@gentoo.org</email> <name>William Hubbs</name> + <description>Version 2.x.x (Golang)</description> </maintainer> - <maintainer type="person"><!-- for 1.x.x (Python) --> + <maintainer restrict="<app-containers/docker-compose-2" type="person"> <email>sping@gentoo.org</email> <name>Sebastian Pipping</name> + <description>Version 1.x.x (Python)</description> </maintainer> <upstream> <remote-id type="pypi">docker-compose</remote-id> diff --git a/app-containers/docker-credential-helpers/docker-credential-helpers-0.6.3.ebuild b/app-containers/docker-credential-helpers/docker-credential-helpers-0.6.3.ebuild index 456a74724b57..e10a2730beea 100644 --- a/app-containers/docker-credential-helpers/docker-credential-helpers-0.6.3.ebuild +++ b/app-containers/docker-credential-helpers/docker-credential-helpers-0.6.3.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -DESCRIPTION="A suite of programs to use native stores to keep Docker credentials safe" +DESCRIPTION="Suite of programs to use native stores to keep Docker credentials safe" HOMEPAGE="https://github.com/docker/docker-credential-helpers" EGO_PN=github.com/docker/docker-credential-helpers @@ -20,23 +20,20 @@ else fi inherit golang-build -IUSE="gnome-keyring pass" -REQUIRED_USE="|| ( gnome-keyring pass )" +IUSE="keyring pass" +REQUIRED_USE="|| ( keyring pass )" RESTRICT="test" -DEPEND="gnome-keyring? ( app-crypt/libsecret )" - -RDEPEND="( - ${DEPEND} +DEPEND="keyring? ( app-crypt/libsecret )" +RDEPEND="${DEPEND} pass? ( app-admin/pass ) -) " S="${WORKDIR}/${P}/src/${EGO_PN}" src_compile() { local -x GOPATH="${WORKDIR}/${P}" - use gnome-keyring && emake secretservice + use keyring && emake secretservice use pass && emake pass } @@ -46,8 +43,8 @@ src_install() { } pkg_postinst() { - if use gnome-keyring; then - elog "For gnome-keyring/kwallet add:\n" + if use keyring; then + elog "For keyring/kwallet add:\n" elog ' "credStore": "secretservice"'"\n" fi if use pass; then diff --git a/app-containers/docker-credential-helpers/metadata.xml b/app-containers/docker-credential-helpers/metadata.xml index b28e0058c9bf..2f589c3c8517 100644 --- a/app-containers/docker-credential-helpers/metadata.xml +++ b/app-containers/docker-credential-helpers/metadata.xml @@ -16,10 +16,6 @@ <name>Proxy Maintainers</name> </maintainer> <use> - <flag name="gnome-keyring"> - Build secretservice helper which works with gnome-keyring or kwallet - using D-Bus. - </flag> <flag name="pass"> Build pass helper for the pass utility. </flag> diff --git a/app-containers/docker-gc/docker-gc-9999.ebuild b/app-containers/docker-gc/docker-gc-9999.ebuild deleted file mode 100644 index 4be76d94296a..000000000000 --- a/app-containers/docker-gc/docker-gc-9999.ebuild +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -EGIT_REPO_URI="https://github.com/spotify/docker-gc.git" - -inherit git-r3 - -DESCRIPTION="Docker garbage collection of containers and images" -HOMEPAGE="https://github.com/spotify/docker-gc/" - -LICENSE="Apache-2.0" -SLOT="0" - -RDEPEND="app-containers/docker" - -src_install() { - dosbin docker-gc - dodoc README.md -} diff --git a/app-containers/docker-gc/metadata.xml b/app-containers/docker-gc/metadata.xml deleted file mode 100644 index aa29b5baad9d..000000000000 --- a/app-containers/docker-gc/metadata.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <!-- maintainer-needed --> - <upstream> - <remote-id type="github">spotify/docker-gc</remote-id> - </upstream> -</pkgmetadata> diff --git a/app-containers/docker-proxy/Manifest b/app-containers/docker-proxy/Manifest index ba69659cff13..1e6185c5ff97 100644 --- a/app-containers/docker-proxy/Manifest +++ b/app-containers/docker-proxy/Manifest @@ -1,2 +1 @@ -DIST docker-proxy-0.8.0_p20210525.tar.gz 3154432 BLAKE2B 3f273cd4c2dd3c797117bebfe06eb3ae8ce3b3f70d495cb0c77a372d64e23f1d9ad31e8efef64df494cc462e9f4fda9311c99ae7e7218f0fc41b6bf44cf8c08d SHA512 6a94fe23ce1bab0a428ee4bbe20089f5a4470e72c5da156b2b1a89de01cca803374fd9cdcd4c5b25b86af1c4e956c75a1a5ad7fb6639def7bcec69859a77c047 -DIST docker-proxy-0.8.0_p20220315.tar.gz 3154501 BLAKE2B 1078db00c0206542740736f0ffed3261dd6688a273699d47328edc6d803d267c026343f7377ef748e0359c025dbeb6cfc9015bf9ca6ed664e0220f15229fb032 SHA512 d6c09ba5fd2b0d87e97627ad55fca4bed1a0ea4f17c747550054d0e059ec056588995877a3e59a40e664ec1e3c92cde8572addc0e2bba8b588a100c6032c0d20 +DIST docker-proxy-0.8.0_p20230118.tar.gz 3154267 BLAKE2B 307799d9dab73ed3ed3e537a247d70a65d9b4a51db69ae09518eb9daee949f78478ec104751d088717ca17171f604ff5c450198cc24e79cca266a1c7f61800ad SHA512 079eee720a4e755639e39fd8764f380549e715cbd6be0b46a102771a09f6cce5f085f7e568429c8c35a46f09948aea3e60de5ba2e32e22f0ee1fd9559c2d58f6 diff --git a/app-containers/docker-proxy/docker-proxy-0.8.0_p20210525.ebuild b/app-containers/docker-proxy/docker-proxy-0.8.0_p20210525.ebuild deleted file mode 100644 index 57fce8c5cedb..000000000000 --- a/app-containers/docker-proxy/docker-proxy-0.8.0_p20210525.ebuild +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -EGO_PN="github.com/docker/libnetwork" - -if [[ ${PV} == *9999 ]]; then - inherit golang-vcs -else - EGIT_COMMIT=64b7a4574d1426139437d20e81c0b6d391130ec8 - SRC_URI="https://github.com/moby/libnetwork/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" - inherit golang-vcs-snapshot -fi - -DESCRIPTION="Docker container networking" -HOMEPAGE="https://github.com/docker/libnetwork" - -LICENSE="Apache-2.0" -SLOT="0" - -S=${WORKDIR}/${P}/src/${EGO_PN} - -# needs dockerd -RESTRICT="strip test" - -src_compile() { - GO111MODULE=auto GOPATH="${WORKDIR}/${P}" \ - go build -o "bin/docker-proxy" ./cmd/proxy || die -} - -src_install() { - dodoc README.md CHANGELOG.md - dobin bin/docker-proxy -} diff --git a/app-containers/docker-proxy/docker-proxy-0.8.0_p20220315.ebuild b/app-containers/docker-proxy/docker-proxy-0.8.0_p20230118.ebuild index c62396a439aa..a39b18d1aee2 100644 --- a/app-containers/docker-proxy/docker-proxy-0.8.0_p20220315.ebuild +++ b/app-containers/docker-proxy/docker-proxy-0.8.0_p20230118.ebuild @@ -1,18 +1,18 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 EGO_PN=github.com/moby/libnetwork -GIT_COMMIT=339b972b464ee3d401b5788b2af9e31d09d6b7da +GIT_COMMIT=05b93e0d3a95952f70c113b0bc5bdb538d7afdd7 inherit golang-vcs-snapshot DESCRIPTION="Docker container networking" -HOMEPAGE="https://github.com/docker/libnetwork" +HOMEPAGE="https://github.com/docker/libnetwork" SRC_URI="https://github.com/moby/libnetwork/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" S=${WORKDIR}/${P}/src/${EGO_PN} diff --git a/app-containers/docker-proxy/metadata.xml b/app-containers/docker-proxy/metadata.xml index c7055f4173cd..cd1d22d48de8 100644 --- a/app-containers/docker-proxy/metadata.xml +++ b/app-containers/docker-proxy/metadata.xml @@ -5,10 +5,6 @@ <email>williamh@gentoo.org</email> <name>William Hubbs</name> </maintainer> - <maintainer type="person"> - <email>gyakovlev@gentoo.org</email> - <name>Georgy Yakovlev</name> - </maintainer> <upstream> <remote-id type="github">docker/libnetwork</remote-id> </upstream> diff --git a/app-containers/docker-registry/Manifest b/app-containers/docker-registry/Manifest index c13a696e584b..a5925694786d 100644 --- a/app-containers/docker-registry/Manifest +++ b/app-containers/docker-registry/Manifest @@ -1 +1,2 @@ -DIST docker-registry-2.7.1.tar.gz 1996699 BLAKE2B 2e22db69f476be5a4688f5b3d6b41fbbf71460351543ae849f707dd5b3d56624f674815a25214002886b057f0859f75fd197bb275a7b3cc8a7787422f716ad0e SHA512 f6baf0e7aa96ebe828c628f7dfd84ee899331c3c1bdab86662aef595b092702b6d9b2c9be766a6de6d153ff4ca55d85c5fd8785a0968f285f56a32a50092c754 +DIST docker-registry-2.8.1.tar.gz 2007611 BLAKE2B abf3e630652f195cf3ad4d07e6d9845000e79d340b0bb8046528bb62592df754c125fd38a92d1af27d068fcd51910f80f356d6a894cb1b97f28d7042af24b898 SHA512 b9c8525051458ff4bf4592ca3ddba83c4325e88c6812ddb28c1567e331c1571f112e3b646ca970f0fe420f3b1d61d00f7151450d7b9948a08733606255731266 +DIST docker-registry-2.8.2.tar.gz 2008415 BLAKE2B 824325f835b2c7cc18f711204b4a92d21f661129ee2b446e3fc42f0e064b8dde43f119bff29216625cfb5e25aec152225680148ae3fc157886acb1e248b6d3b5 SHA512 c2270c14e09399b10fa474a93855e542b82a7746764ec581a218826581e30b76d4d31ae8f91957b8e48a7c14c054b84091c73679e40dbdff1a5bd0de8b18af83 diff --git a/app-containers/docker-registry/docker-registry-2.7.1-r1.ebuild b/app-containers/docker-registry/docker-registry-2.8.1.ebuild index 78708f327413..773fa15bb205 100644 --- a/app-containers/docker-registry/docker-registry-2.7.1-r1.ebuild +++ b/app-containers/docker-registry/docker-registry-2.8.1.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit golang-vcs-snapshot systemd -EGIT_COMMIT="2461543d988979529609e8cb6fca9ca190dc48da" +EGIT_COMMIT="b5ca020cfbe998e5af3457fda087444cf5116496" EGO_PN="github.com/docker/distribution" DESCRIPTION="Docker Registry 2.0" diff --git a/app-containers/docker-registry/docker-registry-2.8.2.ebuild b/app-containers/docker-registry/docker-registry-2.8.2.ebuild new file mode 100644 index 000000000000..6286a187586d --- /dev/null +++ b/app-containers/docker-registry/docker-registry-2.8.2.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit golang-vcs-snapshot systemd + +EGIT_COMMIT="7c354a4b40feeea21d7eeae4de91c8ff7951e672" +EGO_PN="github.com/docker/distribution" + +DESCRIPTION="Docker Registry 2.0" +HOMEPAGE="https://github.com/docker/distribution" +SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 MIT ZLIB" +SLOT="0" +KEYWORDS="amd64 ~arm64" + +DEPEND=" + acct-group/registry + acct-user/registry +" +RDEPEND="${DEPEND}" + +SVCNAME="registry" + +src_prepare() { + default + pushd src/${EGO_PN} || die + eapply "${FILESDIR}"/${PN}-2.7.0-notification-metrics.patch + sed -e "s/git describe.*/echo ${PV})/" \ + -e "s/git rev-parse.*/echo ${EGIT_COMMIT})/" \ + -e "s/-s -w/-w/" \ + -i Makefile || die + popd || die +} + +src_compile() { + export -n GOCACHE XDG_CACHE_HOME #681072 + GOPATH="${S}" GO_BUILD_FLAGS="-v" emake -C src/${EGO_PN} binaries +} + +src_install() { + exeinto /usr/libexec/${PN} + doexe src/${EGO_PN}/bin/* + insinto /etc/docker/registry + newins src/${EGO_PN}/cmd/registry/config-example.yml config.yml.example + newinitd "${FILESDIR}/${SVCNAME}.initd" "${SVCNAME}" + newconfd "${FILESDIR}/${SVCNAME}.confd" "${SVCNAME}" + systemd_dounit "${FILESDIR}/${SVCNAME}.service" + keepdir /var/log/${SVCNAME} + fowners ${SVCNAME}:${SVCNAME} /var/log/${SVCNAME} + insinto /etc/logrotate.d + newins "${FILESDIR}/${SVCNAME}.logrotated" "${SVCNAME}" +} diff --git a/app-containers/docker/Manifest b/app-containers/docker/Manifest index 93e6aa676e60..bd1c7e1ad7a7 100644 --- a/app-containers/docker/Manifest +++ b/app-containers/docker/Manifest @@ -1,3 +1,6 @@ -DIST docker-20.10.12.tar.gz 11091999 BLAKE2B e3b1c40d2dcd2df9b158942759e035d53481dbd63c0fda188ec8564b0249402f5eff5f25fcb1a53c5d9af5b4c49f0919fc07f1f52d0b7333044c0a9c12631c21 SHA512 f4122c8cbc67e6b7703856dc76d6f15d7fab1b2001d4916b89958d5319c16d8b8445881841ef4804e8d47d64694184aec1be93e22d7baceb021c4a99c2c03753 -DIST docker-20.10.14.tar.gz 10989937 BLAKE2B 4b510408c8cf2aef3a9777996aadd024e61df519c6c83d8c59e066058fb082f72ee14405b011731cb3663abdf0759d8f005b3336f6e9b6430270a2e1ba337436 SHA512 94ee555337aaf96bb95ce8cbe8fe1d9c8b87fcd4f256d2af5082fc47915f7576882929c1211ef7fba0c754097bdef5e6df59abbdf77456d3babe139f4353ed21 -DIST docker-20.10.16.tar.gz 11182324 BLAKE2B 8d6676a24b3b53f9155a53eb55a1b5074c5724788102356cae8ead55dbf2f2c2875ea4a0a9eaee4a7720d8f11671b2f748eb8c61b67b81992342d1171feaaaa7 SHA512 5fdf87f98a951af87a334a5a403e36b975ff6c4647d0656dde2bd763d27562c620346f3746adafa1439c205869c721a3bef750f8302734499423ca789218f85d +DIST docker-24.0.5.tar.gz 14456089 BLAKE2B be13a4256787152cb35ddb96d80e97a5e5b587094f1c61d18158737a037c4e81b88c186098ba7416eb7778022ece07bc31ee55af13d3e3da8e0bbd5452ad027f SHA512 cde2e47e7658b153399ee29154ec21eebf54b292185e07d43b968895dcfdfead95e4507fefb713859a4540f21d8007116d3ebeaa1fb7ba305fb2a0449ba1bee6 +DIST docker-24.0.6.tar.gz 14462378 BLAKE2B bced8e687abac59254a9969df46f323a835627a724889e5966bea08df8766b4291914442001d1b573280c45ac4d357a673e98e8fba2b8d116a1dbd65424ccf78 SHA512 d9bf0ba756b1ebe69a44819d7c6aa5d66dad8db5bcc41233e2bfce8131334a2fe1af3972de7f602b7911231288d29aaea797b7a05b335c2d7214a613b27c4b63 +DIST docker-24.0.7.tar.gz 14658649 BLAKE2B 73bad494640ef8cad2b9b991f94414d8bec4dd88b120b0f8238f74d01269c445270f45410ac2c78af074356c3ba60a7c550ab28f5da5924bdc6d8b99e85a1360 SHA512 08f22fcbce163c3ba8eb21302fd38ff04fd3f27067f5715a3c527ba2efe67f694fac80bfe6d6b5e22d06d98917e1685a9d3d9b58991f221354f637f4a8bdc526 +DIST docker-25.0.1.tar.gz 15936052 BLAKE2B 32b24893c9b098b218b16548be074588ad98ed31c8b87ab3fa467f79e33e96ce94f694b86f2920b1166e64c153b1c2482cb602117f673d23f0fc5ccc9b28ae92 SHA512 816c888925cf609e7caa6e491b45614f69fdd7df5ed4f783d8a77cf86d9f46f4f457a95a943aa75ecddf99d080daf78bc0dba55e9648960dc539b1ae62052361 +DIST docker-25.0.4.tar.gz 15953567 BLAKE2B 85398de80b14f21d611822a1714ac987d919cf6a2a8059d8a6d41c9b63fd63a04013e47e01021eccdbd107f1a3f8ee55dc1ecbc4b6c9cc20ff2854434e3b6af7 SHA512 07e724de305def32a1e32a724a8041be193745c4f0d549708723cf5d14b840f74648e83e790fd526e00a6c6fdb7e487ee4e5ed0752fbe172d673ab86fe8819d2 +DIST docker-26.1.0.tar.gz 16390376 BLAKE2B 6703e9b153c430bc28aed2e7de7bada0203353d61f0a2ce3d49ddbd017eab196a685dd1ab1e719a6b287813eb5fa4f2c612e2cf1ab95789d6e79ebe5dac7ace3 SHA512 47b6b9af9947016884614b6bc25977e1db281da95c9b8b34c753c21c664a737a893f9fa65d92cbb897735aae3893567e106e6bababb5507e069b1e0981e48d50 diff --git a/app-containers/docker/docker-20.10.12-r1.ebuild b/app-containers/docker/docker-24.0.5.ebuild index 95c508dbb975..ac578996d43f 100644 --- a/app-containers/docker/docker-20.10.12-r1.ebuild +++ b/app-containers/docker/docker-24.0.5.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 EGO_PN=github.com/docker/docker MY_PV=${PV/_/-} -GIT_COMMIT=459d0dfbbb inherit linux-info systemd udev golang-vcs-snapshot +GIT_COMMIT=4ffc61430bbe6d3d405bdf357b766bf303ff3cc5 DESCRIPTION="The core functions you need to create Docker images and run Docker containers" HOMEPAGE="https://www.docker.com/" @@ -14,7 +14,7 @@ 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 aufs btrfs +cli +container-init device-mapper hardened overlay seccomp" +IUSE="apparmor btrfs +container-init device-mapper overlay seccomp selinux" DEPEND=" acct-group/docker @@ -27,9 +27,6 @@ DEPEND=" # https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies # https://github.com/moby/moby/blob/master/project/PACKAGERS.md#optional-dependencies -# https://github.com/moby/moby/tree/master//hack/dockerfile/install -# make sure docker-proxy is pinned to exact version from ^, -# for appropriate branch/version of course RDEPEND=" ${DEPEND} >=net-firewall/iptables-1.4 @@ -37,10 +34,10 @@ RDEPEND=" >=dev-vcs/git-1.7 >=app-arch/xz-utils-4.9 dev-libs/libltdl - >=app-containers/containerd-1.4.12[apparmor?,btrfs?,device-mapper?,seccomp?] - ~app-containers/docker-proxy-0.8.0_p20210525 - cli? ( ~app-containers/docker-cli-${PV} ) + >=app-containers/containerd-1.7.1[apparmor?,btrfs?,device-mapper?,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 @@ -56,98 +53,172 @@ S="${WORKDIR}/${P}/src/${EGO_PN}" # https://bugs.gentoo.org/748984 https://github.com/etcd-io/etcd/pull/12552 PATCHES=( - "${FILESDIR}/etcd-F_OFD_GETLK-fix.patch" - "${FILESDIR}/ppc64-buildmode.patch" + "${FILESDIR}/0001-Openrc-Depend-on-containerd-init-script.patch" ) -# see "contrib/check-config.sh" from upstream's sources -CONFIG_CHECK=" - ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS - ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG - ~CGROUP_NET_PRIO - ~KEYS - ~VETH ~BRIDGE ~BRIDGE_NETFILTER - ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE ~NETFILTER_XT_MARK - ~NETFILTER_NETLINK ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK ~NETFILTER_XT_MATCH_IPVS - ~IP_NF_NAT ~NF_NAT - ~POSIX_MQUEUE - - ~USER_NS - ~SECCOMP - ~CGROUP_PIDS - ~MEMCG_SWAP - - ~BLK_CGROUP ~BLK_DEV_THROTTLING - ~CGROUP_PERF - ~CGROUP_HUGETLB - ~NET_CLS_CGROUP - ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED - ~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT ~IP_VS_RR - - ~VXLAN - ~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH ~XFRM_ALGO ~XFRM_USER - ~IPVLAN - ~MACVLAN ~DUMMY - - ~OVERLAY_FS ~!OVERLAY_FS_REDIRECT_DIR - ~EXT4_FS_SECURITY - ~EXT4_FS_POSIX_ACL -" - -ERROR_KEYS="CONFIG_KEYS: is mandatory" -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers" -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering" - -ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering" -ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering" -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering" -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering" -ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks" -ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks" - 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 lt 4 5; then + if kernel_is le 5 1; then CONFIG_CHECK+=" - ~MEMCG_KMEM + ~NF_NAT_IPV4 " - ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional" fi - if kernel_is lt 4 7; then + if kernel_is le 5 2; then CONFIG_CHECK+=" - ~DEVPTS_MULTIPLE_INSTANCES + ~NF_NAT_NEEDED " fi - if kernel_is lt 5 1; then + if kernel_is ge 4 15; then CONFIG_CHECK+=" - ~NF_NAT_IPV4 - ~IOSCHED_CFQ - ~CFQ_GROUP_IOSCHED + ~CGROUP_BPF " fi - if kernel_is lt 5 2; then + # optional features + CONFIG_CHECK+=" + ~USER_NS + " + + if use seccomp; then CONFIG_CHECK+=" - ~NF_NAT_NEEDED + ~SECCOMP ~SECCOMP_FILTER " fi - if kernel_is lt 5 8; then + 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 - if use aufs; then + 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+=" - ~AUFS_FS - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED " - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs is patched to kernel instead of using standalone" 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 @@ -157,10 +228,14 @@ pkg_setup() { if use device-mapper; then CONFIG_CHECK+=" - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + ~BLK_DEV_DM ~DM_THIN_PROVISIONING " fi + CONFIG_CHECK+=" + ~OVERLAY_FS + " + linux-info_pkg_setup } @@ -176,7 +251,7 @@ src_compile() { # let's set up some optional features :) export DOCKER_BUILDTAGS='' - for gd in aufs btrfs device-mapper overlay; do + for gd in btrfs device-mapper overlay; do if ! use $gd; then DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}" fi @@ -188,15 +263,7 @@ src_compile() { fi done - if use hardened; then - sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die - grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed' - sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \ - -i hack/make/dynbinary-daemon || die - grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed' - fi - - # build daemon + # build binaries ./hack/make.sh dynbinary || die 'dynbinary failed' } @@ -205,7 +272,8 @@ src_install() { dosym containerd-shim /usr/bin/docker-containerd-shim dosym runc /usr/bin/docker-runc use container-init && dosym tini /usr/bin/docker-init - newbin bundles/dynbinary-daemon/dockerd dockerd + dobin bundles/dynbinary-daemon/dockerd + dobin bundles/dynbinary-daemon/docker-proxy newinitd contrib/init/openrc/docker.initd docker newconfd contrib/init/openrc/docker.confd docker @@ -214,7 +282,7 @@ src_install() { udev_dorules contrib/udev/*.rules - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md + dodoc AUTHORS CONTRIBUTING.md NOTICE README.md dodoc -r docs/* # note: intentionally not using "doins" so that we preserve +x bits @@ -255,25 +323,8 @@ pkg_postinst() { elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info" elog fi +} - if use cli; then - ewarn "Starting with docker 20.10.2, docker has been split into" - ewarn "two packages upstream, so Gentoo has followed suit." - ewarn - ewarn "app-containers/docker contains the daemon and" - ewarn "app-containers/docker-cli contains the docker command." - ewarn - ewarn "docker currently installs docker-cli using the cli use flag." - ewarn - ewarn "This use flag is temporary, so you need to take the" - ewarn "following actions:" - ewarn - ewarn "First, disable the cli use flag for app-containers/docker" - ewarn - ewarn "Then, if you need docker-cli and docker on the same machine," - ewarn "run the following command:" - ewarn - ewarn "# emerge --noreplace docker-cli" - ewarn - fi +pkg_postrm() { + udev_reload } diff --git a/app-containers/docker/docker-20.10.16.ebuild b/app-containers/docker/docker-24.0.6.ebuild index 58fd7b5b426c..6a8cc58fd1f6 100644 --- a/app-containers/docker/docker-20.10.16.ebuild +++ b/app-containers/docker/docker-24.0.6.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 EGO_PN=github.com/docker/docker MY_PV=${PV/_/-} -GIT_COMMIT=f756502055 inherit linux-info systemd udev golang-vcs-snapshot +GIT_COMMIT=1a7969545d73537545645f5cd2c79b7a77e7d39f DESCRIPTION="The core functions you need to create Docker images and run Docker containers" HOMEPAGE="https://www.docker.com/" @@ -14,8 +14,7 @@ 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 aufs btrfs +cli +container-init device-mapper hardened -overlay seccomp selinux" +IUSE="apparmor btrfs +container-init device-mapper overlay seccomp selinux" DEPEND=" acct-group/docker @@ -28,9 +27,6 @@ DEPEND=" # https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies # https://github.com/moby/moby/blob/master/project/PACKAGERS.md#optional-dependencies -# https://github.com/moby/moby/tree/master//hack/dockerfile/install -# make sure docker-proxy is pinned to exact version from ^, -# for appropriate branchch/version of course RDEPEND=" ${DEPEND} >=net-firewall/iptables-1.4 @@ -38,9 +34,9 @@ RDEPEND=" >=dev-vcs/git-1.7 >=app-arch/xz-utils-4.9 dev-libs/libltdl - >=app-containers/containerd-1.6.4[apparmor?,btrfs?,device-mapper?,seccomp?] - ~app-containers/docker-proxy-0.8.0_p20220315 - cli? ( ~app-containers/docker-cli-${PV} ) + >=app-containers/containerd-1.7.3[apparmor?,btrfs?,device-mapper?,seccomp?] + >=app-containers/runc-1.1.9[apparmor?,seccomp?] + !app-containers/docker-proxy container-init? ( >=sys-process/tini-0.19.0[static] ) selinux? ( sec-policy/selinux-docker ) " @@ -58,97 +54,172 @@ S="${WORKDIR}/${P}/src/${EGO_PN}" # https://bugs.gentoo.org/748984 https://github.com/etcd-io/etcd/pull/12552 PATCHES=( - "${FILESDIR}/ppc64-buildmode.patch" + "${FILESDIR}/0001-Openrc-Depend-on-containerd-init-script.patch" ) -# see "contrib/check-config.sh" from upstream's sources -CONFIG_CHECK=" - ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS - ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG - ~CGROUP_NET_PRIO - ~KEYS - ~VETH ~BRIDGE ~BRIDGE_NETFILTER - ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE ~NETFILTER_XT_MARK - ~NETFILTER_NETLINK ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK ~NETFILTER_XT_MATCH_IPVS - ~IP_NF_NAT ~NF_NAT - ~POSIX_MQUEUE - - ~USER_NS - ~SECCOMP - ~CGROUP_PIDS - ~MEMCG_SWAP - - ~BLK_CGROUP ~BLK_DEV_THROTTLING - ~CGROUP_PERF - ~CGROUP_HUGETLB - ~NET_CLS_CGROUP - ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED - ~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT ~IP_VS_RR - - ~VXLAN - ~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH ~XFRM_ALGO ~XFRM_USER - ~IPVLAN - ~MACVLAN ~DUMMY - - ~OVERLAY_FS ~!OVERLAY_FS_REDIRECT_DIR - ~EXT4_FS_SECURITY - ~EXT4_FS_POSIX_ACL -" - -ERROR_KEYS="CONFIG_KEYS: is mandatory" -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers" -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering" - -ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering" -ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering" -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering" -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering" -ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks" -ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks" - 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 lt 4 5; then + if kernel_is le 5 1; then CONFIG_CHECK+=" - ~MEMCG_KMEM + ~NF_NAT_IPV4 " - ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional" fi - if kernel_is lt 4 7; then + if kernel_is le 5 2; then CONFIG_CHECK+=" - ~DEVPTS_MULTIPLE_INSTANCES + ~NF_NAT_NEEDED " fi - if kernel_is lt 5 1; then + if kernel_is ge 4 15; then CONFIG_CHECK+=" - ~NF_NAT_IPV4 - ~IOSCHED_CFQ - ~CFQ_GROUP_IOSCHED + ~CGROUP_BPF " fi - if kernel_is lt 5 2; then + # optional features + CONFIG_CHECK+=" + ~USER_NS + " + + if use seccomp; then CONFIG_CHECK+=" - ~NF_NAT_NEEDED + ~SECCOMP ~SECCOMP_FILTER " fi - if kernel_is lt 5 8; then + 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 - if use aufs; then + 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+=" - ~AUFS_FS - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED " - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs is patched to kernel instead of using standalone" 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 @@ -158,10 +229,14 @@ pkg_setup() { if use device-mapper; then CONFIG_CHECK+=" - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + ~BLK_DEV_DM ~DM_THIN_PROVISIONING " fi + CONFIG_CHECK+=" + ~OVERLAY_FS + " + linux-info_pkg_setup } @@ -177,7 +252,7 @@ src_compile() { # let's set up some optional features :) export DOCKER_BUILDTAGS='' - for gd in aufs btrfs device-mapper overlay; do + for gd in btrfs device-mapper overlay; do if ! use $gd; then DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}" fi @@ -189,15 +264,7 @@ src_compile() { fi done - if use hardened; then - sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die - grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed' - sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \ - -i hack/make/dynbinary-daemon || die - grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed' - fi - - # build daemon + # build binaries ./hack/make.sh dynbinary || die 'dynbinary failed' } @@ -206,7 +273,8 @@ src_install() { dosym containerd-shim /usr/bin/docker-containerd-shim dosym runc /usr/bin/docker-runc use container-init && dosym tini /usr/bin/docker-init - newbin bundles/dynbinary-daemon/dockerd dockerd + dobin bundles/dynbinary-daemon/dockerd + dobin bundles/dynbinary-daemon/docker-proxy newinitd contrib/init/openrc/docker.initd docker newconfd contrib/init/openrc/docker.confd docker @@ -215,7 +283,7 @@ src_install() { udev_dorules contrib/udev/*.rules - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md + dodoc AUTHORS CONTRIBUTING.md NOTICE README.md dodoc -r docs/* # note: intentionally not using "doins" so that we preserve +x bits @@ -256,25 +324,8 @@ pkg_postinst() { elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info" elog fi +} - if use cli; then - ewarn "Starting with docker 20.10.2, docker has been split into" - ewarn "two packages upstream, so Gentoo has followed suit." - ewarn - ewarn "app-containers/docker contains the daemon and" - ewarn "app-containers/docker-cli contains the docker command." - ewarn - ewarn "docker currently installs docker-cli using the cli use flag." - ewarn - ewarn "This use flag is temporary, so you need to take the" - ewarn "following actions:" - ewarn - ewarn "First, disable the cli use flag for app-containers/docker" - ewarn - ewarn "Then, if you need docker-cli and docker on the same machine," - ewarn "run the following command:" - ewarn - ewarn "# emerge --noreplace docker-cli" - ewarn - fi +pkg_postrm() { + udev_reload } diff --git a/app-containers/docker/docker-20.10.14.ebuild b/app-containers/docker/docker-24.0.7.ebuild index d57cbbed264c..14dddd2aafd9 100644 --- a/app-containers/docker/docker-20.10.14.ebuild +++ b/app-containers/docker/docker-24.0.7.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 EGO_PN=github.com/docker/docker MY_PV=${PV/_/-} -GIT_COMMIT=87a90dc786 inherit linux-info systemd udev golang-vcs-snapshot +GIT_COMMIT=311b9ff0aa93aa55880e1e5f8871c4fb69583426 DESCRIPTION="The core functions you need to create Docker images and run Docker containers" HOMEPAGE="https://www.docker.com/" @@ -14,8 +14,7 @@ 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 aufs btrfs +cli +container-init device-mapper hardened -overlay seccomp selinux" +IUSE="apparmor btrfs +container-init device-mapper overlay seccomp selinux" DEPEND=" acct-group/docker @@ -28,9 +27,6 @@ DEPEND=" # https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies # https://github.com/moby/moby/blob/master/project/PACKAGERS.md#optional-dependencies -# https://github.com/moby/moby/tree/master//hack/dockerfile/install -# make sure docker-proxy is pinned to exact version from ^, -# for appropriate branchch/version of course RDEPEND=" ${DEPEND} >=net-firewall/iptables-1.4 @@ -38,9 +34,9 @@ RDEPEND=" >=dev-vcs/git-1.7 >=app-arch/xz-utils-4.9 dev-libs/libltdl - >=app-containers/containerd-1.4.12[apparmor?,btrfs?,device-mapper?,seccomp?] - ~app-containers/docker-proxy-0.8.0_p20210525 - cli? ( ~app-containers/docker-cli-${PV} ) + >=app-containers/containerd-1.7.3[apparmor?,btrfs?,device-mapper?,seccomp?] + >=app-containers/runc-1.1.9[apparmor?,seccomp?] + !app-containers/docker-proxy container-init? ( >=sys-process/tini-0.19.0[static] ) selinux? ( sec-policy/selinux-docker ) " @@ -58,97 +54,172 @@ S="${WORKDIR}/${P}/src/${EGO_PN}" # https://bugs.gentoo.org/748984 https://github.com/etcd-io/etcd/pull/12552 PATCHES=( - "${FILESDIR}/ppc64-buildmode.patch" + "${FILESDIR}/0001-Openrc-Depend-on-containerd-init-script.patch" ) -# see "contrib/check-config.sh" from upstream's sources -CONFIG_CHECK=" - ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS - ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG - ~CGROUP_NET_PRIO - ~KEYS - ~VETH ~BRIDGE ~BRIDGE_NETFILTER - ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE ~NETFILTER_XT_MARK - ~NETFILTER_NETLINK ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK ~NETFILTER_XT_MATCH_IPVS - ~IP_NF_NAT ~NF_NAT - ~POSIX_MQUEUE - - ~USER_NS - ~SECCOMP - ~CGROUP_PIDS - ~MEMCG_SWAP - - ~BLK_CGROUP ~BLK_DEV_THROTTLING - ~CGROUP_PERF - ~CGROUP_HUGETLB - ~NET_CLS_CGROUP - ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED - ~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT ~IP_VS_RR - - ~VXLAN - ~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH ~XFRM_ALGO ~XFRM_USER - ~IPVLAN - ~MACVLAN ~DUMMY - - ~OVERLAY_FS ~!OVERLAY_FS_REDIRECT_DIR - ~EXT4_FS_SECURITY - ~EXT4_FS_POSIX_ACL -" - -ERROR_KEYS="CONFIG_KEYS: is mandatory" -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers" -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering" - -ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering" -ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering" -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering" -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering" -ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks" -ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks" - 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 lt 4 5; then + if kernel_is le 5 1; then CONFIG_CHECK+=" - ~MEMCG_KMEM + ~NF_NAT_IPV4 " - ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional" fi - if kernel_is lt 4 7; then + if kernel_is le 5 2; then CONFIG_CHECK+=" - ~DEVPTS_MULTIPLE_INSTANCES + ~NF_NAT_NEEDED " fi - if kernel_is lt 5 1; then + if kernel_is ge 4 15; then CONFIG_CHECK+=" - ~NF_NAT_IPV4 - ~IOSCHED_CFQ - ~CFQ_GROUP_IOSCHED + ~CGROUP_BPF " fi - if kernel_is lt 5 2; then + # optional features + CONFIG_CHECK+=" + ~USER_NS + " + + if use seccomp; then CONFIG_CHECK+=" - ~NF_NAT_NEEDED + ~SECCOMP ~SECCOMP_FILTER " fi - if kernel_is lt 5 8; then + 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 - if use aufs; then + 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+=" - ~AUFS_FS - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + ~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED " - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs is patched to kernel instead of using standalone" 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 @@ -158,10 +229,14 @@ pkg_setup() { if use device-mapper; then CONFIG_CHECK+=" - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + ~BLK_DEV_DM ~DM_THIN_PROVISIONING " fi + CONFIG_CHECK+=" + ~OVERLAY_FS + " + linux-info_pkg_setup } @@ -177,7 +252,7 @@ src_compile() { # let's set up some optional features :) export DOCKER_BUILDTAGS='' - for gd in aufs btrfs device-mapper overlay; do + for gd in btrfs device-mapper overlay; do if ! use $gd; then DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}" fi @@ -189,15 +264,7 @@ src_compile() { fi done - if use hardened; then - sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die - grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed' - sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \ - -i hack/make/dynbinary-daemon || die - grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed' - fi - - # build daemon + # build binaries ./hack/make.sh dynbinary || die 'dynbinary failed' } @@ -206,7 +273,8 @@ src_install() { dosym containerd-shim /usr/bin/docker-containerd-shim dosym runc /usr/bin/docker-runc use container-init && dosym tini /usr/bin/docker-init - newbin bundles/dynbinary-daemon/dockerd dockerd + dobin bundles/dynbinary-daemon/dockerd + dobin bundles/dynbinary-daemon/docker-proxy newinitd contrib/init/openrc/docker.initd docker newconfd contrib/init/openrc/docker.confd docker @@ -215,7 +283,7 @@ src_install() { udev_dorules contrib/udev/*.rules - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md + dodoc AUTHORS CONTRIBUTING.md NOTICE README.md dodoc -r docs/* # note: intentionally not using "doins" so that we preserve +x bits @@ -256,25 +324,8 @@ pkg_postinst() { elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info" elog fi +} - if use cli; then - ewarn "Starting with docker 20.10.2, docker has been split into" - ewarn "two packages upstream, so Gentoo has followed suit." - ewarn - ewarn "app-containers/docker contains the daemon and" - ewarn "app-containers/docker-cli contains the docker command." - ewarn - ewarn "docker currently installs docker-cli using the cli use flag." - ewarn - ewarn "This use flag is temporary, so you need to take the" - ewarn "following actions:" - ewarn - ewarn "First, disable the cli use flag for app-containers/docker" - ewarn - ewarn "Then, if you need docker-cli and docker on the same machine," - ewarn "run the following command:" - ewarn - ewarn "# emerge --noreplace docker-cli" - ewarn - fi +pkg_postrm() { + udev_reload } diff --git a/app-containers/docker/docker-25.0.1.ebuild b/app-containers/docker/docker-25.0.1.ebuild new file mode 100644 index 000000000000..92c7e31beb2d --- /dev/null +++ b/app-containers/docker/docker-25.0.1.ebuild @@ -0,0 +1,318 @@ +# 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 linux-info systemd udev golang-vcs-snapshot +GIT_COMMIT=71fa3ab079ec13d17257f86fa92db8d7f24802f1 + +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 overlay seccomp selinux" + +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 ) +" + +# 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 + dev-libs/libltdl + >=app-containers/containerd-1.7.3[apparmor?,btrfs?,seccomp?] + >=app-containers/runc-1.1.9[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 +PATCHES=( + "${FILESDIR}/0001-Openrc-Depend-on-containerd-init-script.patch" +) + +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} + + # setup CFLAGS and LDFLAGS for separate build target + # see https://github.com/tianon/docker-overlay/pull/10 + export CGO_CFLAGS="-I${ESYSROOT}/usr/include" + export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)" + + # let's set up some optional features :) + export DOCKER_BUILDTAGS='' + for gd in btrfs overlay; 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 + + # 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 + + 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 use overlay; then + elog " Overlay storage driver/USEflag has been deprecated" + elog " in favor of overlay2 (enabled unconditionally)" + elog + fi + + 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 +} + +pkg_postrm() { + udev_reload +} diff --git a/app-containers/docker/docker-25.0.4.ebuild b/app-containers/docker/docker-25.0.4.ebuild new file mode 100644 index 000000000000..739506d1d063 --- /dev/null +++ b/app-containers/docker/docker-25.0.4.ebuild @@ -0,0 +1,318 @@ +# 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 linux-info systemd udev golang-vcs-snapshot +GIT_COMMIT=061aa95809be396a6b5542618d8a34b02a21ff77 + +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 overlay seccomp selinux" + +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 ) +" + +# 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 + dev-libs/libltdl + >=app-containers/containerd-1.7.12[apparmor?,btrfs?,seccomp?] + >=app-containers/runc-1.1.12[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 +PATCHES=( + "${FILESDIR}/0001-Openrc-Depend-on-containerd-init-script.patch" +) + +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} + + # setup CFLAGS and LDFLAGS for separate build target + # see https://github.com/tianon/docker-overlay/pull/10 + export CGO_CFLAGS="-I${ESYSROOT}/usr/include" + export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)" + + # let's set up some optional features :) + export DOCKER_BUILDTAGS='' + for gd in btrfs overlay; 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 + + # 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 + + 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 use overlay; then + elog " Overlay storage driver/USEflag has been deprecated" + elog " in favor of overlay2 (enabled unconditionally)" + elog + fi + + 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 +} + +pkg_postrm() { + udev_reload +} diff --git a/app-containers/docker/docker-26.1.0.ebuild b/app-containers/docker/docker-26.1.0.ebuild new file mode 100644 index 000000000000..6a2110fa66a5 --- /dev/null +++ b/app-containers/docker/docker-26.1.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 systemd udev +GIT_COMMIT=061aa95809be396a6b5542618d8a34b02a21ff77 + +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 overlay 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.15[apparmor?,btrfs?,seccomp?] + >=app-containers/runc-1.1.12[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 +PATCHES=( + "${FILESDIR}/0001-Openrc-Depend-on-containerd-init-script.patch" +) + +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 + export CGO_CFLAGS="-I${ESYSROOT}/usr/include" + export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)" + + # let's set up some optional features :) + export DOCKER_BUILDTAGS='' + for gd in btrfs overlay; 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 + + # 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 + + 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 use overlay; then + elog " Overlay storage driver/USEflag has been deprecated" + elog " in favor of overlay2 (enabled unconditionally)" + elog + fi + + 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 +} + +pkg_postrm() { + udev_reload +} diff --git a/app-containers/docker/files/0001-Openrc-Depend-on-containerd-init-script.patch b/app-containers/docker/files/0001-Openrc-Depend-on-containerd-init-script.patch new file mode 100644 index 000000000000..22aa145f33b8 --- /dev/null +++ b/app-containers/docker/files/0001-Openrc-Depend-on-containerd-init-script.patch @@ -0,0 +1,28 @@ +From bb69104381805014eb7675682d204fe460a52388 Mon Sep 17 00:00:00 2001 +From: Jan Breig <git@pygos.space> +Date: Mon, 16 May 2022 14:58:36 +0200 +Subject: [PATCH] Openrc: Depend on containerd init script + +Signed-off-by: Jan Breig <git@pygos.space> +--- + contrib/init/openrc/docker.initd | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/contrib/init/openrc/docker.initd b/contrib/init/openrc/docker.initd +index 3229223bad..57defb8f57 100644 +--- a/contrib/init/openrc/docker.initd ++++ b/contrib/init/openrc/docker.initd +@@ -17,6 +17,10 @@ rc_ulimit="${DOCKER_ULIMIT:--c unlimited -n 1048576 -u unlimited}" + + retry="${DOCKER_RETRY:-TERM/60/KILL/10}" + ++depend() { ++ need containerd ++} ++ + start_pre() { + checkpath -f -m 0644 -o root:docker "$DOCKER_LOGFILE" + } +-- +2.35.1 + diff --git a/app-containers/docker/files/etcd-F_OFD_GETLK-fix.patch b/app-containers/docker/files/etcd-F_OFD_GETLK-fix.patch deleted file mode 100644 index bd574e26f040..000000000000 --- a/app-containers/docker/files/etcd-F_OFD_GETLK-fix.patch +++ /dev/null @@ -1,28 +0,0 @@ -From ec81adb21605acd56b122bc35c53644b13d3ab7e Mon Sep 17 00:00:00 2001 -From: Moritz Both <mb@aldebaran.de> -Date: Sun, 1 Nov 2020 23:20:12 +0100 -Subject: [PATCH] pkg/fileutil: fix constant for linux locking - -The constant F_OFD_GETLK is 36, not 37, according to -/usr/include/bits/fcntl-linux.h -Credits go to joakim-tjernlund who digged deep enough -to find this. - -Fixes #31182 ---- - pkg/fileutil/lock_linux.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pkg/fileutil/lock_linux.go b/pkg/fileutil/lock_linux.go -index 939fea62381..004d35fa23b 100644 ---- a/vendor/github.com/coreos/etcd/pkg/fileutil/lock_linux.go -+++ b/vendor/github.com/coreos/etcd/pkg/fileutil/lock_linux.go -@@ -29,7 +29,7 @@ import ( - // - // constants from /usr/include/bits/fcntl-linux.h - const ( -- F_OFD_GETLK = 37 -+ F_OFD_GETLK = 36 - F_OFD_SETLK = 37 - F_OFD_SETLKW = 38 - ) diff --git a/app-containers/docker/files/ppc64-buildmode.patch b/app-containers/docker/files/ppc64-buildmode.patch deleted file mode 100644 index f16756e85041..000000000000 --- a/app-containers/docker/files/ppc64-buildmode.patch +++ /dev/null @@ -1,30 +0,0 @@ -From c4135e37e54a6480abfe18746f227f05cb9269ab Mon Sep 17 00:00:00 2001 -From: Georgy Yakovlev <gyakovlev@gentoo.org> -Date: Thu, 10 Jun 2021 16:19:22 -0700 -Subject: [PATCH] don't use buildmode=pie on ppc64 - -It's already omitted for ppc64 in -hack/dockerfile/install/install.sh -not using wildcard, because GOARCH=ppc64le supports pie - -Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> ---- - hack/make/.binary | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hack/make/.binary b/hack/make/.binary -index 5ea3e373f2..7a911de15a 100644 ---- a/hack/make/.binary -+++ b/hack/make/.binary -@@ -70,7 +70,7 @@ hash_files() { - - # -buildmode=pie is not supported on Windows and Linux on mips and riscv64. - case "$(go env GOOS)/$(go env GOARCH)" in -- windows/* | linux/mips* | linux/riscv*) ;; -+ windows/* | linux/mips* | linux/riscv* | linux/ppc64) ;; - - *) - BUILDFLAGS+=("-buildmode=pie") --- -2.32.0 - diff --git a/app-containers/docker/metadata.xml b/app-containers/docker/metadata.xml index e58aa2015b46..5c680bb1005b 100644 --- a/app-containers/docker/metadata.xml +++ b/app-containers/docker/metadata.xml @@ -12,28 +12,11 @@ <email>williamh@gentoo.org</email> <name>William Hubbs</name> </maintainer> - <maintainer type="person"> - <email>gyakovlev@gentoo.org</email> - <name>Georgy Yakovlev</name> - </maintainer> <use> - <flag name="aufs"> - Enables dependencies for the "aufs" graph driver, including - necessary kernel flags. - </flag> - <flag name="apparmor"> - Enable AppArmor support. - </flag> <flag name="btrfs"> Enables dependencies for the "btrfs" graph driver, including necessary kernel flags. </flag> - <flag name="cli"> - This is a temporary use flag which pulls in - app-containers/docker-cli, the docker command line client. - This flag is here to assist in the transition to split packages - and will be removed in a future release. - </flag> <flag name="container-init"> Makes the a staticly-linked init system tini available inside a container. @@ -49,5 +32,6 @@ </use> <upstream> <remote-id type="github">moby/moby</remote-id> + <remote-id type="cpe">cpe:/a:docker:docker</remote-id> </upstream> </pkgmetadata> diff --git a/app-containers/earthly/Manifest b/app-containers/earthly/Manifest new file mode 100644 index 000000000000..fe1d3ec1e37a --- /dev/null +++ b/app-containers/earthly/Manifest @@ -0,0 +1,8 @@ +DIST earthly-0.8.6-deps.tar.xz 157843872 BLAKE2B aade314abdcd8aaf18737908df1a90d71c907f286df463c9f8ce9654d5e212387b7107070225bf85f54d6e4688a741b7838b5c70d9f1a09ac15e904b83d4d2b8 SHA512 557b3477c1773c27934429677a53efbdc104230fcbd536cb73e8cd631ccf2af488731acc5555484298fc579e08b8e52031191b49ef0610595b2b67cc987232e3 +DIST earthly-0.8.6.tar.gz 8052646 BLAKE2B 43cb74b7ad198d6418a60dd8b3bac61c1bf67f460b73ca3627647ce71778178e69075bc5122a24cfe33c075c40e962db60845ae6d0933782432eb56087ed83f2 SHA512 4c5ae65452ff940bbeeff7ec489882c5db82597977d18ac3f187ae6a444f6b78222f16f3e0ff10250100195227b925d1a73e24c2ffce618b8675fd826302a47a +DIST earthly-0.8.7-deps.tar.zst 180209748 BLAKE2B e4c5f4b856d0ed3a0c757128c144f6267fd763118de12a51877781e82ea15722420c871f5d66a4dd797cc67b85b7c7cd26a1d2e8f417bd5517f1109e376bbefc SHA512 b8dc56b302aca63837a87cfcced4d0387adaea5433b72eb7c7056dab8a486208d06fff39b4ecd753a30f27878b1497eb1892456876e7632ee2c44926747a12d6 +DIST earthly-0.8.7.tar.gz 8062437 BLAKE2B 82796711c13cb7fd2bf957148ddd7ff31d14b9888b30a910682b956ecb8cd9c66539a71b558f92f972b54c566411257c769dadfe2e1d720d9a4e496292185d48 SHA512 c8bddfc2c4e5702abb5c119a022ab5cc875b460535fb5af4364ee7bd89e950768f71fe1ccf1860d0826d8934b283745ca22abae147852a7b779081373b40be4f +DIST earthly-0.8.8-deps.tar.zst 180214607 BLAKE2B f407dcc4cb8daee7ac53433af830b6c872b0c9e1e05004b2bc4c8706eb98b65e457f7bea2b221e6c4cf4dfe8bb218a5ca60e85beb1f7839cb0ffaadaf8110ad3 SHA512 6a9d0eb7a69b36cca2f79d3f92e21f9f97d858451308f7151e4810c479105b7dad3fe2ad1b8a90a6ca9f0c7d3d06a8f89cd3eab4fde54e10fae2e3ea98fbb7bb +DIST earthly-0.8.8.tar.gz 8069650 BLAKE2B 05dca12e206a22c522d36711cb960525bb20c51439dd73c8ec4a96151c306022483ade55ebe80f30d85acba3c1531b0c9b97115702c6bfc96daa615d9b798d31 SHA512 9a19ddfcaa40720b1cbab166e40a6300a79d38245074bd111082eaa04206ae8020c7596ad5801f3048e3a411cbcd88b161d8c01375e4b00192b8cf2b23e62e77 +DIST earthly-0.8.9-deps.tar.zst 180210180 BLAKE2B 8d48677c9dac4571efadb41c882520ba6f92bfc4a6f36ae55f6ce54c258f16dbd693412d1a25b4467d078c2b9b039b96d934236c3a071f1f64040b2da5a3d848 SHA512 f504567855830d8027d830372f8e365b8f9893d3625b94b2e91294985f65be3d276cdceba9913ef37a6e1a45debcd8fb393e6ea0d16615c06a188862b33d8a1d +DIST earthly-0.8.9.tar.gz 8070633 BLAKE2B 3ed83bf57654f89d0b579ec9df64a9025d9fae1da755018c83cfd6ac03e70da176de564185a2ad1f68383ff0c6a2e26132568cb451bc1b474b87c4852dc2266b SHA512 e1fccfafa845b1964f824850c05fa39904e2804f8145f24342ee86e6c9f1a8ffbb30b1a822744343f59ba9dc4b1e4788020d0cc6b954d9f62eeeb43a594bd326 diff --git a/app-containers/earthly/earthly-0.8.6.ebuild b/app-containers/earthly/earthly-0.8.6.ebuild new file mode 100644 index 000000000000..ebe325c5acc1 --- /dev/null +++ b/app-containers/earthly/earthly-0.8.6.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Git commit SHA is needed at runtime by earthly to pull and bootstrap images. +if [[ "${PV}" == 0.8.6 ]] ; then + COMMIT_SHA=b20c1db1cfe5816a5d2f7d416d598d5777d8f4bb +else + die 'Could not detect "COMMIT_SHA", please update the ebuild.' +fi + +inherit go-module + +DESCRIPTION="Build automation tool that executes in containers" +HOMEPAGE="https://earthly.dev/ + https://github.com/earthly/earthly/" +SRC_URI=" + https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz + -> ${P}.tar.gz + https://dev.gentoo.org/~xgqt/distfiles/deps/${P}-deps.tar.xz +" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="amd64 ~x86" + +RDEPEND=" + || ( + app-containers/docker + app-containers/podman + ) +" + +DOCS=( CHANGELOG.md CONTRIBUTING.md README.md ) + +src_compile() { + local go_tags="dfrunmount,dfrunsecurity,dfsecrets,dfssh,dfrunnetwork,dfheredoc,forceposix" + local go_ldflags=" + -X main.DefaultBuildkitdImage=docker.io/earthly/buildkitd:v${PV} + -X main.GitSha=${COMMIT_SHA} + -X main.Version=v${PV} + " + local -a go_buildargs=( + -tags "${go_tags}" + -ldflags "${go_ldflags}" + -o ./bin/ + ) + ego build "${go_buildargs[@]}" ./cmd/... +} + +src_install() { + exeinto /usr/bin + doexe bin/earthly + newexe bin/debugger earthly-debugger + + einstalldocs +} + +pkg_postinst() { + if has_version "app-containers/podman" ; then + ewarn "Podman is supported but not recommended." + ewarn "If issues arise, then please try running earthly with docker." + fi + + if has_version "app-containers/podman[rootless]" ; then + ewarn "Running podman in rootless mode is not supported because" + ewarn "earthly/dind and earthly/buildkit require privileged access." + ewarn "For more info see: https://docs.earthly.dev/docs/guides/podman/" + fi +} diff --git a/app-containers/earthly/earthly-0.8.7.ebuild b/app-containers/earthly/earthly-0.8.7.ebuild new file mode 100644 index 000000000000..dce5b7a66374 --- /dev/null +++ b/app-containers/earthly/earthly-0.8.7.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Git commit SHA is needed at runtime by earthly to pull and bootstrap images. +if [[ "${PV}" == 0.8.7 ]] ; then + COMMIT_SHA=c18f025070261439c15a97897a8940cb109ea7c4 +else + die 'Could not detect "COMMIT_SHA", please update the ebuild.' +fi + +inherit go-module unpacker + +DESCRIPTION="Build automation tool that executes in containers" +HOMEPAGE="https://earthly.dev/ + https://github.com/earthly/earthly/" +SRC_URI=" + https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz + -> ${P}.tar.gz + https://dev.gentoo.org/~xgqt/distfiles/deps/${P}-deps.tar.zst +" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + || ( + app-containers/docker + app-containers/podman + ) +" + +DOCS=( CHANGELOG.md CONTRIBUTING.md README.md ) + +src_unpack() { + unpacker "${P}-deps.tar.zst" + + go-module_src_unpack +} + +src_compile() { + local go_tags="dfrunmount,dfrunsecurity,dfsecrets,dfssh,dfrunnetwork,dfheredoc,forceposix" + local go_ldflags=" + -X main.DefaultBuildkitdImage=docker.io/earthly/buildkitd:v${PV} + -X main.GitSha=${COMMIT_SHA} + -X main.Version=v${PV} + " + local -a go_buildargs=( + -tags "${go_tags}" + -ldflags "${go_ldflags}" + -o ./bin/ + ) + ego build "${go_buildargs[@]}" ./cmd/... +} + +src_install() { + exeinto /usr/bin + doexe bin/earthly + newexe bin/debugger earthly-debugger + + einstalldocs +} + +pkg_postinst() { + if has_version "app-containers/podman" ; then + ewarn "Podman is supported but not recommended." + ewarn "If issues arise, then please try running earthly with docker." + fi + + if has_version "app-containers/podman[rootless]" ; then + ewarn "Running podman in rootless mode is not supported because" + ewarn "earthly/dind and earthly/buildkit require privileged access." + ewarn "For more info see: https://docs.earthly.dev/docs/guides/podman/" + fi +} diff --git a/app-containers/earthly/earthly-0.8.8.ebuild b/app-containers/earthly/earthly-0.8.8.ebuild new file mode 100644 index 000000000000..bace0e6e3fcf --- /dev/null +++ b/app-containers/earthly/earthly-0.8.8.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Git commit SHA is needed at runtime by earthly to pull and bootstrap images. +if [[ "${PV}" == 0.8.8 ]] ; then + COMMIT_SHA=2718b793272cf8f80fa61071b41fec8469a7427b +else + die 'Could not detect "COMMIT_SHA", please update the ebuild.' +fi + +inherit go-module unpacker + +DESCRIPTION="Build automation tool that executes in containers" +HOMEPAGE="https://earthly.dev/ + https://github.com/earthly/earthly/" +SRC_URI=" + https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz + -> ${P}.tar.gz + https://dev.gentoo.org/~xgqt/distfiles/deps/${P}-deps.tar.zst +" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + || ( + app-containers/docker + app-containers/podman + ) +" + +DOCS=( CHANGELOG.md CONTRIBUTING.md README.md ) + +src_unpack() { + unpacker "${P}-deps.tar.zst" + + go-module_src_unpack +} + +src_compile() { + local go_tags="dfrunmount,dfrunsecurity,dfsecrets,dfssh,dfrunnetwork,dfheredoc,forceposix" + local go_ldflags=" + -X main.DefaultBuildkitdImage=docker.io/earthly/buildkitd:v${PV} + -X main.GitSha=${COMMIT_SHA} + -X main.Version=v${PV} + " + local -a go_buildargs=( + -tags "${go_tags}" + -ldflags "${go_ldflags}" + -o ./bin/ + ) + ego build "${go_buildargs[@]}" ./cmd/... +} + +src_install() { + exeinto /usr/bin + doexe bin/earthly + newexe bin/debugger earthly-debugger + + einstalldocs +} + +pkg_postinst() { + if has_version "app-containers/podman" ; then + ewarn "Podman is supported but not recommended." + ewarn "If issues arise, then please try running earthly with docker." + fi + + if has_version "app-containers/podman[rootless]" ; then + ewarn "Running podman in rootless mode is not supported because" + ewarn "earthly/dind and earthly/buildkit require privileged access." + ewarn "For more info see: https://docs.earthly.dev/docs/guides/podman/" + fi +} diff --git a/app-containers/earthly/earthly-0.8.9.ebuild b/app-containers/earthly/earthly-0.8.9.ebuild new file mode 100644 index 000000000000..c2d32ac9fae0 --- /dev/null +++ b/app-containers/earthly/earthly-0.8.9.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Git commit SHA is needed at runtime by earthly to pull and bootstrap images. +if [[ "${PV}" == 0.8.9 ]] ; then + COMMIT_SHA=a2fc61ee6e00ed5b8ad09bd06c59451534e2541e +else + die 'Could not detect "COMMIT_SHA", please update the ebuild.' +fi + +inherit go-module unpacker + +DESCRIPTION="Build automation tool that executes in containers" +HOMEPAGE="https://earthly.dev/ + https://github.com/earthly/earthly/" +SRC_URI=" + https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz + -> ${P}.tar.gz + https://dev.gentoo.org/~xgqt/distfiles/deps/${P}-deps.tar.zst +" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + || ( + app-containers/docker + app-containers/podman + ) +" + +DOCS=( CHANGELOG.md CONTRIBUTING.md README.md ) + +src_unpack() { + unpacker "${P}-deps.tar.zst" + + go-module_src_unpack +} + +src_compile() { + local -r go_tags="dfrunmount,dfrunsecurity,dfsecrets,dfssh,dfrunnetwork,dfheredoc,forceposix" + local -r go_ldflags=" + -X main.DefaultBuildkitdImage=docker.io/earthly/buildkitd:v${PV} + -X main.GitSha=${COMMIT_SHA} + -X main.Version=v${PV} + " + local -a -r go_buildargs=( + -tags "${go_tags}" + -ldflags "${go_ldflags}" + -o ./bin/ + ) + ego build "${go_buildargs[@]}" ./cmd/... +} + +src_install() { + exeinto /usr/bin + doexe bin/earthly + newexe bin/debugger earthly-debugger + + einstalldocs +} + +pkg_postinst() { + if has_version "app-containers/podman" ; then + ewarn "Podman is supported but not recommended." + ewarn "If issues arise, then please try running earthly with docker." + fi + + if has_version "app-containers/podman[rootless]" ; then + ewarn "Running podman in rootless mode is not supported because" + ewarn "earthly/dind and earthly/buildkit require privileged access." + ewarn "For more info see: https://docs.earthly.dev/docs/guides/podman/" + fi +} diff --git a/app-containers/earthly/metadata.xml b/app-containers/earthly/metadata.xml new file mode 100644 index 000000000000..f0f168c87b07 --- /dev/null +++ b/app-containers/earthly/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> + +<pkgmetadata> + <maintainer type="person"> + <email>xgqt@gentoo.org</email> + <name>Maciej Barć</name> + </maintainer> + <longdescription> + Earthly is a versatile, approachable CI/CD framework that runs every + pipeline inside containers, giving you repeatable builds that you write + once and run anywhere. It has a super simple, instantly recognizable syntax + that is easy to write and understand – like Dockerfile and Makefile had a + baby. And it leverages and augments popular build tools instead of + replacing them, so you don’t have to rewrite all your builds no matter what + languages you use. + </longdescription> + <upstream> + <bugs-to>https://github.com/earthly/earthly/issues/</bugs-to> + <remote-id type="github">earthly/earthly</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-containers/flannel/Manifest b/app-containers/flannel/Manifest index cf7c3d507b9c..adad8566f465 100644 --- a/app-containers/flannel/Manifest +++ b/app-containers/flannel/Manifest @@ -1,5 +1,2 @@ -DIST flannel-0.14.0.tar.gz 8324790 BLAKE2B 47fd65d531f9fa10e602ccf1858549ede97d8f8c9afa32ffeb010d733060703262cafd02b5daddc65142dfa96b1c6b429eaff30b7fdaca27e2a5397c0d756e7c SHA512 a5d9f45d55f18c744e635b4d697200cf9d5a8c4387cd6d9c57220e652e3688337f2ee50fef193135dd0073b14edb8800fac8d5ca9f9d0d3e9ef70d09a52f259c -DIST flannel-0.16.0.tar.gz 8697548 BLAKE2B a307990554a6cf215bef6ac75a544d00d8c6cd702f02e98efaf80b89d0ecf4592c1c338d1f80cf22ee086355ee7edb77492e6af587cbf037f38b6e3dbc4ac252 SHA512 7b80fe1e282c312b8b242d2201ecd164d87b551f4bc02d8375ca856c0dcfad2d31bd1b4041663016130b0bd7ebaf0062afe59c0946e97f10478142ca8ffd94f0 -DIST flannel-0.16.1.tar.gz 8697974 BLAKE2B bff4d5a6fe179129fa9ae494291301b25bc3ff9d6f4049b990f50b01920dfd20d149eb85339e2930b66dd060aca57f269a3b21fa508a3c95f5d152bbfb91631f SHA512 699ba7e7b80dd60a03bb5c6ee384a582201d8167ef21e60816ca9942a9d70ba0fd7633a3d2a44802f9f0a0851a79709afe78bd46f15ca81641ff64d46859f928 -DIST flannel-0.16.3.tar.gz 9531741 BLAKE2B 6a22b3d031dda538a0b64877eda4afbf5e9cbe6d39342325f54bcc5faf1b867c8eef6a9f2800ec9b872ed5c48d17aa23842f273a0fad862bffb99b9905045363 SHA512 965708d99401c4a6a32883181afbc1afccd2211589411272b6b93f225ec84373b95fa2be840d00c39364b8e4c1a8a3763a498523503ecb631156c5c70304a9b9 DIST flannel-0.17.0.tar.gz 9534647 BLAKE2B 03d6d036d5877641a2fc7b6654995822522d378943e4d7b2531be8197de6e7d6e0509143cd8d4dfd3d2ef11c9355011bfc44c834f966e14fd3aa774350bcab11 SHA512 f0625339e387a6ae81780d21025c282c2e0caf8b32ac778634a877a4e04ebf10d41fc10b50ae477c28815cedaf34af867b651ed5a8c5267177ea925abc6a1253 +DIST flannel-0.20.0.tar.gz 10737855 BLAKE2B d2e5821c4457a8c0781618a62245132f862d7877ce10467f8d9c72be2440f7b60f0866a3420a69d13bc53826407b0b653e6c2385f8e56d684ee1e09acf0528f0 SHA512 624a293607d3d4d5e53b41b5fd26a416f8499a763f8cfbe39c79796644a56d5eb3605664592d15eddde519f2dba55da241889be159644bbe40e78ae72ed5a43b diff --git a/app-containers/flannel/flannel-0.14.0.ebuild b/app-containers/flannel/flannel-0.14.0.ebuild deleted file mode 100644 index ec33f31625ba..000000000000 --- a/app-containers/flannel/flannel-0.14.0.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit go-module systemd tmpfiles - -KEYWORDS="~amd64 ~arm64" -DESCRIPTION="An etcd backed network fabric for containers" -HOMEPAGE="https://github.com/coreos/flannel" -SRC_URI="https://github.com/coreos/flannel/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 BSD ISC LGPL-3 MIT" -SLOT="0" -IUSE="hardened" - -RESTRICT+=" test" - -src_prepare() { - default - sed -e "s:^var Version =.*:var Version = \"${PV}\":" \ - -i "${S}/version/version.go" || die -} - -src_compile() { - CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')"\ - go build -o dist/flanneld -ldflags " - -X github.com/flannel-io/flannel/version.Version=v${PV} - -extldflags \"-static\"" . || die -} - -src_test() { - GOPATH="${WORKDIR}/${P}" \ - go test -v -work -x "${EGO_PN}" || die -} - -src_install() { - dobin dist/${PN}d - exeinto /usr/libexec/flannel - doexe dist/mk-docker-opts.sh - insinto /etc/systemd/system/docker.service.d - newins "${FILESDIR}/flannel-docker.conf" flannel.conf - newinitd "${FILESDIR}"/flanneld.initd flanneld - newconfd "${FILESDIR}"/flanneld.confd flanneld - keepdir /var/log/${PN} - insinto /etc/logrotate.d - newins "${FILESDIR}"/flanneld.logrotated flanneld - newtmpfiles "${FILESDIR}/flannel.tmpfilesd" flannel.conf - systemd_dounit "${FILESDIR}/flanneld.service" - dodoc README.md -} - -pkg_postinst() { - tmpfiles_process flannel.conf -} diff --git a/app-containers/flannel/flannel-0.16.0.ebuild b/app-containers/flannel/flannel-0.16.0.ebuild deleted file mode 100644 index ec33f31625ba..000000000000 --- a/app-containers/flannel/flannel-0.16.0.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit go-module systemd tmpfiles - -KEYWORDS="~amd64 ~arm64" -DESCRIPTION="An etcd backed network fabric for containers" -HOMEPAGE="https://github.com/coreos/flannel" -SRC_URI="https://github.com/coreos/flannel/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 BSD ISC LGPL-3 MIT" -SLOT="0" -IUSE="hardened" - -RESTRICT+=" test" - -src_prepare() { - default - sed -e "s:^var Version =.*:var Version = \"${PV}\":" \ - -i "${S}/version/version.go" || die -} - -src_compile() { - CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')"\ - go build -o dist/flanneld -ldflags " - -X github.com/flannel-io/flannel/version.Version=v${PV} - -extldflags \"-static\"" . || die -} - -src_test() { - GOPATH="${WORKDIR}/${P}" \ - go test -v -work -x "${EGO_PN}" || die -} - -src_install() { - dobin dist/${PN}d - exeinto /usr/libexec/flannel - doexe dist/mk-docker-opts.sh - insinto /etc/systemd/system/docker.service.d - newins "${FILESDIR}/flannel-docker.conf" flannel.conf - newinitd "${FILESDIR}"/flanneld.initd flanneld - newconfd "${FILESDIR}"/flanneld.confd flanneld - keepdir /var/log/${PN} - insinto /etc/logrotate.d - newins "${FILESDIR}"/flanneld.logrotated flanneld - newtmpfiles "${FILESDIR}/flannel.tmpfilesd" flannel.conf - systemd_dounit "${FILESDIR}/flanneld.service" - dodoc README.md -} - -pkg_postinst() { - tmpfiles_process flannel.conf -} diff --git a/app-containers/flannel/flannel-0.16.3.ebuild b/app-containers/flannel/flannel-0.16.3.ebuild deleted file mode 100644 index ad8fbf25ad4e..000000000000 --- a/app-containers/flannel/flannel-0.16.3.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit go-module systemd tmpfiles - -KEYWORDS="~amd64 ~arm64" -DESCRIPTION="An etcd backed network fabric for containers" -HOMEPAGE="https://github.com/coreos/flannel" -SRC_URI="https://github.com/coreos/flannel/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 BSD ISC LGPL-3 MIT" -SLOT="0" -IUSE="hardened" - -RESTRICT+=" test" - -src_prepare() { - default - sed -e "s:^var Version =.*:var Version = \"${PV}\":" \ - -i "${S}/version/version.go" || die -} - -src_compile() { - CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')"\ - go build -o dist/flanneld -ldflags " - -X github.com/flannel-io/flannel/version.Version=v${PV} - -extldflags \"-static\"" . || die -} - -src_test() { - GOPATH="${WORKDIR}/${P}" \ - go test -v -work -x "${EGO_PN}" || die -} - -src_install() { - dobin dist/${PN}d - exeinto /usr/libexec/flannel - doexe dist/mk-docker-opts.sh - insinto /etc/systemd/system/docker.service.d - newins "${FILESDIR}/flannel-docker.conf" flannel.conf - newinitd "${FILESDIR}"/flanneld.initd flanneld - newconfd "${FILESDIR}"/flanneld.confd flanneld - keepdir /var/log/${PN} - insinto /etc/logrotate.d - newins "${FILESDIR}"/flanneld.logrotated flanneld - newtmpfiles "${FILESDIR}/flannel.tmpfilesd" flannel.conf - systemd_dounit "${FILESDIR}/flanneld.service" - dodoc README.md -} - -pkg_postinst() { - tmpfiles_process flannel.conf -} diff --git a/app-containers/flannel/flannel-0.16.1.ebuild b/app-containers/flannel/flannel-0.20.0.ebuild index ad8fbf25ad4e..18d922d3f1d3 100644 --- a/app-containers/flannel/flannel-0.16.1.ebuild +++ b/app-containers/flannel/flannel-0.20.0.ebuild @@ -6,8 +6,8 @@ inherit go-module systemd tmpfiles KEYWORDS="~amd64 ~arm64" DESCRIPTION="An etcd backed network fabric for containers" -HOMEPAGE="https://github.com/coreos/flannel" -SRC_URI="https://github.com/coreos/flannel/archive/v${PV}.tar.gz -> ${P}.tar.gz" +HOMEPAGE="https://github.com/flannel-io/flannel" +SRC_URI="https://github.com/flannel-io/flannel/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="Apache-2.0 BSD ISC LGPL-3 MIT" SLOT="0" diff --git a/app-containers/go-secbench/Manifest b/app-containers/go-secbench/Manifest deleted file mode 100644 index 915d02957600..000000000000 --- a/app-containers/go-secbench/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST go-secbench-0.1.0.tar.gz 1281488 BLAKE2B 83bb27a2113a5e851db8b61402d967d528c9e3b39d249a23b4d28c21e001276eff73f61c6aba610f0020f22de26b04286a91e5a3785b5a9e019d2701d6081f92 SHA512 4712ef56385993ed1e660c1843a1d7e9cd807a3ca8bf935767e8d2965aef25c5b3a7a88d4ed7c072fe124a6b05900bd444cdbc0cee879e80844fb5f695732f2b diff --git a/app-containers/go-secbench/go-secbench-0.1.0-r1.ebuild b/app-containers/go-secbench/go-secbench-0.1.0-r1.ebuild deleted file mode 100644 index bbc7926f7164..000000000000 --- a/app-containers/go-secbench/go-secbench-0.1.0-r1.ebuild +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -EGO_PN="github.com/qnib/go-secbench" -inherit golang-build golang-vcs-snapshot - -DESCRIPTION="run and evaluate the docker security benchmark" -HOMEPAGE="https://github.com/qnib/go-secbench" -SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -RESTRICT="test" - -DEPEND="dev-lang/go" -RDEPEND="app-containers/docker" - -src_compile() { - GOPATH="${S}" go build -o bin/go-secbench src/${EGO_PN}/cmd/main.go || die -} - -src_install() { - dobin bin/${PN} -dodoc "src/${EGO_PN}/README.md" -} diff --git a/app-containers/go-secbench/go-secbench-0.1.0.ebuild b/app-containers/go-secbench/go-secbench-0.1.0.ebuild deleted file mode 100644 index fdceccf32659..000000000000 --- a/app-containers/go-secbench/go-secbench-0.1.0.ebuild +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -EGO_PN="github.com/qnib/go-secbench" -inherit golang-build golang-vcs-snapshot - -DESCRIPTION="run and evaluate the docker security benchmark" -HOMEPAGE="https://github.com/qnib/go-secbench" -SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -RESTRICT="test" - -DEPEND="dev-lang/go" - -src_compile() { - GOPATH="${S}" go build -o bin/go-secbench src/${EGO_PN}/cmd/main.go || die -} - -src_install() { - dobin bin/${PN} -dodoc "src/${EGO_PN}/README.md" -} diff --git a/app-containers/go-secbench/metadata.xml b/app-containers/go-secbench/metadata.xml deleted file mode 100644 index db463f3eeb66..000000000000 --- a/app-containers/go-secbench/metadata.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>williamh@gentoo.org</email> - <name>William Hubbs</name> - </maintainer> -</pkgmetadata> diff --git a/app-containers/grype/Manifest b/app-containers/grype/Manifest index 7988e683c9d8..eeb89d8c7035 100644 --- a/app-containers/grype/Manifest +++ b/app-containers/grype/Manifest @@ -1,4 +1,8 @@ -DIST grype-0.44.0-deps.tar.xz 641743984 BLAKE2B f30557d75628f84dff70ca4272555c7c3577bfe572c9ba16b0e78bc472732d5e82e734ed1ba4dfed59dbb86dc6a788d1379824e7b31bcdd148c5dff43f87e011 SHA512 de46c03f35f70353f0250b77364252316c48f70c1c4549f5d2a680062faee0305c7190906087e94d927333c4fae76de3c3b16046e3f3dc089013b66e132a2ff9 -DIST grype-0.44.0.tar.gz 1071804 BLAKE2B 2334ec9b9c04dfc03dbd280725a55bb6cdcd4569431eeb94abe799c75be08ff5164446cba7e97e3dc0ed8dcc10ba4bc8f70edecf9766cdc63e91b3dd420de391 SHA512 7573d03c2e0cbabb6ae3a91ebaa65848a7b43fc3624416f6c52a001acf6cfc839bce806e8e914c29bc2d0fc1aadd9b568ffc21d5a60bd9c05905e0185d7bdcd3 -DIST grype-0.45.0-deps.tar.xz 644905072 BLAKE2B 5f1dd53106798b861ed90ed502406aa844fb99448fc8bf30dec3d32749db00c11106a16a93c2d92893cb2e8611b6dae7c63d9a5dfcc56b98fd373c3f8ddafc28 SHA512 31c343e898a880c91f7153e258e68d4c350484c9edcabb7b4a0df4d18a10b518b6878d04b5d96b8029855bf81f0b59fc052ee1cac3bcb27bdcfa334bdbe876ce -DIST grype-0.45.0.tar.gz 1074637 BLAKE2B 4cfa86a0ad695971241c40f19f982f54654642ff31f7220583af3b3aa0c1d6ca56f613e96b7343c4cb32b567efeb81c2145c19f009183b3d7f23ddeb1f01e02d SHA512 0a899c420d3d6ed9e669a0d02b0d79f0c63d50288b31c44cbbe61a883d46b93bf98be263cd7859d392ee40b82754c8cbe9b284dec593f79c5906988b01369209 +DIST grype-0.59.1-deps.tar.xz 555292828 BLAKE2B ce132ecd42efd2c76bce1843b1da2ff763494a0206c8618c95ec03ae9d73a77378a68e503de9115c73efd6acbab4cc30bf222676c7888aafb08de8454351fb2b SHA512 aa627bfbf52c218786d009dee6e37bc09d70fd98ad10b8c07ec91db9d15380a1fbc35f380ee22fae8b6e7b090d1aabfebf58bc1ea6bca2bd179dcaa74b52a2c0 +DIST grype-0.59.1.tar.gz 1021093 BLAKE2B 0c5b0a8a14e297e123965d451daff082cbabb01f766ec355a37d54d7044b865430aa7cbec20d8002feac33f93e24565ebe6346a8559e8a25bf3df1dcc8ca217e SHA512 8f219ade9d7369f124dd8c035f3bef6ce5055e318d7ab1578f7f98a7fa6e842dad26fae8b2337884d4af3773b2c590b61485a490f98c66dfcbd82ef73d8b766b +DIST grype-0.61.0-deps.tar.xz 562038080 BLAKE2B cb780751f50f9c74ac9f9a7064e489211bdfbd3d9df5fbd3fd51aa6081a48cac38b5efcaf524708cb010b3767c7bf31eaf8151e96f610ae84a814de767beec8e SHA512 eca6b813c140af26533154ca10f50a44351bef921e6140c3ae02c8b888d4e43bd7163954684463c19acf3c11b7ee93c1531b4b1042f0cd3886e1da36f384c029 +DIST grype-0.61.0.tar.gz 1021705 BLAKE2B 32ff98f3f240ee5d883edb568ff9caa7614053e76ea9bd8a774a5abb92091e4356e25c10b94d9aaf4a17a2f8c4c7d0f26e2ceec8a089ca079029893d255a7480 SHA512 ce4b1805f17bccd3281a218673156669ae632418bdfabf95c310b973bc224b89b7e0e3ca57a8c7e1df444074e034092d963df3b11cbf393e500fe1786f707ed5 +DIST grype-0.72.0-deps.tar.xz 599210536 BLAKE2B 4912cf4278488e78c7a174654da20f640c4975b5e98741e7caa94d9865ae51013a410863ee68c520805985afc19ca0b2b2175b8f2241724ceac86217719efd82 SHA512 1a91f1b46dc5a206025554c32f5420019ff0f8de564b67ad91070bdbe46abb71f08d409856799672cc31a7d753e151343d925147332caeb044f3cfd81318ff08 +DIST grype-0.72.0.tar.gz 1114440 BLAKE2B 931f4bdd883471e8b34b09dd1df53d4e67df96fc0d7be5224d1acfecc618cb068ee268f4b269e5a7f5e01a6605b9e01f8bb6a150819e8410a6b4f0daa12877ff SHA512 8335de5cba0b11500df1404afeee311be50c7e55d1a57c85cbebe830c9e8d9d21ff7b35ab6110200e57f464e999576f395814a56485115f8c7ed7b6e9f7dafb9 +DIST grype-0.73.0-deps.tar.xz 627765660 BLAKE2B 3d3949922a635d0654120aaf05edef38e7ae998c7beab89a7f13de994ab5f34bd6ade6a67145f5a366a2956ffb124a94a952b426a71cb50a7a30f65a7d721784 SHA512 f2e0ba2da0c196e705a23efc9e989ed3525d3465d661a2d5ce832c0663b0226a885541d91a773922f32de4d849030b73c307487eec00d0498368925213b9444d +DIST grype-0.73.0.tar.gz 1124082 BLAKE2B 835b1833e6809510821f07906df06c55b418f7226dba190b4bf4f32ae603c006842496512d5e788eef8f2ce7e215a923bc338a1c55f089a3942476275663a6b2 SHA512 06be60104f23be38578660a79d3c593e988e2c5fce646b00dedec9af4d3442f204f81d063806944cfdaa04daffdff256ac71b52ed94d8ae07acde1e15c442f08 diff --git a/app-containers/grype/grype-0.44.0.ebuild b/app-containers/grype/grype-0.44.0.ebuild deleted file mode 100644 index c98fb9fd7f0c..000000000000 --- a/app-containers/grype/grype-0.44.0.ebuild +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit go-module - -DESCRIPTION="A vulnerability scanner for container images and filesystems" -HOMEPAGE="https://www.anchore.com" -SRC_URI="https://github.com/anchore/grype/archive/v${PV}.tar.gz -> ${P}.tar.gz" -SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" - -src_compile() { - ego build -o bin/grype -} - -src_install() { - dobin bin/grype -} diff --git a/app-containers/grype/grype-0.45.0.ebuild b/app-containers/grype/grype-0.59.1.ebuild index 44c3442495f8..3ce88f7f6d9d 100644 --- a/app-containers/grype/grype-0.45.0.ebuild +++ b/app-containers/grype/grype-0.59.1.ebuild @@ -1,10 +1,10 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit go-module -GIT_COMMIT=8fe761b41ffc280e58e82b7fbba4d0d1a05aeb91 -SYFT_VERSION=0.53.4 +GIT_COMMIT=29b646568901d1ef48a528cf35f67f3cead49c9f +SYFT_VERSION=0.74.1 DESCRIPTION="A vulnerability scanner for container images and filesystems" HOMEPAGE="https://www.anchore.com" diff --git a/app-containers/grype/grype-0.44.0-r1.ebuild b/app-containers/grype/grype-0.61.0.ebuild index 868972a69ab6..99ae14b81d3c 100644 --- a/app-containers/grype/grype-0.44.0-r1.ebuild +++ b/app-containers/grype/grype-0.61.0.ebuild @@ -1,10 +1,10 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit go-module -GIT_COMMIT=a6ec8f11be5fdc116dc7bbfebdc03bfc13cd2005 -SYFT_VERSION=0.52.0 +GIT_COMMIT=d8c0c0805b59659c4d6e49d6806a0eba11bdc2ee +SYFT_VERSION=0.76.0 DESCRIPTION="A vulnerability scanner for container images and filesystems" HOMEPAGE="https://www.anchore.com" diff --git a/app-containers/grype/grype-0.72.0.ebuild b/app-containers/grype/grype-0.72.0.ebuild new file mode 100644 index 000000000000..acccd2982d3f --- /dev/null +++ b/app-containers/grype/grype-0.72.0.ebuild @@ -0,0 +1,34 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module +GIT_COMMIT=04df28051b7694a5e4a28fc5b2ea2068f24ef213 +SYFT_VERSION=0.94.0 + +DESCRIPTION="A vulnerability scanner for container images and filesystems" +HOMEPAGE="https://www.anchore.com" +SRC_URI="https://github.com/anchore/grype/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +# tests require a running docker +RESTRICT="test" + +src_compile() { + ego build -o bin/grype -ldflags " + -extldflags '-static' + -X github.com/anchore/grype/internal/version.version=${PV} + -X github.com/anchore/grype/internal/version.syftVersion=${SYFT_VERSION} + -X github.com/anchore/grype/internal/version.gitCommit=${GIT_COMMIT} + -X github.com/anchore/grype/internal/version.buildDate=${BUILD_DATE} + -X github.com/anchore/grype/internal/version.gitDescription=v${PV} + " ./cmd/grype +} + +src_install() { + dobin bin/grype +} diff --git a/app-containers/grype/grype-0.73.0.ebuild b/app-containers/grype/grype-0.73.0.ebuild new file mode 100644 index 000000000000..a2befc0a8c0d --- /dev/null +++ b/app-containers/grype/grype-0.73.0.ebuild @@ -0,0 +1,34 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module +GIT_COMMIT=15432488224b3d7a557798fd258828f618dadc90 +SYFT_VERSION=0.95.0 + +DESCRIPTION="A vulnerability scanner for container images and filesystems" +HOMEPAGE="https://www.anchore.com" +SRC_URI="https://github.com/anchore/grype/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +# tests require a running docker +RESTRICT="test" + +src_compile() { + ego build -o bin/grype -ldflags " + -extldflags '-static' + -X github.com/anchore/grype/internal/version.version=${PV} + -X github.com/anchore/grype/internal/version.syftVersion=${SYFT_VERSION} + -X github.com/anchore/grype/internal/version.gitCommit=${GIT_COMMIT} + -X github.com/anchore/grype/internal/version.buildDate=${BUILD_DATE} + -X github.com/anchore/grype/internal/version.gitDescription=v${PV} + " ./cmd/grype +} + +src_install() { + dobin bin/grype +} diff --git a/app-containers/grype/metadata.xml b/app-containers/grype/metadata.xml index 3b2a9c591010..db463f3eeb66 100644 --- a/app-containers/grype/metadata.xml +++ b/app-containers/grype/metadata.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="person"> -<email>williamh@gentoo.org</email> -<name>William Hubbs</name> -</maintainer> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> </pkgmetadata> diff --git a/app-containers/incus/Manifest b/app-containers/incus/Manifest new file mode 100644 index 000000000000..4dba74aab158 --- /dev/null +++ b/app-containers/incus/Manifest @@ -0,0 +1,6 @@ +DIST incus-0.6.tar.xz 11749212 BLAKE2B 6cf607f13f0dd14e04b49e97e718d6f11612193a6f27515988c9d12383e3655147edd1120a2b030c9b77f3f72c0c73ae3ec960090b4d76f59930ac0256c2a5c8 SHA512 c90251be777963c437c8f5a3f6a9e448d41f58ec2f2fb7bafbdc241f32234edd50a82a4c6d4a19e822a3d090282e8ea220842a27b17d17bce8691c1549209f7f +DIST incus-0.6.tar.xz.asc 833 BLAKE2B 47d80cbf92961d03e8a96eb313213960b02730d21d0a36c37e22bd1ea238bee72b94f2f98f49574b4ae07d847099db760a253f3bf69ff2658bcba65bc6a61315 SHA512 7504f74bf1659f06c40b9ae04853bb993988ae704f2b46c39a744bfa7b179383b5377851b6514b368826d6b3beb930188f3cf73b51c99a1b4cb90f8f03a60b5c +DIST incus-0.7.tar.xz 11829696 BLAKE2B 9e7dd7b196e538a4eb47d158d7c3d5459eace38431dfbe91d5f28f5b9dfc174e485b44f6b8c0f87a054e11f40d29d754f05fc6835034e4131bd8d6b948d720fa SHA512 79e389be3fa094c6c82c1e06b9f2a7e5181dc91db40cdcae4b28593a3e9e53f4f5705b5d6566b48689dbdaec9a277704df0c1b396455aca5f4c5ab93e74dc4d7 +DIST incus-0.7.tar.xz.asc 833 BLAKE2B afb20ff942a4497e895d0cf40b4de260ea32d4cb40284e317188c6aef5e100836ac434038aa931a2ee733abce3569a6ef8bbc162afdcf4dfc542e5c6b55e7d6b SHA512 0ace5c060e1222220858814fb55ecd48ccb0f51d902e6ef29f32d715e185a8c3dcbd29f556453fdc19ad23b1eea7b39db06786cc73373d881d0137d3ebf3af9a +DIST incus-6.0.0.tar.xz 11839792 BLAKE2B 135574e6f19262992bb068a3c0a0045c192699503e417eb861e00a974e631fd869485eb96238d1dbe4712e789367d31afae1c62bade2a8b75f7e9a7620547e74 SHA512 eb6d784a535d487bd85b3e8272d7cddc23f2ed98ca2b3e2f19c038b4a6f910d4030822424154489adef7a688757905927309d25f6d1ff621d99d678fe6aeae2b +DIST incus-6.0.0.tar.xz.asc 833 BLAKE2B f35c38f886290ff08e017cd54e8019c43bfbf1f9c84b26ede2cfa78acbe4047af4314465e77d6e900f296552d5ac8f8c07d26a11920bff937fbb8a0a910efb0d SHA512 0360520752fad3e95807d09e4fd6d60c96a202d0dbb61621925abd75aa801b6d573abbece3179a8906bdc47e96ddec4a746607ce2d10dcc1a76d0afd459cbf81 diff --git a/app-containers/incus/files/incus-0.4.confd b/app-containers/incus/files/incus-0.4.confd new file mode 100644 index 000000000000..b0f7e0e212ae --- /dev/null +++ b/app-containers/incus/files/incus-0.4.confd @@ -0,0 +1,26 @@ +# 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 new file mode 100644 index 000000000000..34e1f07a8921 --- /dev/null +++ b/app-containers/incus/files/incus-0.4.initd @@ -0,0 +1,59 @@ +#!/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/files/incus-0.4.service b/app-containers/incus/files/incus-0.4.service new file mode 100644 index 000000000000..17aea1de12b9 --- /dev/null +++ b/app-containers/incus/files/incus-0.4.service @@ -0,0 +1,22 @@ +[Unit] +Description=Incus - main daemon +After=network-online.target lxcfs.service incus.socket +Requires=network-online.target lxcfs.service incus.socket + +[Service] +EnvironmentFile=-/etc/environment +ExecStart=/usr/sbin/incusd --group incus-admin --syslog +ExecStartPost=/usr/sbin/incusd waitready --timeout=600 +ExecStartPre=/bin/mkdir -p /var/log/incus +ExecStartPre=/bin/chown -R root:incus-admin /var/log/incus +KillMode=process +PermissionsStartOnly=true +TimeoutStartSec=600s +TimeoutStopSec=30s +Restart=on-failure +LimitNOFILE=1048576 +LimitNPROC=infinity +TasksMax=infinity + +[Install] +Also=incus-startup.service incus.socket diff --git a/app-containers/incus/files/incus-0.4.socket b/app-containers/incus/files/incus-0.4.socket new file mode 100644 index 000000000000..741fadd0309d --- /dev/null +++ b/app-containers/incus/files/incus-0.4.socket @@ -0,0 +1,11 @@ +[Unit] +Description=Incus - Daemon (unix socket) + +[Socket] +ListenStream=/var/lib/incus/unix.socket +SocketGroup=incus-admin +SocketMode=0660 +Service=incus.service + +[Install] +WantedBy=sockets.target diff --git a/app-containers/incus/files/incus-0.6-fix-column-handling-with-all-projects.patch b/app-containers/incus/files/incus-0.6-fix-column-handling-with-all-projects.patch new file mode 100644 index 000000000000..75e85331f776 --- /dev/null +++ b/app-containers/incus/files/incus-0.6-fix-column-handling-with-all-projects.patch @@ -0,0 +1,41 @@ +From bbc4b946355775606da35557e5404ca83a586c67 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@stgraber.org> +Date: Thu, 22 Feb 2024 22:41:15 -0500 +Subject: [PATCH] incus/image: Fix column handling with --all-projects +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Stéphane Graber <stgraber@stgraber.org> +--- + cmd/incus/image.go | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/cmd/incus/image.go b/cmd/incus/image.go +index 5ee2b74709..d5a1126855 100644 +--- a/cmd/incus/image.go ++++ b/cmd/incus/image.go +@@ -1134,11 +1134,6 @@ func (c *cmdImageList) parseColumns() ([]imageColumn, error) { + columnList := strings.Split(c.flagColumns, ",") + + columns := []imageColumn{} +- // Add project column if --all-projects flag specified and +- // no --c was passed +- if c.flagAllProjects && c.flagColumns == defaultImagesColumns { +- c.flagColumns = defaultImagesColumnsAllProjects +- } + + for _, columnEntry := range columnList { + if columnEntry == "" { +@@ -1321,6 +1316,11 @@ func (c *cmdImageList) Run(cmd *cobra.Command, args []string) error { + return err + } + ++ // Add project column if --all-projects flag specified and no -c was passed. ++ if c.flagAllProjects && c.flagColumns == defaultImagesColumns { ++ c.flagColumns = defaultImagesColumnsAllProjects ++ } ++ + // Parse remote + remote := "" + if len(args) > 0 { diff --git a/app-containers/incus/files/incus-startup-0.4.service b/app-containers/incus/files/incus-startup-0.4.service new file mode 100644 index 000000000000..8838bdc4949d --- /dev/null +++ b/app-containers/incus/files/incus-startup-0.4.service @@ -0,0 +1,15 @@ +[Unit] +Description=Incus - Startup check +After=incus.socket incus.service +Requires=incus.socket + +[Service] +Type=oneshot +ExecStart=/usr/sbin/incus-startup start +ExecStop=/usr/sbin/incus-startup stop +TimeoutStartSec=600s +TimeoutStopSec=600s +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/app-containers/incus/files/incus-startup-0.4.sh b/app-containers/incus/files/incus-startup-0.4.sh new file mode 100644 index 000000000000..6b19f22e4cb5 --- /dev/null +++ b/app-containers/incus/files/incus-startup-0.4.sh @@ -0,0 +1,21 @@ +#!/bin/sh +set -e + +case "$1" in + start) + systemctl is-active incus -q && exit 0 + exec incusd activateifneeded + ;; + + stop) + systemctl is-active incus -q || exit 0 + exec incusd shutdown + ;; + + *) + echo "unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/app-containers/incus/files/incus-user-0.4.initd b/app-containers/incus/files/incus-user-0.4.initd new file mode 100644 index 000000000000..7d81d298f584 --- /dev/null +++ b/app-containers/incus/files/incus-user-0.4.initd @@ -0,0 +1,37 @@ +#!/sbin/openrc-run +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +name="incus-user socket daemon" +description="incus-user socket daemon" + +DAEMON=/usr/sbin/incus-user +PIDFILE=/run/incus-user.pid + +depend() { + need incus + need net +} + +start() { + ebegin "Starting incus-user socket daemon" + + start-stop-daemon --start \ + --pidfile ${PIDFILE} \ + --exec ${DAEMON} \ + --background \ + --make-pidfile \ + -- \ + --group incus + eend ${?} +} + +stop() { + if [ "${RC_CMD}" = restart ]; then + start-stop-daemon --stop --quiet -p "${PIDFILE}" + eend ${?} + else + start-stop-daemon --stop --quiet -p "${PIDFILE}" + eend ${?} + fi +} diff --git a/app-containers/incus/files/incus-user-0.4.service b/app-containers/incus/files/incus-user-0.4.service new file mode 100644 index 000000000000..4cb4d44263cb --- /dev/null +++ b/app-containers/incus/files/incus-user-0.4.service @@ -0,0 +1,12 @@ +[Unit] +Description=Incus - User daemon +After=incus-user.socket incus.service +Requires=incus-user.socket + +[Service] +EnvironmentFile=-/etc/environment +ExecStart=/usr/sbin/incus-user --group incus +Restart=on-failure + +[Install] +Also=incus-user.socket diff --git a/app-containers/incus/files/incus-user-0.4.socket b/app-containers/incus/files/incus-user-0.4.socket new file mode 100644 index 000000000000..5c14276fc6c6 --- /dev/null +++ b/app-containers/incus/files/incus-user-0.4.socket @@ -0,0 +1,11 @@ +[Unit] +Description=Incus - Daemon (user unix socket) + +[Socket] +ListenStream=/var/lib/incus/unix.socket.user +SocketGroup=incus +SocketMode=0660 +Service=incus-user.service + +[Install] +WantedBy=sockets.target diff --git a/app-containers/incus/incus-0.6-r1.ebuild b/app-containers/incus/incus-0.6-r1.ebuild new file mode 100644 index 000000000000..ccbc40adf773 --- /dev/null +++ b/app-containers/incus/incus-0.6-r1.ebuild @@ -0,0 +1,208 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 go-module linux-info optfeature systemd 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" +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 + dev-libs/lzo + >=dev-libs/raft-0.22.0:=[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" + +PATCHES=( "${FILESDIR}"/incus-0.6-fix-column-handling-with-all-projects.patch ) + +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-user incus lxc-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 + + cd "${S}"/cmd/lxd-to-incus || die + ego build -v -x ./ + cd "${S}" || die + + use nls && emake build-mo +} + +src_test() { + emake check +} + +src_install() { + export GOPATH="${S}/_dist" + local bindir="_dist/bin" + + newsbin "${FILESDIR}"/incus-startup-0.4.sh incus-startup + + # Admin tools + for l in incusd incus-user ; do + dosbin ${bindir}/${l} + done + dosbin cmd/lxd-to-incus/lxd-to-incus + + # User tools + for m in incus-agent incus-benchmark incus-migrate 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 + + dobashcomp scripts/bash/incus + + 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-0.7.ebuild b/app-containers/incus/incus-0.7.ebuild new file mode 100644 index 000000000000..be2cf6ac0037 --- /dev/null +++ b/app-containers/incus/incus-0.7.ebuild @@ -0,0 +1,205 @@ +# 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 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" +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 + dev-libs/lzo + >=dev-libs/raft-0.22.0:=[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_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" + local bindir="_dist/bin" + + 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 + + # 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 + + 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.0-r1.ebuild b/app-containers/incus/incus-6.0.0-r1.ebuild new file mode 100644 index 000000000000..79a1af3f07c5 --- /dev/null +++ b/app-containers/incus/incus-6.0.0-r1.ebuild @@ -0,0 +1,219 @@ +# 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" +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/metadata.xml b/app-containers/incus/metadata.xml new file mode 100644 index 000000000000..adf7210ec6b7 --- /dev/null +++ b/app-containers/incus/metadata.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>juippis@gentoo.org</email> + <name>Joonas Niilola</name> + </maintainer> + <maintainer type="project"> + <email>virtualization@gentoo.org</email> + <name>Gentoo Virtualization Project</name> + </maintainer> + <use> + <flag name="fuidshift">Install the fuidshift binary - currently conflicts with app-containers/lxd</flag> + </use> + <longdescription> + Incus is a modern, secure and powerful system container and virtual machine manager. + Incus is a community fork from Canonical's LXD. + + It provides a unified experience for running and managing full Linux systems inside containers + or virtual machines. Incus supplies images for a wide number of Linux distributions and is built + around a very powerful, yet pretty simple, REST API. Incus scales from one instance on a single + machine to a cluster in a full data center rack, making it suitable for running workloads both + for development and in production. + + Incus allows you to easily set up a system that feels like a small private cloud. You can run any + type of workload in an efficient way while keeping your resources optimized. + + You should consider using Incus if you want to containerize different environments or run virtual + machines, or in general run and manage your infrastructure in a cost-effective way. + </longdescription> + <upstream> + <remote-id type="github">canonical/lxd</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-containers/k3d/Manifest b/app-containers/k3d/Manifest index 8c8576b92b09..536b64890a4f 100644 --- a/app-containers/k3d/Manifest +++ b/app-containers/k3d/Manifest @@ -1,6 +1,2 @@ -DIST k3d-5.4.0-deps.tar.xz 85753240 BLAKE2B c86a3172e0944593b7d66ff3bf20c2c2398d725117e18b93cab0c291bd6ae9551d01ea4da7b7f2a96aec36f3143cb029474066f457b8e6308ea8ae4ee3fd90a0 SHA512 d7b8bc46e1a72f68bece84224ff8255e12f17020137523d8d3fc748e6fd152a8d7f4a3da53a624d8ce482341ac18161b64e885db3b3a5e14c018a16551367da3 -DIST k3d-5.4.0.tar.gz 7395322 BLAKE2B cc7a85b18db36861a8291ee20895a5d626c24f5ae106d48342b3d328070456fe816714dcf84b09606382de93af39acd74ce9fcbed72ac4dd4448ef2c099eddd2 SHA512 1af6a5264f0e1d53428c7f66d440c7d4541988d5fca64e4ea7e1c8177a918e30e7f27ff76a7d20291303fd410c32791634548b1b46dc30ff2810f57ad0253120 -DIST k3d-5.4.2-deps.tar.xz 76441740 BLAKE2B 3d5388fa057a0d5feb889b6fcec2234e2c22c751077276fd535d4a555f6b463166f4b422385e5732f752f00b42335a6bf1e27fdfaf7b3d54e244a228f70050f2 SHA512 04daa6470762e30cf0bb2409ba4db5c8bc06b75e1560e1099c28f8dc30c4239618b56763bf8c79177aebfefae6ffe92c99a33feeaa6d4ffce7f9e0e9f2ff62d7 -DIST k3d-5.4.2.tar.gz 7397277 BLAKE2B c16d67272ceac008eddcbdd7c8816a179804c4e2a3ae9bf762ee13e0a84e525ea69502575e64a9190deef5d4a69679806a9337709b21c82cbff141dbebd7bfc3 SHA512 b38144e93a5d3e781a839144e2960e7a8455e5b2e8cca96e1b14631be626f7b9e37630d9b5902f7bd896e7422de13dbed5df206dfa2d481bcae997987353c813 -DIST k3d-5.4.4-deps.tar.xz 76578188 BLAKE2B c08fc21f520f98e90d030b8024e57ca59300228c89289341f121bb38709cd82c0b572e37329a6f700a0e42db05d8d7bcfc309e10b700d1573b47bff6668b32a6 SHA512 62af2c30ed3f238bb887fd728a7bbf2ffe2235f6f69d28d27da4dc0ac6f6a11bfa45004df3ac5ab138584aa0cdeff4904ab72e326beae223fa6620c9a90df92c -DIST k3d-5.4.4.tar.gz 7429200 BLAKE2B 728dfb004463116c698ad4126df60aef70f38b766a4a253cb2036c9ee07fdfe9f7538af2f1b3285e5f3a1ecc803bfd83a1353c14a13690f783f0cbc614094e9f SHA512 ac75c93e825889c65f926b05276e9bdaa8c1ed7dae8c705b0a1a3cc576105701f38745339bd1b5e8aa1974f8060cf1bdc797b526a8016b7fd956b08d058d9b21 +DIST k3d-5.4.9.tar.gz 7740293 BLAKE2B b7a657720524abac2c36cccef8cf6e9c5588fcc191ecc2a3f7ed138762cc23abdc2b6413c67d426635e50777b8b87fccf93dc7cd88b0dd5c67becbc3f9056472 SHA512 caa6566f79837deb31db991df5475369b4921a5a110b723ad6c76f8ce2349399d0843d3e5de071a4ec50b318157d8fb47cc36018a0af9bb487793269c27027bf +DIST k3d-5.6.0.tar.gz 8022281 BLAKE2B 93f32f65e6c42650608b94d58d2149c3fec96251500be0d95d5673f07ae8c366d80954afa4d80eec149b7a9e8af7389323c21498910a3010bb80b975f64064d0 SHA512 c13df93499ffde6567e4bf7dcf260cb65ca01c390bf39361122fa61553591f418213049cf29d8dde63896f026a28d96f4e2ab522a143ac66cfa9f3786f8ba9b9 diff --git a/app-containers/k3d/k3d-5.4.4.ebuild b/app-containers/k3d/k3d-5.4.4.ebuild deleted file mode 100644 index 573040147408..000000000000 --- a/app-containers/k3d/k3d-5.4.4.ebuild +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 2021-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit go-module - -DESCRIPTION="k3d creates k3s clusters in docker" -HOMEPAGE="https://github.com/rancher/k3d" - -K3D_K3S_TAG=v1.23.8-k3s2 -SRC_URI="https://github.com/rancher/k3d/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz" -LICENSE="MIT Apache-2.0 BSD BSD-2 MPL-2.0 ISC" -SLOT="0" - -KEYWORDS="~amd64" -IUSE="doc" - -src_prepare() { - default - rm Makefile || die -} - -src_compile() { - CGO_ENABLED=0 \ - go build \ - -ldflags "-w -s -X github.com/rancher/k3d/v5/version.Version=v${PV} -X github.com/rancher/k3d/v5/version.K3sVersion=${K3D_K3S_TAG}" \ - -o bin/k3d -} - -src_install() { - dobin bin/${PN} - DOCS=(*.md) - if use doc; then - DOCS+=(docs) - fi - default_src_install -} diff --git a/app-containers/k3d/k3d-5.4.0.ebuild b/app-containers/k3d/k3d-5.4.9.ebuild index 0b9efc800b56..6f57b743d680 100644 --- a/app-containers/k3d/k3d-5.4.0.ebuild +++ b/app-containers/k3d/k3d-5.4.9.ebuild @@ -1,15 +1,14 @@ -# Copyright 2021-2022 Gentoo Authors +# Copyright 2021-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit go-module DESCRIPTION="k3d creates k3s clusters in docker" HOMEPAGE="https://github.com/rancher/k3d" -K3D_K3S_TAG=v1.22.7-k3s1 -SRC_URI="https://github.com/rancher/k3d/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz" +K3D_K3S_TAG=v1.24.12-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" @@ -22,9 +21,11 @@ src_prepare() { } src_compile() { + GOWORK=off \ CGO_ENABLED=0 \ go build \ - -ldflags "-w -s -X github.com/rancher/k3d/v5/version.Version=v${PV} -X github.com/rancher/k3d/v5/version.K3sVersion=${K3D_K3S_TAG}" \ + -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 } diff --git a/app-containers/k3d/k3d-5.4.2.ebuild b/app-containers/k3d/k3d-5.6.0.ebuild index d17793446228..1baa48e507e5 100644 --- a/app-containers/k3d/k3d-5.4.2.ebuild +++ b/app-containers/k3d/k3d-5.6.0.ebuild @@ -1,15 +1,14 @@ -# Copyright 2021-2022 Gentoo Authors +# Copyright 2021-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit go-module DESCRIPTION="k3d creates k3s clusters in docker" HOMEPAGE="https://github.com/rancher/k3d" -K3D_K3S_TAG=v1.23.6-k3s1 -SRC_URI="https://github.com/rancher/k3d/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - https://dev.gentoo.org/~zmedico/dist/${P}-deps.tar.xz" +K3D_K3S_TAG=v1.28.3-k3s2 +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" @@ -22,9 +21,11 @@ src_prepare() { } src_compile() { + GOWORK=off \ CGO_ENABLED=0 \ go build \ - -ldflags "-w -s -X github.com/rancher/k3d/v5/version.Version=v${PV} -X github.com/rancher/k3d/v5/version.K3sVersion=${K3D_K3S_TAG}" \ + -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 } diff --git a/app-containers/lxc-templates/lxc-templates-3.0.4.ebuild b/app-containers/lxc-templates/lxc-templates-3.0.4.ebuild index a1f732c6c824..4e0d01e710cd 100644 --- a/app-containers/lxc-templates/lxc-templates-3.0.4.ebuild +++ b/app-containers/lxc-templates/lxc-templates-3.0.4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -22,7 +22,7 @@ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" PATCHES=( "${FILESDIR}/${PN}-3.0.1-no-cache-dir.patch" ) DOCS=() -VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc src_prepare() { default diff --git a/app-containers/lxc/Manifest b/app-containers/lxc/Manifest index 6462391f1a33..0257fd2ae87a 100644 --- a/app-containers/lxc/Manifest +++ b/app-containers/lxc/Manifest @@ -1,6 +1,4 @@ -DIST lxc-4.0.12.tar.gz 1565070 BLAKE2B 819b5140b641dbc1ed6cf5f2840bb0ee6d3ab8c687f4f8064e42d347113bdf50fcbb653a6fb26598db0daab0c83ad88fe0d27fd2842fac9d7f5fef73656d7976 SHA512 04437d9c891cd3a22f756c42f05e97398772587175d65aff9d394f0f3e810efc5c1fe7077c39573de3ec259e0605bc2a7ea51093613b2cef908372ae338df19d -DIST lxc-4.0.12.tar.gz.asc 833 BLAKE2B 2fca60b5ac267a893f70875ccdbe39db6b98b5fe51fe396692449e310b6e680e7b142380e193f5d8299f18e796ed2fd0e08cd186859069877fcca6bc26e44717 SHA512 4f2912879e6f3bf5fdbebb902cf16ca6b766b5720b817c4b4996e62098a1d282327d330ffd9768d45d69aeddb50184dc8485b0ef75b046449ce4c544cdc43c9b -DIST lxc-5.0.0.tar.gz 968678 BLAKE2B 82fa15353bdd78a1cc4cdb915f4a8366790b4ac317247bb03ceae91137368ef953ec52f6882ba9d44f6b9bddd3ac20579339e6bbedb4e5642adc81473825a91d SHA512 ecdce46a83602197716c9a4e50e0514a7e0764fbf34db6d5e3497e90669b4c8ced4b787fb220967d95dd8e50016075f3b118e85d9d63c21b2ba17de2e7aefb81 -DIST lxc-5.0.0.tar.gz.asc 833 BLAKE2B 3519789f7a9797895c1b89371db28add0833b0db5a32b71f8fdff98f689a2ed6edd77db90fad89658e7c148a94a1008a718dca32bc3ce40dbfce9b44c9506dbd SHA512 d475073543e82481675a4d7ffe642445b73698ad0675cfd996768c6f026786c694cea062d50139264362a516b8777fc4e1a5fb5592eeed35ac2f6d64460c505d -DIST lxc-5.0.1.tar.gz 973206 BLAKE2B 6d5cb1a03eb2612d0f8cb59783a64ec42bedd560cacfebf76383d9599dfc153e381f0e584a1c8c9a0b5b18a46bfb01863649dc5a019546e9ded6079b5ec69ddd SHA512 c87563b556aec83c93a7c62932217791e92da950cc76983f0d5e1d603fe1ae298a63fb5e88ec9ef5173846d579babb5acd0836679b915de00844bb9edf9c8d7e -DIST lxc-5.0.1.tar.gz.asc 833 BLAKE2B f85df5fc5bd88a738042f622ee4191b99e0a8e07db7ceb5824d634bc451f4bf93c8b64d1c72d4899f639ad30bbc9ee82be292dbe310218fa20566ee00f9bb752 SHA512 09de4e74d174b54cf9240ca4ef4793b9f63355c65f610abffb40e6dc2dc9130380761a50725e4dcee39b421e4b51c874d141fe22d5ecfd7ad3af35f7ebec09a0 +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.0.tar.gz 964053 BLAKE2B d41bcab4e225c139d4d41df5291717e4d196fe3b48d978a993811b74a08e7a75e1528f4bf44f694a624537632bdec642cd80cf51a528dea848baa11c10471afa SHA512 acff2fc70cf2c65af37b70a21239482c3d845c408f7132558b54980e4400c23670c63178a3a3dfb239f047f529004df93cd829d728852a8c8647ce6babf7857f +DIST lxc-6.0.0.tar.gz.asc 833 BLAKE2B d2cda07e605d64dbb650506cf536c545e2c5746973c834f4d4f409064e2ba8265040b13a60e124e30e154bbc5a51c704bad0fa2ff5530effddfa449618aa60a7 SHA512 4e56ffa7395877714f993d9c54cf8b9df91cdced96c5a609b63f5e3896a0a51db8ba6f99bf2360d60af202df79123deea72215bf854d8798d3af361a4888445e diff --git a/app-containers/lxc/files/lxc-2.0.5-omit-sysconfig.patch b/app-containers/lxc/files/lxc-2.0.5-omit-sysconfig.patch deleted file mode 100644 index 3ec81356499e..000000000000 --- a/app-containers/lxc/files/lxc-2.0.5-omit-sysconfig.patch +++ /dev/null @@ -1,5 +0,0 @@ ---- /config/Makefile.am.orig 2016-05-19 02:56:11.891113982 +0000 -+++ /config/Makefile.am 2016-05-19 02:56:32.596115476 +0000 -@@ -1 +1 @@ --SUBDIRS = apparmor bash etc init selinux templates yum sysconfig -+SUBDIRS = apparmor bash etc init selinux templates yum diff --git a/app-containers/lxc/files/lxc-5.0.0-dont-depend-on-static-libcap.patch b/app-containers/lxc/files/lxc-5.0.0-dont-depend-on-static-libcap.patch deleted file mode 100644 index 74f3d353c561..000000000000 --- a/app-containers/lxc/files/lxc-5.0.0-dont-depend-on-static-libcap.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 7d72354898feac15bc4082130bcbe638bae02450 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine <fontaine.fabrice@gmail.com> -Date: Thu, 14 Jul 2022 17:03:40 +0200 -Subject: [PATCH] meson.build: fix build with -Dcapabilities=false - -Define libcap_static to an empty array to avoid the following build -failure with -Dcapabilities=false: - -output/build/lxc-5.0.0/src/lxc/cmd/meson.build:64:4: ERROR: Unknown variable "libcap_static". - -Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> ---- - meson.build | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/meson.build b/meson.build -index 992fa08c72..4ed57a655b 100644 ---- a/meson.build -+++ b/meson.build -@@ -443,6 +443,7 @@ int main(int argc, char *argv[]) { return 0; }; - srcconf.set10('HAVE_STATIC_LIBCAP', false) - endif - else -+ libcap_static = [] - srcconf.set10('HAVE_LIBCAP', false) - srcconf.set10('HAVE_STATIC_LIBCAP', false) - endif diff --git a/app-containers/lxc/files/lxc-5.0.0-fix-strerror-r-char-p-musl.patch b/app-containers/lxc/files/lxc-5.0.0-fix-strerror-r-char-p-musl.patch deleted file mode 100644 index fdd7aa24ad8a..000000000000 --- a/app-containers/lxc/files/lxc-5.0.0-fix-strerror-r-char-p-musl.patch +++ /dev/null @@ -1,36 +0,0 @@ -https://github.com/lxc/lxc/commit/8ee8879083f40d2d0b9cef46d6a6907c1b5a814b - -From 8ee8879083f40d2d0b9cef46d6a6907c1b5a814b Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine <fontaine.fabrice@gmail.com> -Date: Thu, 14 Jul 2022 12:31:21 +0200 -Subject: [PATCH] src/lxc/log.h: fix STRERROR_R_CHAR_P - -STRERROR_R_CHAR_P is always defined to 0 or 1 depending on the value of -have_func_strerror_r_char_p in meson.build so replace #ifdef by #if to -avoid a redefinition build failure if char *strerror_r is not defined - -Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> ---- - src/lxc/log.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/lxc/log.h b/src/lxc/log.h -index 554a2e1d48..fcddc679a8 100644 ---- a/src/lxc/log.h -+++ b/src/lxc/log.h -@@ -304,13 +304,13 @@ __lxc_unused static inline void LXC_##LEVEL(struct lxc_log_locinfo* locinfo, \ - * Helper macro to define errno string. - */ - #if HAVE_STRERROR_R -- #ifdef STRERROR_R_CHAR_P -+ #if STRERROR_R_CHAR_P - char *strerror_r(int errnum, char *buf, size_t buflen); - #else - int strerror_r(int errnum, char *buf, size_t buflen); - #endif - -- #ifdef STRERROR_R_CHAR_P -+ #if STRERROR_R_CHAR_P - #define lxc_log_strerror_r \ - char errno_buf[PATH_MAX / 2] = {"Failed to get errno string"}; \ - char *ptr = NULL; \ diff --git a/app-containers/lxc/files/lxc.initd.8 b/app-containers/lxc/files/lxc.initd.9 index 727f6d504fb3..4958fbcbbc7b 100644 --- a/app-containers/lxc/files/lxc.initd.8 +++ b/app-containers/lxc/files/lxc.initd.9 @@ -26,7 +26,8 @@ lxc_get_var() { } lxc_get_net_link_type() { - awk 'BEGIN { FS="[ \t]*=[ \t]*"; _link=""; _type="" } + # gentoo bugfix 909640, drop commented lines before awk + grep -v '^#' ${CONFIGFILE} | awk 'BEGIN { FS="[ \t]*=[ \t]*"; _link=""; _type="" } $1 == "lxc.network.type" {_type=$2;} $1 == "lxc.network.link" {_link=$2;} match($1, /lxc\.net\.[[:digit:]]+\.type/) {_type=$2;} @@ -34,7 +35,7 @@ lxc_get_net_link_type() { {if(_link != "" && _type != ""){ printf("%s:%s\n", _link, _type ); _link=""; _type=""; - }; }' <${CONFIGFILE} + }; }' } checkconfig() { diff --git a/app-containers/lxc/files/lxc_at.service.4.0.0 b/app-containers/lxc/files/lxc_at.service.4.0.0 deleted file mode 100644 index b354bc53e080..000000000000 --- a/app-containers/lxc/files/lxc_at.service.4.0.0 +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=Linux Container %i -After=network.target -Wants=lxcfs.service - -[Service] -Type=forking -ExecStart=/usr/bin/lxc-start -d -n %i -p /run/lxc-%i.pid -PIDFile=/run/lxc-%i.pid -ExecStop=/usr/bin/lxc-stop -n %i -Delegate=true -TasksMax=32768 - -[Install] -WantedBy=multi-user.target diff --git a/app-containers/lxc/lxc-4.0.12.ebuild b/app-containers/lxc/lxc-4.0.12.ebuild deleted file mode 100644 index 961d8c51761d..000000000000 --- a/app-containers/lxc/lxc-4.0.12.ebuild +++ /dev/null @@ -1,184 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools bash-completion-r1 linux-info flag-o-matic optfeature pam readme.gentoo-r1 systemd 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 )" - -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86" - -LICENSE="GPL-2 LGPL-2.1 LGPL-3" -SLOT="0" -IUSE="apparmor +caps doc io-uring man pam seccomp selinux +ssl +tools verify-sig" - -RDEPEND="acct-group/lxc - acct-user/lxc - app-misc/pax-utils - sys-apps/util-linux - sys-libs/libcap - virtual/awk - 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= - )" -DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-4 - apparmor? ( sys-apps/apparmor )" -BDEPEND="virtual/pkgconfig - doc? ( app-doc/doxygen[dot] ) - man? ( app-text/docbook-sgml-utils ) - verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" - -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" - -DOCS=( AUTHORS CONTRIBUTING MAINTAINERS NEWS README doc/FAQ.txt ) - -pkg_setup() { - linux-info_pkg_setup -} - -PATCHES=( - "${FILESDIR}"/${PN}-2.0.5-omit-sysconfig.patch # bug 558854 -) - -VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc - -src_prepare() { - default - - export bashcompdir="/etc/bash_completion.d" - eautoreconf -} - -src_configure() { - append-flags -fno-strict-aliasing - - local myeconfargs=( - --bindir=/usr/bin - --localstatedir=/var - --sbindir=/usr/bin - - --with-config-path=/var/lib/lxc - --with-distro=gentoo - --with-init-script=systemd - --with-rootfs-path=/var/lib/lxc/rootfs - --with-runtime-path=/run - --with-systemdsystemunitdir=$(systemd_get_systemunitdir) - - --disable-coverity-build - --disable-dlog - --disable-fuzzers - --disable-mutex-debugging - --disable-no-undefined - --disable-rpath - --disable-sanitizers - --disable-tests - --disable-werror - - --enable-bash - --enable-commands - --enable-memfd-rexec - --enable-thread-safety - - $(use_enable apparmor) - $(use_enable caps capabilities) - $(use_enable doc api-docs) - $(use_enable doc examples) - $(use_enable io-uring liburing) - $(use_enable man doc) - $(use_enable pam) - $(use_enable seccomp) - $(use_enable selinux) - $(use_enable ssl openssl) - $(use_enable tools) - - $(use_with pam pamdir $(getpam_mod_dir)) - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - - # 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." - mv "${ED}"/etc/bash_completion.d/lxc "${ED}"/$(get_bashcompdir)/lxc-start || die "Failed to relocate lxc bash-completion file." - rm -r "${ED}"/etc/bash_completion.d || die "Failed to remove wrong bash_completion.d content." - - if use tools; then - bashcomp_alias lxc-start lxc-{attach,cgroup,copy,console,create,destroy,device,execute,freeze,info,monitor,snapshot,stop,unfreeze,usernsexec,wait} - else - bashcomp_alias lxc-start lxc-usernsexec - fi - - keepdir /etc/lxc /var/lib/lxc/rootfs /var/log/lxc - rmdir "${D}"/var/cache/lxc "${D}"/var/cache || die "rmdir failed" - - find "${D}" -name '*.la' -delete -o -name '*.a' -delete || die - - # Gentoo-specific additions! - newinitd "${FILESDIR}/lxc.initd.8" lxc - - # Remember to compare our systemd unit file with the upstream one - # config/init/systemd/lxc.service.in - systemd_newunit "${FILESDIR}"/lxc_at.service.4.0.0 "lxc@.service" - - DOC_CONTENTS=" - For openrc, there is an init script provided with the package. - You should only need to symlink /etc/init.d/lxc to - /etc/init.d/lxc.configname to start the container defined in - /etc/lxc/configname.conf. - - Correspondingly, for systemd a service file lxc@.service is installed. - Enable and start lxc@configname in order to start the container defined - in /etc/lxc/configname.conf." - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_postinst() { - readme.gentoo_print_elog - - elog "Please run 'lxc-checkconfig' to see optional kernel features." - elog - 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-5.0.0.ebuild b/app-containers/lxc/lxc-5.0.0.ebuild deleted file mode 100644 index 975d697a0e5b..000000000000 --- a/app-containers/lxc/lxc-5.0.0.ebuild +++ /dev/null @@ -1,160 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit bash-completion-r1 linux-info meson optfeature systemd 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" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" -IUSE="apparmor +caps examples io-uring man pam seccomp selinux ssl systemd test +tools verify-sig" - -RDEPEND="acct-group/lxc - acct-user/lxc - apparmor? ( sys-libs/libapparmor ) - caps? ( sys-libs/libcap[static-libs] ) - 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/systemd ) - tools? ( sys-libs/libcap[static-libs] )" -DEPEND="${RDEPEND} - 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=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc - -DOCS=( AUTHORS CONTRIBUTING MAINTAINERS README.md doc/FAQ.txt ) - -PATCHES=( "${FILESDIR}"/lxc-5.0.0-dont-depend-on-static-libcap.patch - "${FILESDIR}"/${PN}-5.0.0-fix-strerror-r-char-p-musl.patch ) - -pkg_setup() { - linux-info_pkg_setup -} - -src_configure() { - local emesonargs=( - -Dcoverity-build=false - -Doss-fuzz=false - - -Dcommands=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 man) - $(meson_use pam pam-cgroup) - $(meson_use seccomp) - $(meson_use selinux) - $(meson_use ssl openssl) - $(meson_use test tests) - $(meson_use tools) - - -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 - ) - - if use systemd; then - local emesonargs+=( -Dinit-script="systemd" ) - else - local emesonargs+=( -Dinit-script="sysvinit" ) - fi - - use tools && local emesonargs+=( -Dcapabilities=true ) - - 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,cgroup,copy,console,create,destroy,device,execute,freeze,info,monitor,snapshot,stop,unfreeze,usernsexec,wait} - else - bashcomp_alias lxc-start lxc-usernsexec - fi - - keepdir /var/lib/cache/lxc /var/lib/lib/lxc - - find "${ED}" -name '*.la' -delete -o -name '*.a' -delete || die - - # Replace upstream sysvinit/systemd files. - if use systemd; then - rm -r "${ED}"/lib/systemd || 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.8" ${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' "${ED}"/lib/systemd/system/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 "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-5.0.1.ebuild b/app-containers/lxc/lxc-5.0.3.ebuild index b014e03bb27b..4fdedaf083a2 100644 --- a/app-containers/lxc/lxc-5.0.1.ebuild +++ b/app-containers/lxc/lxc-5.0.3.ebuild @@ -1,9 +1,9 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit bash-completion-r1 linux-info meson optfeature systemd verify-sig +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" @@ -11,9 +11,9 @@ 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" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" -IUSE="apparmor +caps examples io-uring man pam seccomp selinux ssl systemd test +tools" +SLOT="0/1.502" # 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 @@ -63,7 +63,7 @@ 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=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc DOCS=( AUTHORS CONTRIBUTING MAINTAINERS README.md doc/FAQ.txt ) @@ -73,6 +73,8 @@ pkg_setup() { src_configure() { local emesonargs=( + --localstatedir "${EPREFIX}/var" + -Dcoverity-build=false -Doss-fuzz=false @@ -84,6 +86,7 @@ src_configure() { $(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) @@ -109,6 +112,12 @@ src_configure() { 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 } @@ -135,14 +144,15 @@ src_install() { rm "${ED}"/etc/init.d/lxc-{containers,net} || die "Failed to remove sysvinit scripts" fi - newinitd "${FILESDIR}/${PN}.initd.8" ${PN} + 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." + sed -i '/lxc-apparmor-load/d' "${D}$(systemd_get_systemunitdir)/lxc.service" || + die "Failed to remove apparmor references from lxc.service systemd unit." fi } diff --git a/app-containers/lxc/lxc-5.0.0-r1.ebuild b/app-containers/lxc/lxc-6.0.0-r1.ebuild index 1ab8d12bf9d6..64d7aef60e47 100644 --- a/app-containers/lxc/lxc-5.0.0-r1.ebuild +++ b/app-containers/lxc/lxc-6.0.0-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 2022 Gentoo Authors +# 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 verify-sig +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" @@ -11,12 +11,13 @@ 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" +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 man pam seccomp selinux ssl systemd test +tools verify-sig" +IUSE="apparmor +caps examples io-uring lto man pam seccomp selinux ssl systemd test +tools" RDEPEND="acct-group/lxc acct-user/lxc + sys-apps/dbus apparmor? ( sys-libs/libapparmor ) caps? ( sys-libs/libcap[static-libs] ) io-uring? ( >=sys-libs/liburing-2:= ) @@ -24,7 +25,7 @@ RDEPEND="acct-group/lxc seccomp? ( sys-libs/libseccomp ) selinux? ( sys-libs/libselinux ) ssl? ( dev-libs/openssl:0= ) - systemd? ( sys-apps/systemd ) + systemd? ( sys-apps/systemd:= ) tools? ( sys-libs/libcap[static-libs] )" DEPEND="${RDEPEND} sys-kernel/linux-headers" @@ -63,23 +64,30 @@ 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=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc DOCS=( AUTHORS CONTRIBUTING MAINTAINERS README.md doc/FAQ.txt ) -PATCHES=( "${FILESDIR}"/lxc-5.0.0-dont-depend-on-static-libcap.patch - "${FILESDIR}"/${PN}-5.0.0-fix-strerror-r-char-p-musl.patch ) - 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" + + -Ddbus=true + -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 @@ -87,6 +95,7 @@ src_configure() { $(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) @@ -95,6 +104,8 @@ src_configure() { $(meson_use test tests) $(meson_use tools) + $(usex systemd -Dinit-script="systemd" -Dinit-script="sysvinit") + -Ddata-path=/var/lib/lxc -Ddoc-path=/usr/share/doc/${PF} -Dlog-path=/var/log/lxc @@ -102,14 +113,14 @@ src_configure() { -Druntime-path=/run ) - if use systemd; then - local emesonargs+=( -Dinit-script="systemd" ) + 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+=( -Dinit-script="sysvinit" ) + local emesonargs+=( -Db_lto_mode=default ) fi - use tools && local emesonargs+=( -Dcapabilities=true ) - meson_src_configure } @@ -120,30 +131,29 @@ src_install() { mkdir -p "${ED}"/$(get_bashcompdir) || die "Failed to create bashcompdir." if use tools; then - bashcomp_alias lxc-start lxc-{attach,cgroup,copy,console,create,destroy,device,execute,freeze,info,monitor,snapshot,stop,unfreeze,usernsexec,wait} + 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 - keepdir /var/lib/cache/lxc /var/lib/lib/lxc - 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" + 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.8" ${PN} + 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." + sed -i '/lxc-apparmor-load/d' "${D}$(systemd_get_systemunitdir)/lxc.service" || + die "Failed to remove apparmor references from lxc.service systemd unit." fi } @@ -154,6 +164,7 @@ pkg_postinst() { 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/metadata.xml b/app-containers/lxc/metadata.xml index 8c08b596f2e4..7c423aeaca6f 100644 --- a/app-containers/lxc/metadata.xml +++ b/app-containers/lxc/metadata.xml @@ -10,11 +10,11 @@ <name>Gentoo Virtualization Project</name> </maintainer> <use> - <flag name="apparmor">Enable AppArmor support</flag> <flag name="io-uring">Enable io_uring support, and use io_uring instead of epoll</flag> <flag name="tools">Build and install additional command line tools</flag> </use> <upstream> <remote-id type="github">lxc/lxc</remote-id> + <remote-id type="cpe">cpe:/a:linuxcontainers:lxc</remote-id> </upstream> </pkgmetadata> diff --git a/app-containers/lxd/Manifest b/app-containers/lxd/Manifest index ed62839a3b77..224db03baf4c 100644 --- a/app-containers/lxd/Manifest +++ b/app-containers/lxd/Manifest @@ -1,2 +1,12 @@ -DIST lxd-5.0.0.tar.gz 17706199 BLAKE2B 5559bdd479e03b43407e58aa240a00dae488cbf799cec39cbe74b636c907d247341132a49b414fa573c5d5d366643d296522efb6d71c1c0f83cc8edc038f1432 SHA512 e74c14a2642ee4ea738629b1da9c4b416f3bdbb26a49c8c920eb0e5e0467236fd610276541af1d481d6b069093cb1c35c705008652ff2cd55d2d15e9b7433696 -DIST lxd-5.0.0.tar.gz.asc 833 BLAKE2B 7e8fc6f6892294fb8a6384f5767cb74b0a4b941c39da3b097c2196b328fb4f0b1816c46adae0bb343022bd558e77612ab3d93884053c1db5f7c1067c13444fb5 SHA512 d3d583175437cee37b6d7d8d137ab1440dd6ac1c91200616fe68e5f38197f11ab2ed85f1aba06dfb0d32f88153defb2bb3f897601902e66fe0a5eff6042e57c0 +DIST lxd-4.0.9.tar.gz 9117078 BLAKE2B aa6689c1e958258484fba5c060765dd71d5406cb4375d3132cdc38633277e6c95322e8e3aed5e9dd251140c6868ec42470e797639dde4af42848e138f3b45ee2 SHA512 657949311753895f3941deaabae2d03092fc67490d2de78db48b296fdd3e9df4c5844467dd6913814426ca423a6ee1da9705bb1a2652ea99fe1356eb7da97ebb +DIST lxd-4.0.9.tar.gz.asc 833 BLAKE2B 7cd0d3ab518d947ca3ea6dc804c6a59b592e4e568152c078fdd3c102420bcd94d2f0b2c335b8b4ecdb19dc3c9a10f665a1510903f395247da956717beaa172a3 SHA512 79a4111571ab43e79cf669e416ed50f3ccae0fbceb86d73757d23c778035e827f47643bc87ff6a2fc64b095345a3d53cbd0c4eb245c75364e907d7449f3a0886 +DIST lxd-5.0.2.tar.gz 16258766 BLAKE2B a0d4e3108664724c064fb8c16031ff7dfa3f49735c81290c78fca1dd8c95774e8d8faf131a9de0961a51fb3f1fb1e3a1219d325e6c440dc42d077bfb6550df0b SHA512 e44b210828251ef2bbdcca332f605294a9258572a52a8e94f5c8dcf8d5c2b3d4cdaf46f85236d9c963de5654d3a0437b5f177ea908a6dac3b5b03fb721be6eaa +DIST lxd-5.0.2.tar.gz.asc 833 BLAKE2B 606cae1439148060acd3fb04fdb108654a351ce2b7484081f7874ab2b0af8de2b5befc5a5409a94af0da25308622234db2e3b411edb20324df458fe85f46ac21 SHA512 884c921a263a8baf2d94958c72e232a0a47d0747f5a9d36ed8fc270edfa18dfc240d1e858e75dcc03eae921dae08d3ddfd34d9146d1510de6a09031da26aaccc +DIST lxd-5.0.3.tar.gz 16628656 BLAKE2B d24b4b2e40635b109b69196995a434fac26e1ffb023bfd2181588ff7543a9022fcd82a0a4ac84d40a7a3f0dceda0167a55e64c40b91c3719dbbeac6e102dd211 SHA512 87f5d9fbe2cef5970c0a95f61dc615f26e4168202d39f53c7323787a246fa1d6a378c7b957d90f6afd02e048fb3080a06f7202d02652973fb33421f18680d9bf +DIST lxd-5.0.3.tar.gz.asc 833 BLAKE2B c6ef26dc8ba4033dbc98367609826389640bfd31da25113f9285dc67b2a69da4fe06a3cacbb83fe5b1b984b5eed8ff3a373d5f88693c2999c10b25a7cfd4cd8d SHA512 424e969de30e4fcfabf65062f387d15bd1cc99ed2c984944c529df92d520b3d5de306a8d444850b3916889d318a88e521d275c62353b25853471efb713d58d18 +DIST lxd-5.19.tar.gz 22506800 BLAKE2B 94940a9e886d005495f8888d4491e5a8f8beee60c44051c767d32fd3dead9a93c1e546c0117207aefb60280a289d464615fba7e80385df23f397388a88be1386 SHA512 11d712245fc9cb77e7eabc748cfac38c1936be1c49b8dc4a2a7ebc06d0797f4d0d728b275cee27f9c2c64bc13275fc29ac57fc8d0dce9c24d6636b51248e9b4f +DIST lxd-5.19.tar.gz.asc 833 BLAKE2B 591f12c8e93199061b588bdffded5d159f714d91c68a0d8003590bc672cec787418611f0597fe8e137b3c2b61e8171ca6393db912b8f55ded39db934d55d3df1 SHA512 2337d42f0a7dfdbb2870511442f05e1dd9c214e1b0d96b20ee677a3a345bf41c15c0b1cb0d42ddd15766813e4ae405577f8b49fa60fdc541fb3db35c0bc569ed +DIST lxd-5.20.tar.gz 22825821 BLAKE2B 616e6659c75e87027883dc6643c8c42cce75f69e7781b93371ca8d00078a7c5086679d70dfd5497ec6be9f917f07d81ef826fc0bdd09317d7b98e435f053c465 SHA512 cf593f967d9d595577ab9b05bad99d04b9c30031461fdd4769f4746e651b3aa8e94fca53548da1aec22ff312a91ff46710ab88043a633fbd78ffafe130fed3e3 +DIST lxd-5.20.tar.gz.asc 833 BLAKE2B 03d469429fee81e6b061de458eeffe7aacf19ccc1dacb73e2e9cf3530439c82fcd016496aa7757d3ff54af2da7372c5ecf0642b3adddff950065b1ceb1e64103 SHA512 e48af466194523903a472a246dfa81cd67ec4ad7b1be6edb1ce9135945be8a810fca3f98de5a4d8b93390119cb0e4eda78a323d5dea0330b0c92e755781982a3 +DIST lxd-5.21.1.tar.gz 23753867 BLAKE2B 102f3c83faa956f6a5f052912417f595a7374c13ff1da21e43b76e267908323f3db05aed8b83fb99a0b70ee03af9b1df0551a2c535db146d5ea6f415f7671e7a SHA512 809099d16ffd12b785a03ad3ed527fa6f0c7503a41b7c93d41fd3418d18f8c68c79e5a689c8df2ed4157d434742bfb5cc267a5afb9734091b224be644a3a6958 +DIST lxd-5.21.1.tar.gz.asc 833 BLAKE2B 1c43b7750e505ef66d4f9fcf3723abf28a7b4e2785866604b88f6dfa80f7e3d0ed33734bc49606ecff16659de9dabfbeb08ba71c36eafc8d05a28397e3e73a89 SHA512 8ec81d1df6d3b9aec58cbde08306a865f9c27e86be04da11a2b5566c78865b51f91edb6fa26e8b5d25202bf33657bd0f867ec986e4e8b39f379b25e03cd6a5d3 diff --git a/app-containers/lxd/files/lxd-4.0.9-glibc-2.36-fix.patch b/app-containers/lxd/files/lxd-4.0.9-glibc-2.36-fix.patch new file mode 100644 index 000000000000..d05ff2c81bd9 --- /dev/null +++ b/app-containers/lxd/files/lxd-4.0.9-glibc-2.36-fix.patch @@ -0,0 +1,74 @@ +From cc7bab602e6b967fdd31c5feed0f3f6321c0a0a7 Mon Sep 17 00:00:00 2001 +From: Luca Barbato <lu_zero@gentoo.org> +Date: Fri, 13 Jan 2023 21:43:22 +0000 +Subject: [PATCH] Fix syscall wrappers + +--- + lxd/include/syscall_wrappers.h | 7 ++++--- + lxd/main_nsexec.go | 2 +- + shared/idmap/shift_linux.go | 2 +- + 3 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/lxd/include/syscall_wrappers.h b/lxd/include/syscall_wrappers.h +index 2c28133a8..a6975ab4d 100644 +--- a/lxd/include/syscall_wrappers.h ++++ b/lxd/include/syscall_wrappers.h +@@ -26,10 +26,10 @@ static inline int lxd_close_range(unsigned int fd, unsigned int max_fd, unsigned + return syscall(__NR_close_range, fd, max_fd, flags); + } + +-static inline int open_tree(int dfd, const char *filename, unsigned int flags) ++/* static inline int open_tree(int dfd, const char *filename, unsigned int flags) + { + return syscall(__NR_open_tree, dfd, filename, flags); +-} ++}*/ + + /* + * mount_setattr() +@@ -40,7 +40,7 @@ struct lxc_mount_attr { + __u64 propagation; + __u64 userns_fd; + }; +- ++/* + static inline int mount_setattr(int dfd, const char *path, unsigned int flags, + struct lxc_mount_attr *attr, size_t size) + { +@@ -53,6 +53,7 @@ static inline int move_mount(int from_dfd, const char *from_pathname, int to_dfd + return syscall(__NR_move_mount, from_dfd, from_pathname, to_dfd, + to_pathname, flags); + } ++*/ + + /* arg1 of prctl() */ + #ifndef PR_SCHED_CORE +diff --git a/lxd/main_nsexec.go b/lxd/main_nsexec.go +index f11c0d4cb..753024283 100644 +--- a/lxd/main_nsexec.go ++++ b/lxd/main_nsexec.go +@@ -298,7 +298,7 @@ static char *file_to_buf(char *path, ssize_t *length) + int mount_detach_idmap(const char *path, int fd_userns) + { + __do_close int fd_tree = -EBADF; +- struct lxc_mount_attr attr = { ++ struct mount_attr attr = { + .attr_set = MOUNT_ATTR_IDMAP, + + }; +diff --git a/shared/idmap/shift_linux.go b/shared/idmap/shift_linux.go +index daaf37275..e219ac01c 100644 +--- a/shared/idmap/shift_linux.go ++++ b/shared/idmap/shift_linux.go +@@ -314,7 +314,7 @@ static int get_userns_fd(void) + static int create_detached_idmapped_mount(const char *path) + { + __do_close int fd_tree = -EBADF, fd_userns = -EBADF; +- struct lxc_mount_attr attr = { ++ struct mount_attr attr = { + .attr_set = MOUNT_ATTR_IDMAP, + .propagation = MS_SLAVE, + +-- +2.39.0 + diff --git a/app-containers/lxd/files/lxd-5.0.2-r1.initd b/app-containers/lxd/files/lxd-5.0.2-r1.initd new file mode 100644 index 000000000000..7c74c0fdc308 --- /dev/null +++ b/app-containers/lxd/files/lxd-5.0.2-r1.initd @@ -0,0 +1,59 @@ +#!/sbin/openrc-run +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +DAEMON=/usr/sbin/lxd +PIDFILE=/run/lxd.pid + +depend() { + need net + need lxcfs +} + +start() { + ebegin "Starting lxd service" + + modprobe -f loop > /dev/null 2>&1 + + # Fix permissions on /var/lib/lxd and make sure it exists. + # Create a log directory for lxd with correct permissions. + install -d /var/lib/lxd --group lxd --owner root --mode 0775 + install -d /var/log/lxd --group lxd --owner root + + start-stop-daemon --start \ + --pidfile ${PIDFILE} \ + --exec ${DAEMON} \ + --background \ + --make-pidfile \ + -- \ + ${LXD_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 lxd --owner root + mount -t cgroup -o none,name=systemd systemd /sys/fs/cgroup/systemd + fi +} + +stop() { + if [ "${RC_CMD}" = restart ]; then + ebegin "Stopping lxd service (but not containers)" + # start-stop-daemon sends SIGTERM with a timeout of 5s by default. + # SIGTERM indicates to LXD that it will be stopped temporarily. + # Instances will keep running. + start-stop-daemon --stop --quiet -p "${PIDFILE}" + eend ${?} + else + ebegin "Stopping lxd service and containers, waiting 40s" + # SIGPWR indicates to LXD 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 LXD. + start-stop-daemon --stop --quiet -R SIGPWR/40 -p "${PIDFILE}" + eend ${?} + fi +} diff --git a/app-containers/lxd/files/lxd-5.0.2-remove-shellcheck-buildsystem-checks.patch b/app-containers/lxd/files/lxd-5.0.2-remove-shellcheck-buildsystem-checks.patch new file mode 100644 index 000000000000..a8e457387ee6 --- /dev/null +++ b/app-containers/lxd/files/lxd-5.0.2-remove-shellcheck-buildsystem-checks.patch @@ -0,0 +1,32 @@ +diff -Naur a/Makefile b/Makefile +--- a/Makefile 2023-01-16 21:10:45.000000000 -0000 ++++ b/Makefile 2023-01-19 14:52:28.488204725 -0000 +@@ -248,28 +248,6 @@ + .PHONY: build-mo + build-mo: $(MOFILES) + +-.PHONY: static-analysis +-static-analysis: +-ifeq ($(shell command -v golangci-lint 2> /dev/null),) +- go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.46.2 +-endif +-ifeq ($(shell command -v shellcheck 2> /dev/null),) +- echo "Please install shellcheck" +- exit 1 +-endif +-ifneq "$(shell shellcheck --version | grep version: | cut -d ' ' -f2)" "0.8.0" +- @echo "WARN: shellcheck version is not 0.8.0" +-endif +-ifeq ($(shell command -v flake8 2> /dev/null),) +- echo "Please install flake8" +- exit 1 +-endif +- golangci-lint run --timeout 5m +- flake8 test/deps/import-busybox +- shellcheck --shell sh test/*.sh test/includes/*.sh test/suites/*.sh test/backends/*.sh test/lint/*.sh +- shellcheck test/extras/*.sh +- run-parts --regex '.sh' test/lint +- + .PHONY: tags + tags: *.go lxd/*.go shared/*.go lxc/*.go + find . -type f -name '*.go' | xargs gotags > tags diff --git a/app-containers/lxd/files/lxd-5.0.3-btrfs-quota-group-fix.patch b/app-containers/lxd/files/lxd-5.0.3-btrfs-quota-group-fix.patch new file mode 100644 index 000000000000..4e993b7e7054 --- /dev/null +++ b/app-containers/lxd/files/lxd-5.0.3-btrfs-quota-group-fix.patch @@ -0,0 +1,52 @@ +From e7c852e43c0479060e630adb50342d2552a6cdad Mon Sep 17 00:00:00 2001 +From: Thomas Parrott <thomas.parrott@canonical.com> +Date: Tue, 7 Feb 2023 10:04:27 +0000 +Subject: [PATCH] lxd/storage/drivers/driver/btrfs/utils: Only check for + minimum number of columns in `btrfs qgroup show` command + +Previously we expected 4 columns, but in btrfs-progs >= 6.0 this has changed to 5 columns. + +E.g. in Jammy btrfs-progs v5.16.2: + +``` +sudo btrfs qgroup show /var/lib/lxd/storage-pools/btrfs +qgroupid rfer excl +-------- ---- ---- +0/5 16.00KiB 16.00KiB +0/256 9.66MiB 400.00KiB +0/257 9.66MiB 392.00KiB +``` + +And in Lunar btrfs-progs v6.1.3: + +``` +btrfs qgroup show /var/lib/lxd/storage-pools/btrfs +Qgroupid Referenced Exclusive Path +-------- ---------- --------- ---- +0/5 16.00KiB 16.00KiB <toplevel> +0/256 9.63MiB 400.00KiB images/1f81470478d136f0008c856e3a47369e0ac863f0402ce0e31c56dd29e9fdd4d7 +0/257 9.64MiB 404.00KiB containers/c1 +``` + +Fixes #11210 + +Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com> +--- + lxd/storage/drivers/driver_btrfs_utils.go | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/lxd/storage/drivers/driver_btrfs_utils.go b/lxd/storage/drivers/driver_btrfs_utils.go +index e1468e4b1a59..722a2de20978 100644 +--- a/lxd/storage/drivers/driver_btrfs_utils.go ++++ b/lxd/storage/drivers/driver_btrfs_utils.go +@@ -253,7 +253,9 @@ func (d *btrfs) getQGroup(path string) (string, int64, error) { + } + + fields := strings.Fields(line) +- if len(fields) != 4 { ++ ++ // The BTRFS tooling changed the number of columns between versions so we only check for minimum. ++ if len(fields) < 3 { + continue + } + diff --git a/app-containers/lxd/files/lxd-5.0.3-pr-12834-dont-stop-parsing-image-info.patch b/app-containers/lxd/files/lxd-5.0.3-pr-12834-dont-stop-parsing-image-info.patch new file mode 100644 index 000000000000..768e4d160132 --- /dev/null +++ b/app-containers/lxd/files/lxd-5.0.3-pr-12834-dont-stop-parsing-image-info.patch @@ -0,0 +1,79 @@ +From fe71f2135bdc3aa6ea28de7ed1ac324f7d689ed6 Mon Sep 17 00:00:00 2001 +From: Thomas Parrott <thomas.parrott@canonical.com> +Date: Wed, 7 Feb 2024 16:53:29 +0000 +Subject: [PATCH 1/2] shared/simplestreams/products: Fix regression in parsing + version files + +Don't stop when finding first matching version file because the index is parsed +in random order and LXD calls it multiple times when figuring out which image +file to download and so stopping early can cause mismatches when trying to match +a converted alias to a specific file fingerprint. + +Introduced with 3e9acc4 + +Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com> +(cherry picked from commit 3681d5e54649fcc2fc9375b6820c1133f140228d) +--- + shared/simplestreams/products.go | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/shared/simplestreams/products.go b/shared/simplestreams/products.go +index a07e4d5b1b5b..542051403899 100644 +--- a/shared/simplestreams/products.go ++++ b/shared/simplestreams/products.go +@@ -279,8 +279,6 @@ func (s *Products) ToLXD() ([]api.Image, map[string][][]string) { + if err != nil { + continue + } +- +- break // Stop at first compatible item found. + } else if shared.StringInSlice(item.FileType, lxdCompatItems) { + // Locate the root files + for _, subItem := range version.Items { +@@ -291,8 +289,6 @@ func (s *Products) ToLXD() ([]api.Image, map[string][][]string) { + } + } + } +- +- break // Stop at first compatible item found. + } + } + } + +From d3253e4cbc85b97e3bc6dba9a27fd2ab0c4d8685 Mon Sep 17 00:00:00 2001 +From: Thomas Parrott <thomas.parrott@canonical.com> +Date: Wed, 7 Feb 2024 10:28:36 +0000 +Subject: [PATCH 2/2] shared/simplestreams/simplestreams: Improve error + messages + +Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com> +(cherry picked from commit 56364f5a97373155d5e6a5a6b10d06d16a25fb3c) +--- + shared/simplestreams/simplestreams.go | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/shared/simplestreams/simplestreams.go b/shared/simplestreams/simplestreams.go +index 3f3255cac913..68e1d96278a3 100644 +--- a/shared/simplestreams/simplestreams.go ++++ b/shared/simplestreams/simplestreams.go +@@ -377,7 +377,7 @@ func (s *SimpleStreams) GetFiles(fingerprint string) (map[string]DownloadableFil + } + } + +- return nil, fmt.Errorf("Couldn't find the requested image") ++ return nil, fmt.Errorf("Couldn't find the requested image for fingerprint %q", fingerprint) + } + + // ListAliases returns a list of image aliases for the provided image fingerprint. +@@ -501,9 +501,9 @@ func (s *SimpleStreams) GetImage(fingerprint string) (*api.Image, error) { + } + + if len(matches) == 0 { +- return nil, fmt.Errorf("The requested image couldn't be found") ++ return nil, fmt.Errorf("The requested image couldn't be found for fingerprint %q", fingerprint) + } else if len(matches) > 1 { +- return nil, fmt.Errorf("More than one match for the provided partial fingerprint") ++ return nil, fmt.Errorf("More than one match for the provided partial fingerprint %q", fingerprint) + } + + return &matches[0], nil diff --git a/app-containers/lxd/files/lxd-5.0.3-pr-12847-ignore-incus-archives.patch b/app-containers/lxd/files/lxd-5.0.3-pr-12847-ignore-incus-archives.patch new file mode 100644 index 000000000000..76a6a1476de8 --- /dev/null +++ b/app-containers/lxd/files/lxd-5.0.3-pr-12847-ignore-incus-archives.patch @@ -0,0 +1,26 @@ +From 55bd4024dbfc315c0f57da57f2f9bd9c5c97dad1 Mon Sep 17 00:00:00 2001 +From: Din Music <din.music@canonical.com> +Date: Thu, 18 Jan 2024 17:08:36 +0100 +Subject: [PATCH] shared/simplestreams/products: Search only for lxd archives + +Signed-off-by: Din Music <din.music@canonical.com> +(cherry picked from commit 0c9253da9448475e6de60dd345c67c0179884f13) +--- + shared/simplestreams/products.go | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/shared/simplestreams/products.go b/shared/simplestreams/products.go +index 542051403899..d80d8e7be251 100644 +--- a/shared/simplestreams/products.go ++++ b/shared/simplestreams/products.go +@@ -10,8 +10,8 @@ import ( + "github.com/canonical/lxd/shared/osarch" + ) + +-var lxdCompatCombinedItems = []string{"lxd_combined.tar.gz", "incus_combined.tar.gz"} +-var lxdCompatItems = []string{"lxd.tar.xz", "incus.tar.xz"} ++var lxdCompatCombinedItems = []string{"lxd_combined.tar.gz"} ++var lxdCompatItems = []string{"lxd.tar.xz"} + + // Products represents the base of download.json. + type Products struct { diff --git a/app-containers/lxd/files/lxd-5.0.3-remove-shellcheck-buildsystem-checks.patch b/app-containers/lxd/files/lxd-5.0.3-remove-shellcheck-buildsystem-checks.patch new file mode 100644 index 000000000000..d3efd72ecb37 --- /dev/null +++ b/app-containers/lxd/files/lxd-5.0.3-remove-shellcheck-buildsystem-checks.patch @@ -0,0 +1,33 @@ +diff --git a/Makefile b/Makefile +index 8061227..c9b85d2 100644 +--- a/Makefile ++++ b/Makefile +@@ -258,28 +258,6 @@ endif + .PHONY: build-mo + build-mo: $(MOFILES) + +-.PHONY: static-analysis +-static-analysis: +-ifeq ($(shell command -v golangci-lint),) +- curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $$(go env GOPATH)/bin +-endif +-ifeq ($(shell command -v shellcheck),) +- echo "Please install shellcheck" +- exit 1 +-else +-ifneq "$(shell shellcheck --version | grep version: | cut -d ' ' -f2)" "0.8.0" +- @echo "WARN: shellcheck version is not 0.8.0" +-endif +-endif +-ifeq ($(shell command -v flake8),) +- echo "Please install flake8" +- exit 1 +-endif +- flake8 test/deps/import-busybox +- shellcheck --shell sh test/*.sh test/includes/*.sh test/suites/*.sh test/backends/*.sh test/lint/*.sh +- shellcheck test/extras/*.sh +- run-parts --exit-on-error --regex '.sh' test/lint +- + .PHONY: staticcheck + staticcheck: + ifeq ($(shell command -v staticcheck),) diff --git a/app-containers/lxd/lxd-5.0.0.ebuild b/app-containers/lxd/lxd-4.0.9-r4.ebuild index 04dab07a5718..efb4546488c2 100644 --- a/app-containers/lxd/lxd-5.0.0.ebuild +++ b/app-containers/lxd/lxd-4.0.9-r4.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=8 +EAPI=7 inherit bash-completion-r1 go-module linux-info optfeature systemd verify-sig @@ -11,8 +11,8 @@ SRC_URI="https://linuxcontainers.org/downloads/lxd/${P}.tar.gz verify-sig? ( https://linuxcontainers.org/downloads/lxd/${P}.tar.gz.asc )" LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~x86" +SLOT="0/lts" +KEYWORDS="~amd64 ~arm64 ~x86" IUSE="apparmor ipv6 nls verify-sig" DEPEND="acct-group/lxd @@ -27,11 +27,16 @@ DEPEND="acct-group/lxd sys-libs/libcap virtual/udev" RDEPEND="${DEPEND} - net-firewall/ebtables - net-firewall/iptables[ipv6(+)?] + || ( + net-firewall/nftables[json] + ( + net-firewall/ebtables + net-firewall/iptables[ipv6(+)?] + ) + ) sys-apps/iproute2[ipv6(+)?] sys-fs/fuse:* - >=sys-fs/lxcfs-5.0.0 + sys-fs/lxcfs sys-fs/squashfs-tools[lzma] virtual/acl" BDEPEND="dev-lang/go @@ -69,10 +74,10 @@ QA_PREBUILT="/usr/bin/fuidshift /usr/bin/lxc-to-lxd /usr/bin/lxd-agent /usr/bin/lxd-benchmark - /usr/bin/lxd-migrate + /usr/bin/lxd-p2c /usr/sbin/lxd" -VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc # The testsuite must be run as root. # make: *** [Makefile:156: check] Error 1 @@ -80,6 +85,8 @@ RESTRICT="test" GOPATH="${S}/_dist" +PATCHES=( "${FILESDIR}"/lxd-4.0.9-glibc-2.36-fix.patch ) + src_prepare() { export GOPATH="${S}/_dist" @@ -125,10 +132,10 @@ src_compile() { go install -v -x "${S}/${k}" || die "failed compiling ${k}" done - go install -v -x -tags libsqlite3 ${S}/lxd || die "Failed to build the daemon" + go install -v -x -tags libsqlite3 "${S}"/lxd || die "Failed to build the daemon" # Needs to be built statically - CGO_ENABLED=0 go install -v -tags netgo "${S}"/lxd-migrate + CGO_ENABLED=0 go install -v -tags netgo "${S}"/lxd-p2c CGO_ENABLED=0 go install -v -tags agent,netgo "${S}"/lxd-agent use nls && emake build-mo @@ -144,7 +151,7 @@ src_install() { dosbin ${bindir}/lxd - for l in fuidshift lxd-agent lxd-benchmark lxd-migrate lxc lxc-to-lxd; do + for l in fuidshift lxd-agent lxd-benchmark lxd-p2c lxc lxc-to-lxd; do dobin ${bindir}/${l} done @@ -157,8 +164,7 @@ src_install() { systemd_newunit "${FILESDIR}"/lxd-containers-4.0.0.service lxd-containers.service systemd_newunit "${FILESDIR}"/lxd-4.0.0.socket lxd.socket - dodoc AUTHORS - dodoc -r doc/* + dodoc AUTHORS doc/* use nls && domo po/*.mo } diff --git a/app-containers/lxd/lxd-5.0.2-r4.ebuild b/app-containers/lxd/lxd-5.0.2-r4.ebuild new file mode 100644 index 000000000000..f74e0a523ad9 --- /dev/null +++ b/app-containers/lxd/lxd-5.0.2-r4.ebuild @@ -0,0 +1,211 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 go-module linux-info optfeature systemd verify-sig + +DESCRIPTION="Modern, secure and powerful system container and virtual machine manager" +HOMEPAGE="https://ubuntu.com/lxd https://github.com/canonical/lxd" +SRC_URI="https://linuxcontainers.org/downloads/lxd/${P}.tar.gz + verify-sig? ( https://linuxcontainers.org/downloads/lxd/${P}.tar.gz.asc )" + +LICENSE="Apache-2.0 BSD LGPL-3 MIT" +SLOT="0/lts" +KEYWORDS="amd64 ~arm64 ~x86" +IUSE="apparmor nls" + +DEPEND="acct-group/lxd + app-arch/xz-utils + >=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)] + dev-db/sqlite:3 + >=dev-libs/dqlite-1.16.4:=[lz4] + dev-libs/lzo + >=dev-util/xdelta-3.0[lzma(+)] + net-dns/dnsmasq[dhcp] + sys-libs/libcap + virtual/udev" +RDEPEND="${DEPEND} + || ( + net-firewall/nftables[json] + ( + 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 + 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/fuidshift + /usr/bin/lxc + /usr/bin/lxc-to-lxd + /usr/bin/lxd-agent + /usr/bin/lxd-benchmark + /usr/bin/lxd-migrate + /usr/sbin/lxd" + +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" + +PATCHES=( "${FILESDIR}"/lxd-5.0.2-remove-shellcheck-buildsystem-checks.patch + "${FILESDIR}"/lxd-5.0.3-btrfs-quota-group-fix.patch ) + +src_prepare() { + export GOPATH="${S}/_dist" + + default + + sed -i \ + -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/lxd: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 \ + lxd/apparmor/instance.go \ + lxd/apparmor/instance_qemu.go \ + lxd/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" \ + lxd/device/device_utils_disk.go || die "Failed to fix virtfs-proxy-helper path." + + cp "${FILESDIR}"/lxd-4.0.9-r1.service "${T}"/lxd.service || die + if use apparmor; then + sed -i \ + '/^EnvironmentFile=.*/a ExecStartPre=\/usr\/libexec\/lxc\/lxc-apparmor-load' \ + "${T}"/lxd.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 fuidshift lxd-benchmark lxc lxc-to-lxd; do + go install -v -x "${S}/${k}" || die "failed compiling ${k}" + done + + go install -v -x -tags libsqlite3 "${S}"/lxd || die "Failed to build the daemon" + + # Needs to be built statically + CGO_ENABLED=0 go install -v -tags netgo "${S}"/lxd-migrate + CGO_ENABLED=0 go install -v -tags agent,netgo "${S}"/lxd-agent + + use nls && emake build-mo +} + +src_test() { + emake check +} + +src_install() { + export GOPATH="${S}/_dist" + local bindir="_dist/bin" + + dosbin ${bindir}/lxd + + for l in fuidshift lxd-agent lxd-benchmark lxd-migrate lxc lxc-to-lxd; do + dobin ${bindir}/${l} + done + + newbashcomp scripts/bash/lxd-client lxc + + newconfd "${FILESDIR}"/lxd-4.0.0.confd lxd + newinitd "${FILESDIR}"/lxd-5.0.2-r1.initd lxd + + systemd_dounit "${T}"/lxd.service + systemd_newunit "${FILESDIR}"/lxd-containers-4.0.0.service lxd-containers.service + systemd_newunit "${FILESDIR}"/lxd-4.0.0.socket lxd.socket + + dodoc AUTHORS + dodoc -r doc/* + use nls && domo po/*.mo +} + +pkg_postinst() { + elog + elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," + elog "including a Quick Start." + elog "For virtual machine support, see:" + elog "https://wiki.gentoo.org/wiki/LXD#Virtual_machines" + elog + elog "Please run 'lxc-checkconfig' to see all optional kernel features." + elog + optfeature "virtual machine support" app-emulation/qemu[spice,usbredir,virtfs] + optfeature "btrfs storage backend" sys-fs/btrfs-progs + optfeature "ipv6 support" net-dns/dnsmasq[ipv6] + optfeature "full lxd-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 lxd group." + + if [[ ${REPLACING_VERSIONS} ]] && + ver_test ${REPLACING_VERSIONS} -lt 5.0.1 && + has_version app-emulation/qemu[spice,usbredir,virtfs]; then + ewarn "" + ewarn "You're updating from <5.0.1. Due to incompatible API updates in the lxd-agent" + ewarn "product, you'll have to restart any running virtual machines before they work" + ewarn "properly." + ewarn "" + ewarn "Run: 'lxc restart your-vm' after the update for your vm's managed by lxd." + ewarn "" + fi + + if [[ ${REPLACING_VERSIONS} ]] && + has_version "sys-apps/openrc"; then + elog "" + elog "The new init.d script will attempt to mount " + elog " /sys/fs/cgroup/systemd" + elog "by default, which is needed to run systemd containers with openrc host." + elog "See the /etc/init.d/lxd file for requirements." + elog "" + fi +} diff --git a/app-containers/lxd/lxd-5.0.3-r2.ebuild b/app-containers/lxd/lxd-5.0.3-r2.ebuild new file mode 100644 index 000000000000..2a37a0ddeac2 --- /dev/null +++ b/app-containers/lxd/lxd-5.0.3-r2.ebuild @@ -0,0 +1,215 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 go-module linux-info optfeature systemd verify-sig + +DESCRIPTION="Modern, secure and powerful system container and virtual machine manager" +HOMEPAGE="https://ubuntu.com/lxd https://github.com/canonical/lxd" +SRC_URI="https://github.com/canonical/lxd/releases/download/${P}/${P}.tar.gz + verify-sig? ( https://github.com/canonical/lxd/releases/download/${P}/${P}.tar.gz.asc +)" + +LICENSE="Apache-2.0 BSD LGPL-3 MIT" +SLOT="0/lts" +KEYWORDS="amd64 ~arm64 ~x86" +IUSE="apparmor nls" + +DEPEND="acct-group/lxd + app-arch/xz-utils + >=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)] + dev-db/sqlite:3 + >=dev-libs/dqlite-1.16.4:=[lz4] + dev-libs/lzo + >=dev-util/xdelta-3.0[lzma(+)] + net-dns/dnsmasq[dhcp] + sys-libs/libcap + virtual/udev" +RDEPEND="${DEPEND} + || ( + net-firewall/nftables[json] + ( + 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 + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-canonical )" + +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/fuidshift + /usr/bin/lxc + /usr/bin/lxc-to-lxd + /usr/bin/lxd-agent + /usr/bin/lxd-benchmark + /usr/bin/lxd-migrate + /usr/sbin/lxd" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/canonical.asc + +# The testsuite must be run as root. +# make: *** [Makefile:156: check] Error 1 +RESTRICT="test" + +GOPATH="${S}/_dist" + +PATCHES=( + "${FILESDIR}"/lxd-5.0.3-remove-shellcheck-buildsystem-checks.patch + "${FILESDIR}"/lxd-5.0.3-pr-12834-dont-stop-parsing-image-info.patch + "${FILESDIR}"/lxd-5.0.3-pr-12847-ignore-incus-archives.patch +) + +src_prepare() { + export GOPATH="${S}/_dist" + + default + + sed -i \ + -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/lxd: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 \ + lxd/apparmor/instance.go \ + lxd/apparmor/instance_qemu.go \ + lxd/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" \ + lxd/device/device_utils_disk.go || die "Failed to fix virtfs-proxy-helper path." + + cp "${FILESDIR}"/lxd-4.0.9-r1.service "${T}"/lxd.service || die + if use apparmor; then + sed -i \ + '/^EnvironmentFile=.*/a ExecStartPre=\/usr\/libexec\/lxc\/lxc-apparmor-load' \ + "${T}"/lxd.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 fuidshift lxd-benchmark lxc lxc-to-lxd; do + go install -v -x "${S}/${k}" || die "failed compiling ${k}" + done + + go install -v -x -tags libsqlite3 "${S}"/lxd || die "Failed to build the daemon" + + # Needs to be built statically + CGO_ENABLED=0 go install -v -tags netgo "${S}"/lxd-migrate + CGO_ENABLED=0 go install -v -tags agent,netgo "${S}"/lxd-agent + + use nls && emake build-mo +} + +src_test() { + emake check +} + +src_install() { + export GOPATH="${S}/_dist" + local bindir="_dist/bin" + + dosbin ${bindir}/lxd + + for l in fuidshift lxd-agent lxd-benchmark lxd-migrate lxc lxc-to-lxd; do + dobin ${bindir}/${l} + done + + newbashcomp scripts/bash/lxd-client lxc + + newconfd "${FILESDIR}"/lxd-4.0.0.confd lxd + newinitd "${FILESDIR}"/lxd-5.0.2-r1.initd lxd + + systemd_dounit "${T}"/lxd.service + systemd_newunit "${FILESDIR}"/lxd-containers-4.0.0.service lxd-containers.service + systemd_newunit "${FILESDIR}"/lxd-4.0.0.socket lxd.socket + + dodoc AUTHORS + dodoc -r doc/* + use nls && domo po/*.mo +} + +pkg_postinst() { + elog + elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," + elog "including a Quick Start." + elog "For virtual machine support, see:" + elog "https://wiki.gentoo.org/wiki/LXD#Virtual_machines" + elog + elog "Please run 'lxc-checkconfig' to see all optional kernel features." + elog + optfeature "virtual machine support" app-emulation/qemu[spice,usbredir,virtfs] + optfeature "btrfs storage backend" sys-fs/btrfs-progs + optfeature "ipv6 support" net-dns/dnsmasq[ipv6] + optfeature "full lxd-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 lxd group." + + if [[ ${REPLACING_VERSIONS} ]] && + ver_test ${REPLACING_VERSIONS} -lt 5.0.1 && + has_version app-emulation/qemu[spice,usbredir,virtfs]; then + ewarn "" + ewarn "You're updating from <5.0.1. Due to incompatible API updates in the lxd-agent" + ewarn "product, you'll have to restart any running virtual machines before they work" + ewarn "properly." + ewarn "" + ewarn "Run: 'lxc restart your-vm' after the update for your vm's managed by lxd." + ewarn "" + fi + + if [[ ${REPLACING_VERSIONS} ]] && + has_version "sys-apps/openrc"; then + elog "" + elog "The new init.d script will attempt to mount " + elog " /sys/fs/cgroup/systemd" + elog "by default, which is needed to run systemd containers with openrc host." + elog "See the /etc/init.d/lxd file for requirements." + elog "" + fi +} diff --git a/app-containers/lxd/lxd-5.19-r1.ebuild b/app-containers/lxd/lxd-5.19-r1.ebuild new file mode 100644 index 000000000000..43ca84883aa1 --- /dev/null +++ b/app-containers/lxd/lxd-5.19-r1.ebuild @@ -0,0 +1,187 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 go-module linux-info optfeature systemd verify-sig + +DESCRIPTION="Modern, secure and powerful system container and virtual machine manager" +HOMEPAGE="https://ubuntu.com/lxd https://github.com/canonical/lxd" +SRC_URI="https://github.com/canonical/lxd/releases/download/${P}/${P}.tar.gz + verify-sig? ( https://github.com/canonical/lxd/releases/download/${P}/${P}.tar.gz.asc +)" + +LICENSE="Apache-2.0 BSD LGPL-3 MIT" +SLOT="0/stable" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="apparmor nls" + +DEPEND="acct-group/lxd + app-arch/xz-utils + >=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)] + dev-db/sqlite:3 + >=dev-libs/dqlite-1.16.4:=[lz4] + dev-libs/lzo + >=dev-util/xdelta-3.0[lzma(+)] + net-dns/dnsmasq[dhcp] + sys-libs/libcap + virtual/udev" +RDEPEND="${DEPEND} + || ( + net-firewall/nftables[json] + ( + net-firewall/ebtables + net-firewall/iptables + ) + ) + sys-apps/iproute2 + sys-fs/fuse:3 + >=sys-fs/lxcfs-5.0.0 + sys-fs/squashfs-tools[lzma] + virtual/acl" +BDEPEND="dev-lang/go + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-canonical )" + +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/fuidshift + /usr/bin/lxc + /usr/bin/lxc-to-lxd + /usr/bin/lxd-agent + /usr/bin/lxd-benchmark + /usr/bin/lxd-migrate + /usr/sbin/lxd" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/canonical.asc + +# The testsuite must be run as root. +# make: *** [Makefile:156: check] Error 1 +RESTRICT="test" + +GOPATH="${S}/_dist" + +src_prepare() { + export GOPATH="${S}/_dist" + + default + + sed -i \ + -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/lxd: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 \ + lxd/apparmor/instance.go \ + lxd/apparmor/instance_qemu.go \ + lxd/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" \ + lxd/device/device_utils_disk.go || die "Failed to fix virtfs-proxy-helper path." + + cp "${FILESDIR}"/lxd-4.0.9-r1.service "${T}"/lxd.service || die + if use apparmor; then + sed -i \ + '/^EnvironmentFile=.*/a ExecStartPre=\/usr\/libexec\/lxc\/lxc-apparmor-load' \ + "${T}"/lxd.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 fuidshift lxd-benchmark lxc lxc-to-lxd; do + go install -v -x "${S}/${k}" || die "failed compiling ${k}" + done + + go install -v -x -tags libsqlite3 "${S}"/lxd || die "Failed to build the daemon" + + # Needs to be built statically + CGO_ENABLED=0 go install -v -tags netgo "${S}"/lxd-migrate + CGO_ENABLED=0 go install -v -tags agent,netgo "${S}"/lxd-agent + + use nls && emake build-mo +} + +src_test() { + emake check +} + +src_install() { + export GOPATH="${S}/_dist" + local bindir="_dist/bin" + + dosbin ${bindir}/lxd + + for l in fuidshift lxd-agent lxd-benchmark lxd-migrate lxc lxc-to-lxd; do + dobin ${bindir}/${l} + done + + newbashcomp scripts/bash/lxd-client lxc + + newconfd "${FILESDIR}"/lxd-4.0.0.confd lxd + newinitd "${FILESDIR}"/lxd-5.0.2-r1.initd lxd + + systemd_dounit "${T}"/lxd.service + systemd_newunit "${FILESDIR}"/lxd-containers-4.0.0.service lxd-containers.service + systemd_newunit "${FILESDIR}"/lxd-4.0.0.socket lxd.socket + + dodoc AUTHORS + dodoc -r doc/* + use nls && domo po/*.mo +} + +pkg_postinst() { + elog + elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," + elog "including a Quick Start." + elog "For virtual machine support, see:" + elog "https://wiki.gentoo.org/wiki/LXD#Virtual_machines" + elog + elog "Please run 'lxc-checkconfig' to see all optional kernel features." + elog + optfeature "virtual machine support" app-emulation/qemu[spice,usbredir,virtfs] + optfeature "btrfs storage backend" sys-fs/btrfs-progs + optfeature "ipv6 support" net-dns/dnsmasq[ipv6] + optfeature "full lxd-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 lxd group." +} diff --git a/app-containers/lxd/lxd-5.20-r1.ebuild b/app-containers/lxd/lxd-5.20-r1.ebuild new file mode 100644 index 000000000000..d7165784ee4d --- /dev/null +++ b/app-containers/lxd/lxd-5.20-r1.ebuild @@ -0,0 +1,187 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 go-module linux-info optfeature systemd verify-sig + +DESCRIPTION="Modern, secure and powerful system container and virtual machine manager" +HOMEPAGE="https://ubuntu.com/lxd https://github.com/canonical/lxd" +SRC_URI="https://github.com/canonical/lxd/releases/download/${P}/${P}.tar.gz + verify-sig? ( https://github.com/canonical/lxd/releases/download/${P}/${P}.tar.gz.asc +)" + +LICENSE="Apache-2.0 AGPL-3+ BSD LGPL-3 MIT" +SLOT="0/stable" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="apparmor nls" + +DEPEND="acct-group/lxd + app-arch/xz-utils + >=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)] + dev-db/sqlite:3 + >=dev-libs/dqlite-1.16.4:=[lz4] + dev-libs/lzo + >=dev-util/xdelta-3.0[lzma(+)] + net-dns/dnsmasq[dhcp] + sys-libs/libcap + virtual/udev" +RDEPEND="${DEPEND} + || ( + net-firewall/nftables[json] + ( + net-firewall/ebtables + net-firewall/iptables + ) + ) + sys-apps/iproute2 + sys-fs/fuse:3 + >=sys-fs/lxcfs-5.0.0 + sys-fs/squashfs-tools[lzma] + virtual/acl" +BDEPEND=">=dev-lang/go-1.20 + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-canonical )" + +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/fuidshift + /usr/bin/lxc + /usr/bin/lxc-to-lxd + /usr/bin/lxd-agent + /usr/bin/lxd-benchmark + /usr/bin/lxd-migrate + /usr/sbin/lxd" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/canonical.asc + +# The testsuite must be run as root. +# make: *** [Makefile:156: check] Error 1 +RESTRICT="test" + +GOPATH="${S}/_dist" + +src_prepare() { + export GOPATH="${S}/_dist" + + default + + sed -i \ + -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/lxd: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 \ + lxd/apparmor/instance.go \ + lxd/apparmor/instance_qemu.go \ + lxd/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" \ + lxd/device/device_utils_disk.go || die "Failed to fix virtfs-proxy-helper path." + + cp "${FILESDIR}"/lxd-4.0.9-r1.service "${T}"/lxd.service || die + if use apparmor; then + sed -i \ + '/^EnvironmentFile=.*/a ExecStartPre=\/usr\/libexec\/lxc\/lxc-apparmor-load' \ + "${T}"/lxd.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 fuidshift lxd-benchmark lxc lxc-to-lxd; do + go install -v -x "${S}/${k}" || die "failed compiling ${k}" + done + + go install -v -x -tags libsqlite3 "${S}"/lxd || die "Failed to build the daemon" + + # Needs to be built statically + CGO_ENABLED=0 go install -v -tags netgo "${S}"/lxd-migrate + CGO_ENABLED=0 go install -v -tags agent,netgo "${S}"/lxd-agent + + use nls && emake build-mo +} + +src_test() { + emake check +} + +src_install() { + export GOPATH="${S}/_dist" + local bindir="_dist/bin" + + dosbin ${bindir}/lxd + + for l in fuidshift lxd-agent lxd-benchmark lxd-migrate lxc lxc-to-lxd; do + dobin ${bindir}/${l} + done + + newbashcomp scripts/bash/lxd-client lxc + + newconfd "${FILESDIR}"/lxd-4.0.0.confd lxd + newinitd "${FILESDIR}"/lxd-5.0.2-r1.initd lxd + + systemd_dounit "${T}"/lxd.service + systemd_newunit "${FILESDIR}"/lxd-containers-4.0.0.service lxd-containers.service + systemd_newunit "${FILESDIR}"/lxd-4.0.0.socket lxd.socket + + dodoc AUTHORS + dodoc -r doc/* + use nls && domo po/*.mo +} + +pkg_postinst() { + elog + elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," + elog "including a Quick Start." + elog "For virtual machine support, see:" + elog "https://wiki.gentoo.org/wiki/LXD#Virtual_machines" + elog + elog "Please run 'lxc-checkconfig' to see all optional kernel features." + elog + optfeature "virtual machine support" app-emulation/qemu[spice,usbredir,virtfs] + optfeature "btrfs storage backend" sys-fs/btrfs-progs + optfeature "ipv6 support" net-dns/dnsmasq[ipv6] + optfeature "full lxd-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 lxd group." +} diff --git a/app-containers/lxd/lxd-5.21.1.ebuild b/app-containers/lxd/lxd-5.21.1.ebuild new file mode 100644 index 000000000000..d7165784ee4d --- /dev/null +++ b/app-containers/lxd/lxd-5.21.1.ebuild @@ -0,0 +1,187 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 go-module linux-info optfeature systemd verify-sig + +DESCRIPTION="Modern, secure and powerful system container and virtual machine manager" +HOMEPAGE="https://ubuntu.com/lxd https://github.com/canonical/lxd" +SRC_URI="https://github.com/canonical/lxd/releases/download/${P}/${P}.tar.gz + verify-sig? ( https://github.com/canonical/lxd/releases/download/${P}/${P}.tar.gz.asc +)" + +LICENSE="Apache-2.0 AGPL-3+ BSD LGPL-3 MIT" +SLOT="0/stable" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="apparmor nls" + +DEPEND="acct-group/lxd + app-arch/xz-utils + >=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)] + dev-db/sqlite:3 + >=dev-libs/dqlite-1.16.4:=[lz4] + dev-libs/lzo + >=dev-util/xdelta-3.0[lzma(+)] + net-dns/dnsmasq[dhcp] + sys-libs/libcap + virtual/udev" +RDEPEND="${DEPEND} + || ( + net-firewall/nftables[json] + ( + net-firewall/ebtables + net-firewall/iptables + ) + ) + sys-apps/iproute2 + sys-fs/fuse:3 + >=sys-fs/lxcfs-5.0.0 + sys-fs/squashfs-tools[lzma] + virtual/acl" +BDEPEND=">=dev-lang/go-1.20 + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-canonical )" + +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/fuidshift + /usr/bin/lxc + /usr/bin/lxc-to-lxd + /usr/bin/lxd-agent + /usr/bin/lxd-benchmark + /usr/bin/lxd-migrate + /usr/sbin/lxd" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/canonical.asc + +# The testsuite must be run as root. +# make: *** [Makefile:156: check] Error 1 +RESTRICT="test" + +GOPATH="${S}/_dist" + +src_prepare() { + export GOPATH="${S}/_dist" + + default + + sed -i \ + -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/lxd: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 \ + lxd/apparmor/instance.go \ + lxd/apparmor/instance_qemu.go \ + lxd/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" \ + lxd/device/device_utils_disk.go || die "Failed to fix virtfs-proxy-helper path." + + cp "${FILESDIR}"/lxd-4.0.9-r1.service "${T}"/lxd.service || die + if use apparmor; then + sed -i \ + '/^EnvironmentFile=.*/a ExecStartPre=\/usr\/libexec\/lxc\/lxc-apparmor-load' \ + "${T}"/lxd.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 fuidshift lxd-benchmark lxc lxc-to-lxd; do + go install -v -x "${S}/${k}" || die "failed compiling ${k}" + done + + go install -v -x -tags libsqlite3 "${S}"/lxd || die "Failed to build the daemon" + + # Needs to be built statically + CGO_ENABLED=0 go install -v -tags netgo "${S}"/lxd-migrate + CGO_ENABLED=0 go install -v -tags agent,netgo "${S}"/lxd-agent + + use nls && emake build-mo +} + +src_test() { + emake check +} + +src_install() { + export GOPATH="${S}/_dist" + local bindir="_dist/bin" + + dosbin ${bindir}/lxd + + for l in fuidshift lxd-agent lxd-benchmark lxd-migrate lxc lxc-to-lxd; do + dobin ${bindir}/${l} + done + + newbashcomp scripts/bash/lxd-client lxc + + newconfd "${FILESDIR}"/lxd-4.0.0.confd lxd + newinitd "${FILESDIR}"/lxd-5.0.2-r1.initd lxd + + systemd_dounit "${T}"/lxd.service + systemd_newunit "${FILESDIR}"/lxd-containers-4.0.0.service lxd-containers.service + systemd_newunit "${FILESDIR}"/lxd-4.0.0.socket lxd.socket + + dodoc AUTHORS + dodoc -r doc/* + use nls && domo po/*.mo +} + +pkg_postinst() { + elog + elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," + elog "including a Quick Start." + elog "For virtual machine support, see:" + elog "https://wiki.gentoo.org/wiki/LXD#Virtual_machines" + elog + elog "Please run 'lxc-checkconfig' to see all optional kernel features." + elog + optfeature "virtual machine support" app-emulation/qemu[spice,usbredir,virtfs] + optfeature "btrfs storage backend" sys-fs/btrfs-progs + optfeature "ipv6 support" net-dns/dnsmasq[ipv6] + optfeature "full lxd-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 lxd group." +} diff --git a/app-containers/lxd/metadata.xml b/app-containers/lxd/metadata.xml index dfd11315a93a..ee1b9a718c31 100644 --- a/app-containers/lxd/metadata.xml +++ b/app-containers/lxd/metadata.xml @@ -5,20 +5,31 @@ <email>juippis@gentoo.org</email> <name>Joonas Niilola</name> </maintainer> + <maintainer type="person" proxied="yes"> + <email>brahmajit.xyz@gmail.com</email> + <name>Brahmajit Das</name> + </maintainer> <maintainer type="project"> <email>virtualization@gentoo.org</email> <name>Gentoo Virtualization Project</name> </maintainer> - <use> - <flag name="apparmor">Enable AppArmor support</flag> - </use> <longdescription> - By combining the speed and density of containers with - the security of traditional virtual machines, LXD is - the next-generation of container hypervisor for Linux - from Canonical. + LXD is a modern, secure and powerful system container and virtual machine manager. + + It provides a unified experience for running and managing full Linux systems inside containers + or virtual machines. LXD supplies images for a wide number of Linux distributions and is built + around a very powerful, yet pretty simple, REST API. LXD scales from one instance on a single + machine to a cluster in a full data center rack, making it suitable for running workloads both + for development and in production. + + LXD allows you to easily set up a system that feels like a small private cloud. You can run any + type of workload in an efficient way while keeping your resources optimized. + + You should consider using LXD if you want to containerize different environments or run virtual + machines, or in general run and manage your infrastructure in a cost-effective way. </longdescription> <upstream> - <remote-id type="github">lxc/lxd</remote-id> + <remote-id type="github">canonical/lxd</remote-id> + <remote-id type="cpe">cpe:/a:linuxcontainers:lxd</remote-id> </upstream> </pkgmetadata> diff --git a/app-containers/metadata.xml b/app-containers/metadata.xml index c1a2b4e9a74a..65e29673ea3d 100644 --- a/app-containers/metadata.xml +++ b/app-containers/metadata.xml @@ -4,4 +4,7 @@ <longdescription lang="en"> The app-containers category contains container related software. </longdescription> + <longdescription lang="de"> + Die Kategorie app-containers enthält Container-bezogene Software. + </longdescription> </catmetadata> diff --git a/app-containers/nerdctl/Manifest b/app-containers/nerdctl/Manifest index 8765b1dc6562..2f1673410118 100644 --- a/app-containers/nerdctl/Manifest +++ b/app-containers/nerdctl/Manifest @@ -1,6 +1,4 @@ -DIST nerdctl-0.17.1-vendor.tar.gz 7762770 BLAKE2B 399a99047cb3a3ab31806529e2502f3446e3df717950f1db05d8a449e5c931719717a35e420791232b19338c9d81c8443f0cd2520c38509aedbbaddc8b6d2893 SHA512 ec2967abee1ff44dcd44dd21d079a9d1e9bb254d0a5b150f57a2668cdd26e7f6dd5de99bc1fff3a94b4fb1c4546785e78245ed4e4e5f026b81b909f8dbf318c6 -DIST nerdctl-0.18.0-vendor.tar.gz 7757873 BLAKE2B dfc77baee4649cf5a4ffa2ae196460d34eea531f930f04b894cc715b68a4295d1bcf98c89702032aaf6c5fc0b1a7f8b885f6c4b0bd61afd044b67fe4510c6967 SHA512 b542abafbd1dfe4213646b66b69d7bb286b8fda152870846cd350ad0362cbd16ca5f2d8fe23ae056f0c18f5674eb984f2993cf2937d7aff7b67668d65d9e1488 -DIST nerdctl-0.19.0-vendor.tar.gz 7798588 BLAKE2B 1bf17d09de13e5d2160cca500e8d9dc2eb666f5639e12353e1153bbf201f48d376c7b369a97bd851082c32276c6ba280d8f8e1add7b56206d3f07a0dfc725393 SHA512 9f84d829c2c40589f930345bb7073e6ca868e9e840f74c9176b049b63b2983dca55168eb54113b7b74e7651f1c902f84c9fca8d0f5d948ba7510db91f3a52e74 -DIST nerdctl-0.21.0-vendor.tar.gz 7984755 BLAKE2B e28b260667109604edb8b0f0c090fcb9769dd4a7411843f2d6180a3bb6f3165ca8feb3c4798c78f2eb2134bc9a205e263e8098e80a6fe0f0de5641b13158d7f8 SHA512 174f8dc8be631eef84d7c461bf4a797fc6d47b20385286cedbbb769c764a97a64937fb2a104c45f42459c4b2217b6fe2bb534f07153a6761f59798d2a08490e0 -DIST nerdctl-0.22.0-vendor.tar.gz 8330256 BLAKE2B d85e7f2938dbaec1ba247d7d3d889bd24fa9e008fc12295a3cd9f8578ebe1f2a3f1d52a23e147ad912fbbd2ccb5c1a796f621285d21f33fb449394ebb449ca0c SHA512 850079c686a0a4ae1616f42f84fed5a4280e0bc0df12ab50f8f883265bc3c04d82081e4a0aa8585673945d6185d2c79cbf07ce1157e794a9b7891b6be1fdff65 -DIST nerdctl-0.22.2-vendor.tar.gz 8374960 BLAKE2B 84b8cb1bef03d05f9277c6931f1f4596609b35ba4e555b02885a5ad99aa692ac8c7b32c778f18993bba518945816dc9ca2ebdb4818b733fc999c4b717c0c7313 SHA512 fa6c166c5376395e129b2b79653382c7e5bc6fcc4a744063afd92fc4b5e84afc41489543c58c0f65c893d7b3d906d502b520d5cb4401ca4ca49c9526606c9291 +DIST nerdctl-1.7.4-go-mod-vendor.tar.gz 7197938 BLAKE2B 14a95cd634acc652d5532d1c6aa28abf24c1cf26393d63fd627e864ba73e5f3355832afd8c3c31eb0dcef9ae1d82c35a7df49c017c5719b45145496ec9243e79 SHA512 aefc9d23114bb2ca0a640287ed27e2afeeb9075a4fdfa33817310300ac8a1ca492defd4a5436f71f4f06a2b8916a75793ce846eac0878a8e51e1accadd21d13f +DIST nerdctl-1.7.4.tar.gz 516231 BLAKE2B 3f1726945c5b816b4ca922187ae0bde0af82ca38227fe3ad2509b8b1654a2ee22d3929296d9633275cc7c3495202c66d90a956ac92c790f17eb2d1254bdb2c17 SHA512 a2cf60e2d704bef6a9c2abc697ef44a6a833b5fcc276bbffec503437281c830e2cd73fc541ef85be2444bad8f2b827c832b7685a3c74ebba503019ed39a19d75 +DIST nerdctl-1.7.5-go-mod-vendor.tar.gz 7229228 BLAKE2B 24dd81b3b54542e8723c44d75e653414c75be9e0e56095e7afe6886d2bde6febdc91b7ef903009145c77a57dd4780bbceda58851b39e7375141066abc20f2f1f SHA512 265d9ae58ec221611c9f7666de2748bf8519a7ba8b3bc0bd3b1e97d671bfc11c7d51cd4512d52000a579c8f5e4bd7e4c5a4bf469853b481c838262001bd9dd65 +DIST nerdctl-1.7.5.tar.gz 517127 BLAKE2B 800fc487c60ea62641b26a1b41f95747bd39467d8e1c7fd7b5302c5d515c2e6765fcf7ef8860b3cbfe04428fe849a7293ec914bae3da65ac6418a1f5c789d832 SHA512 3e35c5e3c68c675d23c1a106d267f62c2e36cd8026308ac6237fa5aa2f3ebaea0f47888e6702290f40c26f543e90bca91d76cae28b74732e8fb351f6ef2441f9 diff --git a/app-containers/nerdctl/metadata.xml b/app-containers/nerdctl/metadata.xml index aaf3fccc76e1..364fdaa26268 100644 --- a/app-containers/nerdctl/metadata.xml +++ b/app-containers/nerdctl/metadata.xml @@ -5,6 +5,11 @@ <email>zmedico@gentoo.org</email> <name>Zac Medico</name> </maintainer> + <use> + <flag name="rootless"> + Enables dependencies for running in rootless mode. + </flag> + </use> <upstream> <remote-id type="github">containerd/nerdctl</remote-id> </upstream> diff --git a/app-containers/nerdctl/nerdctl-0.17.1.ebuild b/app-containers/nerdctl/nerdctl-0.17.1.ebuild deleted file mode 100644 index cfcad48ce82f..000000000000 --- a/app-containers/nerdctl/nerdctl-0.17.1.ebuild +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 2021-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit go-module - -DESCRIPTION="Docker-compatible CLI for containerd, with support for Compose" -HOMEPAGE="https://github.com/containerd/nerdctl" - -EGIT_COMMIT="20233c26d26f11ca73a9a775fba87ca884ab14d2" -# There are too many vendor dependencies to distribute via EGO_SUM (see https://bugs.gentoo.org/721088), -# so they are instead distributed via a combined tarball. -SRC_URI="https://github.com/zmedico/nerdctl/archive/refs/tags/v${PV}-vendor.tar.gz -> ${P}-vendor.tar.gz" -BDEPEND=">=dev-lang/go-1.16" -LICENSE="Apache-2.0 BSD BSD-2 ISC MIT" -SLOT="0" - -KEYWORDS="~amd64" -IUSE="" -S=${WORKDIR}/${P}-vendor - -src_prepare() { - sed -e 's:/usr/local/bin:/usr/bin:' \ - -e "s|^VERSION[[:space:]]*=.*|VERSION := v${PV}|" \ - -e "s|^REVISION[[:space:]]*=.*|REVISION := ${EGIT_COMMIT}|" \ - -i Makefile || die - default -} - -src_install() { - DOCS=(README.md docs examples) - default_src_install -} diff --git a/app-containers/nerdctl/nerdctl-0.18.0.ebuild b/app-containers/nerdctl/nerdctl-0.18.0.ebuild deleted file mode 100644 index 7641dedec9f4..000000000000 --- a/app-containers/nerdctl/nerdctl-0.18.0.ebuild +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 2021-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit go-module - -DESCRIPTION="Docker-compatible CLI for containerd, with support for Compose" -HOMEPAGE="https://github.com/containerd/nerdctl" - -EGIT_COMMIT="77276ff0fffad3f855ab9f2f5a4ad5527ef76485" -# There are too many vendor dependencies to distribute via EGO_SUM (see https://bugs.gentoo.org/721088), -# so they are instead distributed via a combined tarball. -SRC_URI="https://github.com/zmedico/nerdctl/archive/refs/tags/v${PV}-vendor.tar.gz -> ${P}-vendor.tar.gz" -BDEPEND=">=dev-lang/go-1.16" -LICENSE="Apache-2.0 BSD BSD-2 ISC MIT" -SLOT="0" - -KEYWORDS="~amd64" -IUSE="" -S=${WORKDIR}/${P}-vendor - -src_prepare() { - sed -e 's:/usr/local/bin:/usr/bin:' \ - -e "s|^VERSION[[:space:]]*=.*|VERSION := v${PV}|" \ - -e "s|^REVISION[[:space:]]*=.*|REVISION := ${EGIT_COMMIT}|" \ - -i Makefile || die - default -} - -src_install() { - DOCS=(README.md docs examples) - default_src_install -} diff --git a/app-containers/nerdctl/nerdctl-0.19.0.ebuild b/app-containers/nerdctl/nerdctl-0.19.0.ebuild deleted file mode 100644 index 7641dedec9f4..000000000000 --- a/app-containers/nerdctl/nerdctl-0.19.0.ebuild +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 2021-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit go-module - -DESCRIPTION="Docker-compatible CLI for containerd, with support for Compose" -HOMEPAGE="https://github.com/containerd/nerdctl" - -EGIT_COMMIT="77276ff0fffad3f855ab9f2f5a4ad5527ef76485" -# There are too many vendor dependencies to distribute via EGO_SUM (see https://bugs.gentoo.org/721088), -# so they are instead distributed via a combined tarball. -SRC_URI="https://github.com/zmedico/nerdctl/archive/refs/tags/v${PV}-vendor.tar.gz -> ${P}-vendor.tar.gz" -BDEPEND=">=dev-lang/go-1.16" -LICENSE="Apache-2.0 BSD BSD-2 ISC MIT" -SLOT="0" - -KEYWORDS="~amd64" -IUSE="" -S=${WORKDIR}/${P}-vendor - -src_prepare() { - sed -e 's:/usr/local/bin:/usr/bin:' \ - -e "s|^VERSION[[:space:]]*=.*|VERSION := v${PV}|" \ - -e "s|^REVISION[[:space:]]*=.*|REVISION := ${EGIT_COMMIT}|" \ - -i Makefile || die - default -} - -src_install() { - DOCS=(README.md docs examples) - default_src_install -} diff --git a/app-containers/nerdctl/nerdctl-0.21.0.ebuild b/app-containers/nerdctl/nerdctl-0.21.0.ebuild deleted file mode 100644 index 1c01c33ad6f2..000000000000 --- a/app-containers/nerdctl/nerdctl-0.21.0.ebuild +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 2021-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit go-module - -DESCRIPTION="Docker-compatible CLI for containerd, with support for Compose" -HOMEPAGE="https://github.com/containerd/nerdctl" - -EGIT_COMMIT="9ddf5226eabcbb7b4b43987f3b0f8d53d86d3bca" -# There are too many vendor dependencies to distribute via EGO_SUM (see https://bugs.gentoo.org/721088), -# so they are instead distributed via a combined tarball. -SRC_URI="https://github.com/zmedico/nerdctl/archive/refs/tags/v${PV}-vendor.tar.gz -> ${P}-vendor.tar.gz" -BDEPEND=">=dev-lang/go-1.16" -LICENSE="Apache-2.0 BSD BSD-2 ISC MIT" -SLOT="0" - -KEYWORDS="~amd64" -IUSE="" -S=${WORKDIR}/${P}-vendor - -src_prepare() { - sed -e 's:/usr/local/bin:/usr/bin:' \ - -e "s|^VERSION[[:space:]]*=.*|VERSION := v${PV}|" \ - -e "s|^REVISION[[:space:]]*=.*|REVISION := ${EGIT_COMMIT}|" \ - -i Makefile || die - default -} - -src_install() { - DOCS=(README.md docs examples) - default_src_install -} diff --git a/app-containers/nerdctl/nerdctl-0.22.0.ebuild b/app-containers/nerdctl/nerdctl-0.22.0.ebuild deleted file mode 100644 index f2b3218e9d28..000000000000 --- a/app-containers/nerdctl/nerdctl-0.22.0.ebuild +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 2021-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit go-module - -DESCRIPTION="Docker-compatible CLI for containerd, with support for Compose" -HOMEPAGE="https://github.com/containerd/nerdctl" - -EGIT_COMMIT="8e278e2aa61a89d4e50d1a534217f264bd1a5ddf" -# There are too many vendor dependencies to distribute via EGO_SUM (see https://bugs.gentoo.org/721088), -# so they are instead distributed via a combined tarball. -SRC_URI="https://github.com/zmedico/nerdctl/archive/refs/tags/v${PV}-vendor.tar.gz -> ${P}-vendor.tar.gz" -BDEPEND=">=dev-lang/go-1.16" -LICENSE="Apache-2.0 BSD BSD-2 ISC MIT" -SLOT="0" - -KEYWORDS="~amd64" -IUSE="" -S=${WORKDIR}/${P}-vendor - -src_prepare() { - sed -e 's:/usr/local/bin:/usr/bin:' \ - -e "s|^VERSION[[:space:]]*=.*|VERSION := v${PV}|" \ - -e "s|^REVISION[[:space:]]*=.*|REVISION := ${EGIT_COMMIT}|" \ - -i Makefile || die - default -} - -src_install() { - DOCS=(README.md docs examples) - default_src_install -} diff --git a/app-containers/nerdctl/nerdctl-0.22.2.ebuild b/app-containers/nerdctl/nerdctl-0.22.2.ebuild deleted file mode 100644 index b9663fd39468..000000000000 --- a/app-containers/nerdctl/nerdctl-0.22.2.ebuild +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 2021-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit go-module - -DESCRIPTION="Docker-compatible CLI for containerd, with support for Compose" -HOMEPAGE="https://github.com/containerd/nerdctl" - -EGIT_COMMIT="2899222cb0715f1e5ffe356d10c3439ee8ee3ba4" -# There are too many vendor dependencies to distribute via EGO_SUM (see https://bugs.gentoo.org/721088), -# so they are instead distributed via a combined tarball. -SRC_URI="https://github.com/zmedico/nerdctl/archive/refs/tags/v${PV}-vendor.tar.gz -> ${P}-vendor.tar.gz" -BDEPEND=">=dev-lang/go-1.16" -LICENSE="Apache-2.0 BSD BSD-2 ISC MIT" -SLOT="0" - -KEYWORDS="~amd64" -IUSE="" -S=${WORKDIR}/${P}-vendor - -src_prepare() { - sed -e 's:/usr/local/bin:/usr/bin:' \ - -e "s|^VERSION[[:space:]]*=.*|VERSION := v${PV}|" \ - -e "s|^REVISION[[:space:]]*=.*|REVISION := ${EGIT_COMMIT}|" \ - -i Makefile || die - default -} - -src_install() { - DOCS=(README.md docs examples) - default_src_install -} diff --git a/app-containers/nerdctl/nerdctl-1.7.4.ebuild b/app-containers/nerdctl/nerdctl-1.7.4.ebuild new file mode 100644 index 000000000000..43a574817df7 --- /dev/null +++ b/app-containers/nerdctl/nerdctl-1.7.4.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="7b5f7e0d8f705ed4e54f7040512327e231433366" + +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" +} + +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" + install + ) + emake "${emake_args[@]}" + DOCS=( README.md docs/* examples ) + einstalldocs +} diff --git a/app-containers/nerdctl/nerdctl-1.7.5.ebuild b/app-containers/nerdctl/nerdctl-1.7.5.ebuild new file mode 100644 index 000000000000..a4e11f03f281 --- /dev/null +++ b/app-containers/nerdctl/nerdctl-1.7.5.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="cffed372371dcbea3dc9a646ce5a913fc1c09513" + +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" +} + +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" + install + ) + emake "${emake_args[@]}" + DOCS=( README.md docs/* examples ) + einstalldocs +} diff --git a/app-containers/netavark/Manifest b/app-containers/netavark/Manifest new file mode 100644 index 000000000000..5987fb7d613a --- /dev/null +++ b/app-containers/netavark/Manifest @@ -0,0 +1,6 @@ +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.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.9.0-vendor.tar.gz 16032862 BLAKE2B 313bcde75f2355dab3fa4fdc82881109924c07408aa352e92b590356cf292cd60ad39d8ef31687935e3fed6f22ec8c3b8f26e6eae21fdf211c29c83b745c8a84 SHA512 a5c11dd47122490579a260b6ac3b1c8f01d1c2881e58dbcc5bece398c7d6ef01f376f8c342df4ef619b135cc92a95c48741c8098413c33ede696c87a9cdcc96c diff --git a/app-containers/netavark/metadata.xml b/app-containers/netavark/metadata.xml new file mode 100644 index 000000000000..d4dd8b9ce309 --- /dev/null +++ b/app-containers/netavark/metadata.xml @@ -0,0 +1,26 @@ +<?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> + <maintainer type="person" proxied="yes"> + <email>me@rahil.rocks</email> + <name>Rahil Bhimjiani</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription lang="en"> + Netavark is a rust based network stack for containers. It is + being designed to work with Podman but is also applicable for + other OCI container management applications. + </longdescription> + <upstream> + <remote-id type="github">containers/netavark</remote-id> + <bugs-to>https://github.com/containers/netavark/issues</bugs-to> + <doc>https://github.com/containers/netavark/blob/main/README.md</doc> + </upstream> +</pkgmetadata> diff --git a/app-containers/netavark/netavark-1.10.2.ebuild b/app-containers/netavark/netavark-1.10.2.ebuild new file mode 100644 index 000000000000..a18be8dea54d --- /dev/null +++ b/app-containers/netavark/netavark-1.10.2.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 ~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 target/$(usex debug debug release)|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.10.3.ebuild b/app-containers/netavark/netavark-1.10.3.ebuild new file mode 100644 index 000000000000..a18be8dea54d --- /dev/null +++ b/app-containers/netavark/netavark-1.10.3.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 ~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 target/$(usex debug debug release)|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.9.0.ebuild b/app-containers/netavark/netavark-1.9.0.ebuild new file mode 100644 index 000000000000..d157e0604afc --- /dev/null +++ b/app-containers/netavark/netavark-1.9.0.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 ~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 target/$(usex debug debug release)|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-9999.ebuild b/app-containers/netavark/netavark-9999.ebuild new file mode 100644 index 000000000000..a18be8dea54d --- /dev/null +++ b/app-containers/netavark/netavark-9999.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 ~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 target/$(usex debug debug release)|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/podman-tui/Manifest b/app-containers/podman-tui/Manifest new file mode 100644 index 000000000000..8c13a661d10e --- /dev/null +++ b/app-containers/podman-tui/Manifest @@ -0,0 +1,4 @@ +DIST podman-tui-0.14.0.tar.gz 15857429 BLAKE2B c1a6f056b45d4fa9e0cd749570275da1d98d3f8477a1e85a151afd1cecc9506555c55e065b86d9c49acde36a27c3dac960530218022672fc8044dee0d2284c62 SHA512 d79e5b0cabed6873ff90e4e36fec841b74d53b0e876f6449c9b5512c8a92d7d4bcf733e23abc92a6344d6dcd72957929fde48b4e16dcb1cc33cf10f33074171a +DIST podman-tui-0.17.0.tar.gz 15853215 BLAKE2B bfdaf085837497c8ce1525eccb04fc977472291e45417a3993a3e9bc2a742e132d14bce7580c0126be94262a10999da2b81edd6997b8c377a3de8a4da20c153f SHA512 137740737e4fe5138198923fb5db6dc6ca901ed7739af09c19bcb0a60fdfe0db79d7c2ac83157675ec478ab8e9dc9b1348cd8aa9f0e5298f8d20ff6cf0284afc +DIST podman-tui-0.18.0.tar.gz 15928626 BLAKE2B 80fd4f826a407b4eeeb664c065f836f12dd85cacab35003ad8fbcabf3eb69b3838bf02fb76269124d18c110370e42556cff8e348caabb100aa88a1994f99d4cc SHA512 77107a9e64b12fd5065698b7065909d5aa45ca49d749056cfb0f76aa2fd0f269708d3d75ecb4cab7939c30571510cdacebcdaac67549979873e3656e1af4db9f +DIST podman-tui-1.0.0.tar.gz 16208356 BLAKE2B c5ae4274cdc6c4d5abb9f9a18c82949a40a9f2894a9127d8bdf89b8a9445716cc985d8400833c890dec4524fd617babd5791e3062e9e7654ea93d66c34dfe181 SHA512 918b3efb823a543a439ae0f56c59ee2689961ac6e39a40054a7971ddf02056ca50c7c681ca03c45590e9fdfce1822f406bbf90f9b25563a0ef9ae75b88235a8c diff --git a/app-containers/podman-tui/metadata.xml b/app-containers/podman-tui/metadata.xml new file mode 100644 index 000000000000..604c70611a59 --- /dev/null +++ b/app-containers/podman-tui/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>me@rahil.rocks</email> + <name>Rahil Bhimjiani</name> + </maintainer> + <maintainer type="person"> + <email>zmedico@gentoo.org</email> + <name>Zac Medico</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="github">containers/podman-tui</remote-id> + <bugs-to>https://github.com/containers/podman-tui/issues</bugs-to> + <doc>https://github.com/containers/podman-tui/blob/main/README.md</doc> + </upstream> +</pkgmetadata> diff --git a/app-containers/podman-tui/podman-tui-0.14.0.ebuild b/app-containers/podman-tui/podman-tui-0.14.0.ebuild new file mode 100644 index 000000000000..2effb9e6c06b --- /dev/null +++ b/app-containers/podman-tui/podman-tui-0.14.0.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module +DESCRIPTION="Terminal UI frontend for Podman" +HOMEPAGE="https://github.com/containers/podman-tui" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/podman-tui.git" +else + SRC_URI="https://github.com/containers/podman-tui/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi + +# main pkg +LICENSE="Apache-2.0" +# deps +LICENSE+=" BSD-2 BSD MIT MPL-2.0" +SLOT="0" +RESTRICT="test" +RDEPEND=" + >=app-containers/podman-4.0.2 +" + +src_compile() { + # parse tags from Makefile & make them comma-seperated as space-seperated list is deprecated + local BUILDTAGS=$(grep 'BUILDTAGS :=' Makefile | awk -F\" '{ print $2; }' | sed -e 's| |,|g;') + ego build -tags "${BUILDTAGS}" +} + +src_install() { + dobin "${PN}" + einstalldocs +} diff --git a/app-containers/podman-tui/podman-tui-0.17.0.ebuild b/app-containers/podman-tui/podman-tui-0.17.0.ebuild new file mode 100644 index 000000000000..beefef11ab58 --- /dev/null +++ b/app-containers/podman-tui/podman-tui-0.17.0.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module +DESCRIPTION="Terminal UI frontend for Podman" +HOMEPAGE="https://github.com/containers/podman-tui" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/podman-tui.git" +else + SRC_URI="https://github.com/containers/podman-tui/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi + +# main pkg +LICENSE="Apache-2.0" +# deps +LICENSE+=" BSD-2 BSD MIT MPL-2.0" +SLOT="0" +RESTRICT="test" + +src_compile() { + # parse tags from Makefile & make them comma-seperated as space-seperated list is deprecated + local BUILDTAGS=$(grep 'BUILDTAGS :=' Makefile | awk -F\" '{ print $2; }' | sed -e 's| |,|g;') + ego build -tags "${BUILDTAGS}" +} + +src_install() { + dobin "${PN}" + einstalldocs +} diff --git a/app-containers/podman-tui/podman-tui-0.18.0.ebuild b/app-containers/podman-tui/podman-tui-0.18.0.ebuild new file mode 100644 index 000000000000..beefef11ab58 --- /dev/null +++ b/app-containers/podman-tui/podman-tui-0.18.0.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module +DESCRIPTION="Terminal UI frontend for Podman" +HOMEPAGE="https://github.com/containers/podman-tui" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/podman-tui.git" +else + SRC_URI="https://github.com/containers/podman-tui/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi + +# main pkg +LICENSE="Apache-2.0" +# deps +LICENSE+=" BSD-2 BSD MIT MPL-2.0" +SLOT="0" +RESTRICT="test" + +src_compile() { + # parse tags from Makefile & make them comma-seperated as space-seperated list is deprecated + local BUILDTAGS=$(grep 'BUILDTAGS :=' Makefile | awk -F\" '{ print $2; }' | sed -e 's| |,|g;') + ego build -tags "${BUILDTAGS}" +} + +src_install() { + dobin "${PN}" + einstalldocs +} diff --git a/app-containers/podman-tui/podman-tui-1.0.0.ebuild b/app-containers/podman-tui/podman-tui-1.0.0.ebuild new file mode 100644 index 000000000000..beefef11ab58 --- /dev/null +++ b/app-containers/podman-tui/podman-tui-1.0.0.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module +DESCRIPTION="Terminal UI frontend for Podman" +HOMEPAGE="https://github.com/containers/podman-tui" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/podman-tui.git" +else + SRC_URI="https://github.com/containers/podman-tui/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi + +# main pkg +LICENSE="Apache-2.0" +# deps +LICENSE+=" BSD-2 BSD MIT MPL-2.0" +SLOT="0" +RESTRICT="test" + +src_compile() { + # parse tags from Makefile & make them comma-seperated as space-seperated list is deprecated + local BUILDTAGS=$(grep 'BUILDTAGS :=' Makefile | awk -F\" '{ print $2; }' | sed -e 's| |,|g;') + ego build -tags "${BUILDTAGS}" +} + +src_install() { + dobin "${PN}" + einstalldocs +} diff --git a/app-containers/podman-tui/podman-tui-9999.ebuild b/app-containers/podman-tui/podman-tui-9999.ebuild new file mode 100644 index 000000000000..beefef11ab58 --- /dev/null +++ b/app-containers/podman-tui/podman-tui-9999.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module +DESCRIPTION="Terminal UI frontend for Podman" +HOMEPAGE="https://github.com/containers/podman-tui" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/podman-tui.git" +else + SRC_URI="https://github.com/containers/podman-tui/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi + +# main pkg +LICENSE="Apache-2.0" +# deps +LICENSE+=" BSD-2 BSD MIT MPL-2.0" +SLOT="0" +RESTRICT="test" + +src_compile() { + # parse tags from Makefile & make them comma-seperated as space-seperated list is deprecated + local BUILDTAGS=$(grep 'BUILDTAGS :=' Makefile | awk -F\" '{ print $2; }' | sed -e 's| |,|g;') + ego build -tags "${BUILDTAGS}" +} + +src_install() { + dobin "${PN}" + einstalldocs +} diff --git a/app-containers/podman/Manifest b/app-containers/podman/Manifest index 5eaf7816b1b2..5b73dbae0975 100644 --- a/app-containers/podman/Manifest +++ b/app-containers/podman/Manifest @@ -1,3 +1,3 @@ -DIST podman-4.1.0.tar.gz 10904727 BLAKE2B 6d01a65b13494dc948c0667147eca6f250a81056f1bcf6eda6285566b8aa7aa526794ea96a571aecad642a8b1d3d1877cd31683ccf46662f8681a2afac083b5a SHA512 4d5f240423f21b1224ce44853a2265359dacee0d921f0ea53a7fca34f9076ebfaa49f4327a59ac51f5bf5b9dafb47dda3a9bb8e609237cc69f833b42b95bcd0a -DIST podman-4.1.1.tar.gz 10905391 BLAKE2B a094785ccb7a84a42147fb0f0360480ad4f73a1cdaa29b666fabb08528584f5d37b1cf8fb807351d4a60d81779de4dec3ab5fc83275061eded21f97fd3fa5e7f SHA512 19dd2800b59dacf7edd5d8204bdaffa0959910c7751b582f5a12b8d644b52f9d6581b9c3b4cba3ddb0707f6a90c0dbc93de6d8e2eaa6a4234ebb9dfa28e693b3 -DIST podman-4.2.0.tar.gz 13019518 BLAKE2B a3b8d8b140b9d34e24f87f998fff3558649487b503bdd437f537f09adc51819d81786b6b4e858ef4e8a43c0d872cd20cd1ceee06988a36f830b9ffbb5109d14d SHA512 bc9e28d9938127f91be10ea8bc6c6f638a01d74d120efad5ad1e72c5f7b893685871e83872434745bc72ecaca430355b0f59d302660e8b4a53cc88a88cc37f9c +DIST podman-4.9.4.tar.gz 21733620 BLAKE2B 17d099c0a13fbbb77556742313c39995127fc97b4086ef3c2d74a92cc0a4f825a6c729dd099c6d4f4cd3d2ebfd470494babdeaa85a5653b327ea1a16fb5ea993 SHA512 7b52555789a1c214fcf26b0826bdda6cf0ccca588f87c0f15ac5e8358ddac625e17cafbe6a43de07cad964e1418b5ee0d2e38a5cb5dc6f6d4e638399749a7f7b +DIST podman-5.0.1.tar.gz 21863115 BLAKE2B 433949d70e7984a278d5231fe4a480d0c758a67e6df30f587f25da727440ba944cf38bb979ab6b6375f0ba65038c6b4c5a8ca73c6bc73df57b92089c5f6c072e SHA512 4ab64beea9b23839caa35bf8ec0f097ed16b4d2f448ce16039bb55672ac8b1d8d8cadf86c21eb32dc2c1d30dabb5b57a141823aa5fc3f14f09741f76cffa6023 +DIST podman-5.0.2.tar.gz 23811875 BLAKE2B e943eb36eb0b80332223afc5d971c0886f6eaffeb7133c634d28c0a38e9aae6a54266691067dbca7684882f8b6dad72c3d5de2287ec5a7e8fb4b1cfd96df0b4d SHA512 70dbac9fc81d66eb9b0a5174f5776b805397005cacca917674d2b001591fadd05a776c956e693bad932e9eefe591c35da5c566e8e9e01db8be42bc454cd03104 diff --git a/app-containers/podman/files/podman.confd b/app-containers/podman/files/podman-5.0.0_rc4.confd index e997d3b4000e..eafaee7fddef 100644 --- a/app-containers/podman/files/podman.confd +++ b/app-containers/podman/files/podman-5.0.0_rc4.confd @@ -5,7 +5,7 @@ #LOG_LEVEL="error" # Sets the API service daemon socket -#SOCKET="unix:/run/${RC_SVCNAME}/podman.sock" +#SOCKET="unix:///run/podman/podman.sock" # Configure the user[:group] the API service daemon will run as #RUN_AS_USER="root:root" diff --git a/app-containers/podman/files/podman-5.0.0_rc4.initd b/app-containers/podman/files/podman-5.0.0_rc4.initd new file mode 100644 index 000000000000..53026a54176d --- /dev/null +++ b/app-containers/podman/files/podman-5.0.0_rc4.initd @@ -0,0 +1,21 @@ +#!/sbin/openrc-run +# Copyright 2015-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Podman API Service" + +LOG_PATH="/var/log/${RC_SVCNAME}" +output_log="${LOG_PATH}/${RC_SVCNAME}.log" +error_log="${LOG_PATH}/${RC_SVCNAME}.log" +RUN_PATH="/run/${RC_SVCNAME}" +pidfile="${RUN_PATH}/${RC_SVCNAME}.pid" + +command_user="${RUN_AS_USER:=root:root}" +command="/usr/bin/podman" +command_args="--log-level ${LOG_LEVEL:-error} system service --time 0 ${SOCKET:-unix://${RUN_PATH}/${RC_SVCNAME}.sock}" +command_background="true" + +start() { + checkpath -o "${RUN_AS_USER}" -d "${RUN_PATH}" "${LOG_PATH}" + default_start +} diff --git a/app-containers/podman/files/podman-auto-update-5.0.0.cron b/app-containers/podman/files/podman-auto-update-5.0.0.cron new file mode 100644 index 000000000000..509146e0aa56 --- /dev/null +++ b/app-containers/podman/files/podman-auto-update-5.0.0.cron @@ -0,0 +1,5 @@ +#!/bin/sh + +# podman-auto-update(1) +# uncomment following to auto update containers according to their auto-update policy +# /usr/bin/podman auto-update && /usr/bin/podman image prune -f diff --git a/app-containers/podman/files/podman-clean-transient-5.0.0_rc6.confd b/app-containers/podman/files/podman-clean-transient-5.0.0_rc6.confd new file mode 100644 index 000000000000..e85d8d51ff8e --- /dev/null +++ b/app-containers/podman/files/podman-clean-transient-5.0.0_rc6.confd @@ -0,0 +1,8 @@ +# Config file for /etc/init.d/podman-clean-transient + +# Sets the podman log level +# valid levels: debug, info, warn, error, fatal or panic +#LOG_LEVEL="info" + +# Configure the user[:group] the podman will run as +#RUN_AS_USER="root:root" diff --git a/app-containers/podman/files/podman-clean-transient-5.0.0_rc6.initd b/app-containers/podman/files/podman-clean-transient-5.0.0_rc6.initd new file mode 100644 index 000000000000..cd759c7eafc0 --- /dev/null +++ b/app-containers/podman/files/podman-clean-transient-5.0.0_rc6.initd @@ -0,0 +1,17 @@ +#!/sbin/openrc-run +# Copyright 2015-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# This service runs once each boot to remove potential leftover +# container state from previous boots. + +# This is needed when using transient storage mode in podman where the +# database and other configs are stored in tmpfs, but some other files +# are not. If we don't run this after an unclean boot then there may +# be some leftover files that grow over time. + +description="Clean up podman transient data" + +command_user="${RUN_AS_USER:-root:root}" +command="/usr/bin/podman" +command_args="--log-level ${LOG_LEVEL:-info} system prune --external" diff --git a/app-containers/podman/files/podman-restart-5.0.0_rc4.confd b/app-containers/podman/files/podman-restart-5.0.0_rc4.confd new file mode 100644 index 000000000000..4d63848cb16f --- /dev/null +++ b/app-containers/podman/files/podman-restart-5.0.0_rc4.confd @@ -0,0 +1,9 @@ +# Config file for /etc/init.d/podman-restart + +# Sets the podman log level +# valid levels: debug, info, warn, error, fatal or panic +#LOG_LEVEL="info" + +# Configure the user[:group] the podman will run as +# Can be useful to manage rootful or rootless containers +#RUN_AS_USER="root:root" diff --git a/app-containers/podman/files/podman-restart-5.0.0_rc4.initd b/app-containers/podman/files/podman-restart-5.0.0_rc4.initd new file mode 100644 index 000000000000..d02bd64c6279 --- /dev/null +++ b/app-containers/podman/files/podman-restart-5.0.0_rc4.initd @@ -0,0 +1,22 @@ +#!/sbin/openrc-run +# Copyright 2015-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Start all containers with restart-policy set to always" + +command_user="${RUN_AS_USER:=root:root}" +command="/usr/bin/podman" +command_args="--log-level ${LOG_LEVEL:=info} start --all --filter restart-policy=always" + +depend() { + after net +} + +stop() { + ebegin "Stopping all containers with restart-policy set to always" + ${command} \ + --log-level ${LOG_LEVEL} \ + stop \ + $(${command} container ls --filter restart-policy=always -q) + eend $? "Failed to stop containers with restart-policy set to always" +} diff --git a/app-containers/podman/files/podman.initd b/app-containers/podman/files/podman.initd deleted file mode 100644 index 7adcdab40ea3..000000000000 --- a/app-containers/podman/files/podman.initd +++ /dev/null @@ -1,20 +0,0 @@ -#!/sbin/openrc-run -# Copyright 2015-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -description="Podman Remote API Service" -LOG_PATH="/var/log/${RC_SVCNAME}" -RUN_PATH="/run/${RC_SVCNAME}" -: ${LOG_LEVEL:=error} -: ${RUN_AS_USER:=root:root} -: ${SOCKET:=unix:/run/${RC_SVCNAME}/podman.sock} -pidfile="${RUN_PATH}/${RC_SVCNAME}.pid" -command="/usr/bin/podman" -command_args="--log-level ${LOG_LEVEL} system service -t 0 ${SOCKET}" -command_background="true" -start_stop_daemon_args="--stdout ${LOG_PATH}/${RC_SVCNAME}.log --stderr ${LOG_PATH}/${RC_SVCNAME}.log --user ${RUN_AS_USER}" - -start() { - checkpath -o "${RUN_AS_USER}" -d "${RUN_PATH}" "${LOG_PATH}" - default_start -} diff --git a/app-containers/podman/files/seccomp-toggle-4.7.0.patch b/app-containers/podman/files/seccomp-toggle-4.7.0.patch new file mode 100644 index 000000000000..17a09b601369 --- /dev/null +++ b/app-containers/podman/files/seccomp-toggle-4.7.0.patch @@ -0,0 +1,15 @@ +--- 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 11d7dc7603dc..59ab2d3ffda0 100644 --- a/app-containers/podman/metadata.xml +++ b/app-containers/podman/metadata.xml @@ -5,6 +5,14 @@ <email>zmedico@gentoo.org</email> <name>Zac Medico</name> </maintainer> + <maintainer type="person" proxied="yes"> + <email>me@rahil.rocks</email> + <name>Rahil Bhimjiani</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> <longdescription lang="en"> Podman (the POD MANager) is a tool for managing containers and images, volumes mounted into those containers, and pods @@ -15,15 +23,11 @@ and volumes. </longdescription> <use> - <flag name="apparmor"> - Enable AppArmor support. - </flag> <flag name="btrfs"> - Enables dependencies for the "btrfs" graph driver, including - necessary kernel flags. + Enables btrfs support (graph driver) in Podman </flag> <flag name="cgroup-hybrid"> - Default to hybrid (legacy) cgroup hierarchy instead of unified (modern). + Use legacy (hybrid) cgroups instead of modern (unified) cgroups </flag> <flag name="fuse"> Enables fuse dependencies (fuse-overlayfs is especially useful @@ -35,8 +39,13 @@ <flag name="rootless"> Enables dependencies for running in rootless mode. </flag> + <flag name="wrapper"> + Install wrapper which lets use podman for command `docker` + </flag> </use> <upstream> <remote-id type="github">containers/podman</remote-id> + <bugs-to>https://github.com/containers/podman/issues</bugs-to> + <doc>https://podman.io/docs</doc> </upstream> </pkgmetadata> diff --git a/app-containers/podman/podman-4.1.0.ebuild b/app-containers/podman/podman-4.1.0.ebuild deleted file mode 100644 index aa2258b0879a..000000000000 --- a/app-containers/podman/podman-4.1.0.ebuild +++ /dev/null @@ -1,164 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -EGIT_COMMIT="e4b03902052294d4f342a185bb54702ed5bed8b1" - -inherit bash-completion-r1 flag-o-matic go-module tmpfiles - -DESCRIPTION="Library and podman tool for running OCI-based containers in Pods" -HOMEPAGE="https://github.com/containers/podman/" -MY_PN=podman -MY_P=${MY_PN}-${PV} -SRC_URI="https://github.com/containers/podman/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz" -LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" -SLOT="0" - -KEYWORDS="amd64 arm64 ~ppc64 ~riscv" -IUSE="apparmor btrfs cgroup-hybrid +fuse +init +rootless selinux" -RESTRICT+=" test" - -COMMON_DEPEND=" - app-crypt/gpgme:= - >=app-containers/conmon-2.0.0 - cgroup-hybrid? ( >=app-containers/runc-1.0.0_rc6 ) - !cgroup-hybrid? ( app-containers/crun ) - dev-libs/libassuan:= - dev-libs/libgpg-error:= - >=app-containers/cni-plugins-0.8.6 - sys-fs/lvm2 - sys-libs/libseccomp:= - - apparmor? ( sys-libs/libapparmor ) - btrfs? ( sys-fs/btrfs-progs ) - init? ( app-containers/catatonit ) - rootless? ( app-containers/slirp4netns ) - selinux? ( sys-libs/libselinux:= ) -" -DEPEND=" - ${COMMON_DEPEND} - dev-go/go-md2man" -RDEPEND="${COMMON_DEPEND} - fuse? ( sys-fs/fuse-overlayfs ) - selinux? ( sec-policy/selinux-podman )" - -S=${WORKDIR}/${MY_P} - -src_prepare() { - default - - # Disable installation of python modules here, since those are - # installed by separate ebuilds. - local makefile_sed_args=( - -e '/^GIT_.*/d' - -e 's/$(GO) build/$(GO) build -v -work -x/' - -e 's/^\(install:.*\) install\.python$/\1/' - -e 's|^pkg/varlink/iopodman.go: .gopathok pkg/varlink/io.podman.varlink$|pkg/varlink/iopodman.go: pkg/varlink/io.podman.varlink|' - ) - - has_version -b '>=dev-lang/go-1.13.9' || makefile_sed_args+=(-e 's:GO111MODULE=off:GO111MODULE=on:') - - sed "${makefile_sed_args[@]}" -i Makefile || die -} - -src_compile() { - local git_commit=${EGIT_COMMIT} - - # Filter unsupported linker flags - filter-flags '-Wl,*' - - [[ -f hack/apparmor_tag.sh ]] || die - if use apparmor; then - echo -e "#!/bin/sh\necho apparmor" > hack/apparmor_tag.sh || die - else - echo -e "#!/bin/sh\ntrue" > hack/apparmor_tag.sh || die - fi - - [[ -f hack/btrfs_installed_tag.sh ]] || die - if use btrfs; then - echo -e "#!/bin/sh\ntrue" > hack/btrfs_installed_tag.sh || die - else - echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ - hack/btrfs_installed_tag.sh || die - fi - - [[ -f hack/selinux_tag.sh ]] || die - if use selinux; then - echo -e "#!/bin/sh\necho selinux" > hack/selinux_tag.sh || die - else - echo -e "#!/bin/sh\ntrue" > hack/selinux_tag.sh || die - fi - - # Avoid this error when generating pkg/varlink/iopodman.go: - # cannot find package "github.com/varlink/go/varlink/idl" - mkdir -p _output || die - ln -snf ../vendor _output/src || die - GO111MODULE=off GOPATH=${PWD}/_output go generate ./pkg/varlink/... || die - rm _output/src || die - - export -n GOCACHE GOPATH XDG_CACHE_HOME - GOBIN="${S}/bin" \ - emake all \ - GIT_BRANCH=master \ - GIT_BRANCH_CLEAN=master \ - COMMIT_NO="${git_commit}" \ - GIT_COMMIT="${git_commit}" -} - -src_install() { - emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install - - insinto /etc/containers - newins test/registries.conf registries.conf.example - newins test/policy.json policy.json.example - - insinto /usr/share/containers - doins vendor/github.com/containers/common/pkg/seccomp/seccomp.json - - newconfd "${FILESDIR}"/podman.confd podman - newinitd "${FILESDIR}"/podman.initd podman - - insinto /etc/logrotate.d - newins "${FILESDIR}/podman.logrotated" podman - - dobashcomp completions/bash/* - - insinto /usr/share/zsh/site-functions - doins completions/zsh/* - - insinto /usr/share/fish/vendor_completions.d - doins completions/fish/* - - keepdir /var/lib/containers -} - -pkg_preinst() { - PODMAN_ROOTLESS_UPGRADE=false - if use rootless; then - has_version 'app-containers/podman[rootless]' || PODMAN_ROOTLESS_UPGRADE=true - fi -} - -pkg_postinst() { - tmpfiles_process podman.conf - - local want_newline=false - if [[ ! ( -e ${EROOT%/*}/etc/containers/policy.json && -e ${EROOT%/*}/etc/containers/registries.conf ) ]]; then - elog "You need to create the following config files:" - elog "/etc/containers/registries.conf" - elog "/etc/containers/policy.json" - elog "To copy over default examples, use:" - elog "cp /etc/containers/registries.conf{.example,}" - elog "cp /etc/containers/policy.json{.example,}" - want_newline=true - fi - if [[ ${PODMAN_ROOTLESS_UPGRADE} == true ]] ; then - ${want_newline} && elog "" - elog "For rootless operation, you need to configure subuid/subgid" - elog "for user running podman. In case subuid/subgid has only been" - elog "configured for root, run:" - elog "usermod --add-subuids 1065536-1131071 <user>" - elog "usermod --add-subgids 1065536-1131071 <user>" - want_newline=true - fi -} diff --git a/app-containers/podman/podman-4.1.1.ebuild b/app-containers/podman/podman-4.1.1.ebuild deleted file mode 100644 index c0e1f032e08b..000000000000 --- a/app-containers/podman/podman-4.1.1.ebuild +++ /dev/null @@ -1,164 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -EGIT_COMMIT="f73d8f8875c2be7cd2049094c29aff90b1150241" - -inherit bash-completion-r1 flag-o-matic go-module tmpfiles - -DESCRIPTION="Library and podman tool for running OCI-based containers in Pods" -HOMEPAGE="https://github.com/containers/podman/" -MY_PN=podman -MY_P=${MY_PN}-${PV} -SRC_URI="https://github.com/containers/podman/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz" -LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" -SLOT="0" - -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" -IUSE="apparmor btrfs cgroup-hybrid +fuse +init +rootless selinux" -RESTRICT+=" test" - -COMMON_DEPEND=" - app-crypt/gpgme:= - >=app-containers/conmon-2.0.0 - cgroup-hybrid? ( >=app-containers/runc-1.0.0_rc6 ) - !cgroup-hybrid? ( app-containers/crun ) - dev-libs/libassuan:= - dev-libs/libgpg-error:= - >=app-containers/cni-plugins-0.8.6 - sys-fs/lvm2 - sys-libs/libseccomp:= - - apparmor? ( sys-libs/libapparmor ) - btrfs? ( sys-fs/btrfs-progs ) - init? ( app-containers/catatonit ) - rootless? ( app-containers/slirp4netns ) - selinux? ( sys-libs/libselinux:= ) -" -DEPEND=" - ${COMMON_DEPEND} - dev-go/go-md2man" -RDEPEND="${COMMON_DEPEND} - fuse? ( sys-fs/fuse-overlayfs ) - selinux? ( sec-policy/selinux-podman )" - -S=${WORKDIR}/${MY_P} - -src_prepare() { - default - - # Disable installation of python modules here, since those are - # installed by separate ebuilds. - local makefile_sed_args=( - -e '/^GIT_.*/d' - -e 's/$(GO) build/$(GO) build -v -work -x/' - -e 's/^\(install:.*\) install\.python$/\1/' - -e 's|^pkg/varlink/iopodman.go: .gopathok pkg/varlink/io.podman.varlink$|pkg/varlink/iopodman.go: pkg/varlink/io.podman.varlink|' - ) - - has_version -b '>=dev-lang/go-1.13.9' || makefile_sed_args+=(-e 's:GO111MODULE=off:GO111MODULE=on:') - - sed "${makefile_sed_args[@]}" -i Makefile || die -} - -src_compile() { - local git_commit=${EGIT_COMMIT} - - # Filter unsupported linker flags - filter-flags '-Wl,*' - - [[ -f hack/apparmor_tag.sh ]] || die - if use apparmor; then - echo -e "#!/bin/sh\necho apparmor" > hack/apparmor_tag.sh || die - else - echo -e "#!/bin/sh\ntrue" > hack/apparmor_tag.sh || die - fi - - [[ -f hack/btrfs_installed_tag.sh ]] || die - if use btrfs; then - echo -e "#!/bin/sh\ntrue" > hack/btrfs_installed_tag.sh || die - else - echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ - hack/btrfs_installed_tag.sh || die - fi - - [[ -f hack/selinux_tag.sh ]] || die - if use selinux; then - echo -e "#!/bin/sh\necho selinux" > hack/selinux_tag.sh || die - else - echo -e "#!/bin/sh\ntrue" > hack/selinux_tag.sh || die - fi - - # Avoid this error when generating pkg/varlink/iopodman.go: - # cannot find package "github.com/varlink/go/varlink/idl" - mkdir -p _output || die - ln -snf ../vendor _output/src || die - GO111MODULE=off GOPATH=${PWD}/_output go generate ./pkg/varlink/... || die - rm _output/src || die - - export -n GOCACHE GOPATH XDG_CACHE_HOME - GOBIN="${S}/bin" \ - emake all \ - GIT_BRANCH=master \ - GIT_BRANCH_CLEAN=master \ - COMMIT_NO="${git_commit}" \ - GIT_COMMIT="${git_commit}" -} - -src_install() { - emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install - - insinto /etc/containers - newins test/registries.conf registries.conf.example - newins test/policy.json policy.json.example - - insinto /usr/share/containers - doins vendor/github.com/containers/common/pkg/seccomp/seccomp.json - - newconfd "${FILESDIR}"/podman.confd podman - newinitd "${FILESDIR}"/podman.initd podman - - insinto /etc/logrotate.d - newins "${FILESDIR}/podman.logrotated" podman - - dobashcomp completions/bash/* - - insinto /usr/share/zsh/site-functions - doins completions/zsh/* - - insinto /usr/share/fish/vendor_completions.d - doins completions/fish/* - - keepdir /var/lib/containers -} - -pkg_preinst() { - PODMAN_ROOTLESS_UPGRADE=false - if use rootless; then - has_version 'app-containers/podman[rootless]' || PODMAN_ROOTLESS_UPGRADE=true - fi -} - -pkg_postinst() { - tmpfiles_process podman.conf - - local want_newline=false - if [[ ! ( -e ${EROOT%/*}/etc/containers/policy.json && -e ${EROOT%/*}/etc/containers/registries.conf ) ]]; then - elog "You need to create the following config files:" - elog "/etc/containers/registries.conf" - elog "/etc/containers/policy.json" - elog "To copy over default examples, use:" - elog "cp /etc/containers/registries.conf{.example,}" - elog "cp /etc/containers/policy.json{.example,}" - want_newline=true - fi - if [[ ${PODMAN_ROOTLESS_UPGRADE} == true ]] ; then - ${want_newline} && elog "" - elog "For rootless operation, you need to configure subuid/subgid" - elog "for user running podman. In case subuid/subgid has only been" - elog "configured for root, run:" - elog "usermod --add-subuids 1065536-1131071 <user>" - elog "usermod --add-subgids 1065536-1131071 <user>" - want_newline=true - fi -} diff --git a/app-containers/podman/podman-4.2.0.ebuild b/app-containers/podman/podman-4.2.0.ebuild deleted file mode 100644 index bd88d2d05d2f..000000000000 --- a/app-containers/podman/podman-4.2.0.ebuild +++ /dev/null @@ -1,164 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -EGIT_COMMIT="7fe5a419cfd2880df2028ad3d7fd9378a88a04f4" - -inherit bash-completion-r1 flag-o-matic go-module tmpfiles - -DESCRIPTION="Library and podman tool for running OCI-based containers in Pods" -HOMEPAGE="https://github.com/containers/podman/" -MY_PN=podman -MY_P=${MY_PN}-${PV} -SRC_URI="https://github.com/containers/podman/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz" -LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" -SLOT="0" - -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" -IUSE="apparmor btrfs cgroup-hybrid +fuse +init +rootless selinux" -RESTRICT+=" test" - -COMMON_DEPEND=" - app-crypt/gpgme:= - >=app-containers/conmon-2.0.0 - cgroup-hybrid? ( >=app-containers/runc-1.0.0_rc6 ) - !cgroup-hybrid? ( app-containers/crun ) - dev-libs/libassuan:= - dev-libs/libgpg-error:= - >=app-containers/cni-plugins-0.8.6 - sys-fs/lvm2 - sys-libs/libseccomp:= - - apparmor? ( sys-libs/libapparmor ) - btrfs? ( sys-fs/btrfs-progs ) - init? ( app-containers/catatonit ) - rootless? ( app-containers/slirp4netns ) - selinux? ( sys-libs/libselinux:= ) -" -DEPEND=" - ${COMMON_DEPEND} - dev-go/go-md2man" -RDEPEND="${COMMON_DEPEND} - fuse? ( sys-fs/fuse-overlayfs ) - selinux? ( sec-policy/selinux-podman )" - -S=${WORKDIR}/${MY_P} - -src_prepare() { - default - - # Disable installation of python modules here, since those are - # installed by separate ebuilds. - local makefile_sed_args=( - -e '/^GIT_.*/d' - -e 's/$(GO) build/$(GO) build -v -work -x/' - -e 's/^\(install:.*\) install\.python$/\1/' - -e 's|^pkg/varlink/iopodman.go: .gopathok pkg/varlink/io.podman.varlink$|pkg/varlink/iopodman.go: pkg/varlink/io.podman.varlink|' - ) - - has_version -b '>=dev-lang/go-1.13.9' || makefile_sed_args+=(-e 's:GO111MODULE=off:GO111MODULE=on:') - - sed "${makefile_sed_args[@]}" -i Makefile || die -} - -src_compile() { - local git_commit=${EGIT_COMMIT} - - # Filter unsupported linker flags - filter-flags '-Wl,*' - - [[ -f hack/apparmor_tag.sh ]] || die - if use apparmor; then - echo -e "#!/bin/sh\necho apparmor" > hack/apparmor_tag.sh || die - else - echo -e "#!/bin/sh\ntrue" > hack/apparmor_tag.sh || die - fi - - [[ -f hack/btrfs_installed_tag.sh ]] || die - if use btrfs; then - echo -e "#!/bin/sh\ntrue" > hack/btrfs_installed_tag.sh || die - else - echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ - hack/btrfs_installed_tag.sh || die - fi - - [[ -f hack/selinux_tag.sh ]] || die - if use selinux; then - echo -e "#!/bin/sh\necho selinux" > hack/selinux_tag.sh || die - else - echo -e "#!/bin/sh\ntrue" > hack/selinux_tag.sh || die - fi - - # Avoid this error when generating pkg/varlink/iopodman.go: - # cannot find package "github.com/varlink/go/varlink/idl" - mkdir -p _output || die - ln -snf ../vendor _output/src || die - GO111MODULE=off GOPATH=${PWD}/_output go generate ./pkg/varlink/... || die - rm _output/src || die - - export -n GOCACHE GOPATH XDG_CACHE_HOME - GOBIN="${S}/bin" \ - emake all \ - GIT_BRANCH=master \ - GIT_BRANCH_CLEAN=master \ - COMMIT_NO="${git_commit}" \ - GIT_COMMIT="${git_commit}" -} - -src_install() { - emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install - - insinto /etc/containers - newins test/registries.conf registries.conf.example - newins test/policy.json policy.json.example - - insinto /usr/share/containers - doins vendor/github.com/containers/common/pkg/seccomp/seccomp.json - - newconfd "${FILESDIR}"/podman.confd podman - newinitd "${FILESDIR}"/podman.initd podman - - insinto /etc/logrotate.d - newins "${FILESDIR}/podman.logrotated" podman - - dobashcomp completions/bash/* - - insinto /usr/share/zsh/site-functions - doins completions/zsh/* - - insinto /usr/share/fish/vendor_completions.d - doins completions/fish/* - - keepdir /var/lib/containers -} - -pkg_preinst() { - PODMAN_ROOTLESS_UPGRADE=false - if use rootless; then - has_version 'app-containers/podman[rootless]' || PODMAN_ROOTLESS_UPGRADE=true - fi -} - -pkg_postinst() { - tmpfiles_process podman.conf - - local want_newline=false - if [[ ! ( -e ${EROOT%/*}/etc/containers/policy.json && -e ${EROOT%/*}/etc/containers/registries.conf ) ]]; then - elog "You need to create the following config files:" - elog "/etc/containers/registries.conf" - elog "/etc/containers/policy.json" - elog "To copy over default examples, use:" - elog "cp /etc/containers/registries.conf{.example,}" - elog "cp /etc/containers/policy.json{.example,}" - want_newline=true - fi - if [[ ${PODMAN_ROOTLESS_UPGRADE} == true ]] ; then - ${want_newline} && elog "" - elog "For rootless operation, you need to configure subuid/subgid" - elog "for user running podman. In case subuid/subgid has only been" - elog "configured for root, run:" - elog "usermod --add-subuids 1065536-1131071 <user>" - elog "usermod --add-subgids 1065536-1131071 <user>" - want_newline=true - fi -} diff --git a/app-containers/podman/podman-4.9.4.ebuild b/app-containers/podman/podman-4.9.4.ebuild new file mode 100644 index 000000000000..845dcbc2a7aa --- /dev/null +++ b/app-containers/podman/podman-4.9.4.ebuild @@ -0,0 +1,156 @@ +# 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 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="" + + # 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.1.ebuild b/app-containers/podman/podman-5.0.1.ebuild new file mode 100644 index 000000000000..b535f608f817 --- /dev/null +++ b/app-containers/podman/podman-5.0.1.ebuild @@ -0,0 +1,128 @@ +# 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 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="" + + # 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.0.2.ebuild new file mode 100644 index 000000000000..b535f608f817 --- /dev/null +++ b/app-containers/podman/podman-5.0.2.ebuild @@ -0,0 +1,128 @@ +# 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 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="" + + # 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-9999.ebuild b/app-containers/podman/podman-9999.ebuild new file mode 100644 index 000000000000..b535f608f817 --- /dev/null +++ b/app-containers/podman/podman-9999.ebuild @@ -0,0 +1,128 @@ +# 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 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="" + + # 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/runc/Manifest b/app-containers/runc/Manifest index 2c9db9c9f776..acb6c17123e9 100644 --- a/app-containers/runc/Manifest +++ b/app-containers/runc/Manifest @@ -1,4 +1,3 @@ -DIST runc-1.0.3.tar.gz 2375241 BLAKE2B 0fb9368ab5442462001c15a67a71821133ad90d16cac5aac760e52b2477db69c0a5dd59df42601119b19ede508889796c994a24624f88ec6a1a29dad19e0bf33 SHA512 64a1894c2b4ed5a68b185e88548fc9fbbd01d8a9495feed59fb196aa06763d64cfb71ca6cbc09d1defa26a0d94ad58626296585741f23df2e290147ba6c4c26e -DIST runc-1.1.0.tar.gz 2332427 BLAKE2B 3a194221d0bab813249e23c5f725255e453ce6843c2cb7e1a40a3c6fdd90a1a805c18ebadf56ee5d535f253025716aae6ab3f437140a3cc69e854e750e205e0c SHA512 542ea87c488fd120f2b77e53e2c197f09cd504fbe55dbe47008aaa5b0565aa300fc49f8cadc24ead796e45a4e95a30dfb08bfeefa58dc370145a218fd2869e41 -DIST runc-1.1.1.tar.gz 2332722 BLAKE2B d0abe624ddd17885bd25a5923e35ed760a7acaeb2ae7eefa18cdd28a2ecfc79a958d550eafac421b58865376620d7475338752df823e0f1b4a69be201fe4ea90 SHA512 baf622e7edae9b68d2fa255f02359d770489c7578be3c6379a5d939b4f1dfa697ec9eb4ef7dce252e64ee5225f76c06e45182a9b92b68a952e21e3f5f91450d0 -DIST runc-1.1.2.tar.gz 2332953 BLAKE2B e6047baa799e97d201630f5ff438ca8742ef4c9f465c3728fe2e4bd7f18a571172cb8f994c0e9ffba4f7ae75088626583602f49e0e9f4764c96157820c332b5b SHA512 61d8cc82f49e3bc1cf4cc4ae18a9d9c8f4ae93e8380ce6fa9034b154bd1b915339ee65babdf7518021d015a3c31545fcbad5bbf0c4579c7eb50988877121f049 +DIST runc-1.1.12.tar.gz 2522196 BLAKE2B 14fe8d5f82d5b4d7f6b4bb9111c5d258e74f6a44aeb51fc87c69104e95b9bf24a3d503f4cc5dedb40d542fbd4b6e27273f456bda4fcf3bc298eb93ae292d9663 SHA512 92e8ac54a77d7ebcc76b5a9cc08d9a064211f12e9d26f064070cc203a5afb11c3af28d8f556f297513f797a2933d50bf10a8f22e307724041d66aa8c5ca1d9d3 +DIST runc-1.1.7.tar.gz 2511464 BLAKE2B 63f09052659636b62185abbb178f7e104d22125190899e80e71ed2ba35567eb855abf786d3c7fff3dd9a1ab43ee282fcaecb6650cd8a1ce49c05acefd7c12cde SHA512 e3a18f04ac2c3553a815074ca64e04cfd71af54d78edbd4a13819f187476f96d7311c23bb63fb5c311b91865db4540985a6f9daa84819b0bac5f023b3b2a832c +DIST runc-1.1.9.tar.gz 2512231 BLAKE2B 4e8e2a454231492f83de34bf66ba25a02b8925b6ef0af2206cdf4ab3299173d3452cea4d51fcfeb02026df288dd8ca6c44ecd35fb075f25f56fd7bc07f873af7 SHA512 020986f2df49c45394d0acbfa4da62663353004550d9b4409f6cfe8369972a090fb8020e4a05342754bde5c1fbe9fcf3868faed2dceed5d54460c3373cdd2278 diff --git a/app-containers/runc/metadata.xml b/app-containers/runc/metadata.xml index d27ad6413b06..09cd07da70ce 100644 --- a/app-containers/runc/metadata.xml +++ b/app-containers/runc/metadata.xml @@ -9,14 +9,7 @@ <email>williamh@gentoo.org</email> <name>William Hubbs</name> </maintainer> - <maintainer type="person"> - <email>gyakovlev@gentoo.org</email> - <name>Georgy Yakovlev</name> - </maintainer> <use> - <flag name="apparmor"> - Enable AppArmor support. - </flag> <flag name="kmem"> Enable Kernel Memory Accounting. </flag> diff --git a/app-containers/runc/runc-1.1.0.ebuild b/app-containers/runc/runc-1.1.0.ebuild deleted file mode 100644 index e5ad2453a3b5..000000000000 --- a/app-containers/runc/runc-1.1.0.ebuild +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright 1999-2022 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 https://github.com/docker\ -# docker-ce/blob/<docker ver OR branch>/components/engine/hack/dockerfile/install/runc.installer -RUNC_COMMIT=067aaf8548d78269dcb2c13b856775e27c410f9c -CONFIG_CHECK="~USER_NS" - -DESCRIPTION="runc container cli tools" -HOMEPAGE="http://github.com/opencontainers/runc/" -MY_PV="${PV/_/-}" -SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 BSD-2 BSD MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" -IUSE="apparmor hardened +kmem +seccomp test" - -DEPEND="seccomp? ( sys-libs/libseccomp )" - -RDEPEND=" - ${DEPEND} - !app-emulation/docker-runc - apparmor? ( sys-libs/libapparmor ) -" - -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" - -S="${WORKDIR}/${PN}-${MY_PV}" - -src_compile() { - # Taken from app-containers/docker-1.7.0-r1 - export CGO_CFLAGS="-I${ESYSROOT}/usr/include" - export 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.1.1.ebuild b/app-containers/runc/runc-1.1.12.ebuild index 655750e7d505..c605e6d0a2c3 100644 --- a/app-containers/runc/runc-1.1.1.ebuild +++ b/app-containers/runc/runc-1.1.12.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -6,7 +6,7 @@ inherit go-module linux-info # update on bump, look for https://github.com/docker\ # docker-ce/blob/<docker ver OR branch>/components/engine/hack/dockerfile/install/runc.installer -RUNC_COMMIT=52de29d7e0f8c0899bd7efb8810dd07f0073fa87 +RUNC_COMMIT=51d5e94601ceffbbd85688df1c928ecccbfa4685 CONFIG_CHECK="~USER_NS" DESCRIPTION="runc container cli tools" diff --git a/app-containers/runc/runc-1.1.2.ebuild b/app-containers/runc/runc-1.1.7.ebuild index a40a7842ef9b..01b66cb34800 100644 --- a/app-containers/runc/runc-1.1.2.ebuild +++ b/app-containers/runc/runc-1.1.7.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -6,7 +6,7 @@ inherit go-module linux-info # update on bump, look for https://github.com/docker\ # docker-ce/blob/<docker ver OR branch>/components/engine/hack/dockerfile/install/runc.installer -RUNC_COMMIT=a916309fff0f838eb94e928713dbc3c0d0ac7aa4 +RUNC_COMMIT=4ffc61430bbe6d3d405bdf357b766bf303ff3cc5 CONFIG_CHECK="~USER_NS" DESCRIPTION="runc container cli tools" @@ -16,7 +16,7 @@ SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P LICENSE="Apache-2.0 BSD-2 BSD MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" IUSE="apparmor hardened +kmem +seccomp selinux test" DEPEND="seccomp? ( sys-libs/libseccomp )" diff --git a/app-containers/runc/runc-1.0.3.ebuild b/app-containers/runc/runc-1.1.9.ebuild index 98acb8f3bd4e..3d5796186404 100644 --- a/app-containers/runc/runc-1.0.3.ebuild +++ b/app-containers/runc/runc-1.1.9.ebuild @@ -1,13 +1,12 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 - +EAPI=8 inherit go-module linux-info # update on bump, look for https://github.com/docker\ # docker-ce/blob/<docker ver OR branch>/components/engine/hack/dockerfile/install/runc.installer -RUNC_COMMIT=f46b6ba2c9314cfc8caae24a32ec5fe9ef1059fe +RUNC_COMMIT=ccaecfcbc907d70a7aa870a6650887b901b25b82 CONFIG_CHECK="~USER_NS" DESCRIPTION="runc container cli tools" @@ -18,7 +17,7 @@ SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P LICENSE="Apache-2.0 BSD-2 BSD MIT" SLOT="0" KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" -IUSE="apparmor hardened +kmem +seccomp test" +IUSE="apparmor hardened +kmem +seccomp selinux test" DEPEND="seccomp? ( sys-libs/libseccomp )" @@ -26,6 +25,7 @@ RDEPEND=" ${DEPEND} !app-emulation/docker-runc apparmor? ( sys-libs/libapparmor ) + selinux? ( sec-policy/selinux-container ) " BDEPEND=" diff --git a/app-containers/s6-overlay/Manifest b/app-containers/s6-overlay/Manifest index 4b3eabe8b046..b5a39bab89bf 100644 --- a/app-containers/s6-overlay/Manifest +++ b/app-containers/s6-overlay/Manifest @@ -1,2 +1 @@ -DIST s6-overlay-1.18.1.3.tar.gz 20067 BLAKE2B 7006549052fb27c8e7ec2a756854ebd82a41a88e14be45657c375321f4c18f482aefc8d21f1d57d8432ff1b836f114aac75a28b56bdd7722b14de3c06330024d SHA512 2b17b86a93e1efc27181a100bb86aacbce2e2c58cfd0d0855a293b99ba5c871a2f17bd10fa14b173b297816ae2d1658aaee2e6a6e25b957ad60f93d535955775 DIST s6-overlay-2.1.0.2.tar.gz 30688 BLAKE2B 14d631a23be831d9dbc62a7e5ca341320eb8a0f46ae94d243bba4d6ba8fe9f6102dc818555398af64a207ea3056eb2cbbe045b5ec3baaf7d3a058217ad20e4f7 SHA512 6ff18566c64031fca985b36d6cbba646c3fb5c7f16a9d2dcca74e66ed4de5f10399c2142453e550c4e711f716158b91dd5777c7f6a03a91ed61ca9e81d6cef30 diff --git a/app-containers/s6-overlay/s6-overlay-1.18.1.3.ebuild b/app-containers/s6-overlay/s6-overlay-1.18.1.3.ebuild deleted file mode 100644 index c9dd1445da21..000000000000 --- a/app-containers/s6-overlay/s6-overlay-1.18.1.3.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -if [[ ${PV} = 9999 ]]; then - EGIT_REPO_URI="https://github.com/just-containers/${PN}" - inherit git-r3 -else - SRC_URI="https://github.com/just-containers/${PN}/archive/v${PV}.tar.gz -> - ${P}.tar.gz" - KEYWORDS="~amd64" - inherit vcs-snapshot -fi - -DESCRIPTION="an s6-based init system for containers" -HOMEPAGE="https://github.com/just-containers/s6-overlay" - -LICENSE="ISC" -SLOT="0" -IUSE="" - -DEPEND="" -RDEPEND="sys-apps/s6 - sys-apps/s6-portable-utils" - -src_install() { - dodoc *.md - cd builder/overlay-rootfs - dobin usr/bin/{fix-attrs,logutil*,print*,with*} - - insinto / - doins -r etc init - - # create must exist directories - dodir /etc/{cont-init.d,cont-finish.d,fix-attrs.d,services.d} - dodir /etc/s6/init/env-stage2 - - # create "supervise" directory in fdholder, its needed for no-catchall - # stage2 wake up - dodir /etc/s6/services/s6-fdholderd/supervise - fperms 0700 /etc/s6/services/s6-fdholderd/supervise - - # fix misc permissions - fperms 0755 /init - fperms 0755 /etc/s6/init/init-stage1 \ - /etc/s6/init/init-stage2 \ - /etc/s6/init/init-stage2-redirfd \ - /etc/s6/init/init-stage3 - fperms 0755 /etc/s6/init-catchall/init-stage1 \ - /etc/s6/init-catchall/init-stage2 - fperms 0755 /etc/s6/init-no-catchall/init-stage1 \ - /etc/s6/init-no-catchall/init-stage2 - fperms 0755 /etc/s6/services/.s6-svscan/crash - fperms 0755 /etc/s6/services/.s6-svscan/finish - fperms 0755 /etc/s6/services/s6-fdholderd/run - fperms 0755 /etc/s6/services/s6-svscan-log/run -} diff --git a/app-containers/sen/sen-0.6.1_p20200905.ebuild b/app-containers/sen/sen-0.6.1_p20200905-r1.ebuild index 01c320dce915..9f7bf271cf92 100644 --- a/app-containers/sen/sen-0.6.1_p20200905.ebuild +++ b/app-containers/sen/sen-0.6.1_p20200905-r1.ebuild @@ -1,9 +1,10 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} ) inherit distutils-r1 COMMIT="02e5872ee2905861e1da06ab5174e1a3f41f0e0b" @@ -17,15 +18,16 @@ LICENSE="MIT" SLOT="0" KEYWORDS="~amd64" -RDEPEND="dev-python/urwid[${PYTHON_USEDEP}] +RDEPEND=" + dev-python/urwid[${PYTHON_USEDEP}] dev-python/urwidtrees[${PYTHON_USEDEP}] - dev-python/docker-py[${PYTHON_USEDEP}] - " + dev-python/docker[${PYTHON_USEDEP}] +" BDEPEND=" test? ( dev-python/flexmock[${PYTHON_USEDEP}] ) - " +" distutils_enable_tests pytest diff --git a/app-containers/skopeo/Manifest b/app-containers/skopeo/Manifest index 031ef59dd127..17b91a05315b 100644 --- a/app-containers/skopeo/Manifest +++ b/app-containers/skopeo/Manifest @@ -1,3 +1,3 @@ -DIST skopeo-1.5.1.tar.gz 5636533 BLAKE2B 7f0e86cdee5c3250ec1280d7e71554ac2f8ad96ababe0e81dfabc00e8c128a13fc0c9c561b7a9be389d7386e9f664b95118bd2122612b9c2e8844db49769c03c SHA512 3f8c730eaa739bf2a29b82d3b04aa4eee1c09f957b61964fc8c48e59d1537bcb87b5bdf9c18fa48f9d36cf2b7ede3a1448918a20b5a3167f6ce09881a6cd3dde -DIST skopeo-1.7.0.tar.gz 6542347 BLAKE2B 990ad594df9483ad114debeb2882ed3976306d69983ae3d91d807e2654583e7a6599ddf50152df9a937c1c64c1e5a8abb6ed83433036e7efd4ef7e911f99c191 SHA512 7d17f98e86677150fb2ddba9edae18d8b1ac8f06fba575268e6ba54c60f7b371b5e5a9eab1a4fe19da6c7e85eb79c1eef169ad2a39eff979130ee8d141bd8d6b -DIST skopeo-1.8.0.tar.gz 6577667 BLAKE2B 21565736a13d2fcce2576fcc1ff522e81b74aff6c18058f4c994e4f0fc12efa38706ba4c07bbe35abd7e339d9080783f766b68325b01cba90c3cd82f19470aec SHA512 697242244e533b597f481005754301efed8581018cdc297e071fa24347301ddf6111d1f1d3ccc6e87e3e5a9ea606e9c6b40c47bf69d2df6b44336fb260f546de +DIST skopeo-1.14.0.tar.gz 10548883 BLAKE2B 6ecf54d236405ce59bedf77acc124fa8b3bb12acefa24a679a1d2d85957ddf585b5a6ba163806b8b7b510485d936adbe1afd6eee8c92b267b948f7d78ac83d05 SHA512 59d329036a97cbeca4de20b15d9dd8adacd5201834b26ae5e5c88b05594b2a7101c22da91f22c35c07a98e41afa28f2c7103e660b3847c7f8c9691f27f4c4146 +DIST skopeo-1.14.2.tar.gz 10547979 BLAKE2B bca47d82380ad714397dc8e36e365a3e81fc628b47519b022ecb5edd2a03ce8972c066af350cd1f0b5a3d9d6c1585f0729b32a1a829cfc4eaefc1c7fc9dc2667 SHA512 ffb3c00cdde05f7a916bd3980c9cec1bb82b3f3bf90058bfff1837d3a9902087ac011828e6164baec18210d4aeee1a5258b75405411fd15ea2470a2522a6da73 +DIST skopeo-1.15.0.tar.gz 10710505 BLAKE2B b6804561ec96ce7f987ccdaf5a89aa7f5fd0ed2da1307467b4c1857386508d88e3fd28f066f49b136962e232b89594484610fc4f6b494be6a98b64908900865b SHA512 71fb94fd2cf9937bf2dd969c8b1b74f5b66eb2ac2bd9358e8c8983c3fd6548311ca274ed2f8c3f088c3c9d6032962075da1890449dcd25dcfd49882acbfa20de diff --git a/app-containers/skopeo/metadata.xml b/app-containers/skopeo/metadata.xml index 18cbb63e9295..59cd39c52a42 100644 --- a/app-containers/skopeo/metadata.xml +++ b/app-containers/skopeo/metadata.xml @@ -5,7 +5,22 @@ <email>williamh@gentoo.org</email> <name>William Hubbs</name> </maintainer> + <maintainer type="person" proxied="yes"> + <email>me@rahil.rocks</email> + <name>Rahil Bhimjiani</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> <use> <flag name="btrfs">Enables dependencies for the "btrfs" graph driver.</flag> + <flag name="device-mapper">Compiles with libdevmapper</flag> + <flag name="rootless">Compiles with libsubid</flag> </use> + <upstream> + <remote-id type="github">containers/skopeo</remote-id> + <bugs-to>https://github.com/containers/skopeo/issues</bugs-to> + <doc>https://github.com/containers/skopeo/blob/main/README.md</doc> + </upstream> </pkgmetadata> diff --git a/app-containers/skopeo/skopeo-1.14.0-r3.ebuild b/app-containers/skopeo/skopeo-1.14.0-r3.ebuild new file mode 100644 index 000000000000..462b948cd231 --- /dev/null +++ b/app-containers/skopeo/skopeo-1.14.0-r3.ebuild @@ -0,0 +1,69 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module linux-info + +DESCRIPTION="Work with remote container images registries" +HOMEPAGE="https://github.com/containers/skopeo" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + 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" +fi + +# main +LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT" +SLOT="0" +IUSE="btrfs device-mapper rootless" + +COMMON_DEPEND=" + >=app-crypt/gpgme-1.5.5:= + >=dev-libs/libassuan-2.4.3:= + btrfs? ( >=sys-fs/btrfs-progs-4.0.1 ) + device-mapper? ( >=sys-fs/lvm2-2.02.145:= ) + rootless? ( sys-apps/shadow:= ) +" + +# TODO: Is this really needed? cause upstream doesnt mention it https://github.com/containers/skopeo/blob/main/install.md#building-from-source +# dev-libs/libgpg-error:= +DEPEND="${COMMON_DEPEND}" +RDEPEND=" + ${COMMON_DEPEND} + app-containers/containers-common +" +BDEPEND="dev-go/go-md2man" + +RESTRICT="test" + +pkg_setup() { + use btrfs && CONFIG_CHECK+=" ~BTRFS_FS" + use device-mapper && CONFIG_CHECK+=" ~MD" + linux-info_pkg_setup +} + +run_make() { + emake \ + BTRFS_BUILD_TAG="$(usex btrfs '' 'btrfs_noversion exclude_graphdriver_btrfs')" \ + CONTAINERSCONFDIR="${EPREFIX}/etc/containers" \ + LIBDM_BUILD_TAG="$(usex device-mapper '' 'libdm_no_deferred_remove exclude_graphdriver_devicemapper')" \ + LIBSUBID_BUILD_TAG="$(usex rootless 'libsubid' '')" \ + PREFIX="${EPREFIX}/usr" \ + $@ +} + +src_compile() { + run_make all completions +} + +src_install() { + # The install target in the Makefile tries to rebuild the binary and + # installs things that are already installed by containers-common. + dobin bin/skopeo + einstalldocs + doman docs/*.1 + run_make "DESTDIR=${D}" install-completions +} diff --git a/app-containers/skopeo/skopeo-1.14.2.ebuild b/app-containers/skopeo/skopeo-1.14.2.ebuild new file mode 100644 index 000000000000..ab892d6789a8 --- /dev/null +++ b/app-containers/skopeo/skopeo-1.14.2.ebuild @@ -0,0 +1,69 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module linux-info + +DESCRIPTION="Work with remote container images registries" +HOMEPAGE="https://github.com/containers/skopeo" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + 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" +fi + +# main +LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT" +SLOT="0" +IUSE="btrfs device-mapper rootless" + +COMMON_DEPEND=" + >=app-crypt/gpgme-1.5.5:= + >=dev-libs/libassuan-2.4.3:= + btrfs? ( >=sys-fs/btrfs-progs-4.0.1 ) + device-mapper? ( >=sys-fs/lvm2-2.02.145:= ) + rootless? ( sys-apps/shadow:= ) +" + +# TODO: Is this really needed? cause upstream doesnt mention it https://github.com/containers/skopeo/blob/main/install.md#building-from-source +# dev-libs/libgpg-error:= +DEPEND="${COMMON_DEPEND}" +RDEPEND=" + ${COMMON_DEPEND} + app-containers/containers-common +" +BDEPEND="dev-go/go-md2man" + +RESTRICT="test" + +pkg_setup() { + use btrfs && CONFIG_CHECK+=" ~BTRFS_FS" + use device-mapper && CONFIG_CHECK+=" ~MD" + linux-info_pkg_setup +} + +run_make() { + emake \ + BTRFS_BUILD_TAG="$(usex btrfs '' 'btrfs_noversion exclude_graphdriver_btrfs')" \ + CONTAINERSCONFDIR="${EPREFIX}/etc/containers" \ + LIBDM_BUILD_TAG="$(usex device-mapper '' 'libdm_no_deferred_remove exclude_graphdriver_devicemapper')" \ + LIBSUBID_BUILD_TAG="$(usex rootless 'libsubid' '')" \ + PREFIX="${EPREFIX}/usr" \ + $@ +} + +src_compile() { + run_make all completions +} + +src_install() { + # The install target in the Makefile tries to rebuild the binary and + # installs things that are already installed by containers-common. + dobin bin/skopeo + einstalldocs + doman docs/*.1 + run_make "DESTDIR=${D}" install-completions +} diff --git a/app-containers/skopeo/skopeo-1.15.0.ebuild b/app-containers/skopeo/skopeo-1.15.0.ebuild new file mode 100644 index 000000000000..ab892d6789a8 --- /dev/null +++ b/app-containers/skopeo/skopeo-1.15.0.ebuild @@ -0,0 +1,69 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module linux-info + +DESCRIPTION="Work with remote container images registries" +HOMEPAGE="https://github.com/containers/skopeo" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + 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" +fi + +# main +LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT" +SLOT="0" +IUSE="btrfs device-mapper rootless" + +COMMON_DEPEND=" + >=app-crypt/gpgme-1.5.5:= + >=dev-libs/libassuan-2.4.3:= + btrfs? ( >=sys-fs/btrfs-progs-4.0.1 ) + device-mapper? ( >=sys-fs/lvm2-2.02.145:= ) + rootless? ( sys-apps/shadow:= ) +" + +# TODO: Is this really needed? cause upstream doesnt mention it https://github.com/containers/skopeo/blob/main/install.md#building-from-source +# dev-libs/libgpg-error:= +DEPEND="${COMMON_DEPEND}" +RDEPEND=" + ${COMMON_DEPEND} + app-containers/containers-common +" +BDEPEND="dev-go/go-md2man" + +RESTRICT="test" + +pkg_setup() { + use btrfs && CONFIG_CHECK+=" ~BTRFS_FS" + use device-mapper && CONFIG_CHECK+=" ~MD" + linux-info_pkg_setup +} + +run_make() { + emake \ + BTRFS_BUILD_TAG="$(usex btrfs '' 'btrfs_noversion exclude_graphdriver_btrfs')" \ + CONTAINERSCONFDIR="${EPREFIX}/etc/containers" \ + LIBDM_BUILD_TAG="$(usex device-mapper '' 'libdm_no_deferred_remove exclude_graphdriver_devicemapper')" \ + LIBSUBID_BUILD_TAG="$(usex rootless 'libsubid' '')" \ + PREFIX="${EPREFIX}/usr" \ + $@ +} + +src_compile() { + run_make all completions +} + +src_install() { + # The install target in the Makefile tries to rebuild the binary and + # installs things that are already installed by containers-common. + dobin bin/skopeo + einstalldocs + doman docs/*.1 + run_make "DESTDIR=${D}" install-completions +} diff --git a/app-containers/skopeo/skopeo-1.5.1.ebuild b/app-containers/skopeo/skopeo-1.5.1.ebuild deleted file mode 100644 index e8cae186c28e..000000000000 --- a/app-containers/skopeo/skopeo-1.5.1.ebuild +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -COMMIT=2b357d82769d1fc08739211fb21390016b99a8a9 -inherit go-module bash-completion-r1 - -DESCRIPTION="Command line utility foroperations on container images and image repositories" -HOMEPAGE="https://github.com/containers/skopeo" -SRC_URI="https://github.com/containers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT" -SLOT="0" -KEYWORDS="amd64 arm64" -IUSE="btrfs" - -COMMON_DEPEND=">=app-crypt/gpgme-1.5.5:= - >=dev-libs/libassuan-2.4.3:= - dev-libs/libgpg-error:= - btrfs? ( >=sys-fs/btrfs-progs-4.0.1 ) - >=sys-fs/lvm2-2.02.145:=" -DEPEND="${COMMON_DEPEND} - dev-go/go-md2man" -RDEPEND="${COMMON_DEPEND}" - -RESTRICT+=" test" - -src_compile() { - local BUILDTAGS - BUILDTAGS="containers_image_ostree_stub $(usex btrfs "" exclude_graphdriver_btrfs)" - set -- go build -mod=vendor -ldflags "-X main.gitCommit=${COMMIT}" \ - -gcflags "${GOGCFLAGS}" -tags "${BUILDTAGS}" \ - -o skopeo ./cmd/skopeo - echo "$@" - "$@" || die - cd docs || die - for f in *.1.md; do - go-md2man -in ${f} -out ${f%%.md} || die - done -} - -src_install() { - dobin skopeo - doman docs/*.1 - dobashcomp completions/bash/skopeo - insinto /etc/containers - newins default-policy.json policy.json - insinto /etc/containers/registries.d - doins default.yaml - keepdir /var/lib/atomic/sigstore - einstalldocs -} diff --git a/app-containers/skopeo/skopeo-1.7.0.ebuild b/app-containers/skopeo/skopeo-1.7.0.ebuild deleted file mode 100644 index d228fd00e921..000000000000 --- a/app-containers/skopeo/skopeo-1.7.0.ebuild +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -COMMIT=f45ae950aacb7b61ec13223fc22269f2fe270eab -inherit go-module bash-completion-r1 - -DESCRIPTION="Command line utility foroperations on container images and image repositories" -HOMEPAGE="https://github.com/containers/skopeo" -SRC_URI="https://github.com/containers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm64" -IUSE="btrfs" - -COMMON_DEPEND=">=app-crypt/gpgme-1.5.5:= - >=dev-libs/libassuan-2.4.3:= - dev-libs/libgpg-error:= - btrfs? ( >=sys-fs/btrfs-progs-4.0.1 ) - >=sys-fs/lvm2-2.02.145:=" -DEPEND="${COMMON_DEPEND} - dev-go/go-md2man" -RDEPEND="${COMMON_DEPEND}" - -RESTRICT+=" test" - -src_compile() { - local BUILDTAGS - BUILDTAGS="containers_image_ostree_stub $(usex btrfs "" exclude_graphdriver_btrfs)" - set -- go build -mod=vendor -ldflags "-X main.gitCommit=${COMMIT}" \ - -gcflags "${GOGCFLAGS}" -tags "${BUILDTAGS}" \ - -o skopeo ./cmd/skopeo - echo "$@" - "$@" || die - cd docs || die - for f in *.1.md; do - go-md2man -in ${f} -out ${f%%.md} || die - done -} - -src_install() { - dobin skopeo - doman docs/*.1 - dobashcomp completions/bash/skopeo - insinto /etc/containers - newins default-policy.json policy.json - insinto /etc/containers/registries.d - doins default.yaml - keepdir /var/lib/atomic/sigstore - einstalldocs -} diff --git a/app-containers/skopeo/skopeo-1.8.0.ebuild b/app-containers/skopeo/skopeo-1.8.0.ebuild deleted file mode 100644 index c3dcc4973b2a..000000000000 --- a/app-containers/skopeo/skopeo-1.8.0.ebuild +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -COMMIT=37727a45f96ac208785b606f7772d609bf50dbc4 -inherit go-module bash-completion-r1 - -DESCRIPTION="Command line utility foroperations on container images and image repositories" -HOMEPAGE="https://github.com/containers/skopeo" -SRC_URI="https://github.com/containers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm64" -IUSE="btrfs" - -COMMON_DEPEND=">=app-crypt/gpgme-1.5.5:= - >=dev-libs/libassuan-2.4.3:= - dev-libs/libgpg-error:= - btrfs? ( >=sys-fs/btrfs-progs-4.0.1 ) - >=sys-fs/lvm2-2.02.145:=" -DEPEND="${COMMON_DEPEND} - dev-go/go-md2man" -RDEPEND="${COMMON_DEPEND}" - -RESTRICT+=" test" - -src_compile() { - local BUILDTAGS - BUILDTAGS="containers_image_ostree_stub $(usex btrfs "" exclude_graphdriver_btrfs)" - set -- go build -mod=vendor -ldflags "-X main.gitCommit=${COMMIT}" \ - -gcflags "${GOGCFLAGS}" -tags "${BUILDTAGS}" \ - -o skopeo ./cmd/skopeo - echo "$@" - "$@" || die - cd docs || die - for f in *.1.md; do - go-md2man -in ${f} -out ${f%%.md} || die - done -} - -src_install() { - dobin skopeo - doman docs/*.1 - dobashcomp completions/bash/skopeo - insinto /etc/containers - newins default-policy.json policy.json - insinto /etc/containers/registries.d - doins default.yaml - keepdir /var/lib/atomic/sigstore - einstalldocs -} diff --git a/app-containers/skopeo/skopeo-9999.ebuild b/app-containers/skopeo/skopeo-9999.ebuild new file mode 100644 index 000000000000..ab892d6789a8 --- /dev/null +++ b/app-containers/skopeo/skopeo-9999.ebuild @@ -0,0 +1,69 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module linux-info + +DESCRIPTION="Work with remote container images registries" +HOMEPAGE="https://github.com/containers/skopeo" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + 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" +fi + +# main +LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT" +SLOT="0" +IUSE="btrfs device-mapper rootless" + +COMMON_DEPEND=" + >=app-crypt/gpgme-1.5.5:= + >=dev-libs/libassuan-2.4.3:= + btrfs? ( >=sys-fs/btrfs-progs-4.0.1 ) + device-mapper? ( >=sys-fs/lvm2-2.02.145:= ) + rootless? ( sys-apps/shadow:= ) +" + +# TODO: Is this really needed? cause upstream doesnt mention it https://github.com/containers/skopeo/blob/main/install.md#building-from-source +# dev-libs/libgpg-error:= +DEPEND="${COMMON_DEPEND}" +RDEPEND=" + ${COMMON_DEPEND} + app-containers/containers-common +" +BDEPEND="dev-go/go-md2man" + +RESTRICT="test" + +pkg_setup() { + use btrfs && CONFIG_CHECK+=" ~BTRFS_FS" + use device-mapper && CONFIG_CHECK+=" ~MD" + linux-info_pkg_setup +} + +run_make() { + emake \ + BTRFS_BUILD_TAG="$(usex btrfs '' 'btrfs_noversion exclude_graphdriver_btrfs')" \ + CONTAINERSCONFDIR="${EPREFIX}/etc/containers" \ + LIBDM_BUILD_TAG="$(usex device-mapper '' 'libdm_no_deferred_remove exclude_graphdriver_devicemapper')" \ + LIBSUBID_BUILD_TAG="$(usex rootless 'libsubid' '')" \ + PREFIX="${EPREFIX}/usr" \ + $@ +} + +src_compile() { + run_make all completions +} + +src_install() { + # The install target in the Makefile tries to rebuild the binary and + # installs things that are already installed by containers-common. + dobin bin/skopeo + einstalldocs + doman docs/*.1 + run_make "DESTDIR=${D}" install-completions +} diff --git a/app-containers/snapd/Manifest b/app-containers/snapd/Manifest index 0afafe29d14c..e8b84e38cac9 100644 --- a/app-containers/snapd/Manifest +++ b/app-containers/snapd/Manifest @@ -1,2 +1,5 @@ -DIST snapd-2.56.2.tar.xz 6740504 BLAKE2B e8bf0ab85038b5127fd81f434ef369ac53ec7915a454f8fd24046b6e3a5303bf3924fce04fb2400b0ccdc1a8939809ca20e091ac99a04fe6899dfacdfd3cf299 SHA512 16a57ea828ea875ebe5073cca0975ef74562f095823e980be7096ea6b9e83f6a3f434373065781d6342e805c18ee5adadaab29074440759ed3891691441472b0 -DIST snapd-2.56.tar.xz 6737568 BLAKE2B 662fa682895501df71396095e22fb4587a97cfe4e156b998118ff524ef3a22bf4e60420111167c263c2815ff34a05b026180e41e926324756450e22a1571fc92 SHA512 d2e9949b449ff65122f1202b2048ed63e3ff404aebd71d9877030c7b23130b6be2f1ef62f47b8b0044344fb4826b2b0c81dbcf5cd464ca16f5b3b170735b6039 +DIST snapd-2.57.6.tar.xz 6889052 BLAKE2B 5d1190f3d1ccc6446f950cc95c09180707c3a96285bcdd197aef06b2d69cfef6daf85a93844f105dd434b29b73d3b9c832dfcbebcdc2451443eb5421046de849 SHA512 cd74fa92cddff3452448a50536ded504c68ca6f786b465b8561ccc43c02856742a895efb71bf92b8d125173e0d083faf61ca563f69da03ebf3c4df1b0b0b8d5e +DIST snapd-2.58.tar.xz 6980916 BLAKE2B d3de507513db808fa4f85498b5c238de143f06660f1d677186c8c763b38643a2486e25b747977b3eb584619d79ea0a12e88dc5a909045a853c1d8f849f2c1638 SHA512 555915b8b4d9d2d91a3ba19e9e78cf6b19d9683a9f390ad225aa5876320cb8595b464d6133706c4923fc15fbe04ba2b65a47e403c9a2d8859adae827f8ec000a +DIST snapd-2.60.3.tar.xz 7184964 BLAKE2B c40c4e041a91de1732c23b5845a322873498da76d50e0c91e97941d1fc4f6f1991fe2b009414952bf0ebb614e8e19a0015c698ff09c61a12940349ea714f77f0 SHA512 630738c956773354006c195bfe954902b0d082e94345b54c6a6795139d36e1f95a236c6e9a8947338e03caca03520c6e8c1a1c44d3788ec93107f7f97b2d952d +DIST snapd-2.60.4.tar.xz 7187708 BLAKE2B 488ca5b70e9174f07ac54cbc221a323607e337dbde45e7c4d11669ed2f61409fa7bb21b4a5432cd84fb312d92cacf19e5bccc80ef77b71233e19e158d937ac04 SHA512 3035e4e5d52fef00606bc532f855817200d9f6035f660b0377d5dccf5bb64bbf0a94a4e3b8f3941e54b62259378dae4084baa2a29fb5120c714559c899c33c0e +DIST snapd-2.61.tar.xz 7626784 BLAKE2B d716e91df4702fbd415bb6204a4557f37afd3dce187e3bca33b12a2ac5a1b54d1c31473d1537a784f6cbbfaf213f676d1f1b29d716e8c5f45a785229c9f3e018 SHA512 2fd432d7ef2204535576e980de7060ad15a0b3610b25e0f41b630ae34e172f97460f0a38d9d456af08dd36c619e90119219788a49e56a69afc7fbf014fc1db22 diff --git a/app-containers/snapd/metadata.xml b/app-containers/snapd/metadata.xml index 0109791c93ff..730665fd01eb 100644 --- a/app-containers/snapd/metadata.xml +++ b/app-containers/snapd/metadata.xml @@ -9,9 +9,6 @@ <remote-id type="github">snapcore/snapd</remote-id> </upstream> <use> - <flag name="apparmor"> - Enable AppArmor support. - </flag> <flag name="forced-devmode"> Automatically disable application confinement if feature detection fails. </flag> diff --git a/app-containers/snapd/snapd-2.56.2.ebuild b/app-containers/snapd/snapd-2.57.6.ebuild index 7e134a2b558e..35255adff108 100644 --- a/app-containers/snapd/snapd-2.56.2.ebuild +++ b/app-containers/snapd/snapd-2.57.6.ebuild @@ -118,7 +118,7 @@ src_compile() { local -a staticflags=(-buildmode=pie -ldflags "-s -linkmode external -extldflags '${LDFLAGS} -static'" -trimpath) local cmd - for cmd in snap snapd snap-bootstrap snap-failure snap-preseed snap-recovery-chooser snap-repair snap-seccomp; do + for cmd in snap snapd snapd-apparmor snap-bootstrap snap-failure snap-preseed snap-recovery-chooser snap-repair snap-seccomp; do go build ${GOFLAGS} -mod=vendor -o "${GOBIN}/${cmd}" "${flags[@]}" \ -v -x "github.com/snapcore/${PN}/cmd/${cmd}" [[ -e "${GOBIN}/${cmd}" ]] || die "failed to build ${cmd}" @@ -145,7 +145,7 @@ src_install() { ln "${ED}/usr/bin/snapctl" "${ED}/usr/lib/snapd/snapctl" || die exeinto /usr/lib/snapd - doexe "${GOBIN}/"{snapd,snap-bootstrap,snap-failure,snap-exec,snap-preseed,snap-recovery-chooser,snap-repair,snap-seccomp,snap-update-ns} \ + doexe "${GOBIN}/"{snapd,snapd-apparmor,snap-bootstrap,snap-failure,snap-exec,snap-preseed,snap-recovery-chooser,snap-repair,snap-seccomp,snap-update-ns} \ "${S}/"{cmd/snap-discard-ns/snap-discard-ns,cmd/snap-gdb-shim/snap-gdb-shim,cmd/snap-mgmt/snap-mgmt} \ "${S}/data/completion/bash/"{complete.sh,etelpmoc.sh,} diff --git a/app-containers/snapd/snapd-2.56.ebuild b/app-containers/snapd/snapd-2.58.ebuild index 7e134a2b558e..09043d528c25 100644 --- a/app-containers/snapd/snapd-2.56.ebuild +++ b/app-containers/snapd/snapd-2.58.ebuild @@ -1,16 +1,16 @@ -# Copyright 2020-2022 Gentoo Authors +# Copyright 2020-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit autotools bash-completion-r1 flag-o-matic go-module linux-info readme.gentoo-r1 systemd xdg-utils +inherit autotools bash-completion-r1 flag-o-matic go-module linux-info readme.gentoo-r1 systemd tmpfiles xdg-utils DESCRIPTION="Service and tools for management of snap packages" HOMEPAGE="http://snapcraft.io/" SRC_URI="https://github.com/snapcore/${PN}/releases/download/${PV}/${PN}_${PV}.vendor.tar.xz -> ${P}.tar.xz" MY_PV=${PV} -KEYWORDS="~amd64" +KEYWORDS="amd64" LICENSE="GPL-3 Apache-2.0 BSD BSD-2 LGPL-3-with-linking-exception MIT" SLOT="0" @@ -118,7 +118,7 @@ src_compile() { local -a staticflags=(-buildmode=pie -ldflags "-s -linkmode external -extldflags '${LDFLAGS} -static'" -trimpath) local cmd - for cmd in snap snapd snap-bootstrap snap-failure snap-preseed snap-recovery-chooser snap-repair snap-seccomp; do + for cmd in snap snapd snapd-apparmor snap-bootstrap snap-failure snap-preseed snap-recovery-chooser snap-repair snap-seccomp; do go build ${GOFLAGS} -mod=vendor -o "${GOBIN}/${cmd}" "${flags[@]}" \ -v -x "github.com/snapcore/${PN}/cmd/${cmd}" [[ -e "${GOBIN}/${cmd}" ]] || die "failed to build ${cmd}" @@ -145,7 +145,7 @@ src_install() { ln "${ED}/usr/bin/snapctl" "${ED}/usr/lib/snapd/snapctl" || die exeinto /usr/lib/snapd - doexe "${GOBIN}/"{snapd,snap-bootstrap,snap-failure,snap-exec,snap-preseed,snap-recovery-chooser,snap-repair,snap-seccomp,snap-update-ns} \ + doexe "${GOBIN}/"{snapd,snapd-apparmor,snap-bootstrap,snap-failure,snap-exec,snap-preseed,snap-recovery-chooser,snap-repair,snap-seccomp,snap-update-ns} \ "${S}/"{cmd/snap-discard-ns/snap-discard-ns,cmd/snap-gdb-shim/snap-gdb-shim,cmd/snap-mgmt/snap-mgmt} \ "${S}/data/completion/bash/"{complete.sh,etelpmoc.sh,} @@ -166,6 +166,7 @@ src_install() { pkg_postinst() { readme.gentoo_print_elog xdg_desktop_database_update + tmpfiles_process snapd.conf if use apparmor && [[ -z ${ROOT} && -e /sys/kernel/security/apparmor/profiles && $(wc -l < /sys/kernel/security/apparmor/profiles) -gt 0 ]]; then diff --git a/app-containers/snapd/snapd-2.60.3.ebuild b/app-containers/snapd/snapd-2.60.3.ebuild new file mode 100644 index 000000000000..7bd5d8f6f6e3 --- /dev/null +++ b/app-containers/snapd/snapd-2.60.3.ebuild @@ -0,0 +1,179 @@ +# Copyright 2020-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools bash-completion-r1 flag-o-matic go-module linux-info readme.gentoo-r1 systemd tmpfiles xdg-utils + +DESCRIPTION="Service and tools for management of snap packages" +HOMEPAGE="http://snapcraft.io/" + +SRC_URI="https://github.com/snapcore/snapd/releases/download/${PV}/snapd_${PV}.vendor.tar.xz -> ${P}.tar.xz" +MY_PV=${PV} +KEYWORDS="~amd64" + +LICENSE="GPL-3 Apache-2.0 BSD BSD-2 LGPL-3-with-linking-exception MIT" +SLOT="0" +IUSE="apparmor +forced-devmode gtk kde systemd" +REQUIRED_USE="!forced-devmode? ( apparmor ) systemd" + +CONFIG_CHECK="~CGROUPS + ~CGROUP_DEVICE + ~CGROUP_FREEZER + ~NAMESPACES + ~SQUASHFS + ~SQUASHFS_ZLIB + ~SQUASHFS_LZO + ~SQUASHFS_XZ + ~BLK_DEV_LOOP + ~SECCOMP + ~SECCOMP_FILTER" + +RDEPEND=" + sys-libs/libseccomp:= + apparmor? ( + sec-policy/apparmor-profiles + sys-apps/apparmor:= + ) + dev-libs/glib + virtual/libudev + systemd? ( sys-apps/systemd ) + sys-libs/libcap:= + sys-fs/squashfs-tools[lzma,lzo]" + +DEPEND="${RDEPEND}" + +BDEPEND=" + >=dev-lang/go-1.9 + dev-python/docutils + sys-devel/gettext + sys-fs/xfsprogs" + +PDEPEND="sys-auth/polkit[gtk?,kde?]" + +README_GENTOO_SUFFIX="" + +pkg_setup() { + if use apparmor; then + CONFIG_CHECK+=" ~SECURITY_APPARMOR" + fi + linux-info_pkg_setup + + # Seems to have issues building with -O3, switch to -O2 + replace-flags -O3 -O2 +} + +src_prepare() { + default + # Update apparmor profile to allow libtinfow.so* + sed -i 's/libtinfo/libtinfo{,w}/' \ + "cmd/snap-confine/snap-confine.apparmor.in" || die + + if ! use forced-devmode; then + sed -e 's#return !apparmorFull#if !apparmorFull {\n\t\tpanic("USE=forced-devmode is disabled")\n\t}\n\treturn false#' \ + -i "sandbox/forcedevmode.go" || die + grep -q 'panic("USE=forced-devmode is disabled")' "sandbox/forcedevmode.go" || die "failed to disable forced-devmode" + fi + + sed -i 's:command -v git >/dev/null:false:' -i "mkversion.sh" || die + + ./mkversion.sh "${PV}" + pushd "cmd" >/dev/null || die + eautoreconf +} + +src_configure() { + SNAPD_MAKEARGS=( + "BINDIR=${EPREFIX}/usr/bin" + "DBUSSERVICESDIR=${EPREFIX}/usr/share/dbus-1/services" + "LIBEXECDIR=${EPREFIX}/usr/lib" + "SNAP_MOUNT_DIR=${EPREFIX}/var/lib/snapd/snap" + "SYSTEMDSYSTEMUNITDIR=$(systemd_get_systemunitdir)" + ) + export CGO_ENABLED="1" + export CGO_CFLAGS="${CFLAGS}" + export CGO_CPPFLAGS="${CPPFLAGS}" + export CGO_CXXFLAGS="${CXXFLAGS}" + + pushd "${S}/cmd" >/dev/null || die + econf --libdir="${EPREFIX}/usr/lib" \ + --libexecdir="${EPREFIX}/usr/lib/snapd" \ + $(use_enable apparmor) \ + --enable-nvidia-biarch \ + --with-snap-mount-dir="${EPREFIX}/var/lib/snapd/snap" +} + +src_compile() { + export -n GOCACHE XDG_CACHE_HOME + export GOBIN="${S}/bin" + + local file + for file in "${S}/po/"*.po; do + msgfmt "${file}" -o "${file%.po}.mo" || die + done + + emake -C "${S}/data" "${SNAPD_MAKEARGS[@]}" + + local -a flags=(-buildmode=pie -ldflags "-s -linkmode external -extldflags '${LDFLAGS}'" -trimpath) + local -a staticflags=(-buildmode=pie -ldflags "-s -linkmode external -extldflags '${LDFLAGS} -static'" -trimpath) + + local cmd + for cmd in snap snapd snapd-apparmor snap-bootstrap snap-failure snap-preseed snap-recovery-chooser snap-repair snap-seccomp; do + go build ${GOFLAGS} -mod=vendor -o "${GOBIN}/${cmd}" "${flags[@]}" \ + -v -x "github.com/snapcore/${PN}/cmd/${cmd}" + [[ -e "${GOBIN}/${cmd}" ]] || die "failed to build ${cmd}" + done + for cmd in snapctl snap-exec snap-update-ns; do + go build ${GOFLAGS} -mod=vendor -o "${GOBIN}/${cmd}" "${staticflags[@]}" \ + -v -x "github.com/snapcore/${PN}/cmd/${cmd}" + [[ -e "${GOBIN}/${cmd}" ]] || die "failed to build ${cmd}" + done +} + +src_install() { + emake -C "${S}/data" install "${SNAPD_MAKEARGS[@]}" DESTDIR="${D}" + emake -C "${S}/cmd" install "${SNAPD_MAKEARGS[@]}" DESTDIR="${D}" + + if use apparmor; then + mv "${ED}/etc/apparmor.d/usr.lib.snapd.snap-confine"{,.real} || die + keepdir /var/lib/snapd/apparmor/profiles + fi + keepdir /var/lib/snapd/{apparmor/snap-confine,cache,cookie,snap,void} + fperms 700 /var/lib/snapd/{cache,cookie} + + dobin "${GOBIN}/"{snap,snapctl} + ln "${ED}/usr/bin/snapctl" "${ED}/usr/lib/snapd/snapctl" || die + + exeinto /usr/lib/snapd + doexe "${GOBIN}/"{snapd,snapd-apparmor,snap-bootstrap,snap-failure,snap-exec,snap-preseed,snap-recovery-chooser,snap-repair,snap-seccomp,snap-update-ns} \ + "${S}/"{cmd/snap-discard-ns/snap-discard-ns,cmd/snap-gdb-shim/snap-gdb-shim,cmd/snap-mgmt/snap-mgmt} \ + "${S}/data/completion/bash/"{complete.sh,etelpmoc.sh,} + + dobashcomp "${S}/data/completion/bash/snap" + + insinto /usr/share/zsh/site-functions + doins "${S}/data/completion/zsh/_snap" + + insinto "/usr/share/polkit-1/actions" + doins "${S}/data/polkit/io.snapcraft.snapd.policy" + + dodoc "${S}/packaging/ubuntu-16.04/changelog" + domo "${S}/po/"*.mo + + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog + xdg_desktop_database_update + tmpfiles_process snapd.conf + + if use apparmor && [[ -z ${ROOT} && -e /sys/kernel/security/apparmor/profiles && + $(wc -l < /sys/kernel/security/apparmor/profiles) -gt 0 ]]; then + apparmor_parser -r "${EPREFIX}/etc/apparmor.d/usr.lib.snapd.snap-confine.real" + fi +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-containers/snapd/snapd-2.60.4.ebuild b/app-containers/snapd/snapd-2.60.4.ebuild new file mode 100644 index 000000000000..7bd5d8f6f6e3 --- /dev/null +++ b/app-containers/snapd/snapd-2.60.4.ebuild @@ -0,0 +1,179 @@ +# Copyright 2020-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools bash-completion-r1 flag-o-matic go-module linux-info readme.gentoo-r1 systemd tmpfiles xdg-utils + +DESCRIPTION="Service and tools for management of snap packages" +HOMEPAGE="http://snapcraft.io/" + +SRC_URI="https://github.com/snapcore/snapd/releases/download/${PV}/snapd_${PV}.vendor.tar.xz -> ${P}.tar.xz" +MY_PV=${PV} +KEYWORDS="~amd64" + +LICENSE="GPL-3 Apache-2.0 BSD BSD-2 LGPL-3-with-linking-exception MIT" +SLOT="0" +IUSE="apparmor +forced-devmode gtk kde systemd" +REQUIRED_USE="!forced-devmode? ( apparmor ) systemd" + +CONFIG_CHECK="~CGROUPS + ~CGROUP_DEVICE + ~CGROUP_FREEZER + ~NAMESPACES + ~SQUASHFS + ~SQUASHFS_ZLIB + ~SQUASHFS_LZO + ~SQUASHFS_XZ + ~BLK_DEV_LOOP + ~SECCOMP + ~SECCOMP_FILTER" + +RDEPEND=" + sys-libs/libseccomp:= + apparmor? ( + sec-policy/apparmor-profiles + sys-apps/apparmor:= + ) + dev-libs/glib + virtual/libudev + systemd? ( sys-apps/systemd ) + sys-libs/libcap:= + sys-fs/squashfs-tools[lzma,lzo]" + +DEPEND="${RDEPEND}" + +BDEPEND=" + >=dev-lang/go-1.9 + dev-python/docutils + sys-devel/gettext + sys-fs/xfsprogs" + +PDEPEND="sys-auth/polkit[gtk?,kde?]" + +README_GENTOO_SUFFIX="" + +pkg_setup() { + if use apparmor; then + CONFIG_CHECK+=" ~SECURITY_APPARMOR" + fi + linux-info_pkg_setup + + # Seems to have issues building with -O3, switch to -O2 + replace-flags -O3 -O2 +} + +src_prepare() { + default + # Update apparmor profile to allow libtinfow.so* + sed -i 's/libtinfo/libtinfo{,w}/' \ + "cmd/snap-confine/snap-confine.apparmor.in" || die + + if ! use forced-devmode; then + sed -e 's#return !apparmorFull#if !apparmorFull {\n\t\tpanic("USE=forced-devmode is disabled")\n\t}\n\treturn false#' \ + -i "sandbox/forcedevmode.go" || die + grep -q 'panic("USE=forced-devmode is disabled")' "sandbox/forcedevmode.go" || die "failed to disable forced-devmode" + fi + + sed -i 's:command -v git >/dev/null:false:' -i "mkversion.sh" || die + + ./mkversion.sh "${PV}" + pushd "cmd" >/dev/null || die + eautoreconf +} + +src_configure() { + SNAPD_MAKEARGS=( + "BINDIR=${EPREFIX}/usr/bin" + "DBUSSERVICESDIR=${EPREFIX}/usr/share/dbus-1/services" + "LIBEXECDIR=${EPREFIX}/usr/lib" + "SNAP_MOUNT_DIR=${EPREFIX}/var/lib/snapd/snap" + "SYSTEMDSYSTEMUNITDIR=$(systemd_get_systemunitdir)" + ) + export CGO_ENABLED="1" + export CGO_CFLAGS="${CFLAGS}" + export CGO_CPPFLAGS="${CPPFLAGS}" + export CGO_CXXFLAGS="${CXXFLAGS}" + + pushd "${S}/cmd" >/dev/null || die + econf --libdir="${EPREFIX}/usr/lib" \ + --libexecdir="${EPREFIX}/usr/lib/snapd" \ + $(use_enable apparmor) \ + --enable-nvidia-biarch \ + --with-snap-mount-dir="${EPREFIX}/var/lib/snapd/snap" +} + +src_compile() { + export -n GOCACHE XDG_CACHE_HOME + export GOBIN="${S}/bin" + + local file + for file in "${S}/po/"*.po; do + msgfmt "${file}" -o "${file%.po}.mo" || die + done + + emake -C "${S}/data" "${SNAPD_MAKEARGS[@]}" + + local -a flags=(-buildmode=pie -ldflags "-s -linkmode external -extldflags '${LDFLAGS}'" -trimpath) + local -a staticflags=(-buildmode=pie -ldflags "-s -linkmode external -extldflags '${LDFLAGS} -static'" -trimpath) + + local cmd + for cmd in snap snapd snapd-apparmor snap-bootstrap snap-failure snap-preseed snap-recovery-chooser snap-repair snap-seccomp; do + go build ${GOFLAGS} -mod=vendor -o "${GOBIN}/${cmd}" "${flags[@]}" \ + -v -x "github.com/snapcore/${PN}/cmd/${cmd}" + [[ -e "${GOBIN}/${cmd}" ]] || die "failed to build ${cmd}" + done + for cmd in snapctl snap-exec snap-update-ns; do + go build ${GOFLAGS} -mod=vendor -o "${GOBIN}/${cmd}" "${staticflags[@]}" \ + -v -x "github.com/snapcore/${PN}/cmd/${cmd}" + [[ -e "${GOBIN}/${cmd}" ]] || die "failed to build ${cmd}" + done +} + +src_install() { + emake -C "${S}/data" install "${SNAPD_MAKEARGS[@]}" DESTDIR="${D}" + emake -C "${S}/cmd" install "${SNAPD_MAKEARGS[@]}" DESTDIR="${D}" + + if use apparmor; then + mv "${ED}/etc/apparmor.d/usr.lib.snapd.snap-confine"{,.real} || die + keepdir /var/lib/snapd/apparmor/profiles + fi + keepdir /var/lib/snapd/{apparmor/snap-confine,cache,cookie,snap,void} + fperms 700 /var/lib/snapd/{cache,cookie} + + dobin "${GOBIN}/"{snap,snapctl} + ln "${ED}/usr/bin/snapctl" "${ED}/usr/lib/snapd/snapctl" || die + + exeinto /usr/lib/snapd + doexe "${GOBIN}/"{snapd,snapd-apparmor,snap-bootstrap,snap-failure,snap-exec,snap-preseed,snap-recovery-chooser,snap-repair,snap-seccomp,snap-update-ns} \ + "${S}/"{cmd/snap-discard-ns/snap-discard-ns,cmd/snap-gdb-shim/snap-gdb-shim,cmd/snap-mgmt/snap-mgmt} \ + "${S}/data/completion/bash/"{complete.sh,etelpmoc.sh,} + + dobashcomp "${S}/data/completion/bash/snap" + + insinto /usr/share/zsh/site-functions + doins "${S}/data/completion/zsh/_snap" + + insinto "/usr/share/polkit-1/actions" + doins "${S}/data/polkit/io.snapcraft.snapd.policy" + + dodoc "${S}/packaging/ubuntu-16.04/changelog" + domo "${S}/po/"*.mo + + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog + xdg_desktop_database_update + tmpfiles_process snapd.conf + + if use apparmor && [[ -z ${ROOT} && -e /sys/kernel/security/apparmor/profiles && + $(wc -l < /sys/kernel/security/apparmor/profiles) -gt 0 ]]; then + apparmor_parser -r "${EPREFIX}/etc/apparmor.d/usr.lib.snapd.snap-confine.real" + fi +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-containers/snapd/snapd-2.61.ebuild b/app-containers/snapd/snapd-2.61.ebuild new file mode 100644 index 000000000000..7bd5d8f6f6e3 --- /dev/null +++ b/app-containers/snapd/snapd-2.61.ebuild @@ -0,0 +1,179 @@ +# Copyright 2020-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools bash-completion-r1 flag-o-matic go-module linux-info readme.gentoo-r1 systemd tmpfiles xdg-utils + +DESCRIPTION="Service and tools for management of snap packages" +HOMEPAGE="http://snapcraft.io/" + +SRC_URI="https://github.com/snapcore/snapd/releases/download/${PV}/snapd_${PV}.vendor.tar.xz -> ${P}.tar.xz" +MY_PV=${PV} +KEYWORDS="~amd64" + +LICENSE="GPL-3 Apache-2.0 BSD BSD-2 LGPL-3-with-linking-exception MIT" +SLOT="0" +IUSE="apparmor +forced-devmode gtk kde systemd" +REQUIRED_USE="!forced-devmode? ( apparmor ) systemd" + +CONFIG_CHECK="~CGROUPS + ~CGROUP_DEVICE + ~CGROUP_FREEZER + ~NAMESPACES + ~SQUASHFS + ~SQUASHFS_ZLIB + ~SQUASHFS_LZO + ~SQUASHFS_XZ + ~BLK_DEV_LOOP + ~SECCOMP + ~SECCOMP_FILTER" + +RDEPEND=" + sys-libs/libseccomp:= + apparmor? ( + sec-policy/apparmor-profiles + sys-apps/apparmor:= + ) + dev-libs/glib + virtual/libudev + systemd? ( sys-apps/systemd ) + sys-libs/libcap:= + sys-fs/squashfs-tools[lzma,lzo]" + +DEPEND="${RDEPEND}" + +BDEPEND=" + >=dev-lang/go-1.9 + dev-python/docutils + sys-devel/gettext + sys-fs/xfsprogs" + +PDEPEND="sys-auth/polkit[gtk?,kde?]" + +README_GENTOO_SUFFIX="" + +pkg_setup() { + if use apparmor; then + CONFIG_CHECK+=" ~SECURITY_APPARMOR" + fi + linux-info_pkg_setup + + # Seems to have issues building with -O3, switch to -O2 + replace-flags -O3 -O2 +} + +src_prepare() { + default + # Update apparmor profile to allow libtinfow.so* + sed -i 's/libtinfo/libtinfo{,w}/' \ + "cmd/snap-confine/snap-confine.apparmor.in" || die + + if ! use forced-devmode; then + sed -e 's#return !apparmorFull#if !apparmorFull {\n\t\tpanic("USE=forced-devmode is disabled")\n\t}\n\treturn false#' \ + -i "sandbox/forcedevmode.go" || die + grep -q 'panic("USE=forced-devmode is disabled")' "sandbox/forcedevmode.go" || die "failed to disable forced-devmode" + fi + + sed -i 's:command -v git >/dev/null:false:' -i "mkversion.sh" || die + + ./mkversion.sh "${PV}" + pushd "cmd" >/dev/null || die + eautoreconf +} + +src_configure() { + SNAPD_MAKEARGS=( + "BINDIR=${EPREFIX}/usr/bin" + "DBUSSERVICESDIR=${EPREFIX}/usr/share/dbus-1/services" + "LIBEXECDIR=${EPREFIX}/usr/lib" + "SNAP_MOUNT_DIR=${EPREFIX}/var/lib/snapd/snap" + "SYSTEMDSYSTEMUNITDIR=$(systemd_get_systemunitdir)" + ) + export CGO_ENABLED="1" + export CGO_CFLAGS="${CFLAGS}" + export CGO_CPPFLAGS="${CPPFLAGS}" + export CGO_CXXFLAGS="${CXXFLAGS}" + + pushd "${S}/cmd" >/dev/null || die + econf --libdir="${EPREFIX}/usr/lib" \ + --libexecdir="${EPREFIX}/usr/lib/snapd" \ + $(use_enable apparmor) \ + --enable-nvidia-biarch \ + --with-snap-mount-dir="${EPREFIX}/var/lib/snapd/snap" +} + +src_compile() { + export -n GOCACHE XDG_CACHE_HOME + export GOBIN="${S}/bin" + + local file + for file in "${S}/po/"*.po; do + msgfmt "${file}" -o "${file%.po}.mo" || die + done + + emake -C "${S}/data" "${SNAPD_MAKEARGS[@]}" + + local -a flags=(-buildmode=pie -ldflags "-s -linkmode external -extldflags '${LDFLAGS}'" -trimpath) + local -a staticflags=(-buildmode=pie -ldflags "-s -linkmode external -extldflags '${LDFLAGS} -static'" -trimpath) + + local cmd + for cmd in snap snapd snapd-apparmor snap-bootstrap snap-failure snap-preseed snap-recovery-chooser snap-repair snap-seccomp; do + go build ${GOFLAGS} -mod=vendor -o "${GOBIN}/${cmd}" "${flags[@]}" \ + -v -x "github.com/snapcore/${PN}/cmd/${cmd}" + [[ -e "${GOBIN}/${cmd}" ]] || die "failed to build ${cmd}" + done + for cmd in snapctl snap-exec snap-update-ns; do + go build ${GOFLAGS} -mod=vendor -o "${GOBIN}/${cmd}" "${staticflags[@]}" \ + -v -x "github.com/snapcore/${PN}/cmd/${cmd}" + [[ -e "${GOBIN}/${cmd}" ]] || die "failed to build ${cmd}" + done +} + +src_install() { + emake -C "${S}/data" install "${SNAPD_MAKEARGS[@]}" DESTDIR="${D}" + emake -C "${S}/cmd" install "${SNAPD_MAKEARGS[@]}" DESTDIR="${D}" + + if use apparmor; then + mv "${ED}/etc/apparmor.d/usr.lib.snapd.snap-confine"{,.real} || die + keepdir /var/lib/snapd/apparmor/profiles + fi + keepdir /var/lib/snapd/{apparmor/snap-confine,cache,cookie,snap,void} + fperms 700 /var/lib/snapd/{cache,cookie} + + dobin "${GOBIN}/"{snap,snapctl} + ln "${ED}/usr/bin/snapctl" "${ED}/usr/lib/snapd/snapctl" || die + + exeinto /usr/lib/snapd + doexe "${GOBIN}/"{snapd,snapd-apparmor,snap-bootstrap,snap-failure,snap-exec,snap-preseed,snap-recovery-chooser,snap-repair,snap-seccomp,snap-update-ns} \ + "${S}/"{cmd/snap-discard-ns/snap-discard-ns,cmd/snap-gdb-shim/snap-gdb-shim,cmd/snap-mgmt/snap-mgmt} \ + "${S}/data/completion/bash/"{complete.sh,etelpmoc.sh,} + + dobashcomp "${S}/data/completion/bash/snap" + + insinto /usr/share/zsh/site-functions + doins "${S}/data/completion/zsh/_snap" + + insinto "/usr/share/polkit-1/actions" + doins "${S}/data/polkit/io.snapcraft.snapd.policy" + + dodoc "${S}/packaging/ubuntu-16.04/changelog" + domo "${S}/po/"*.mo + + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog + xdg_desktop_database_update + tmpfiles_process snapd.conf + + if use apparmor && [[ -z ${ROOT} && -e /sys/kernel/security/apparmor/profiles && + $(wc -l < /sys/kernel/security/apparmor/profiles) -gt 0 ]]; then + apparmor_parser -r "${EPREFIX}/etc/apparmor.d/usr.lib.snapd.snap-confine.real" + fi +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-containers/syft/Manifest b/app-containers/syft/Manifest index cbd6688e7aa2..686b770e21fb 100644 --- a/app-containers/syft/Manifest +++ b/app-containers/syft/Manifest @@ -1,4 +1,8 @@ -DIST syft-0.52.0-deps.tar.xz 962322444 BLAKE2B 696dd14adf54c8ab51cc91d22028ce0ace3b6a5835fb8c3ce6d26080f0ce75d2a9ca332f2275a71706a2152519b01a71577827ac63c12ffb87ad1605ffd18b28 SHA512 b6897a12b8a15c8c2b4672e93ca03fe26a182ee87e48ac4bdd26057f544a6a45aa5ce6317a38e157b99a70830d4a0241f8b4cb15f8fffccaf195ac4c4ff64cd8 -DIST syft-0.52.0.tar.gz 3726656 BLAKE2B de8492adde3bef944a9b853990ba5909aa14ccc223f42833fa2a49d1bd5772455bd3ab9ac3a8886b353dc79c6e93338e43e9c448623bd31c422155e0adb1f276 SHA512 2ffaaa154546061d1d61bf8f0b3d5cf10282dbbb08876cc9e87777a23efdba1fd462c395ee4cf14d334f49ae4575e2db5fe8b5fbe7439dd24ff22ec8efeb6501 -DIST syft-0.53.4-deps.tar.xz 668995648 BLAKE2B a2120e677e1438ea8dc369939c157dcdff772bd98b1f32d6ac3edfb553cfc0f6dfde8dfe86f0b4306a4286dca08646e79f72c3cde8bcc86f7308dff6f22755fe SHA512 beaf914bcecf75d461e241aa3b96ac162dd8e5c1ffd69fa117ea6170b2f6f1c76a424e33e5a29cf177c0c5ac55b3399bae6cab564f055b80ba745dd28ebdef40 -DIST syft-0.53.4.tar.gz 3765398 BLAKE2B 15abe368451c14dc0afa9c0d63cdd10d056c0b09f906478188c772241750e0d9e903bd0efe55d87c0c04c4a5a21fa5bc3e1e63b0115e2b24e068d0a52e68b560 SHA512 9267e45165b860540a89ad6c317351abe26d3089294ec9698fa26b37c4413581424f43aae3f01a111b68806c6de30e8464fce27eda1b1cba442e1e0f613843c5 +DIST syft-0.75.0-deps.tar.xz 449464772 BLAKE2B 60329a7054917079ea2ad683019933b5a5b02441f7ec6823f64b83fd5c353b7096a21113d91d3b9fc1ecaa0870ccef4ee39c60a250f193bef35e15ea1e1b5598 SHA512 1605a7dd830d648e48049bf918c67bbc542dc790c09097db52e578bb826c994ca0364cc42ae510a6411febd90e395715b8a5317e82d424481ae3b835fae98357 +DIST syft-0.75.0.tar.gz 5714462 BLAKE2B 4513fb5ce8c9b432d9042e31c13032428db7ae2b7637f25d391c572094706a1bcfa7dc971a96a8630b3d226504000c79219c0cbc6e1372558c6d08c3ff41dfa4 SHA512 4b8f7cc2823ace1fb2a57a5a989690967ac2b0caf2358dd61a85eca418050ff3fb8ea0409fa694754e595f85168f7f2b192fd407f651f48e05932a73b18fa379 +DIST syft-0.76.0-deps.tar.xz 457367140 BLAKE2B 8d05372361e6051b8102bec3b775eb00f9f24c5d6cddcee39d5d5b0a8f8db5260173d17aa3922b625885c1dddba42f2c2ecb6afe39b03c61a04a9a9577c4a9c6 SHA512 20f32db12c11a15eb323016fb0df09ec0ad823882344006fd30c4450e25feb9db17b8784581a01ed5a3fd68597ad05749082413c4196deff4b908af56c72b04e +DIST syft-0.76.0.tar.gz 5726316 BLAKE2B debf5c9764994c616fceb7b69c42e87d6399ceb4b2f878935901f626256723177cc3e23b38f6dbce40a59c6586cb5589e82ed3c2a9811117486d9a1ced2f2260 SHA512 86f82455ff0d78864f56f2575bb2acb311ab658c23161b44f342242e88470948581097c2d928fae96ed01ad52843cb26d4682e22e5f81818a83a35cca1eff69e +DIST syft-0.94.0-deps.tar.xz 502576092 BLAKE2B 35c13d34a7a4b2afafb9b73502f4258b379db737d9482d3f2fc8c0748cda67733e198df25237b6622e7450055f6681de7e7031cf0d5c0f7d422b268e64608da2 SHA512 1018cbd7e22b44ca8626747ddce2a4672b7f6e0ff359d30e36877ac00e093cea8709d6880093850afe107aef7333b6f928ababc1dbb3cb5741c466b95ac69268 +DIST syft-0.94.0.tar.gz 5266343 BLAKE2B 892c7bf90a1d15fd926207acd1a28e8bd907ae5869be763e48ccd8d3279975c2ec84d9ec5842e3799460a823b5aa611a028982d8d40d90248c1cfad25415c672 SHA512 171b23271f03e1e824dcac41a563f7947d004797a21e762eea883ea680e0de65a532e03e4b245a4021288fec60142da8c1c16d6520eadece65728728b9d15f91 +DIST syft-0.95.0-deps.tar.xz 525784260 BLAKE2B 8aa9da529a605725ecbcc4ec98bef651218ee7b1ed08564fae0911fc83f78a13f7773c8c6e7c12f0ecb4b979477e1ea1a89354c11de932ef2e0a45b1fb80ec10 SHA512 0571b3586d27d1cf76a6bfd4c3fd5c06f796bd94feea63303c8464c602ce91f94e4bdc0002eb7241ff967e4146ec2a91cce428ad495d89dfda078a968e43d63f +DIST syft-0.95.0.tar.gz 5328311 BLAKE2B 555844c771dc57dd396f4016095a8e462b5088abf7d7dc2f77b14dcd98bd77fb58598c1011145ce001117ea3059cf93f2b4a1d2a7c01914cd1e5b855e79394cc SHA512 6509d7a505ff1adc37386bccfefb8ce106ff8c1ffe267ee768f731ef865c731dec3603c055d094363aae8b0ad6dd09547cb4b7e5a8d6993d7f8e09ef47f195c3 diff --git a/app-containers/syft/metadata.xml b/app-containers/syft/metadata.xml index 3b2a9c591010..522f506c2c33 100644 --- a/app-containers/syft/metadata.xml +++ b/app-containers/syft/metadata.xml @@ -1,8 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="person"> -<email>williamh@gentoo.org</email> -<name>William Hubbs</name> -</maintainer> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> + <upstream> + <remote-id type="github">anchore/syft</remote-id> + </upstream> </pkgmetadata> diff --git a/app-containers/syft/syft-0.52.0.ebuild b/app-containers/syft/syft-0.52.0.ebuild deleted file mode 100644 index ed19988d0d34..000000000000 --- a/app-containers/syft/syft-0.52.0.ebuild +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit go-module - -DESCRIPTION="Generate a Software Bill of Materials from container images and filesystems" -HOMEPAGE="https://www.anchore.com" -SRC_URI="https://github.com/anchore/syft/archive/v${PV}.tar.gz -> ${P}.tar.gz" -SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" - -src_compile() { - ego build -o bin/syft ./cmd/syft -} - -src_install() { - dobin bin/* -} diff --git a/app-containers/syft/syft-0.53.4.ebuild b/app-containers/syft/syft-0.75.0.ebuild index 00e3a35973be..1dc3782ce80c 100644 --- a/app-containers/syft/syft-0.53.4.ebuild +++ b/app-containers/syft/syft-0.75.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit go-module -GIT_COMMIT=69bde44c6e50a5838cdd2c2c821edb0111013178 +GIT_COMMIT=cc0a376aba43e7f9c5fe66320643f72088533838 DESCRIPTION="Generate a Software Bill of Materials from container images and filesystems" HOMEPAGE="https://www.anchore.com" diff --git a/app-containers/syft/syft-0.52.0-r1.ebuild b/app-containers/syft/syft-0.76.0.ebuild index 78e4ff1e79aa..f2d767a1a229 100644 --- a/app-containers/syft/syft-0.52.0-r1.ebuild +++ b/app-containers/syft/syft-0.76.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit go-module -GIT_COMMIT=ba9adb17ebb510a2a3bd2b641738b1d9235e1f3e +GIT_COMMIT=dfcc07e5122217ca9e2fc75817c593356fc0c405 DESCRIPTION="Generate a Software Bill of Materials from container images and filesystems" HOMEPAGE="https://www.anchore.com" diff --git a/app-containers/syft/syft-0.94.0.ebuild b/app-containers/syft/syft-0.94.0.ebuild new file mode 100644 index 000000000000..b5c24f11d18c --- /dev/null +++ b/app-containers/syft/syft-0.94.0.ebuild @@ -0,0 +1,34 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module +GIT_COMMIT=8f6bdde6662aa8050a71eadbdb7bd5a3b079a56d + +DESCRIPTION="Generate a Software Bill of Materials from container images and filesystems" +HOMEPAGE="https://www.anchore.com" +SRC_URI="https://github.com/anchore/syft/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +# tests require a running docker daemon +RESTRICT="test" + +src_compile() { + local BUILD_DATE + BUILD_DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ) + ego build -o bin/syft -ldflags " + -extldflags '-static' + -X github.com/anchore/syft/internal/version.version=${PV} + -X github.com/anchore/syft/internal/version.gitCommit=${GIT_COMMIT} + -X github.com/anchore/syft/internal/version.buildDate=${BUILD_DATE} + -X github.com/anchore/syft/internal/version.gitDescription=v${PV} + " ./cmd/syft +} + +src_install() { + dobin bin/* +} diff --git a/app-containers/syft/syft-0.95.0.ebuild b/app-containers/syft/syft-0.95.0.ebuild new file mode 100644 index 000000000000..a3a0542d8fa7 --- /dev/null +++ b/app-containers/syft/syft-0.95.0.ebuild @@ -0,0 +1,34 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module +GIT_COMMIT=9b98785aab9346999a0b5e9f5e4b4e63a1b1916c + +DESCRIPTION="Generate a Software Bill of Materials from container images and filesystems" +HOMEPAGE="https://www.anchore.com" +SRC_URI="https://github.com/anchore/syft/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +# tests require a running docker daemon +RESTRICT="test" + +src_compile() { + local BUILD_DATE + BUILD_DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ) + ego build -o bin/syft -ldflags " + -extldflags '-static' + -X github.com/anchore/syft/internal/version.version=${PV} + -X github.com/anchore/syft/internal/version.gitCommit=${GIT_COMMIT} + -X github.com/anchore/syft/internal/version.buildDate=${BUILD_DATE} + -X github.com/anchore/syft/internal/version.gitDescription=v${PV} + " ./cmd/syft +} + +src_install() { + dobin bin/* +} diff --git a/app-containers/umoci/Manifest b/app-containers/umoci/Manifest index 0f09907185d6..47ca93d6d0f8 100644 --- a/app-containers/umoci/Manifest +++ b/app-containers/umoci/Manifest @@ -1,2 +1 @@ -DIST umoci-0.2.1.tar.gz 241472 BLAKE2B 2802fcb14e717a6460f9dc06226d3b430cce2181838a32064e86987131317947a4b117e91d11f981fa1df027804dbf2d92472b5c21749783b4f2ed371c699e7e SHA512 dfd7bbd1afd232400a9bffaf6c074d28ce4ce696c9f3c70bd436cc41b96928415d0793d57b1cf34dd70efd7d0e5eb567eaeea65d793c27ff9ea46fb190bd1807 DIST umoci-0.4.6.tar.gz 2273608 BLAKE2B d5a36c78918697b9c8f54a5c4b914a9124b5e989dff3efc81a9f64f1bd276189d15a565a6ec2e8d4021925017e9a7a17f7cc5359a552f7c57dda414c25d2fb02 SHA512 0614dd583e00b6e2e69256f1ae1d3316e5bb5989a177d18c5ceacf3af18ab82ccf8edef879b6c813855d878d5af53c541ac433d81e6c20796885a26c57564118 diff --git a/app-containers/umoci/metadata.xml b/app-containers/umoci/metadata.xml index db463f3eeb66..7cc282ba772a 100644 --- a/app-containers/umoci/metadata.xml +++ b/app-containers/umoci/metadata.xml @@ -5,4 +5,7 @@ <email>williamh@gentoo.org</email> <name>William Hubbs</name> </maintainer> + <upstream> + <remote-id type="github">opencontainers/umoci</remote-id> + </upstream> </pkgmetadata> diff --git a/app-containers/umoci/umoci-0.2.1.ebuild b/app-containers/umoci/umoci-0.2.1.ebuild deleted file mode 100644 index ad66e4afe83d..000000000000 --- a/app-containers/umoci/umoci-0.2.1.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -EGO_PN="github.com/openSUSE/umoci" -COMMIT=0465f83826bc4f52e6e3c4dbb1022ec5792c421f -inherit golang-vcs-snapshot - -DESCRIPTION="Manipulation tool for OCI images" -HOMEPAGE="https://github.com/openSUSE/umoci" -SRC_URI="https://github.com/openSUSE/umoci/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" - -DEPEND="dev-go/go-md2man" - -S="${WORKDIR}/${P}/src/${EGO_PN}" - -RESTRICT="test" - -src_compile() { - set -- env GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" \ - go build -v -work -x \ - -ldflags "-w -X main.gitCommit=${COMMIT} -X main.version=${PV}" \ - -o "bin/${PN}" ./cmd/${PN} - echo "$@" - "$@" || die - cd man - for f in *.1.md; do - go-md2man -in ${f} -out ${f%%.md} || die - done -} - -src_install() { -dobin bin/${PN} -doman man/*.1 -dodoc CHANGELOG.md -einstalldocs -} |