summaryrefslogtreecommitdiff
path: root/app-containers
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-20 14:54:46 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-20 14:54:46 -0500
commit1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0 (patch)
tree18e2e784f9fb0dbc3546537acc42ad51b366d90e /app-containers
parent9f6a581d94412ab1cf4b35c33101f6be0ddc7777 (diff)
downloadbaldeagleos-repo-1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0.tar.gz
baldeagleos-repo-1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0.tar.xz
baldeagleos-repo-1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0.zip
Adding metadata
Diffstat (limited to 'app-containers')
-rw-r--r--app-containers/lxc-templates/Manifest2
-rw-r--r--app-containers/lxc-templates/files/lxc-templates-3.0.1-no-cache-dir.patch12
-rw-r--r--app-containers/lxc-templates/lxc-templates-3.0.4.ebuild27
-rw-r--r--app-containers/lxc-templates/lxc-templates-3.0.4_p20240917.ebuild28
-rw-r--r--app-containers/lxc-templates/metadata.xml8
-rw-r--r--app-containers/lxc/Manifest4
-rw-r--r--app-containers/lxc/files/lxc-6.0.5-fix-openat2-include-typo.patch25
-rw-r--r--app-containers/lxc/files/lxc.initd.7124
-rw-r--r--app-containers/lxc/files/lxc.initd.8131
-rw-r--r--app-containers/lxc/files/lxc_at.service.414
-rw-r--r--app-containers/lxc/files/lxc_at.service.4.0.015
-rw-r--r--app-containers/lxc/lxc-5.0.3.ebuild169
-rw-r--r--app-containers/lxc/lxc-6.0.5.ebuild170
-rw-r--r--app-containers/lxc/lxc-6.0.6.ebuild72
-rw-r--r--app-containers/lxc/lxc-7.0.0.ebuild78
-rw-r--r--app-containers/lxc/metadata.xml19
-rw-r--r--app-containers/nvidia-docker/Manifest2
-rw-r--r--app-containers/nvidia-docker/metadata.xml9
-rw-r--r--app-containers/nvidia-docker/nvidia-docker-2.12.0.ebuild30
-rw-r--r--app-containers/nvidia-docker/nvidia-docker-2.13.0.ebuild30
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
-}