summaryrefslogtreecommitdiff
path: root/app-containers
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-04-06 00:30:33 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-04-06 00:30:33 +0100
commit9323524b4d44f4ec3dc923bd8e9ea04bdde8a067 (patch)
tree8ca7b8c58d4e70389d5d4672ebd86cb475cf9f80 /app-containers
parent8c11cf748cc296d6338a189106a8cc9e3a1e0948 (diff)
gentoo auto-resync : 06:04:2024 - 00:30:33
Diffstat (limited to 'app-containers')
-rw-r--r--app-containers/Manifest.gzbin8733 -> 8730 bytes
-rw-r--r--app-containers/incus/Manifest3
-rw-r--r--app-containers/incus/incus-6.0.0.ebuild205
-rw-r--r--app-containers/lxc/Manifest3
-rw-r--r--app-containers/lxc/lxc-6.0.0-r1.ebuild171
5 files changed, 382 insertions, 0 deletions
diff --git a/app-containers/Manifest.gz b/app-containers/Manifest.gz
index 55b2ee22a3c1..0f76059359c2 100644
--- a/app-containers/Manifest.gz
+++ b/app-containers/Manifest.gz
Binary files differ
diff --git a/app-containers/incus/Manifest b/app-containers/incus/Manifest
index c59c432aa151..366138e6ef67 100644
--- a/app-containers/incus/Manifest
+++ b/app-containers/incus/Manifest
@@ -12,6 +12,9 @@ DIST incus-0.6.tar.xz 11749212 BLAKE2B 6cf607f13f0dd14e04b49e97e718d6f11612193a6
DIST incus-0.6.tar.xz.asc 833 BLAKE2B 47d80cbf92961d03e8a96eb313213960b02730d21d0a36c37e22bd1ea238bee72b94f2f98f49574b4ae07d847099db760a253f3bf69ff2658bcba65bc6a61315 SHA512 7504f74bf1659f06c40b9ae04853bb993988ae704f2b46c39a744bfa7b179383b5377851b6514b368826d6b3beb930188f3cf73b51c99a1b4cb90f8f03a60b5c
DIST incus-0.7.tar.xz 11829696 BLAKE2B 9e7dd7b196e538a4eb47d158d7c3d5459eace38431dfbe91d5f28f5b9dfc174e485b44f6b8c0f87a054e11f40d29d754f05fc6835034e4131bd8d6b948d720fa SHA512 79e389be3fa094c6c82c1e06b9f2a7e5181dc91db40cdcae4b28593a3e9e53f4f5705b5d6566b48689dbdaec9a277704df0c1b396455aca5f4c5ab93e74dc4d7
DIST incus-0.7.tar.xz.asc 833 BLAKE2B afb20ff942a4497e895d0cf40b4de260ea32d4cb40284e317188c6aef5e100836ac434038aa931a2ee733abce3569a6ef8bbc162afdcf4dfc542e5c6b55e7d6b SHA512 0ace5c060e1222220858814fb55ecd48ccb0f51d902e6ef29f32d715e185a8c3dcbd29f556453fdc19ad23b1eea7b39db06786cc73373d881d0137d3ebf3af9a
+DIST incus-6.0.0.tar.xz 11839792 BLAKE2B 135574e6f19262992bb068a3c0a0045c192699503e417eb861e00a974e631fd869485eb96238d1dbe4712e789367d31afae1c62bade2a8b75f7e9a7620547e74 SHA512 eb6d784a535d487bd85b3e8272d7cddc23f2ed98ca2b3e2f19c038b4a6f910d4030822424154489adef7a688757905927309d25f6d1ff621d99d678fe6aeae2b
+DIST incus-6.0.0.tar.xz.asc 833 BLAKE2B f35c38f886290ff08e017cd54e8019c43bfbf1f9c84b26ede2cfa78acbe4047af4314465e77d6e900f296552d5ac8f8c07d26a11920bff937fbb8a0a910efb0d SHA512 0360520752fad3e95807d09e4fd6d60c96a202d0dbb61621925abd75aa801b6d573abbece3179a8906bdc47e96ddec4a746607ce2d10dcc1a76d0afd459cbf81
EBUILD incus-0.6-r1.ebuild 5646 BLAKE2B d02935bfac358387ffff2ed30581dd93e4aad56a8f06b8726fab913450bbdf4cbe29115c1285ea36b6aff558278ddf538ba46ae959e5bd22f10a3ed9174c88d5 SHA512 7e3927505996a7ceb6d04740c5460d43355dd928bb4482e175041a4a6116ce9a473a39c59a5c61d02177155c749c70469a579ca9f356a6e91729ff72f762349f
EBUILD incus-0.7.ebuild 5908 BLAKE2B e5c0f73452fb6f79771384bc5aff13fad1ae5bc5596b61f569d272e36d94af6d6944475072a50289bed803de0dabe100955f3690a861fb66b7ede6a05fcef341 SHA512 e2deecf9ba3120174e05ec32c889723757baac170dc155738fb91fe66bd6c5008d5117e2da16a2dd724d7d13d71d1bacc73d7a8ce6babe0fc04079ff2bda1185
+EBUILD incus-6.0.0.ebuild 5917 BLAKE2B 1117223ffffbea0f9b0caf2c95dc5150eb5235e1b6175e9c8b5415d060b3db779c392256638c090796c3197ca0e4257c3edac8aa9ce9ffba025b3ebb9a82c91b SHA512 734de5154851752cc67730474092a0bf2e130129e6bcf629dd8ec2f1f62838207127555b4a369bda0b14640f526c8a038bff1432c8e77fe121a85713af80df57
MISC metadata.xml 1597 BLAKE2B 6e8ceafa8dca7d49fa754470c9645e11946d3419135ec3a12581e227945b64a13612a7eb3e833027bbf6d3c795acbaced979ba80f00a9e36f6831fb6111dd2d2 SHA512 d3c0ec128f715627addc5be758c87bea808626f9d9ada75aeac9be9a84039b68385ae65edfb5d57951ff4e7352565fbba040035da82ce8eaffcca585811d3577
diff --git a/app-containers/incus/incus-6.0.0.ebuild b/app-containers/incus/incus-6.0.0.ebuild
new file mode 100644
index 000000000000..1c2b2fa462e1
--- /dev/null
+++ b/app-containers/incus/incus-6.0.0.ebuild
@@ -0,0 +1,205 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit go-module linux-info optfeature systemd verify-sig
+
+DESCRIPTION="Modern, secure and powerful system container and virtual machine manager"
+HOMEPAGE="https://linuxcontainers.org/incus/introduction/ https://github.com/lxc/incus"
+SRC_URI="https://linuxcontainers.org/downloads/incus/${P}.tar.xz
+ verify-sig? ( https://linuxcontainers.org/downloads/incus/${P}.tar.xz.asc )"
+
+LICENSE="Apache-2.0 BSD LGPL-3 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="apparmor fuidshift nls"
+
+DEPEND="acct-group/incus
+ acct-group/incus-admin
+ app-arch/xz-utils
+ >=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)]
+ dev-db/sqlite:3
+ >=dev-libs/cowsql-1.15.6
+ dev-libs/lzo
+ >=dev-libs/raft-0.22.1:=[lz4]
+ >=dev-util/xdelta-3.0[lzma(+)]
+ net-dns/dnsmasq[dhcp]
+ sys-libs/libcap
+ virtual/udev"
+RDEPEND="${DEPEND}
+ fuidshift? ( !app-containers/lxd )
+ net-firewall/ebtables
+ net-firewall/iptables
+ sys-apps/iproute2
+ sys-fs/fuse:*
+ >=sys-fs/lxcfs-5.0.0
+ sys-fs/squashfs-tools[lzma]
+ virtual/acl"
+BDEPEND=">=dev-lang/go-1.21
+ nls? ( sys-devel/gettext )
+ verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )"
+
+CONFIG_CHECK="
+ ~CGROUPS
+ ~IPC_NS
+ ~NET_NS
+ ~PID_NS
+
+ ~SECCOMP
+ ~USER_NS
+ ~UTS_NS
+
+ ~KVM
+ ~MACVTAP
+ ~VHOST_VSOCK
+"
+
+ERROR_IPC_NS="CONFIG_IPC_NS is required."
+ERROR_NET_NS="CONFIG_NET_NS is required."
+ERROR_PID_NS="CONFIG_PID_NS is required."
+ERROR_SECCOMP="CONFIG_SECCOMP is required."
+ERROR_UTS_NS="CONFIG_UTS_NS is required."
+
+WARNING_KVM="CONFIG_KVM and CONFIG_KVM_AMD/-INTEL is required for virtual machines."
+WARNING_MACVTAP="CONFIG_MACVTAP is required for virtual machines."
+WARNING_VHOST_VSOCK="CONFIG_VHOST_VSOCK is required for virtual machines."
+
+# Go magic.
+QA_PREBUILT="/usr/bin/incus
+ /usr/bin/lxc-to-incus
+ /usr/bin/incus-agent
+ /usr/bin/incus-benchmark
+ /usr/bin/incus-migrate
+ /usr/sbin/fuidshift
+ /usr/sbin/lxd-to-incus
+ /usr/sbin/incusd"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc
+
+# The testsuite must be run as root.
+# make: *** [Makefile:156: check] Error 1
+RESTRICT="test"
+
+GOPATH="${S}/_dist"
+
+src_prepare() {
+ export GOPATH="${S}/_dist"
+
+ default
+
+ sed -i \
+ -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/incus:g" \
+ -e "s:make:make ${MAKEOPTS}:g" \
+ Makefile || die
+
+ # Fix hardcoded ovmf file path, see bug 763180
+ sed -i \
+ -e "s:/usr/share/OVMF:/usr/share/edk2-ovmf:g" \
+ -e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \
+ doc/environment.md \
+ internal/server/apparmor/instance.go \
+ internal/server/apparmor/instance_qemu.go \
+ internal/server/instance/drivers/driver_qemu.go || die "Failed to fix hardcoded ovmf paths."
+
+ # Fix hardcoded virtfs-proxy-helper file path, see bug 798924
+ sed -i \
+ -e "s:/usr/lib/qemu/virtfs-proxy-helper:/usr/libexec/virtfs-proxy-helper:g" \
+ internal/server/device/device_utils_disk.go || die "Failed to fix virtfs-proxy-helper path."
+
+ cp "${FILESDIR}"/incus-0.4.service "${T}"/incus.service || die
+ if use apparmor; then
+ sed -i \
+ '/^EnvironmentFile=.*/a ExecStartPre=\/usr\/libexec\/lxc\/lxc-apparmor-load' \
+ "${T}"/incus.service || die
+ fi
+
+ # Disable -Werror's from go modules.
+ find "${S}" -name "cgo.go" -exec sed -i "s/ -Werror / /g" {} + || die
+}
+
+src_configure() { :; }
+
+src_compile() {
+ export GOPATH="${S}/_dist"
+ export CGO_LDFLAGS_ALLOW="-Wl,-z,now"
+
+ for k in incus-benchmark incus-simplestreams incus-user incus lxc-to-incus lxd-to-incus ; do
+ ego install -v -x "${S}/cmd/${k}"
+ done
+
+ if use fuidshift ; then
+ ego install -v -x "${S}/cmd/fuidshift"
+ fi
+
+ ego install -v -x -tags libsqlite3 "${S}"/cmd/incusd
+
+ # Needs to be built statically
+ CGO_ENABLED=0 go install -v -tags netgo "${S}"/cmd/incus-migrate
+ CGO_ENABLED=0 go install -v -tags agent,netgo "${S}"/cmd/incus-agent
+
+ use nls && emake build-mo
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ export GOPATH="${S}/_dist"
+ local bindir="_dist/bin"
+
+ newsbin "${FILESDIR}"/incus-startup-0.4.sh incus-startup
+
+ # Admin tools
+ for l in incusd incus-user lxd-to-incus ; do
+ dosbin ${bindir}/${l}
+ done
+
+ # User tools
+ for m in incus-agent incus-benchmark incus-migrate incus-simplestreams incus lxc-to-incus ; do
+ dobin ${bindir}/${m}
+ done
+
+ # fuidshift, should be moved under admin tools at some point
+ if use fuidshift ; then
+ dosbin ${bindir}/fuidshift
+ fi
+
+ newconfd "${FILESDIR}"/incus-0.4.confd incus
+ newinitd "${FILESDIR}"/incus-0.4.initd incus
+ newinitd "${FILESDIR}"/incus-user-0.4.initd incus-user
+
+ systemd_dounit "${T}"/incus.service
+ systemd_newunit "${FILESDIR}"/incus-0.4.socket incus.socket
+ systemd_newunit "${FILESDIR}"/incus-startup-0.4.service incus-startup.service
+ systemd_newunit "${FILESDIR}"/incus-user-0.4.service incus-user.service
+ systemd_newunit "${FILESDIR}"/incus-user-0.4.socket incus-user.socket
+
+ # Generate and install shell completion files.
+ mkdir -p "${D}"/usr/share/{bash-completion/completions/,fish/vendor_completions.d/,zsh/site-functions/} || die
+ "${bindir}"/incus completion bash > "${D}"/usr/share/bash-completion/completions/incus || die
+ "${bindir}"/incus completion fish > "${D}"/usr/share/fish/vendor_completions.d/incus.fish || die
+ "${bindir}"/incus completion zsh > "${D}"/usr/share/zsh/site-functions/_incus || die
+
+ dodoc AUTHORS
+ dodoc -r doc/*
+ use nls && domo po/*.mo
+}
+
+pkg_postinst() {
+ elog
+ elog "Please see"
+ elog " https://wiki.gentoo.org/wiki/Incus"
+ elog " https://wiki.gentoo.org/wiki/Incus#Migrating_from_LXD"
+ elog
+ optfeature "virtual machine support" app-cdr/cdrtools app-emulation/qemu[spice,usbredir,virtfs]
+ optfeature "btrfs storage backend" sys-fs/btrfs-progs
+ optfeature "ipv6 support" net-dns/dnsmasq[ipv6]
+ optfeature "full incus-migrate support" net-misc/rsync
+ optfeature "lvm2 storage backend" sys-fs/lvm2
+ optfeature "zfs storage backend" sys-fs/zfs
+ elog
+ elog "Be sure to add your local user to the incus group."
+ elog
+}
diff --git a/app-containers/lxc/Manifest b/app-containers/lxc/Manifest
index 513151571be7..fc610d904dc9 100644
--- a/app-containers/lxc/Manifest
+++ b/app-containers/lxc/Manifest
@@ -5,5 +5,8 @@ AUX lxc.service-5.0.0 527 BLAKE2B 44d1fca919615c1acb672baa7b77bd43680975782683ad
AUX lxc_at.service.5.0.0 395 BLAKE2B b4a329964041a9b3017df80aedb73f296d60e0b78097c72e52b921de939246a45d07591535d3971458cee38bf4ddf84021af3f325bffac6db9ba7c4c78a48a5b SHA512 d896c2eb889b83a77041fcd51604bea11db65b8b494c9c063a72ed182006577ed49e2e2c0842353de4676b3fc1246508e5b7c669d797929818cccf485282d85c
DIST lxc-5.0.3.tar.gz 975269 BLAKE2B 533d97fe4d986acbf5d562bb2c295a63df2a9a8bfc27aeff5056e4235f667102500debc586c5698482ec048c1b222a0fdc234db6fd6648c4b649f87a85de18f8 SHA512 0553be317431ab7ec0c450c0f85724a53de1f251c39c9716168e17cda6a8daec70b8221228c4be64027df28a327e0f1fd508e6bb48348ab540bbfeaf2b9ac974
DIST lxc-5.0.3.tar.gz.asc 833 BLAKE2B c35278ed17cad76d2ea94b3985e0110731efea751fb5f1c2d1c9db71486e4844285f372a94c8611dcfe91fdb16459694843b9e0a8273cfc68a56f549c7162cfb SHA512 a5ce5769d49abdf35d94de8273fd3e9c2a8ba4fafea71cf33ee6bce1d83531c8b550d972f7080409a4cc5a92e9d04ece50ed108f92c6aec4868d150e58d7d11a
+DIST lxc-6.0.0.tar.gz 964053 BLAKE2B d41bcab4e225c139d4d41df5291717e4d196fe3b48d978a993811b74a08e7a75e1528f4bf44f694a624537632bdec642cd80cf51a528dea848baa11c10471afa SHA512 acff2fc70cf2c65af37b70a21239482c3d845c408f7132558b54980e4400c23670c63178a3a3dfb239f047f529004df93cd829d728852a8c8647ce6babf7857f
+DIST lxc-6.0.0.tar.gz.asc 833 BLAKE2B d2cda07e605d64dbb650506cf536c545e2c5746973c834f4d4f409064e2ba8265040b13a60e124e30e154bbc5a51c704bad0fa2ff5530effddfa449618aa60a7 SHA512 4e56ffa7395877714f993d9c54cf8b9df91cdced96c5a609b63f5e3896a0a51db8ba6f99bf2360d60af202df79123deea72215bf854d8798d3af361a4888445e
EBUILD lxc-5.0.3.ebuild 5052 BLAKE2B 99a20e705617194a9e38ec6dabbc52fd43dbd5615a6b00379921f4ba200c2110f666878c00195917109f37cfed961258978b79bc3db0814986c36429537e660c SHA512 050ebb35250bd258a602ee84f9f1b1c35531caa0c3f9954bb8380927a8c262ffd66776cc0af643aaf69a7e0c51dccfe82bb2e3993e264ba2a0c91de8bd94faf5
+EBUILD lxc-6.0.0-r1.ebuild 5163 BLAKE2B c0a5955268931cebe3f7144b370bb5975817218c0d6a64952ab1fb51565f67d95c697c5ee3b9012f98722de67b35487ddf25ae91fb03d2e835a9616389a3a832 SHA512 ce2c08d46134d60ba671476e69dcdf6583e20380f78c417fcd47294436b1bacceb589bf5db95482101a974af4e2c0fe5b20b4515960f7cb923593cff5da27422
MISC metadata.xml 721 BLAKE2B 8aaa67af4ae36f07ac2d893f0d67d86de08d9da065b5ca7118a7a795a2b2ecb55b37a87b95b456ebc8806bbdc9f36e92901b6888cb75f494a7151393b33b6d44 SHA512 3b90cb1c80e2ee9ef3d30273c91ab625ec79ad240edc40dea011078ab44759b03c3ac28484cfc639b4108557a7c5e00e798b4e335da9ba94a5a836f51ee7701a
diff --git a/app-containers/lxc/lxc-6.0.0-r1.ebuild b/app-containers/lxc/lxc-6.0.0-r1.ebuild
new file mode 100644
index 000000000000..64d7aef60e47
--- /dev/null
+++ b/app-containers/lxc/lxc-6.0.0-r1.ebuild
@@ -0,0 +1,171 @@
+# 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
+ sys-apps/dbus
+ 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() {
+
+ # -Dtools-multicall=false: will create a single binary called 'lxc' that conflicts with LXD.
+ local emesonargs=(
+ --localstatedir "${EPREFIX}/var"
+
+ -Ddbus=true
+
+ -Dcoverity-build=false
+ -Dinstall-state-dirs=false
+ -Doss-fuzz=false
+ -Dspecfile=false
+ -Dtools-multicall=false
+
+ -Dcommands=true
+ -Dinstall-init-files=true
+ -Dmemfd-rexec=true
+ -Dthread-safety=true
+
+ $(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 -Dinit-script="systemd" -Dinit-script="sysvinit")
+
+ -Ddata-path=/var/lib/lxc
+ -Ddoc-path=/usr/share/doc/${PF}
+ -Dlog-path=/var/log/lxc
+ -Drootfs-mount-path=/var/lib/lxc/rootfs
+ -Druntime-path=/run
+ )
+
+ use tools && local emesonargs+=( -Dcapabilities=true )
+
+ if $(tc-ld-is-gold) || $(tc-ld-is-lld); then
+ local emesonargs+=( -Db_lto_mode=thin )
+ else
+ local emesonargs+=( -Db_lto_mode=default )
+ fi
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ # The main bash-completion file will collide with lxd, need to relocate and update symlinks.
+ mkdir -p "${ED}"/$(get_bashcompdir) || die "Failed to create bashcompdir."
+
+ if use tools; then
+ bashcomp_alias lxc-start lxc-{attach,autostart,cgroup,checkpoint,config,console,copy,create,destroy,device,execute,freeze,info,ls,monitor,snapshot,stop,top,unfreeze,unshare,usernsexec,wait}
+ else
+ bashcomp_alias lxc-start lxc-usernsexec
+ fi
+
+ find "${ED}" -name '*.la' -delete -o -name '*.a' -delete || die
+
+ # Replace upstream sysvinit/systemd files.
+ if use systemd; then
+ rm -r "${D}$(systemd_get_systemunitdir)" || die "Failed to remove systemd lib dir"
+ else
+ rm "${ED}"/etc/init.d/lxc-{containers,net} || die "Failed to remove sysvinit scripts"
+ fi
+
+ newinitd "${FILESDIR}/${PN}.initd.9" ${PN}
+ systemd_newunit "${FILESDIR}"/lxc-monitord.service.5.0.0 lxc-monitord.service
+ systemd_newunit "${FILESDIR}"/lxc-net.service.5.0.0 lxc-net.service
+ systemd_newunit "${FILESDIR}"/lxc.service-5.0.0 lxc.service
+ systemd_newunit "${FILESDIR}"/lxc_at.service.5.0.0 "lxc@.service"
+
+ if ! use apparmor; then
+ sed -i '/lxc-apparmor-load/d' "${D}$(systemd_get_systemunitdir)/lxc.service" ||
+ die "Failed to remove apparmor references from lxc.service systemd unit."
+ fi
+}
+
+pkg_postinst() {
+ elog "Please refer to "
+ elog "https://wiki.gentoo.org/wiki/LXC for introduction and usage guide."
+ elog
+ elog "Run 'lxc-checkconfig' to see optional kernel features."
+ elog
+
+ optfeature "creating your own LXC containers" app-containers/distrobuilder
+ optfeature "automatic template scripts" app-containers/lxc-templates
+ optfeature "Debian-based distribution container image support" dev-util/debootstrap
+ optfeature "snapshot & restore functionality" sys-process/criu
+}