diff options
Diffstat (limited to 'app-containers')
22 files changed, 786 insertions, 169 deletions
diff --git a/app-containers/Manifest.gz b/app-containers/Manifest.gz Binary files differindex 7b176fdcebff..61e358688d66 100644 --- a/app-containers/Manifest.gz +++ b/app-containers/Manifest.gz diff --git a/app-containers/cri-tools/Manifest b/app-containers/cri-tools/Manifest index 7882aead111e..897b26d85b02 100644 --- a/app-containers/cri-tools/Manifest +++ b/app-containers/cri-tools/Manifest @@ -1,5 +1,7 @@ DIST cri-tools-1.25.0.tar.gz 7905707 BLAKE2B 79595f31fc22aff608406bad4319a60dddcabda5f4dab8706305f11500b3db43f1d7021a340a096227d4580212953f32a95b05bbf81c1236f8fa8cf635017abb SHA512 dc04359320d59d6b3789e4e81fb613f3795b7e82dbad681393eaeff2c876e5b0393dd9384d7857d24ada5de34d03e151f7cf121367cc20e71d0b78607372b3a1 DIST cri-tools-1.27.0.tar.gz 8465050 BLAKE2B d6c0429271ebc4085e75b54d7f3b9f75ab796e63bc9ae7562105296b13bbad8b512293a7d25abf1ab946f4bf54e672016fdb72696c12c730d21ac74724da465c SHA512 b94122e6401eb0c33b9c3d112274b7ab20cbbad05e76a54933e79d2e42ded2d684771cb9ed703a6c1afa381844142b6f1b4dc77d17e915f9a42c236fd8426b9b +DIST cri-tools-1.31.1.tar.gz 7830559 BLAKE2B 5ec935be8d453a2d024fb8b07c8c7a21a15c23c7aba03b9030806c5ed47698f41a5167b02c3d38e792fec035725fccdff92867e68c5b2c8a06ff040e4c37cc9e SHA512 a72946944207d20f27236da12f7c2d532a1c9ebc881c3af4709494f7abc6f7b2d421934006a535a0b4a35926f09f58315ff0aaf4da870fd5a65281f547ef86a1 EBUILD cri-tools-1.25.0.ebuild 870 BLAKE2B aa699a0838d60539138310248e4bffda10cf43d1feb1506fd496566554a787b4b8b4a1a27b2102e5ac85a57ee303f666cdb4070388f03c531445a57a8ef7f36f SHA512 d7c5660c72ebc6fd8e70611d6d2286a350421ae0d8afc5ef0517e0ed9e4d8835bce98df979d83acce2258b2da9d6a559c35144fad1a4e1031154659a9502b2a6 EBUILD cri-tools-1.27.0.ebuild 917 BLAKE2B ea1d949136eff43206b5f5d02996e96d67ee4e69c134a2cb316fb63bf4b8817834b7a9e23005306981beee6de59425ebaab08a616b59d436b6ef6cf78d38a5dd SHA512 b8f806329c303e3cddb82a2c45dc55f4aeae7ae126b6967c8d5efe394efd249f04a400fbcfbe3533805607c646bb07e5135b134f652f2ce7a089d02da127284a +EBUILD cri-tools-1.31.1.ebuild 918 BLAKE2B 78cdba0853fcaafe0aaec933af02f078ec0422959a7e9fb9f1567ac1e744d697896728c62a4f95c268fd835ae3cd5c99f8f2cde1b20bb1ebeb14ee1863f7790d SHA512 e2eb0fb1e7a21ca16067220d465e264d2350b1f2f49a52e0b00c68419a1e85d2803abd07c43b29acce29e0f6b9dabd9ebc6adf5c0c44d61f8faeb142faed324a MISC metadata.xml 335 BLAKE2B 2144a466f521028b7bc93b372ec9b8f81f6ef5317285dede88a71736bff65aa0908bd1c8ed18b2b7b0563f14a24b10862efc81985e78c75b5c2a786d501331b1 SHA512 ae1cb972ec7ddc298a8e1747503400f52b27e899ed51b1aeba877a66c8f883248ca782b437ffea4d06cb1ad80ff6e8f071445ba848f98240e48ef5814c866c2e diff --git a/app-containers/cri-tools/cri-tools-1.31.1.ebuild b/app-containers/cri-tools/cri-tools-1.31.1.ebuild new file mode 100644 index 000000000000..21381a7af4bb --- /dev/null +++ b/app-containers/cri-tools/cri-tools-1.31.1.ebuild @@ -0,0 +1,33 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 go-module + +DESCRIPTION="CLI and validation tools for Kubelet Container Runtime (CRI)" +HOMEPAGE="https://github.com/kubernetes-sigs/cri-tools" +SRC_URI="https://github.com/kubernetes-sigs/cri-tools/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +RESTRICT="test" + +DOCS=( docs {README,RELEASE,CHANGELOG,CONTRIBUTING}.md ) + +src_compile() { + emake VERSION="${PV}" + find build/ -name crictl -exec cp {} build/bin/ \; || die + ./build/bin/crictl completion bash > "crictl.bash" || die + ./build/bin/crictl completion zsh > "crictl.zsh" || die +} + +src_install() { + einstalldocs + + dobin ./build/bin/crictl + newbashcomp crictl.bash crictl + insinto /usr/share/zsh/site-functions + newins crictl.zsh _crictl +} diff --git a/app-containers/devcontainer/Manifest b/app-containers/devcontainer/Manifest index 8475099ff6fd..175edbb9e969 100644 --- a/app-containers/devcontainer/Manifest +++ b/app-containers/devcontainer/Manifest @@ -1,9 +1,11 @@ -DIST devcontainer-0.66.0.tgz 620063 BLAKE2B f63fdd8dc5aa9de094e0e31e345fadfd9f4f9cd720c11c597aa0ac0ec7b28b0663bbecfe43b374d1c163a7a61d92865d8285663a8ff0e517c01946608574c3ab SHA512 fac309084ea6d5456150827a4120e8c20a14b82619d56f1f8c1750c917cccc1065f12a7e3b804cab8f7685d21a10a4aa59ef765764c0620dac40fc0d1a519904 DIST devcontainer-0.67.0.tgz 620141 BLAKE2B e6c8718a21e29c6f921968cb42c55e3d57147579c0f42b57846893dac899cdd88520b2ffcfe675fd5427047fdcd5f1eb1636c10eb05c5509e62dcb8d2a8942f8 SHA512 91af4cba268ce23fce4cffec2fdb12902fe4349e84065710caf66a8987b4745e0a948ded3e2a191dd9dff52c4cf9789b41306601567e6081085ca6250c5b8705 DIST devcontainer-0.68.0.tgz 620875 BLAKE2B ef8a395b5c34466032edf9157f8b5eeb95d349f8ad72220f1e05e8b31b7cae823fa15272f7e9898dc953414587fc3ccc2688e38e3028200a1b6064bb6a068963 SHA512 d2e84b514ad0a51e5dfbacbc6ede64727df40417a60fe589d682d0c88e9150da5491e76b94cc80ccddc9d7d3c4971ee36d8e78c7c59046ee39d098832ee9989b DIST devcontainer-0.69.0.tgz 621256 BLAKE2B 2afc8edee15ad9cafd8b2fb6150154e4b759de656d999f200d9529c15c77822fd8fb9dbf711c67bad3b2801746540e575e1e5cf6ce599e06d09cfdd64f73439f SHA512 095de76f69279b6200a38d46a7d1bd9e0c528a3e1cabe72b0f151cd840a45509e886dfdacee29afde476e77bef2c6e2eb71cdc20f16d85ea63e605224e2e0f0e -EBUILD devcontainer-0.66.0.ebuild 871 BLAKE2B 1233ec4b1f837432ba4260d0dcf5153a551fe088b6dd2367fc8223819dfe5682a0314d6db0ec590188fa26fe0e6ed3749f54cf9aff6366b39a81e9dc1b35ede9 SHA512 7dc3111668960995c21f17ebfc583035e23b58560a26289390a8da2050270b2d66e6d7e4e8bdf465b2aa712ace6c9fd57943aecaacd27f90a485b2fb45cd5d5e +DIST devcontainer-0.70.0.tgz 621528 BLAKE2B ede937273928b8d37e64555cd8e600ff33792942d85c1a99d5489909bfe62f10587a09633ebb18e7d3ca8ee902bb43af03243984f3004446d62c1850b4986399 SHA512 1ead34033ce65a6e8967bd1bb35f631869a75cb44b682dc48fc4dec26046f4466f3b1c5f83eb0140653926364b8e40aa13f6f787eb8a80267834c68418a4c685 +DIST devcontainer-0.71.0.tgz 621743 BLAKE2B 6605d9c48d0041534f2982dd870b77e0453560be7652bbdac13a00e01fadbe0cd1c59048e70c7019bf2dab85ea9de2963bdcc03b7462e8c9a88cad8341ba7d0b SHA512 332d77983402672e3316c2285362d57679b7836a12bf1024a7e67580efdc601606dd851db5e2041a6e378a0abaed63c4a5d26a1372e32a420aa7823a7c907311 EBUILD devcontainer-0.67.0.ebuild 871 BLAKE2B 1233ec4b1f837432ba4260d0dcf5153a551fe088b6dd2367fc8223819dfe5682a0314d6db0ec590188fa26fe0e6ed3749f54cf9aff6366b39a81e9dc1b35ede9 SHA512 7dc3111668960995c21f17ebfc583035e23b58560a26289390a8da2050270b2d66e6d7e4e8bdf465b2aa712ace6c9fd57943aecaacd27f90a485b2fb45cd5d5e EBUILD devcontainer-0.68.0.ebuild 872 BLAKE2B a49d606609bab843fc1f6f8edecdaa2b837a385f6583d99e97c07168795f8b41057d912fc0b82c5afbb2861efeef9e7fb0fa5b3752fd66f7211f51c31aa10519 SHA512 1d2925d3544b438ef352bf3b386ba65686c888c9cdc5841e4ba280b457ead591c1f91d9ad06e6e4db41d5d9fe0094c1b8b7ab2112730eab88ff7921fefed937b EBUILD devcontainer-0.69.0.ebuild 872 BLAKE2B a49d606609bab843fc1f6f8edecdaa2b837a385f6583d99e97c07168795f8b41057d912fc0b82c5afbb2861efeef9e7fb0fa5b3752fd66f7211f51c31aa10519 SHA512 1d2925d3544b438ef352bf3b386ba65686c888c9cdc5841e4ba280b457ead591c1f91d9ad06e6e4db41d5d9fe0094c1b8b7ab2112730eab88ff7921fefed937b +EBUILD devcontainer-0.70.0.ebuild 872 BLAKE2B a49d606609bab843fc1f6f8edecdaa2b837a385f6583d99e97c07168795f8b41057d912fc0b82c5afbb2861efeef9e7fb0fa5b3752fd66f7211f51c31aa10519 SHA512 1d2925d3544b438ef352bf3b386ba65686c888c9cdc5841e4ba280b457ead591c1f91d9ad06e6e4db41d5d9fe0094c1b8b7ab2112730eab88ff7921fefed937b +EBUILD devcontainer-0.71.0.ebuild 872 BLAKE2B a49d606609bab843fc1f6f8edecdaa2b837a385f6583d99e97c07168795f8b41057d912fc0b82c5afbb2861efeef9e7fb0fa5b3752fd66f7211f51c31aa10519 SHA512 1d2925d3544b438ef352bf3b386ba65686c888c9cdc5841e4ba280b457ead591c1f91d9ad06e6e4db41d5d9fe0094c1b8b7ab2112730eab88ff7921fefed937b MISC metadata.xml 886 BLAKE2B 6255ba2337a21bd814e0472648cf4eb78b7c3e6ca6ead9f154cc70b662b7721ddc62137f1ebf542123c7d716e0ff94527f7a1aa99786446c7ffd36bbbf9c9efe SHA512 6dd2c48ee1dc5b722768780f20c32dd424af327fe7a580eb4f8ce31712dff211ecc9ebe1eae4ca22ec3a90ef5b3a6690407b24fc11c45000a7d986871956d407 diff --git a/app-containers/devcontainer/devcontainer-0.66.0.ebuild b/app-containers/devcontainer/devcontainer-0.70.0.ebuild index 10d7f50fc167..991cd956e37b 100644 --- a/app-containers/devcontainer/devcontainer-0.66.0.ebuild +++ b/app-containers/devcontainer/devcontainer-0.70.0.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}/package" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 ~x86" +KEYWORDS="~amd64 ~x86" RDEPEND=" net-libs/nodejs diff --git a/app-containers/devcontainer/devcontainer-0.71.0.ebuild b/app-containers/devcontainer/devcontainer-0.71.0.ebuild new file mode 100644 index 000000000000..991cd956e37b --- /dev/null +++ b/app-containers/devcontainer/devcontainer-0.71.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/docker-cli/Manifest b/app-containers/docker-cli/Manifest index ba606d013141..3bda80458815 100644 --- a/app-containers/docker-cli/Manifest +++ b/app-containers/docker-cli/Manifest @@ -1,7 +1,7 @@ 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 -DIST docker-cli-27.1.2-man.tar.xz 79028 BLAKE2B 7813a44dd4625b9b446f4e2250bae472f994427f26c4c403d9140b2ab11e569e1244e44eb56564bd1ff7becb9a72f3bedb7804a9f10ad6c2250aea5ae572caf3 SHA512 a45f6d4785880203a147e26397ad22ad06384b2f7ee0d8598993a77d7ec145175be7fac3d47f826da1c1425885c720edee77f6ddd65986c116907b34a73771c9 -DIST docker-cli-27.1.2.tar.gz 7142511 BLAKE2B ddfe471dd9628660d56ebaf7cdde4ed6c2047b91725c9f9d4bff08cfa8a51637d45dc3b6c0a08fa98c636c2b6c32759bd53e9db6e606c5e77cd21fa409ab12fd SHA512 5c75d32c8e9598282de32ac8a2ebbc2eda712a010449edbd6e66f0652c4e02b124df70596d9f1076de3c4a95920b4cc16c35fb343624de1363557ab48976e153 +DIST docker-cli-27.2.0-man.tar.xz 79052 BLAKE2B 019299b8cd0adbb1a3749f9aa37b1e38bf212b2c13eee81ae49f843bcc56ff3f41413e1021bebf5c88b4406d7928c2c40de026df861195aa2df79d9c724f8b87 SHA512 d61d6f9f9139f2d22268932d795a50e7b9b1ff993699ba87ca9353cb9908ac18c103a34ee9a486f3537988d6ba7317b05588cd84ff8327b86826ab7ed5023947 +DIST docker-cli-27.2.0.tar.gz 7236608 BLAKE2B 828f002d83de47efad370e28df2f5e50f75da7952bf4fcbe30d3d66c9bc281ee99fab820f7bca002c8eb13fa29b7518e951974b62008e213662c1d384a286c0d SHA512 5dce9e974a96b2518a73d50a9421d12feeb9cc792bb89000f26e04a91fdddade2648dea39aa721e48c9b07bfc18f7a6676fb7e286ae779556753886ec45e86c3 EBUILD docker-cli-26.1.0.ebuild 1938 BLAKE2B 34cc509b6258248dd831f0ae25b27b24af357aa97a19a6ec5dd1a6dc1889faf239a69c01cb0ed2b4eabf943aca92f57176fca21614cc29095dddfd9463d1672d SHA512 6e599bcf0ef5e076e722a6c1af9c1c18eb5b9a805201630223dcbd99bd4cc62fe21d1c91c328c930555b3842728ac7eccb1522bb9b5c7c44cae0e0c10ee4a2a0 -EBUILD docker-cli-27.1.2.ebuild 1941 BLAKE2B 58e23d7b770b365f1eecabe6328dda37ce3b847353e75f1e4de7665a452c21d4925d915c8a9ecb2110dd97f03e95364d14ef6c55a71bd3850fd5d2eba623061f SHA512 80d53747dc728245c06a908233ff92bebfc7ceeae45e08be8825cd01d63198aef5b8a3c5a089ecb42df3035478b7802ac11138d9ba138ea83534e3e8e5c9e426 +EBUILD docker-cli-27.2.0.ebuild 1941 BLAKE2B 9ab0ecf5362235bafd243c1f2fa4910a2554a73083391c7af1b4d287232f64d4a5989a4a88157208d27775ea3b5e39a321e5a49c97a519965cab51745d8d31a3 SHA512 aa62ae1e7951bc10e233a396cf946dadcdd95d4e4fa533c21d9bd3982e49c8d0f65968b914e02e2e845bc2a0088da4e57d561683031e870f0024954a8409f5c0 MISC metadata.xml 398 BLAKE2B f9cd5360fa32f30edeeb2fe1df0ea50fd0b061bf882c66c65f18d15ba56995deac8c054419ddbf2d6436bf90f6fb729dda9560b3766b558d45498ae2c8de486c SHA512 4b2cf7c3b38df8382680539e1a8121f6f2f75cbe70f1f92c589fb40dd4c368f2f207cf3567ead5620714c323c0c196c318a4c5ab947d49092668dc2a3a8a6a53 diff --git a/app-containers/docker-cli/docker-cli-27.1.2.ebuild b/app-containers/docker-cli/docker-cli-27.2.0.ebuild index c4e3c0432957..704097070ac4 100644 --- a/app-containers/docker-cli/docker-cli-27.1.2.ebuild +++ b/app-containers/docker-cli/docker-cli-27.2.0.ebuild @@ -3,7 +3,7 @@ EAPI=7 -GIT_COMMIT=d01f264bccd8bed2e3c038054a04b99533478ab8 +GIT_COMMIT=3ab42569583b58dbc6f167d842d5a3dd5972065f EGO_PN="github.com/docker/cli" MY_PV=${PV/_/-} diff --git a/app-containers/docker-pushrm/Manifest b/app-containers/docker-pushrm/Manifest new file mode 100644 index 000000000000..8ab8d4f3ab99 --- /dev/null +++ b/app-containers/docker-pushrm/Manifest @@ -0,0 +1,4 @@ +DIST docker-pushrm-1.9.0-deps.tar.xz 121551972 BLAKE2B 2798ea5c23cfe300719ec99d1f76746dae379d9ea041e791f6b227c97678c2f0a017c3e4880a62cb6f40511c482997b1da4c4692c7ebad82435edbad30eaea2c SHA512 496f9d059951057f4a3f8d97ef7d50574e9634e29082dae471ce9f7139da40b730db744cbf420ae8da88592d62f4d52b1a24c30b877f1de639f7b5b52f2f6217 +DIST docker-pushrm-1.9.0.tar.gz 211628 BLAKE2B b8b470a97a0580596cfc90ce65ee289e32f49b2cb8a216138f534aac23c21f6007ef5b6d0bc2e9513a6800c7bda22e44ec0bb56ee3e7abe59961f4385928c98a SHA512 c9f3258b9d8660808a55f53ae30eca05d7725cb313a6c46018d7bbfd1feea28a2bfea2153700dfd43a7d4239683eb126f5daa2b29c88467d66620701b0244726 +EBUILD docker-pushrm-1.9.0.ebuild 694 BLAKE2B 82844c7228eb044ad1390ee57556fe5af07471a02ab67d0ec90c3d1a7b4fa49071f8936f6a84abd0255523ab561badd81ffa3e2d54ac49b650c57880e90cbddd SHA512 3004f48b2859c18b08a7841a011588f76cd21ff7137da6c86f7dd4b621474696d500fd881aa33b40bc3e7c38c21d00317e0fce491594e714e94f476aa05a0f98 +MISC metadata.xml 998 BLAKE2B 4e394ee397f4059fa25f405ea9e40ba3f707cbfb641dd680e872d0a2f8b5773e28e23a527d6ecf0f54c7ddf339b3c8fce157d852dc23b8d207cee48afc45dcd5 SHA512 8fe634c6b5c1703843da4e4d3e0f046956e0e58424129f86e5b1bea4aa9aaf850bbafbae737ed955349f9a2981f17ff58a58562e722037f83d405bacce445268 diff --git a/app-containers/docker-pushrm/docker-pushrm-1.9.0.ebuild b/app-containers/docker-pushrm/docker-pushrm-1.9.0.ebuild new file mode 100644 index 000000000000..76bccc9ef6fc --- /dev/null +++ b/app-containers/docker-pushrm/docker-pushrm-1.9.0.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module + +DESCRIPTION="Docker CLI plugin to update container repository documentation" +HOMEPAGE="https://github.com/docker/buildx" +SRC_URI=" + https://github.com/christian-korneck/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz + https://dev.gentoo.org/~xgqt/distfiles/deps/${P}-deps.tar.xz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + app-containers/docker-cli +" + +src_compile() { + local -a go_build_opts=( + -o ./bin/ + ) + ego build "${go_build_opts[@]}" +} + +src_install() { + exeinto /usr/libexec/docker/cli-plugins + doexe "bin/${PN}" + + einstalldocs +} diff --git a/app-containers/docker-pushrm/metadata.xml b/app-containers/docker-pushrm/metadata.xml new file mode 100644 index 000000000000..2ee012065b84 --- /dev/null +++ b/app-containers/docker-pushrm/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> + <upstream> + <remote-id type="github">christian-korneck/docker-pushrm</remote-id> + <bugs-to>https://github.com/christian-korneck/docker-pushrm/issues/</bugs-to> + </upstream> + <longdescription lang="en"> + docker-pushrm is a Docker CLI plugin that adds a new docker pushrm + command to Docker. It pushes the README file from the current working + directory to a container registry server where it appears as repo + description in the web interface. It currently supports Docker Hub, Red + Hat Quay and Harbor v2. For most registry types docker-pushrm uses + authentication info from the Docker credentials store - so it "just + works" for registry servers that you're already logged into with Docker. + </longdescription> +</pkgmetadata> diff --git a/app-containers/docker/Manifest b/app-containers/docker/Manifest index 45735b70ba2d..51bc73df77e8 100644 --- a/app-containers/docker/Manifest +++ b/app-containers/docker/Manifest @@ -1,7 +1,7 @@ AUX 0001-Openrc-Depend-on-containerd-init-script.patch 774 BLAKE2B a7ac6f6a1e9ee88751e8e0471cd33429b8141cbea07a3a56c61eccd63c796c9135edafaf5977571a4413e5d71931aac44b5313110af94c3206e286b15394f637 SHA512 bc709b6f0dd8685fbf2404be589743f32a5f4deb24dec8ed6aeec18f0fcd1db4c5d59587209c28f62d964d78ec9ab3a3fdbb795dc4b7e3fabd00a06a002af34e AUX docker-26.1.0-automagic-systemd.patch 355 BLAKE2B 95d2367d5450a15214939c0a080b81a07d3ea3fdaaee921b2fc221949f3737652182366e54af499da5a1597fb1353a29d8935ed0a5e60a805920d3375aa594a1 SHA512 ba694ac1ca135fadc39d1afe0b8fdfaef8d6b9c75cbe4177a51422f972022f3502625c5e5467cd54fe33b2e83acdfe2c524da2a4d37f74376f365d7baaa12bec DIST docker-26.1.0.tar.gz 16390376 BLAKE2B 6703e9b153c430bc28aed2e7de7bada0203353d61f0a2ce3d49ddbd017eab196a685dd1ab1e719a6b287813eb5fa4f2c612e2cf1ab95789d6e79ebe5dac7ace3 SHA512 47b6b9af9947016884614b6bc25977e1db281da95c9b8b34c753c21c664a737a893f9fa65d92cbb897735aae3893567e106e6bababb5507e069b1e0981e48d50 -DIST docker-27.1.2.tar.gz 16608463 BLAKE2B 27d8ab2e917c838007f8bc286899ed65e9f9a16d67d77034845ec5b04ef2733887dec3a18c224130823516738fb40c6c731962538b61603e94746e2c32d721a5 SHA512 26f85a1437ba4361dc050861dd9c3ba900f80e4fdc0eaf2bfcba33b6419c5d981c9ee5ab3bea9af208502eca372a2f76c42325abe9e3d2c1b2f725fe7b10df92 +DIST docker-27.2.0.tar.gz 16689537 BLAKE2B faf0bae9f7da127d5b65b9989acd82dc726bc3f09ace502df151b9f03a84b6f1ec2a946d905263aaa7d2e7d7a3cd4ad1a09291dcfc6691e73cc9a8738f150d55 SHA512 97abaf56d2249c1514beacf17fc9096848b960846e064f1a9bd800a59762a1f1888b32e83b3e8289e23656496ca0293fea65931210d68faaa8a713aab6e48b65 EBUILD docker-26.1.0-r1.ebuild 7522 BLAKE2B 9b02ddf1d1a68847be4541e93a01cddbe486907e68eef51c3a87e6012ed5be52c4e31af675ed718ad0e911acbdb856fdc9b127edeaec92f879c778b4bff79bcf SHA512 a3e351d6c33cdea4584c4444902b0277543b7f6f573716225ed0ed8f68aa50422902d03958cce3b1a2ca0d128d1d1edd94247e8d32e063f75990985fa18726f3 -EBUILD docker-27.1.2.ebuild 7498 BLAKE2B 32ea90a0d76fe0441b198708f9a8daac0561d9158eeb01098310bcb977369181224c7877e70a02d746d0390f427a402f5d2ed6db1859c0c57f153f85be068eba SHA512 e8db487f04d11f9b42ff2d1aa124ccda8c75a5f9d101f609266ef1461d4f296b22772a903ffb33514c844b0dd77a733fdae2e786980a6490e18bbc3bf58c2cc8 -MISC metadata.xml 1100 BLAKE2B d7a5f93051eb7d087cadd9788a1607f115deb9e7bb73929efad1815a25633f7c9f66c6e797e0283ba975f573e7a8729b48a70d1b2384c392fab1f7b1e4842a17 SHA512 7637097ccfdcc4d07099d54de4eacbac42cfc0f84aa7da78aa5547fe9c42b3c77e853d15492d0fea467c0c53514068b35c0d34dbe6668c285212d8e2bb5371dc +EBUILD docker-27.2.0.ebuild 7729 BLAKE2B dfa17b7a00fffee3b4f7dd34d213257bdeb28cd8a22eddbd921aff5a8a6be6b258752125624c8e82deb24379c13b2780faac0528ea053ca7dc66d0e7016d87b7 SHA512 29412e6433c6f98b8eb3a9ef7cfd96217cc3bb3277f2b6985ee87c39d7c313bd375236dcfb0cf66794d4e485943ba83c73a0b96457f67cbb9be3831745d86c65 +MISC metadata.xml 1229 BLAKE2B 5cb0c3e7e3bd8607977a7a915ee913f3abe1af56b93c2ad37c9429c6f967915455582479615b25882ee7561b929e248678e14d68e2cd418a6ff5f460242bae91 SHA512 2463e031fe4b1aef27d1c2ba8dbeed21ded238040c361899903eab57d48a9572dd0d5de16ef3eb4278e5bda5880d7740ea11d4f5a271e89c62446f4a99776943 diff --git a/app-containers/docker/docker-27.1.2.ebuild b/app-containers/docker/docker-27.2.0.ebuild index 8b5a0a425043..4f5f1df2aba3 100644 --- a/app-containers/docker/docker-27.1.2.ebuild +++ b/app-containers/docker/docker-27.2.0.ebuild @@ -4,8 +4,8 @@ EAPI=7 EGO_PN=github.com/docker/docker MY_PV=${PV/_/-} -inherit golang-vcs-snapshot linux-info systemd udev -GIT_COMMIT=f9522e5e96c3ab5a6b8a643d15a92700ca864da6 +inherit golang-vcs-snapshot linux-info optfeature systemd udev +GIT_COMMIT=3ab5c7d0036ca8fc43141e83b167456ec79828aa 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 btrfs +container-init overlay seccomp selinux systemd" +IUSE="apparmor btrfs +container-init +overlay2 seccomp selinux systemd" DEPEND=" acct-group/docker @@ -33,7 +33,7 @@ RDEPEND=" sys-process/procps >=dev-vcs/git-1.7 >=app-arch/xz-utils-4.9 - >=app-containers/containerd-1.7.20[apparmor?,btrfs?,seccomp?] + >=app-containers/containerd-1.7.21[apparmor?,btrfs?,seccomp?] >=app-containers/runc-1.1.13[apparmor?,seccomp?] !app-containers/docker-proxy container-init? ( >=sys-process/tini-0.19.0[static] ) @@ -246,7 +246,7 @@ src_compile() { # let's set up some optional features :) export DOCKER_BUILDTAGS='' - for gd in btrfs overlay; do + for gd in btrfs overlay2; do if ! use $gd; then DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}" fi @@ -271,6 +271,9 @@ src_install() { use container-init && dosym tini /usr/bin/docker-init dobin bundles/dynbinary-daemon/dockerd dobin bundles/dynbinary-daemon/docker-proxy + for f in dockerd-rootless-setuptool.sh dockerd-rootless.sh; do + dosym ../share/docker/contrib/${f} /usr/bin/${f} + done newinitd contrib/init/openrc/docker.initd docker newconfd contrib/init/openrc/docker.confd docker @@ -303,17 +306,16 @@ pkg_postinst() { 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 + + optfeature "rootless mode support" sys-apps/shadow + optfeature "rootless mode support" sys-apps/rootlesskit + optfeature_header "for rootless mode you also need a network stack" + optfeature "rootless mode network stack" app-containers/slirp4netns } pkg_postrm() { diff --git a/app-containers/docker/metadata.xml b/app-containers/docker/metadata.xml index 63036f19e3e5..dfe556527506 100644 --- a/app-containers/docker/metadata.xml +++ b/app-containers/docker/metadata.xml @@ -25,6 +25,10 @@ Enables dependencies for the "overlay" graph driver, including necessary kernel flags. </flag> + <flag name="overlay2"> + Enables dependencies for the "overlay2" graph driver, including + necessary kernel flags. + </flag> </use> <upstream> <remote-id type="github">moby/moby</remote-id> diff --git a/app-containers/earthly/Manifest b/app-containers/earthly/Manifest index 99985d42981e..d08f72b19c8f 100644 --- a/app-containers/earthly/Manifest +++ b/app-containers/earthly/Manifest @@ -1,10 +1,4 @@ -DIST earthly-0.8.13-deps.tar.xz 163750220 BLAKE2B 995ed748f99b7d4c4ca90cdd1964c295270963e55462bfa3bdd830209a90303d67c91fed66e7d52984993ef58b1d060e140694fdc8931ca2181dd88701d8f6dd SHA512 ab3ee4fef9a87dab9009ffd4e31d00a256c8ad88096c8573a5a2fb782079392415752024821240da60549d260c9dcfe3d6f1457fb3fbc8cc8a1f2602bb875aee -DIST earthly-0.8.13.tar.gz 8082676 BLAKE2B cf6d5c6d397951a60302e5492ad219d3d673cce9bf2e06696a3cd8719dcf1d755644413171c7db1b27c60d6cbe0d85facf2d6a5d150c26dc5530c07d1255b742 SHA512 f3abd814c0c57f485a37c83e322d9a8478236ae4220baf455330a6a28d98a8cb7806fb4cee9525c9b27c51bc0ed8780872f51ece7194059658defd54cce1a6b5 -DIST earthly-0.8.14-deps.tar.xz 163777848 BLAKE2B 0615db6d874a0d490666df6517581763315c44a67662d1c8c630d59983849c3a1c10bdee4d626f9ded02a58f7eb037e24cca6b22dfc7eadf79d4e735a33306c5 SHA512 ac062ae77e98ec36f9bba1a73430080d2f2c7bed3ad8c48af8bb1da4a6f006a4285fca8f4d85363652ec3db9df78e76befdfc838971684d704512d795d672414 -DIST earthly-0.8.14.tar.gz 8079338 BLAKE2B c3da74c39b77f671656ba51f7e8a82b77476650e986e5665e1df86fd1674e808b79edcc0b8f616891b6749ec034de45268fb48df519c5fdf54c1e3e583eab5a6 SHA512 566e6bdd6f026baa99bad33128e3a843ef20dacc15efdccaf19af648440c8ee7b445bed80f33102b9fc419d211dc6dea38a66655247549f1eaf17837c6687105 DIST earthly-0.8.15-deps.tar.xz 163782812 BLAKE2B 09a9cb196206e787a48c2c2082a066a31c0bd8dba8785e379bfb86ac56ccf4f8eb34195c8577b866bc1153657008e4fae142eb7a6e21d2791fe92e9cdfa76e2d SHA512 65afc0bd89b6a54bb3e4cc4d7f39522eddbb79266b25afb33ffc3c6571b57952bc2ceafe00ce196098d1c4185ab2672f8a80d9ecd4d6d07dc06a18ba39da3941 DIST earthly-0.8.15.tar.gz 8102499 BLAKE2B 92793722206ab8c2d5bb097f7da40392d1ed1f3399797bc217dab7fcc0f305cc91f5e9f8b997b6e5e187f25c0f1109d8aba2294fb79d4b3f26d6660d36827d5c SHA512 0d98f716a2e2a6cb522abb42894f6356c12ac2e398382207db08d204dc951f65c7be04be7473e060c30a052768c4b2b7e9273d206b4252fec26975e6e166ae2a -EBUILD earthly-0.8.13.ebuild 1795 BLAKE2B 666b52a938305a2750189d2cfaa8b0bd5fc6cc7c6ef2b512bd905a68b3b4f512a7c8d1fe52c96c0be07af52a89aba9560d393671be807dba8ddf948822e1cf49 SHA512 730a049d3d9f7f01c64aec83e01fc59ad5dff18007ecea8598f7ba6583e183560b59c8d707b8577ebab0dd2661469623dac9a8a8b09bc5b7933b65151cfdfb72 -EBUILD earthly-0.8.14.ebuild 1795 BLAKE2B d040294440bbe07e05885f3bd681ec4b1cd2163336d16092355cbfcaf990b15a631ca71ebf7e0270b1912ffccf2072449fdce47fb1696a851668eaadc0484550 SHA512 c614ff1459d58cce2fcccd1aef9c4bcda798b6f91ab57d5534e232056beeb29c55616c934d434f3fc173d3442956523a6b9531a54546c9a31ad5bcd5aa123060 EBUILD earthly-0.8.15.ebuild 1795 BLAKE2B 3f9084aa29c884c9cf531eb50e66b32e46761d3fc0703b1b42d0e2aec684900df505ba5c0f4b391ef9bf44ea84e9b760386eadd6f92bafc14ab197cb3e9fc72f SHA512 4066a92575c91ca96214da2cd94d017aaede0d010490c4b4285990380930cc232f45484acdc7a40bd7e42aa99bf87beb1748345ca2b6e06ee0e2c0b91cddf839 MISC metadata.xml 927 BLAKE2B b7d5184df16f39603bf6df8b503e701d737fec188d1d97673e4ca59babd990c1b872784c91db04c74d9a08dbffa76f4e7530d8b021cbbe9ae51fd9966f709522 SHA512 f7f49eb583b2b5a9939c26e9eaff3917392525c3a94e5f8274c89b69e172547ad02fa4ed1b078e7d778f765659e1b9a7cf99d88042034cfbfbef54e685c8b6dd diff --git a/app-containers/earthly/earthly-0.8.13.ebuild b/app-containers/earthly/earthly-0.8.13.ebuild deleted file mode 100644 index ebee46234ccf..000000000000 --- a/app-containers/earthly/earthly-0.8.13.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# 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.13" ]] ; then - COMMIT_SHA="251e0eada58646e71c562b803bc4b9adbcf07637" -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 -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/earthly-0.8.14.ebuild b/app-containers/earthly/earthly-0.8.14.ebuild deleted file mode 100644 index c133e768eee1..000000000000 --- a/app-containers/earthly/earthly-0.8.14.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# 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.14" ]] ; then - COMMIT_SHA="6b41f8409d7ffef0d25072c2c04250074b6e3c72" -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 -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/incus/Manifest b/app-containers/incus/Manifest index 2c09d9b817ea..a3e209e0e36e 100644 --- a/app-containers/incus/Manifest +++ b/app-containers/incus/Manifest @@ -11,8 +11,14 @@ AUX incus-user-0.4.service 247 BLAKE2B 97c181da8dc7c91e8effec89a8bac17b626e8e2f3 AUX incus-user-0.4.socket 204 BLAKE2B df26315099820f77fc875c1619078c0b3adc1cf131f4a2c5f3b6f91609bc07a4535d9fb24d20f91c77b0de7f8334442ba17c704310f35ccbc2864a6148f78389 SHA512 a2541cc29d87e96d6a2ebec1cb72dd5779648b4d739657cf123590c23ae00b8022ebf68a7a2af24cfdb9fcb89a05ec87ecd15e37f3160c7ceedf23f3a2459950 DIST incus-6.0.1.tar.xz 11653056 BLAKE2B d026f9fb99d7393d286006cfe759681b58b980b7a2432a98ba8a6862e17099ef6ee8d1ec1766d00fac1a6d1e748a7d10d3d5ad14b31c542618044f77a27fe255 SHA512 8218c121cf1afd307f748c0f1c0b1ba34a05fa0c43a515aab03d9f92c66becaa6bff245e93842e7b0746ce6019d66f1a5e4c317ec05e0ab088b539e5378d78dc DIST incus-6.0.1.tar.xz.asc 833 BLAKE2B c5c9d3d4796e97ef745102c13e52d691e7f087a5a0cc8e0a069ec7c94686e6e8de04d3dd247157e16eb3deea2b877453e3462ec829ced2ba9cb1928af9a3aa1b SHA512 c47df95afa7c9ef7041fb29497567ab3b1ed30c3c175b4be84bc75a6a2c47072cc291e43fa738a5a58d753b04aef87334780f9d45184a9543a49fad263859aa0 +DIST incus-6.0.2.tar.xz 11197324 BLAKE2B fa15816ea05865ce48f7cb668c3138d2d186a1876669d6eaf05ffd335d8feedf7eda41301be9d2e07879aa3fb2e7177a5bd26cb89a3789d46ef648c2fcb06db5 SHA512 ef58bc22154204a3f89b973fd5289385fa98aa2c2a97b0ff3ed2fa2a0c899ee3dc08cb46552ade2e86dc13f5de55f9ef59aea775c60eb3df74d088f8a1e2795a +DIST incus-6.0.2.tar.xz.asc 833 BLAKE2B bcdeb0d2a3684dcdcb620166865523a2e9eb595f0e7760f05a06ea0608dc4fc7111b75206fe62a63cfd90a0d0ec79206404994e53770d5e35a639a67e1ad753c SHA512 18587ddc7b7cb41418ee0e7a43875663e71c9d39a505fd55bc29fe83717b5d5cdc876c46912561610735ddf80462631716354a943a272ae5ccf0ee495aff1c1c DIST incus-6.4.tar.xz 11745236 BLAKE2B 14e9980238f1eb55b0ca8c1a9fe72e5335aa92193ba5805525bde7fa6d417b46cc193ce43e9ef6c85b86d2fc500021bfb6f30535e69722a93e395be55de64358 SHA512 a9d32526cc7ccf93fe0579f95cbd87f72cecf13c5ebe9d0ee4a61a8f921737f1842ea35d452bdf58ca3d2c5529198e8d80dfee41ce6c92a6213f1994f421c1f6 DIST incus-6.4.tar.xz.asc 833 BLAKE2B 8a6753f0b92f58095ff27d7ffdac9e70a408a1466dd224cabb47d482fe0b9b0747a03635a5bc419b26897e2ae073f9f0c0d81bd5ed3dff09a5e844ee9dd02f6d SHA512 c6d69941f4ecca2c0020001c5fe848f4bf14edf99b471ace57e38bed48b74862bf13eae1b973e0783ca5ab16bc33887ab9b98b42ff6d1a387ff5670af7666d6a +DIST incus-6.5.tar.xz 11233032 BLAKE2B 667bf93a55dc58f8426765d3b536fee0e3b3f521fa64ba51948874a04dbf4549d856170f50723aaad18690169e41913507bdac4cf426c65cf89df06ae883b1e8 SHA512 e5e9d0b7458052214813201c771c24e878c0682d749bb150fd477f5319a4dc1b641c963646ee5c16981d5698e941b62a4c5cc7a5f29e9f45eebf6a443dc029ec +DIST incus-6.5.tar.xz.asc 833 BLAKE2B f2c468c86f5d4524bc0590bbd6b2c3e6bb69e2173cc63eb3f0b1d75a5ecd0ceb3e906c77a31011f82ced4407a00562e066494ff2ae4e82144e9eb0e28d88d4e7 SHA512 f31aceb2972dac43f7dfca5968224961b2666eccacb1a31cc9de1baf5415e85f32f41e23f4b6eb4411e66f59260b7a847457827b641e02e7221ec6b12331d911 EBUILD incus-6.0.1-r1.ebuild 6233 BLAKE2B 54ad8756f50c98716788829f9ca7639d0ac256254667f8cb850850b1d02cccc09e734f0bf12cd8fb1e3d337d9a97d985c87667e394761fac60bb4d36cc3f67e7 SHA512 38325e05fbdc35492616ad18f19deb18042413a05016635fbd00f5c8bf8361916921ac27cc105745a525b3eef05c3251b40acbe0700dce350e36b209c0153cff +EBUILD incus-6.0.2.ebuild 6081 BLAKE2B bdec37a086f1536559d0924d9412804625c506f3f35ee569f808fc72a79af5d0002815c322e4584f48eb7f0fa9058abf06d29e36a6350cbd1de33a30a4790643 SHA512 59e3ad8c22fb66aac2ddd3166012223206445129c37ba039ead5aa9dad29854d57edf9141a4673365f8e54c0dcdc82fdabdca3dc2006d46e1d53e2b2e62790bf EBUILD incus-6.4.ebuild 6237 BLAKE2B 4a8017b1ebacbe2333598a29fb9bf7fb776277a27813fbec0210b33d60a1d41cc10c1f968bf3e726274b7067542ec9df24fafb4f6e4933160329abe6eb64b7db SHA512 d098a75f52e2da112e729db27d1210c728c5e33bdfc7303cea5bd9265b1d100d0936ebb70bcfe81c34d387a1adbc4d352e742ace676c51cdb73781f4f76cd9cf +EBUILD incus-6.5-r1.ebuild 6084 BLAKE2B 38c580b6fd452e622b46de3774f13c08a5cfb524aebe912a681fc4d6d130885c815813591860cb550f32de19235cdc02b62dfbafb00a25dec0c13b033a67232a SHA512 c407def0cb54891ce60f4576ad9f6c4df611b9818dc0d2ba4b6efad8c4b9513dbebf7684b52feabeac3f99c9d831958c81374c88f1b7b22e9d46312eef06d2e6 MISC metadata.xml 1593 BLAKE2B 7142f75669fbc2f3d3d599896dd5839dff6b2afb6a47f54eb67b026db073afac4736639e6b17b4ab312b1987282c3b4fc3c8edba00d1d3b90e227f9fafef2c62 SHA512 6653c90a46eee2ca256e05645796f1d0094f11eee4ad7da7cc2c5e141575099b0676c7a31a49a2addb53e523b46434c99e61f1781cf3a801c8d63c9931d7659d diff --git a/app-containers/incus/incus-6.0.2.ebuild b/app-containers/incus/incus-6.0.2.ebuild new file mode 100644 index 000000000000..aaf998d9ce31 --- /dev/null +++ b/app-containers/incus/incus-6.0.2.ebuild @@ -0,0 +1,215 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module linux-info optfeature systemd toolchain-funcs verify-sig + +DESCRIPTION="Modern, secure and powerful system container and virtual machine manager" +HOMEPAGE="https://linuxcontainers.org/incus/introduction/ https://github.com/lxc/incus" +SRC_URI="https://linuxcontainers.org/downloads/incus/${P}.tar.xz + verify-sig? ( https://linuxcontainers.org/downloads/incus/${P}.tar.xz.asc )" + +LICENSE="Apache-2.0 BSD LGPL-3 MIT" +SLOT="0/lts" +KEYWORDS="~amd64 ~arm64" +IUSE="apparmor fuidshift nls" + +DEPEND="acct-group/incus + acct-group/incus-admin + app-arch/xz-utils + >=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)] + dev-db/sqlite:3 + >=dev-libs/cowsql-1.15.6 + dev-libs/lzo + >=dev-libs/raft-0.22.1:=[lz4] + >=dev-util/xdelta-3.0[lzma(+)] + net-dns/dnsmasq[dhcp] + sys-libs/libcap + virtual/udev" +RDEPEND="${DEPEND} + fuidshift? ( !app-containers/lxd ) + net-firewall/ebtables + net-firewall/iptables + sys-apps/iproute2 + sys-fs/fuse:* + >=sys-fs/lxcfs-5.0.0 + sys-fs/squashfs-tools[lzma] + virtual/acl" +BDEPEND=">=dev-lang/go-1.21 + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" + +CONFIG_CHECK=" + ~CGROUPS + ~IPC_NS + ~NET_NS + ~PID_NS + + ~SECCOMP + ~USER_NS + ~UTS_NS + + ~KVM + ~MACVTAP + ~VHOST_VSOCK +" + +ERROR_IPC_NS="CONFIG_IPC_NS is required." +ERROR_NET_NS="CONFIG_NET_NS is required." +ERROR_PID_NS="CONFIG_PID_NS is required." +ERROR_SECCOMP="CONFIG_SECCOMP is required." +ERROR_UTS_NS="CONFIG_UTS_NS is required." + +WARNING_KVM="CONFIG_KVM and CONFIG_KVM_AMD/-INTEL is required for virtual machines." +WARNING_MACVTAP="CONFIG_MACVTAP is required for virtual machines." +WARNING_VHOST_VSOCK="CONFIG_VHOST_VSOCK is required for virtual machines." + +# Go magic. +QA_PREBUILT="/usr/bin/incus + /usr/bin/incus-agent + /usr/bin/incus-benchmark + /usr/bin/incus-migrate + /usr/bin/lxc-to-incus + /usr/sbin/fuidshift + /usr/sbin/incusd + /usr/sbin/lxd-to-incus" + +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 + + sed -i \ + -e "s:/usr/share/OVMF:/usr/share/edk2-ovmf:g" \ + -e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \ + internal/server/instance/drivers/edk2/driver_edk2.go || die "Failed to fix hardcoded ovmf paths." + + # 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-6.0.confd incus + newinitd "${FILESDIR}"/incus-6.0.initd incus + newinitd "${FILESDIR}"/incus-user-0.4.initd incus-user + + systemd_dounit "${T}"/incus.service + systemd_newunit "${FILESDIR}"/incus-0.4.socket incus.socket + systemd_newunit "${FILESDIR}"/incus-startup-0.4.service incus-startup.service + systemd_newunit "${FILESDIR}"/incus-user-0.4.service incus-user.service + systemd_newunit "${FILESDIR}"/incus-user-0.4.socket incus-user.socket + + if ! tc-is-cross-compiler; then + # Generate and install shell completion files. + mkdir -p "${D}"/usr/share/{bash-completion/completions/,fish/vendor_completions.d/,zsh/site-functions/} || die + "${bindir}"/incus completion bash > "${D}"/usr/share/bash-completion/completions/incus || die + "${bindir}"/incus completion fish > "${D}"/usr/share/fish/vendor_completions.d/incus.fish || die + "${bindir}"/incus completion zsh > "${D}"/usr/share/zsh/site-functions/_incus || die + else + ewarn "Shell completion files not installed! Install them manually with incus completion --help" + fi + + dodoc AUTHORS + dodoc -r doc/* + use nls && domo po/*.mo +} + +pkg_postinst() { + elog + elog "Please see" + elog " https://wiki.gentoo.org/wiki/Incus" + elog " https://wiki.gentoo.org/wiki/Incus#Migrating_from_LXD" + elog + optfeature "virtual machine support" app-cdr/cdrtools app-emulation/qemu[spice,usbredir,virtfs] + optfeature "btrfs storage backend" sys-fs/btrfs-progs + optfeature "ipv6 support" net-dns/dnsmasq[ipv6] + optfeature "full incus-migrate support" net-misc/rsync + optfeature "lvm2 storage backend" sys-fs/lvm2 + optfeature "zfs storage backend" sys-fs/zfs + elog + elog "Be sure to add your local user to the incus group." + elog +} diff --git a/app-containers/incus/incus-6.5-r1.ebuild b/app-containers/incus/incus-6.5-r1.ebuild new file mode 100644 index 000000000000..a703537528cf --- /dev/null +++ b/app-containers/incus/incus-6.5-r1.ebuild @@ -0,0 +1,215 @@ +# 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/stable" +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/incus-agent + /usr/bin/incus-benchmark + /usr/bin/incus-migrate + /usr/bin/lxc-to-incus + /usr/sbin/fuidshift + /usr/sbin/incusd + /usr/sbin/lxd-to-incus" + +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 + + sed -i \ + -e "s:/usr/share/OVMF:/usr/share/edk2-ovmf:g" \ + -e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \ + internal/server/instance/drivers/edk2/driver_edk2.go || die "Failed to fix hardcoded ovmf paths." + + # 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-6.0.confd incus + newinitd "${FILESDIR}"/incus-6.0.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/lxc/Manifest b/app-containers/lxc/Manifest index 54b79bf24470..de7bfd5ffb21 100644 --- a/app-containers/lxc/Manifest +++ b/app-containers/lxc/Manifest @@ -9,7 +9,10 @@ DIST lxc-6.0.0.tar.gz 964053 BLAKE2B d41bcab4e225c139d4d41df5291717e4d196fe3b48d DIST lxc-6.0.0.tar.gz.asc 833 BLAKE2B d2cda07e605d64dbb650506cf536c545e2c5746973c834f4d4f409064e2ba8265040b13a60e124e30e154bbc5a51c704bad0fa2ff5530effddfa449618aa60a7 SHA512 4e56ffa7395877714f993d9c54cf8b9df91cdced96c5a609b63f5e3896a0a51db8ba6f99bf2360d60af202df79123deea72215bf854d8798d3af361a4888445e DIST lxc-6.0.1.tar.gz 964526 BLAKE2B 6fb6442e0a9a356433351f412c9a1e4f18155146e49f40ebe6e132ea770a8737793df0c7ca13ca70ce631a2308ff525fca2fd2d127b98edbd00e0af7efce6879 SHA512 7e8b9740178ae46a2ad3ba3f1e509f69f978d0a2a1f7e1938213ae9cb9a80f496d01be64958cad4aa6f01a73f1d8c3759c3e9df9df4f67c77e603ea0809d79c2 DIST lxc-6.0.1.tar.gz.asc 833 BLAKE2B 8469ff5603c48205c6451630ec8f03617c648e3d13f73ebd7d908017422b75613e5489b42ad0f598fcf5cf9e241fccaeb4b0ec3ac186a670ed56a252e282b16e SHA512 e0ebd29c3e793e1159e350854e2ac7adacd918b76dfa2de1e0227fd45034ac9308d02b7da1c0c80eae471ebba44a0804a7a0bf17cbf1c18de45bc63974e017e0 +DIST lxc-6.0.2.tar.gz 964007 BLAKE2B 55c0155a66194d4d10fff5ffc7edc6d6afab730245a401671f8d1bd6f54bd8558bd0644c0f42bd49b5b470bc343809091f1893c27b5830674870f6b91f23d6e0 SHA512 52841b5f48eeb4b2b63e0437e3abc38cec6a801778eb2fab264c78d7ee3be957bd45aa839c9fcd281396464fa0af84bb2fc8bf4bfadc9509fae3b4dc52b44da5 +DIST lxc-6.0.2.tar.gz.asc 833 BLAKE2B b4b6b56e65239c2125864e16e947a88c2d4d97a1b2dfa6920ca5c2f89b3df7d44d9ec8eb9a56753d6009143a53f6bb5bbd13f3b5b7f26e537aa6f1f1d0d0cc85 SHA512 741caccb3dc0ef1043c04122c75a3e3f6d8e6024a65bf905b186da0aabef971a1224e60f9adee069d1a2c24f43c408be1ccc32e5d4faba85860e9a19d9e4c0d9 EBUILD lxc-5.0.3.ebuild 5052 BLAKE2B 99a20e705617194a9e38ec6dabbc52fd43dbd5615a6b00379921f4ba200c2110f666878c00195917109f37cfed961258978b79bc3db0814986c36429537e660c SHA512 050ebb35250bd258a602ee84f9f1b1c35531caa0c3f9954bb8380927a8c262ffd66776cc0af643aaf69a7e0c51dccfe82bb2e3993e264ba2a0c91de8bd94faf5 EBUILD lxc-6.0.0-r2.ebuild 5193 BLAKE2B 6a3944ab47411d9d1c3ea2b67f9a641ec080676fa6925c6dca3a69bb2aa8e51f081c15bdfaea20b6747acfb27d3652f6a9b364814fe06a3f5fb96feb4e650022 SHA512 ea170951f34a2c9c7066cc6d6fa1274dc3af8320bb2fa479aa31367ac6480601b403899845e22ed4b628d2fe7650e7099c168b451b51e27c6918bc6551b44b62 EBUILD lxc-6.0.1.ebuild 5250 BLAKE2B 3dcabd117ae243137efd6444a67f9c58e0c56eef6556ef8f513276502ad3c6818115c82acccd13977594e562f7e1a7f44a7d59dc472df64690470f38c6f5f4f2 SHA512 41c47e7802d7ac8428e060d5dbd6de474432307f563dad0e23aadba60923e71c6d7a62286d74d8548fbe4f58661e69e10db75d30ff97ac764812c4345ec6b5c5 +EBUILD lxc-6.0.2.ebuild 5603 BLAKE2B 5c7134f80b8b2b0e557ffe7a2c2567cb0eaef78ecda69b3450b5d1b314c3ace816a65bb95b35904a5b607de6d1ca517a21937a98d65e91b773bbb87241446ce9 SHA512 fcce87f3e01907a957c8db29be9071bd8ef95222c10284ddfebcb0a910eb5a0ed253679d2f03ba4637f0a56932940e0ca9a15a41998f9803280d6a2e797edbc0 MISC metadata.xml 721 BLAKE2B 8aaa67af4ae36f07ac2d893f0d67d86de08d9da065b5ca7118a7a795a2b2ecb55b37a87b95b456ebc8806bbdc9f36e92901b6888cb75f494a7151393b33b6d44 SHA512 3b90cb1c80e2ee9ef3d30273c91ab625ec79ad240edc40dea011078ab44759b03c3ac28484cfc639b4108557a7c5e00e798b4e335da9ba94a5a836f51ee7701a diff --git a/app-containers/lxc/lxc-6.0.2.ebuild b/app-containers/lxc/lxc-6.0.2.ebuild new file mode 100644 index 000000000000..3917c9589db5 --- /dev/null +++ b/app-containers/lxc/lxc-6.0.2.ebuild @@ -0,0 +1,175 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 linux-info meson optfeature systemd toolchain-funcs verify-sig + +DESCRIPTION="A userspace interface for the Linux kernel containment features" +HOMEPAGE="https://linuxcontainers.org/ https://github.com/lxc/lxc" +SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz + verify-sig? ( https://linuxcontainers.org/downloads/lxc/${P}.tar.gz.asc )" + +LICENSE="GPL-2 LGPL-2.1 LGPL-3" +SLOT="0/1.8" # SONAME liblxc.so.1 + ${PV//./} _if_ breaking ABI change while bumping. +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="apparmor +caps examples io-uring lto man pam seccomp selinux ssl systemd test +tools" + +RDEPEND="acct-group/lxc + acct-user/lxc + apparmor? ( sys-libs/libapparmor ) + caps? ( sys-libs/libcap ) + io-uring? ( >=sys-libs/liburing-2:= ) + pam? ( sys-libs/pam ) + seccomp? ( sys-libs/libseccomp ) + selinux? ( sys-libs/libselinux ) + ssl? ( dev-libs/openssl:0= ) + systemd? ( + sys-apps/dbus + sys-apps/systemd:= + ) + tools? ( sys-libs/libcap )" +DEPEND="${RDEPEND} + caps? ( sys-libs/libcap[static-libs] ) + tools? ( sys-libs/libcap[static-libs] ) + sys-kernel/linux-headers" +BDEPEND="virtual/pkgconfig + man? ( app-text/docbook2X ) + verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" + +RESTRICT="!test? ( test )" + +CONFIG_CHECK="~!NETPRIO_CGROUP + ~CGROUPS + ~CGROUP_CPUACCT + ~CGROUP_DEVICE + ~CGROUP_FREEZER + + ~CGROUP_SCHED + ~CPUSETS + ~IPC_NS + ~MACVLAN + + ~MEMCG + ~NAMESPACES + ~NET_NS + ~PID_NS + + ~POSIX_MQUEUE + ~USER_NS + ~UTS_NS + ~VETH" + +ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers" +ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking" +ERROR_MEMCG="CONFIG_MEMCG: needed for memory resource control in containers" +ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network" +ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command" +ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info" +ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc + +DOCS=( AUTHORS CONTRIBUTING MAINTAINERS README.md doc/FAQ.txt ) + +pkg_setup() { + linux-info_pkg_setup +} + +src_configure() { + + # -Dtools-multicall=false: will create a single binary called 'lxc' that conflicts with LXD. + local emesonargs=( + --localstatedir "${EPREFIX}/var" + + -Dcoverity-build=false + -Dinstall-state-dirs=false + -Doss-fuzz=false + -Dspecfile=false + -Dtools-multicall=false + + -Dcommands=true + -Dinstall-init-files=true + -Dmemfd-rexec=true + -Dthread-safety=true + + $(meson_use apparmor) + $(meson_use caps capabilities) + $(meson_use examples) + $(meson_use io-uring io-uring-event-loop) + $(meson_use lto b_lto) + $(meson_use man) + $(meson_use pam pam-cgroup) + $(meson_use seccomp) + $(meson_use selinux) + $(meson_use ssl openssl) + $(meson_use test tests) + $(meson_use tools) + + $(usex systemd -Ddbus=true -Ddbus=false) + $(usex systemd -Dinit-script="systemd" -Dinit-script="sysvinit") + + -Ddata-path=/var/lib/lxc + -Ddoc-path=/usr/share/doc/${PF} + -Dlog-path=/var/log/lxc + -Drootfs-mount-path=/var/lib/lxc/rootfs + -Druntime-path=/run + ) + + use tools && local emesonargs+=( -Dcapabilities=true ) + + if $(tc-ld-is-gold) || $(tc-ld-is-lld); then + local emesonargs+=( -Db_lto_mode=thin ) + else + local emesonargs+=( -Db_lto_mode=default ) + fi + + meson_src_configure +} + +src_install() { + meson_src_install + + # The main bash-completion file will collide with lxd, need to relocate and update symlinks. + local lxcbashcompdir="${D}/$(get_bashcompdir)" + mkdir -p "${lxcbashcompdir}" || die "Failed to create bashcompdir." + mv "${lxcbashcompdir}"/_lxc "${lxcbashcompdir}"/lxc-start || die "Failed to move _lxc bash completion file." + + # Build system will install all bash completion files regardless of our 'tools' use flag. + # Though installing them all will add bash completions for commands that don't exist, it's + # cleaner than dealing with individual files based on the use flag status. + 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,update-config,usernsexec,wait} + + find "${ED}" -name '*.la' -delete -o -name '*.a' -delete || die + + # Replace upstream sysvinit/systemd files. + if use systemd ; then + rm -r "${D}$(systemd_get_systemunitdir)" || die "Failed to remove systemd lib dir" + else + rm "${ED}"/etc/init.d/lxc-{containers,net} || die "Failed to remove sysvinit scripts" + fi + + newinitd "${FILESDIR}/${PN}.initd.9" ${PN} + systemd_newunit "${FILESDIR}"/lxc-monitord.service.5.0.0 lxc-monitord.service + systemd_newunit "${FILESDIR}"/lxc-net.service.5.0.0 lxc-net.service + systemd_newunit "${FILESDIR}"/lxc.service-5.0.0 lxc.service + systemd_newunit "${FILESDIR}"/lxc_at.service.5.0.0 "lxc@.service" + + if ! use apparmor; then + sed -i '/lxc-apparmor-load/d' "${D}$(systemd_get_systemunitdir)/lxc.service" || + die "Failed to remove apparmor references from lxc.service systemd unit." + fi +} + +pkg_postinst() { + elog "Please refer to " + elog "https://wiki.gentoo.org/wiki/LXC for introduction and usage guide." + elog + elog "Run 'lxc-checkconfig' to see optional kernel features." + elog + + optfeature "creating your own LXC containers" app-containers/distrobuilder + optfeature "automatic template scripts" app-containers/lxc-templates + optfeature "Debian-based distribution container image support" dev-util/debootstrap + optfeature "snapshot & restore functionality" sys-process/criu +} |