diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-20 14:54:46 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-20 14:54:46 -0500 |
| commit | 1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0 (patch) | |
| tree | 18e2e784f9fb0dbc3546537acc42ad51b366d90e /app-containers | |
| parent | 9f6a581d94412ab1cf4b35c33101f6be0ddc7777 (diff) | |
| download | baldeagleos-repo-1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0.tar.gz baldeagleos-repo-1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0.tar.xz baldeagleos-repo-1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0.zip | |
Adding metadata
Diffstat (limited to 'app-containers')
20 files changed, 479 insertions, 490 deletions
diff --git a/app-containers/lxc-templates/Manifest b/app-containers/lxc-templates/Manifest index 6606869c23c3..f270d30790dc 100644 --- a/app-containers/lxc-templates/Manifest +++ b/app-containers/lxc-templates/Manifest @@ -1 +1 @@ -DIST lxc-templates-3.0.4.tar.gz 257015 BLAKE2B 599c0cb083cf358c8252467b3870450e754b2aa30daf8d72e07e746ce37e2fb26fecc0adf416325c9e02b1f98f5745af5985360e9494e5ed54a242a3e17330d4 SHA512 e5b628b40e7108fca858dbd9ae92495016069ff3cba7feb34e9559c7f61dfc36944a9ef441369952a988e821f8b5d883ae97b81f6eef0683a22f1f702b5b913e +DIST lxc-templates-3.0.4_p20240917.tar.gz 161974 BLAKE2B c3c3bee881197779a09d931c5bdd53ef14a58ee4e38dc1bc44cf4f048bf7bd4c78a3e499633ca705299d24675b67f16ab99e3680b8a9b485155a2bf386fe863e SHA512 a4365024ab0cfa6c6558b00e1904c13aaab2e998dba4f8a5f78e6091d8c5f633d42a66234512a90c1695a9bd05f24fb87d7a7085d0680b2331a4c814138f28bd diff --git a/app-containers/lxc-templates/files/lxc-templates-3.0.1-no-cache-dir.patch b/app-containers/lxc-templates/files/lxc-templates-3.0.1-no-cache-dir.patch deleted file mode 100644 index d7e50fd3712b..000000000000 --- a/app-containers/lxc-templates/files/lxc-templates-3.0.1-no-cache-dir.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/Makefile.am -+++ b/Makefile.am -@@ -10,9 +10,5 @@ EXTRA_DIST = \ - CONTRIBUTING \ - MAINTAINERS - --install-data-local: -- $(MKDIR_P) $(DESTDIR)$(LXCPATH) -- $(MKDIR_P) $(DESTDIR)$(localstatedir)/cache/lxc -- - ChangeLog:: - @touch ChangeLog diff --git a/app-containers/lxc-templates/lxc-templates-3.0.4.ebuild b/app-containers/lxc-templates/lxc-templates-3.0.4.ebuild deleted file mode 100644 index 453337363ba1..000000000000 --- a/app-containers/lxc-templates/lxc-templates-3.0.4.ebuild +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2021 Liguros Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 - -inherit autotools - -DESCRIPTION="Old style template scripts for LXC" -HOMEPAGE="https://linuxcontainers.org/" -SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz" - -KEYWORDS="amd64 ~arm ~arm64 x86" - -LICENSE="LGPL-3" -SLOT="0" - -RDEPEND=" - >=app-containers/lxc-3.0" - -DEPEND="${RDEPEND}" - -PATCHES=( "${FILESDIR}/${PN}-3.0.1-no-cache-dir.patch" ) -DOCS=() - -src_prepare() { - default - eautoreconf -} diff --git a/app-containers/lxc-templates/lxc-templates-3.0.4_p20240917.ebuild b/app-containers/lxc-templates/lxc-templates-3.0.4_p20240917.ebuild new file mode 100644 index 000000000000..e640730d194c --- /dev/null +++ b/app-containers/lxc-templates/lxc-templates-3.0.4_p20240917.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +MY_COMMIT="da14466ce09afa3b39adb2b324be20084b776eb7" +DESCRIPTION="Old style template scripts for LXC" +HOMEPAGE="https://linuxcontainers.org/ https://github.com/lxc/lxc-templates" +SRC_URI="https://github.com/lxc/lxc-templates/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz" + +KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86" + +LICENSE="LGPL-3" +SLOT="0" + +RDEPEND=">=app-containers/lxc-3.0" +DEPEND="${RDEPEND}" + +DOCS=() + +S="${WORKDIR}/lxc-templates-${MY_COMMIT}" + +src_prepare() { + default + eautoreconf +} diff --git a/app-containers/lxc-templates/metadata.xml b/app-containers/lxc-templates/metadata.xml index 75e2e665e6b4..333d2a1f6a64 100644 --- a/app-containers/lxc-templates/metadata.xml +++ b/app-containers/lxc-templates/metadata.xml @@ -1,9 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> + <maintainer type="person"> + <email>juippis@gentoo.org</email> + <name>Joonas Niilola</name> + </maintainer> <maintainer type="project"> - <email>dev@liguros.net</email> - <name>Development</name> + <email>virtualization@gentoo.org</email> + <name>Gentoo Virtualization Project</name> </maintainer> <origin>baldeagleos-repo</origin> </pkgmetadata> diff --git a/app-containers/lxc/Manifest b/app-containers/lxc/Manifest index 3454f132c485..84a951404c16 100644 --- a/app-containers/lxc/Manifest +++ b/app-containers/lxc/Manifest @@ -1,3 +1,7 @@ +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.5.tar.gz 958966 BLAKE2B 74ee775f8a23467049f38f0973a24eb12b34b7c758549294342470b7b6b8e95eaef118c493f62b6394c435a5c86389fde4454199107e90743dd40d3a5bf373fd SHA512 3674397e789ed9eda7e37d4e22c42ab02687c0ab6a12f6c234a3393bdfb3f048aa0ded419c5c2f435d653d3dd70f47ae19d28b7a46838f12004d00b05c54a26d +DIST lxc-6.0.5.tar.gz.asc 833 BLAKE2B ac1480c0b5588b290ab1ec81bf7bf85990df98a650832363529e9ede8afb7594bd21b58a4a79e7fe9519c381d4860d7a33f4090582612ffff7c448c77e641929 SHA512 8c28da0ebc280ae491bab815105f3c58f2c9cd742586ce86f9b1d2032724db4893811d689f7278bfc8c5570dc45ca6071e4c25b77647d762c77eca59249a15b5 DIST lxc-6.0.6.tar.gz 963412 BLAKE2B 3bd9575f4c1a4b96ce5bea767e6a6b3c15a3021c62ebaf7421065ca55d2093ca467a8e9e86ce5d8316dab4fc9cde0c96dc1acedb73ccf167bd5c3e5484e5ceff SHA512 1d28aa749711be8a439de5e76019960d78e21bf576724bce7e8973ba4f6a3995c040cdc184e3c3a30814eb4cd2daec6851d26422c7d6d9d64ccd95add6c2eb30 DIST lxc-6.0.6.tar.gz.asc 833 BLAKE2B 622a7c53629b3e5117bad956923824662073955ca8c6b3c6fba61b9d37c3b76fa48d55ecfd460fad4a5fe88c074264ad4c97b4193342d9c3a5fa322814a212fd SHA512 3ddaf0796e6888c15a5124141439ffa09c2d611f185cf3c8b2106eea530485a013846548bf9bd5ea9d0b69ee52aad2de9281b293a323ba2510db925c38cce98f DIST lxc-7.0.0.tar.gz 962710 BLAKE2B 025583e58ba2613bced13fbc7929ecbbf0eb0cd373cc59c80d1794b9398db109ecf35a2797cd08092d72e5718c406dd953d676ca0f29390fc139817c49886bee SHA512 5c7a9fba7313e2d19be649bf906067d99240cf5700e88892dcdb09a216206671db73d647fabad558af3a594ec24054f69627ea5e44638c187c4a0c07067e441a diff --git a/app-containers/lxc/files/lxc-6.0.5-fix-openat2-include-typo.patch b/app-containers/lxc/files/lxc-6.0.5-fix-openat2-include-typo.patch new file mode 100644 index 000000000000..2903cc5de57f --- /dev/null +++ b/app-containers/lxc/files/lxc-6.0.5-fix-openat2-include-typo.patch @@ -0,0 +1,25 @@ +From 511e4db8f2a5b47cdd41eef482647492ce5b0f77 Mon Sep 17 00:00:00 2001 +From: Joonas Niilola <juippis@gentoo.org> +Date: Sun, 15 Feb 2026 17:42:39 +0200 +Subject: [PATCH] meson.build: fix openat2 include typo, fix with glibc-2.43 + +FORTIFY + +Closes: https://github.com/lxc/lxc/issues/4641 +Signed-off-by: Joonas Niilola <juippis@gentoo.org> +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index eef4e6900c..df40d7516a 100644 +--- a/meson.build ++++ b/meson.build +@@ -571,7 +571,7 @@ foreach ident: [ + ['move_mount', '''#include <sys/mount.h>'''], + ['openat2', '''#include <sys/types.h> + #include <sys/stat.h> +- #include <fctnl.h>'''], ++ #include <fcntl.h>'''], + ['open_tree', '''#include <sys/mount.h>'''], + ['personality', '''#include <sys/personality.h>'''], + ['pidfd_open', '''#include <stdlib.h> diff --git a/app-containers/lxc/files/lxc.initd.7 b/app-containers/lxc/files/lxc.initd.7 deleted file mode 100644 index 6a42b6aac520..000000000000 --- a/app-containers/lxc/files/lxc.initd.7 +++ /dev/null @@ -1,124 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -CONTAINER=${SVCNAME#*.} - -LXC_PATH=`lxc-config lxc.lxcpath` - -lxc_get_configfile() { - if [ -f "${LXC_PATH}/${CONTAINER}.conf" ]; then - echo "${LXC_PATH}/${CONTAINER}.conf" - elif [ -f "${LXC_PATH}/${CONTAINER}/config" ]; then - echo "${LXC_PATH}/${CONTAINER}/config" - else - eerror "Unable to find a suitable configuration file." - eerror "If you set up the container in a non-standard" - eerror "location, please set the CONFIGFILE variable." - return 1 - fi -} - -[ $CONTAINER != $SVCNAME ] && CONFIGFILE=${CONFIGFILE:-$(lxc_get_configfile)} - -lxc_get_var() { - awk 'BEGIN { FS="[ \t]*=[ \t]*" } $1 == "'$1'" { print $2; exit }' ${CONFIGFILE} -} - -lxc_get_net_link_type() { - 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;} - match($1, /lxc\.net\.[[:digit:]]+\.link/) {_link=$2;} - {if(_link != "" && _type != ""){ - printf("%s:%s\n", _link, _type ); - _link=""; _type=""; - }; }' <${CONFIGFILE} -} - -checkconfig() { - if [ ${CONTAINER} = ${SVCNAME} ]; then - eerror "You have to create an init script for each container:" - eerror " ln -s lxc /etc/init.d/lxc.container" - return 1 - fi - - # no need to output anything, the function takes care of that. - [ -z "${CONFIGFILE}" ] && return 1 - - utsname=$(lxc_get_var lxc.uts.name) - if [ -z "$utsname" ] ; then - utsname=$(lxc_get_var lxc.utsname) - fi - - if [ "${CONTAINER}" != "${utsname}" ]; then - eerror "You should use the same name for the service and the" - eerror "container. Right now the container is called ${utsname}" - return 1 - fi -} - -depend() { - # be quiet, since we have to run depend() also for the - # non-muxed init script, unfortunately. - checkconfig 2>/dev/null || return 0 - - config ${CONFIGFILE} - need localmount - use lxcfs - - local _x _if - for _x in $(lxc_get_net_link_type); do - _if=${_x%:*} - case "${_x##*:}" in - # when the network type is set to phys, we can make use of a - # network service (for instance to set it up before we disable - # the net_admin capability), but we might also not set it up - # at all on the host and leave the net_admin capable service - # to take care of it. - phys) use net.${_if} ;; - *) need net.${_if} ;; - esac - done -} - -start() { - checkconfig || return 1 - rm -f /var/log/lxc/${CONTAINER}.log - - rootpath=$(lxc_get_var lxc.rootfs) - - # Check the format of our init and the chroot's init, to see - # if we have to use linux32 or linux64; always use setarch - # when required, as that makes it easier to deal with - # x32-based containers. - case $(scanelf -BF '%a#f' ${rootpath}/sbin/init) in - EM_X86_64) setarch=linux64;; - EM_386) setarch=linux32;; - esac - - ebegin "Starting ${CONTAINER}" - env -i ${setarch} $(which lxc-start) -l WARN -n ${CONTAINER} -f ${CONFIGFILE} -d -o /var/log/lxc/${CONTAINER}.log - sleep 1 - - # lxc-start -d will _always_ report a correct startup, even if it - # failed, so rather than trust that, check that the cgroup exists. - [ -d /sys/fs/cgroup/cpuset/lxc/${CONTAINER} ] - eend $? -} - -stop() { - checkconfig || return 1 - - - if ! [ -d /sys/fs/cgroup/cpuset/lxc/${CONTAINER} ]; then - ewarn "${CONTAINER} doesn't seem to be started." - return 0 - fi - - # 10s should be enough to shut everything down - ebegin "Stopping ${CONTAINER}" - lxc-stop -t 10 -n ${CONTAINER} - eend $? -} diff --git a/app-containers/lxc/files/lxc.initd.8 b/app-containers/lxc/files/lxc.initd.8 deleted file mode 100644 index 727f6d504fb3..000000000000 --- a/app-containers/lxc/files/lxc.initd.8 +++ /dev/null @@ -1,131 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -CONTAINER=${SVCNAME#*.} - -LXC_PATH=`lxc-config lxc.lxcpath` - -lxc_get_configfile() { - if [ -f "${LXC_PATH}/${CONTAINER}.conf" ]; then - echo "${LXC_PATH}/${CONTAINER}.conf" - elif [ -f "${LXC_PATH}/${CONTAINER}/config" ]; then - echo "${LXC_PATH}/${CONTAINER}/config" - else - eerror "Unable to find a suitable configuration file." - eerror "If you set up the container in a non-standard" - eerror "location, please set the CONFIGFILE variable." - return 1 - fi -} - -[ $CONTAINER != $SVCNAME ] && CONFIGFILE=${CONFIGFILE:-$(lxc_get_configfile)} - -lxc_get_var() { - awk 'BEGIN { FS="[ \t]*=[ \t]*" } $1 == "'$1'" { print $2; exit }' ${CONFIGFILE} -} - -lxc_get_net_link_type() { - 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;} - match($1, /lxc\.net\.[[:digit:]]+\.link/) {_link=$2;} - {if(_link != "" && _type != ""){ - printf("%s:%s\n", _link, _type ); - _link=""; _type=""; - }; }' <${CONFIGFILE} -} - -checkconfig() { - if [ ${CONTAINER} = ${SVCNAME} ]; then - eerror "You have to create an init script for each container:" - eerror " ln -s lxc /etc/init.d/lxc.container" - return 1 - fi - - # no need to output anything, the function takes care of that. - [ -z "${CONFIGFILE}" ] && return 1 - - utsname=$(lxc_get_var lxc.uts.name) - if [ -z "$utsname" ] ; then - utsname=$(lxc_get_var lxc.utsname) - fi - - if [ "${CONTAINER}" != "${utsname}" ]; then - eerror "You should use the same name for the service and the" - eerror "container. Right now the container is called ${utsname}" - return 1 - fi -} - -depend() { - # be quiet, since we have to run depend() also for the - # non-muxed init script, unfortunately. - checkconfig 2>/dev/null || return 0 - - config ${CONFIGFILE} - need localmount - use lxcfs - - local _x _if - for _x in $(lxc_get_net_link_type); do - _if=${_x%:*} - case "${_x##*:}" in - # when the network type is set to phys, we can make use of a - # network service (for instance to set it up before we disable - # the net_admin capability), but we might also not set it up - # at all on the host and leave the net_admin capable service - # to take care of it. - phys) use net.${_if} ;; - *) need net.${_if} ;; - esac - done -} - -start() { - checkconfig || return 1 - rm -f /var/log/lxc/${CONTAINER}.log - - rootpath=$(lxc_get_var lxc.rootfs) - - # Check the format of our init and the chroot's init, to see - # if we have to use linux32 or linux64; always use setarch - # when required, as that makes it easier to deal with - # x32-based containers. - case $(scanelf -BF '%a#f' ${rootpath}/sbin/init) in - EM_X86_64) setarch=linux64;; - EM_386) setarch=linux32;; - esac - - ebegin "Starting LXC container ${CONTAINER}" - env -i ${setarch} $(which lxc-start) -n ${CONTAINER} -f ${CONFIGFILE} -d -o /var/log/lxc/${CONTAINER}.log - sleep 1 - - # lxc-start -d will _always_ report a correct startup, even if it - # failed, so rather than trust that, check that the cgroup exists. - # fix for LXC 3.1 - - STATE="$(lxc-info -s -H ${CONTAINER})" - [ "$STATE" = "RUNNING" ] - - eend $? -} - -stop() { - checkconfig || return 1 - - STATE="$(lxc-info -s -H ${CONTAINER})" - - if ! [ "$STATE" = "RUNNING" ]; then - ewarn "${CONTAINER} doesn't seem to be started." - return 0 - fi - - # 30s should be enough to shut everything down - # lxc-stop will return back anyway as soon as successful shutdown - # after 30s, lxc-stop sends SIGKILL (dirty shotdown) - ebegin "Stopping LXC container ${CONTAINER}" - lxc-stop -t 30 -n ${CONTAINER} - eend $? -} diff --git a/app-containers/lxc/files/lxc_at.service.4 b/app-containers/lxc/files/lxc_at.service.4 deleted file mode 100644 index 64ae7457096c..000000000000 --- a/app-containers/lxc/files/lxc_at.service.4 +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=Linux Container %I -After=network.target -Wants=lxcfs.service - -[Service] -Restart=always -ExecStart=/usr/bin/lxc-start -n %i -F -ExecReload=/usr/bin/lxc-restart -n %i -ExecStop=/usr/bin/lxc-stop -n %i -Delegate=yes - -[Install] -WantedBy=multi-user.target 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-5.0.3.ebuild b/app-containers/lxc/lxc-5.0.3.ebuild new file mode 100644 index 000000000000..4fdedaf083a2 --- /dev/null +++ b/app-containers/lxc/lxc-5.0.3.ebuild @@ -0,0 +1,169 @@ +# 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 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.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 + 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=/usr/share/openpgp-keys/linuxcontainers.asc + +DOCS=( AUTHORS CONTRIBUTING MAINTAINERS README.md doc/FAQ.txt ) + +pkg_setup() { + linux-info_pkg_setup +} + +src_configure() { + local emesonargs=( + --localstatedir "${EPREFIX}/var" + + -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 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) + + -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" ) + local emesonargs+=( -Dsd-bus=enabled ) + else + local emesonargs+=( -Dinit-script="sysvinit" ) + local emesonargs+=( -Dsd-bus=disabled ) + fi + + use tools && local emesonargs+=( -Dcapabilities=true ) + + if $(tc-ld-is-gold) || $(tc-ld-is-lld); then + local emesonargs+=( -Db_lto_mode=thin ) + else + local emesonargs+=( -Db_lto_mode=default ) + fi + + meson_src_configure +} + +src_install() { + meson_src_install + + # The main bash-completion file will collide with lxd, need to relocate and update symlinks. + mkdir -p "${ED}"/$(get_bashcompdir) || die "Failed to create bashcompdir." + + if use tools; then + bashcomp_alias lxc-start lxc-{attach,autostart,cgroup,checkpoint,config,console,copy,create,destroy,device,execute,freeze,info,ls,monitor,snapshot,stop,top,unfreeze,unshare,usernsexec,wait} + else + bashcomp_alias lxc-start lxc-usernsexec + fi + + 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" + 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 "automatic template scripts" app-containers/lxc-templates + optfeature "Debian-based distribution container image support" dev-util/debootstrap + optfeature "snapshot & restore functionality" sys-process/criu +} diff --git a/app-containers/lxc/lxc-6.0.5.ebuild b/app-containers/lxc/lxc-6.0.5.ebuild new file mode 100644 index 000000000000..400acf79c30c --- /dev/null +++ b/app-containers/lxc/lxc-6.0.5.ebuild @@ -0,0 +1,170 @@ +# Copyright 2022-2026 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/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" + +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 ) + +PATCHES=( "${FILESDIR}"/lxc-6.0.5-fix-openat2-include-typo.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" + + -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 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 ) + + 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 +} diff --git a/app-containers/lxc/lxc-6.0.6.ebuild b/app-containers/lxc/lxc-6.0.6.ebuild index 0d789e965d08..1e29cd2d9f02 100644 --- a/app-containers/lxc/lxc-6.0.6.ebuild +++ b/app-containers/lxc/lxc-6.0.6.ebuild @@ -1,52 +1,43 @@ -# Copyright 2021-2026 Liguros Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 -inherit bash-completion-r1 flag-o-matic linux-info meson optfeature systemd toolchain-funcs verify-sig +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 ) -" +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. +LICENSE="GPL-2 LGPL-2.1 LGPL-3" # LGPL-2.1+ is listed, but it's covered by "LGPL-3" +SLOT="0/1.606" # 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 +templates test +tools verify-sig" +IUSE="apparmor +caps doc examples io-uring man pam seccomp selinux ssl systemd test +tools" RDEPEND="acct-group/lxc acct-user/lxc apparmor? ( sys-libs/libapparmor ) caps? ( sys-libs/libcap ) - app-misc/pax-utils - sys-apps/util-linux - sys-libs/libcap[static-libs] - app-alternatives/awk - app-shells/bash-completion io-uring? ( >=sys-libs/liburing-2:= ) pam? ( sys-libs/pam ) seccomp? ( sys-libs/libseccomp ) selinux? ( sys-libs/libselinux ) - ssl? ( - dev-libs/openssl:0= - - ) + ssl? ( dev-libs/openssl:0= ) systemd? ( sys-apps/dbus sys-apps/systemd:= ) - tools? ( sys-libs/libcap ) -" + 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 + doc? ( app-text/doxygen ) man? ( app-text/docbook2X ) verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" -PDEPEND="templates? ( app-containers/lxc-templates )" + RESTRICT="!test? ( test )" CONFIG_CHECK="~!NETPRIO_CGROUP @@ -80,15 +71,15 @@ 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.md MAINTAINERS README.md doc/FAQ.txt ) +DOCS=( AUTHORS MAINTAINERS README.md doc/FAQ.txt ) pkg_setup() { linux-info_pkg_setup } src_configure() { - append-flags -fno-strict-aliasing + # -Dtools-multicall=false: will create a single binary called 'lxc' that conflicts with LXD. local emesonargs=( --localstatedir "${EPREFIX}/var" @@ -105,9 +96,9 @@ src_configure() { $(meson_use apparmor) $(meson_use caps capabilities) + $(meson_use doc api-docs) $(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) @@ -117,7 +108,7 @@ src_configure() { $(meson_use tools) $(usex systemd -Ddbus=true -Ddbus=false) - $(usex systemd -Dinit-script="systemd" -Dinit-script="sysvinit") + $(usex systemd -Dinit-script="systemd" -Dinit-script="openrc") -Ddata-path=/var/lib/lxc -Ddoc-path=/usr/share/doc/${PF} @@ -128,36 +119,33 @@ 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 } src_install() { + if use doc ; then + local HTML_DOCS=( "${BUILD_DIR}/html/"* ) + fi meson_src_install # The main bash-completion file will collide with lxd, need to relocate and update symlinks. - mkdir -p "${ED}"/$(get_bashcompdir) || die "Failed to create bashcompdir." - - if use tools; then - bashcomp_alias lxc-start lxc-{attach,autostart,cgroup,checkpoint,config,console,copy,create,destroy,device,execute,freeze,info,ls,monitor,snapshot,stop,top,unfreeze,unshare,usernsexec,wait} - else - bashcomp_alias lxc-start lxc-usernsexec - fi + 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." - keepdir /var/lib/cache/lxc /var/lib/lib/lxc + # 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 + # Replace upstream 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" + # The openrc files aren't installed with correct permissions. + fperms 0755 /etc/init.d/lxc-{containers,net} fi newinitd "${FILESDIR}/${PN}.initd.9" ${PN} diff --git a/app-containers/lxc/lxc-7.0.0.ebuild b/app-containers/lxc/lxc-7.0.0.ebuild index 0d789e965d08..7331b85f0e61 100644 --- a/app-containers/lxc/lxc-7.0.0.ebuild +++ b/app-containers/lxc/lxc-7.0.0.ebuild @@ -1,52 +1,45 @@ -# Copyright 2021-2026 Liguros Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 -inherit bash-completion-r1 flag-o-matic linux-info meson optfeature systemd toolchain-funcs verify-sig +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 ) -" +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. +LICENSE="GPL-2 LGPL-2.1 LGPL-3" # LGPL-2.1+ is listed, but it's covered by "LGPL-3" +SLOT="0/1.700" # 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 +templates test +tools verify-sig" +IUSE="apparmor +caps doc examples io-uring landlock man pam seccomp selinux ssl systemd test +tools" + +REQUIRED_USE="landlock? ( seccomp )" RDEPEND="acct-group/lxc acct-user/lxc apparmor? ( sys-libs/libapparmor ) caps? ( sys-libs/libcap ) - app-misc/pax-utils - sys-apps/util-linux - sys-libs/libcap[static-libs] - app-alternatives/awk - app-shells/bash-completion io-uring? ( >=sys-libs/liburing-2:= ) pam? ( sys-libs/pam ) seccomp? ( sys-libs/libseccomp ) selinux? ( sys-libs/libselinux ) - ssl? ( - dev-libs/openssl:0= - - ) + ssl? ( dev-libs/openssl:0= ) systemd? ( sys-apps/dbus sys-apps/systemd:= ) - tools? ( sys-libs/libcap ) -" + 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 + doc? ( app-text/doxygen ) man? ( app-text/docbook2X ) verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" -PDEPEND="templates? ( app-containers/lxc-templates )" + RESTRICT="!test? ( test )" CONFIG_CHECK="~!NETPRIO_CGROUP @@ -80,15 +73,18 @@ 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.md MAINTAINERS README.md doc/FAQ.txt ) +DOCS=( AUTHORS MAINTAINERS README.md doc/FAQ.txt ) pkg_setup() { + if use landlock ; then + WARNING_SECURITY_LANDLOCK="CONFIG_SECURITY_LANDLOCK: needed with landlock" + fi linux-info_pkg_setup } src_configure() { - append-flags -fno-strict-aliasing + # -Dtools-multicall=false: will create a single binary called 'lxc' that conflicts with LXD. local emesonargs=( --localstatedir "${EPREFIX}/var" @@ -105,9 +101,10 @@ src_configure() { $(meson_use apparmor) $(meson_use caps capabilities) + $(meson_use doc api-docs) $(meson_use examples) $(meson_use io-uring io-uring-event-loop) - $(meson_use lto b_lto) + $(meson_use landlock landlock-monitor) $(meson_use man) $(meson_use pam pam-cgroup) $(meson_use seccomp) @@ -117,7 +114,7 @@ src_configure() { $(meson_use tools) $(usex systemd -Ddbus=true -Ddbus=false) - $(usex systemd -Dinit-script="systemd" -Dinit-script="sysvinit") + $(usex systemd -Dinit-script="systemd" -Dinit-script="openrc") -Ddata-path=/var/lib/lxc -Ddoc-path=/usr/share/doc/${PF} @@ -128,36 +125,33 @@ 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 } src_install() { + if use doc ; then + local HTML_DOCS=( "${BUILD_DIR}/html/"* ) + fi meson_src_install # The main bash-completion file will collide with lxd, need to relocate and update symlinks. - mkdir -p "${ED}"/$(get_bashcompdir) || die "Failed to create bashcompdir." - - if use tools; then - bashcomp_alias lxc-start lxc-{attach,autostart,cgroup,checkpoint,config,console,copy,create,destroy,device,execute,freeze,info,ls,monitor,snapshot,stop,top,unfreeze,unshare,usernsexec,wait} - else - bashcomp_alias lxc-start lxc-usernsexec - fi + 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." - keepdir /var/lib/cache/lxc /var/lib/lib/lxc + # 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 + # Replace upstream 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" + # The openrc files aren't installed with correct permissions. + fperms 0755 /etc/init.d/lxc-{containers,net} fi newinitd "${FILESDIR}/${PN}.initd.9" ${PN} diff --git a/app-containers/lxc/metadata.xml b/app-containers/lxc/metadata.xml index 0ca47d64f6a4..e3b165af83d7 100644 --- a/app-containers/lxc/metadata.xml +++ b/app-containers/lxc/metadata.xml @@ -1,19 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> + <maintainer type="person"> + <email>juippis@gentoo.org</email> + <name>Joonas Niilola</name> + </maintainer> <maintainer type="project"> - <email>dev@liguros.net</email> - <name>Development</name> + <email>virtualization@gentoo.org</email> + <name>Gentoo Virtualization Project</name> </maintainer> - <upstream> - <remote-id type="cpe">cpe:/a:linuxcontainers:lxc</remote-id> - </upstream> <use> - <flag name="apparmor">Enable AppArmor support</flag> - <flag name="templates">Install old style templates through <pkg>app-containers/lxc-templates</pkg> - </flag> - <flag name="io-uring">Enable io_uring support, and use io_uring instead of epoll</flag> + <flag name="landlock">Use Landlock to restrict what the monitor API handlers can do on the system</flag> <flag name="tools">Build and install additional command line tools</flag> </use> + <upstream> + <remote-id type="cpe">cpe:/a:linuxcontainers:lxc</remote-id> + </upstream> <origin>baldeagleos-repo</origin> </pkgmetadata> diff --git a/app-containers/nvidia-docker/Manifest b/app-containers/nvidia-docker/Manifest deleted file mode 100644 index 87a5f7a6e69c..000000000000 --- a/app-containers/nvidia-docker/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST nvidia-docker-2.12.0.tar.gz 18769 BLAKE2B ef333237c2293a826acd7a17a6c21f2b16920a77835058b784665ef295664388d7c7c85018c5def53d5831102d8ff62f6c06e66d20a6ab4eaf22181be7c80d1b SHA512 2062cf9b87a213f531a3383327cff09b7bfa8a2845ae3d0bb6aac5f3d1132678bbb2108f34938b0bf84c79bbb1b6a23ba665f99db51bcbe197d4b730d894da25 -DIST nvidia-docker-2.13.0.tar.gz 18767 BLAKE2B a996683b756227dff8c841fe2815c4aee9d604f6c6f7be82c60bf0037c447eb37c0ec51a0039e5e92e77c0db57e72b59ab28494d02fac39f9a438656ff3b714c SHA512 ac2ab8b972ddc8e0228d1fed4328756302d0dffb61f1ab372374f90a276a9bd116bd61748dba09ab9453dda55695bbea910ec8659335f92cb9ac239218c3138f diff --git a/app-containers/nvidia-docker/metadata.xml b/app-containers/nvidia-docker/metadata.xml deleted file mode 100644 index 75e2e665e6b4..000000000000 --- a/app-containers/nvidia-docker/metadata.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="project"> - <email>dev@liguros.net</email> - <name>Development</name> - </maintainer> - <origin>baldeagleos-repo</origin> -</pkgmetadata> diff --git a/app-containers/nvidia-docker/nvidia-docker-2.12.0.ebuild b/app-containers/nvidia-docker/nvidia-docker-2.12.0.ebuild deleted file mode 100644 index fef89ade3525..000000000000 --- a/app-containers/nvidia-docker/nvidia-docker-2.12.0.ebuild +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 2020-2023 LiGurOs Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 - -DESCRIPTION="NVIDIA Docker" -HOMEPAGE="https://github.com/NVIDIA/nvidia-docker" -SRC_URI="https://github.com/NVIDIA/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="*" -IUSE="" - -DEPEND="" - -RDEPEND="${DEPEND} - app-containers/docker - >=app-containers/nvidia-container-toolkit-1.7.0 - x11-drivers/nvidia-drivers" - -src_compile() { - : -} - -src_install() { - dobin ${PN} - dodir /etc/docker - insinto /etc/docker - doins daemon.json -} diff --git a/app-containers/nvidia-docker/nvidia-docker-2.13.0.ebuild b/app-containers/nvidia-docker/nvidia-docker-2.13.0.ebuild deleted file mode 100644 index fef89ade3525..000000000000 --- a/app-containers/nvidia-docker/nvidia-docker-2.13.0.ebuild +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 2020-2023 LiGurOs Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 - -DESCRIPTION="NVIDIA Docker" -HOMEPAGE="https://github.com/NVIDIA/nvidia-docker" -SRC_URI="https://github.com/NVIDIA/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="*" -IUSE="" - -DEPEND="" - -RDEPEND="${DEPEND} - app-containers/docker - >=app-containers/nvidia-container-toolkit-1.7.0 - x11-drivers/nvidia-drivers" - -src_compile() { - : -} - -src_install() { - dobin ${PN} - dodir /etc/docker - insinto /etc/docker - doins daemon.json -} |
