Gentoo Archives: gentoo-commits

From: Joonas Niilola <juippis@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/lxc/
Date: Fri, 30 Apr 2021 07:01:43
Message-Id: 1619766090.8b4b75e0c921746ee6c4a4b1cb93bedcae1e30d1.juippis@gentoo
1 commit: 8b4b75e0c921746ee6c4a4b1cb93bedcae1e30d1
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Fri Apr 30 06:47:03 2021 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Fri Apr 30 07:01:30 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b4b75e0
7
8 app-emulation/lxc: bump to 4.0.7
9
10 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
11
12 app-emulation/lxc/Manifest | 2 +
13 app-emulation/lxc/lxc-4.0.7.ebuild | 174 +++++++++++++++++++++++++++++++++++++
14 2 files changed, 176 insertions(+)
15
16 diff --git a/app-emulation/lxc/Manifest b/app-emulation/lxc/Manifest
17 index 3db082ff762..6a74af90230 100644
18 --- a/app-emulation/lxc/Manifest
19 +++ b/app-emulation/lxc/Manifest
20 @@ -1,2 +1,4 @@
21 DIST lxc-4.0.6.tar.gz 1363162 BLAKE2B e2d9d281cf521575aeecefbcba0c7b7f336ab73193be94e760b37eb6f3423ec3520f194549def6f64c1662f22b7df5a03dfc6b4e6dac1bf229c5f726f51b4d43 SHA512 98514796ef2091a291516ed7fde737df07ccfe374a0f8b4314e0ee992837e98ed02aa9f7809f8808a2f5ee1c7ae2dcea163531cdaedbb577211eeb9beff90c15
22 DIST lxc-4.0.6.tar.gz.asc 833 BLAKE2B 04b6bda0ed52a6ab8eebde4d3d5f1f6cb19eea017ae989d47323831d467324f99801b40c3bb70f00d7521753a298e6fa339f0da039c4d72b0163d0efc815d7e7 SHA512 baeafa5b63034e2884d5ab4f11710612bed1c61cd493ac19b9b24b93365b89325518b69878015b4b752f71beda47ecabf774b698e6be9ec9aa86376df2c302db
23 +DIST lxc-4.0.7.tar.gz 1485130 BLAKE2B 1b806282f3a07df1936f11a6c7c8f0f4dd10ca91aecb3cf881e4cd5c4106035828619ee4bcb163242206e6aafced7841fcd10c191f1b8d609d4e8cb19d81ba6c SHA512 cc04332466090154cf1862fad7a52c9ad7f08462cbe113b12092face43c0e92d53e082af7744667d5397e6289f4ffcf6787c0cb17648013d267b13437be4d992
24 +DIST lxc-4.0.7.tar.gz.asc 833 BLAKE2B 90e533b5fe96b1f8fd2d3dc08e45438b9211855c79ec514ab722ad5e5b6ec0cbd3579805143c81c854ac09d50ee14319404ee4523dff69c05f4a43137284235f SHA512 a64624b2796d0dac2e0c274cfaaf7c42c23d77903f643005bd5433543318c81b0e715042332a1c120250d4ef23d51ef9be0b7cedeced4f7bfe53d1aee46a6822
25
26 diff --git a/app-emulation/lxc/lxc-4.0.7.ebuild b/app-emulation/lxc/lxc-4.0.7.ebuild
27 new file mode 100644
28 index 00000000000..546b2e6e450
29 --- /dev/null
30 +++ b/app-emulation/lxc/lxc-4.0.7.ebuild
31 @@ -0,0 +1,174 @@
32 +# Copyright 1999-2021 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=7
36 +
37 +inherit autotools bash-completion-r1 linux-info flag-o-matic optfeature pam readme.gentoo-r1 systemd verify-sig
38 +
39 +DESCRIPTION="A userspace interface for the Linux kernel containment features"
40 +HOMEPAGE="https://linuxcontainers.org/ https://github.com/lxc/lxc"
41 +SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz
42 + verify-sig? ( https://linuxcontainers.org/downloads/lxc/${P}.tar.gz.asc )"
43 +
44 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
45 +
46 +LICENSE="LGPL-3"
47 +SLOT="0"
48 +IUSE="apparmor +caps doc examples libressl man pam selinux +ssl +tools verify-sig"
49 +
50 +RDEPEND="acct-group/lxc
51 + acct-user/lxc
52 + app-misc/pax-utils
53 + sys-apps/util-linux
54 + sys-libs/libcap
55 + sys-libs/libseccomp
56 + virtual/awk
57 + caps? ( sys-libs/libcap )
58 + pam? ( sys-libs/pam )
59 + selinux? ( sys-libs/libselinux )
60 + ssl? (
61 + !libressl? ( dev-libs/openssl:0= )
62 + libressl? ( dev-libs/libressl:0= )
63 + )"
64 +DEPEND="${RDEPEND}
65 + >=sys-kernel/linux-headers-4
66 + apparmor? ( sys-apps/apparmor )"
67 +BDEPEND="doc? ( app-doc/doxygen )
68 + man? ( app-text/docbook-sgml-utils )
69 + verify-sig? ( app-crypt/openpgp-keys-linuxcontainers )"
70 +
71 +CONFIG_CHECK="~!NETPRIO_CGROUP
72 + ~CGROUPS
73 + ~CGROUP_CPUACCT
74 + ~CGROUP_DEVICE
75 + ~CGROUP_FREEZER
76 +
77 + ~CGROUP_SCHED
78 + ~CPUSETS
79 + ~IPC_NS
80 + ~MACVLAN
81 +
82 + ~MEMCG
83 + ~NAMESPACES
84 + ~NET_NS
85 + ~PID_NS
86 +
87 + ~POSIX_MQUEUE
88 + ~USER_NS
89 + ~UTS_NS
90 + ~VETH"
91 +
92 +ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers"
93 +ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking"
94 +ERROR_MEMCG="CONFIG_MEMCG: needed for memory resource control in containers"
95 +ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network"
96 +ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command"
97 +ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info"
98 +ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking"
99 +
100 +DOCS=( AUTHORS CONTRIBUTING MAINTAINERS NEWS README doc/FAQ.txt )
101 +
102 +pkg_setup() {
103 + linux-info_pkg_setup
104 +}
105 +
106 +PATCHES=(
107 + "${FILESDIR}"/${PN}-3.0.0-bash-completion.patch
108 + "${FILESDIR}"/${PN}-2.0.5-omit-sysconfig.patch # bug 558854
109 +)
110 +
111 +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc
112 +
113 +src_prepare() {
114 + default
115 + eautoreconf
116 +}
117 +
118 +src_configure() {
119 + append-flags -fno-strict-aliasing
120 +
121 + local myeconfargs=(
122 + --bindir=/usr/bin
123 + --localstatedir=/var
124 + --sbindir=/usr/bin
125 +
126 + --with-config-path=/var/lib/lxc
127 + --with-distro=gentoo
128 + --with-init-script=systemd
129 + --with-rootfs-path=/var/lib/lxc/rootfs
130 + --with-runtime-path=/run
131 + --with-systemdsystemunitdir=$(systemd_get_systemunitdir)
132 +
133 + --disable-coverity-build
134 + --disable-dlog
135 + --disable-fuzzers
136 + --disable-mutex-debugging
137 + --disable-no-undefined
138 + --disable-rpath
139 + --disable-sanitizers
140 + --disable-tests
141 + --disable-werror
142 +
143 + --enable-bash
144 + --enable-commands
145 + --enable-memfd-rexec
146 + --enable-seccomp
147 + --enable-thread-safety
148 +
149 + $(use_enable apparmor)
150 + $(use_enable caps capabilities)
151 + $(use_enable doc api-docs)
152 + $(use_enable examples)
153 + $(use_enable man doc)
154 + $(use_enable pam)
155 + $(use_enable selinux)
156 + $(use_enable ssl openssl)
157 + $(use_enable tools)
158 +
159 + $(use_with pam pamdir $(getpam_mod_dir))
160 + )
161 +
162 + econf "${myeconfargs[@]}"
163 +}
164 +
165 +src_install() {
166 + default
167 +
168 + mv "${ED}"/usr/share/bash-completion/completions/${PN} "${ED}"/$(get_bashcompdir)/${PN}-start || die
169 + bashcomp_alias ${PN}-start \
170 + ${PN}-{attach,cgroup,copy,console,create,destroy,device,execute,freeze,info,monitor,snapshot,stop,unfreeze,wait}
171 +
172 + keepdir /etc/lxc /var/lib/lxc/rootfs /var/log/lxc
173 + rmdir "${D}"/var/cache/lxc "${D}"/var/cache || die "rmdir failed"
174 +
175 + find "${D}" -name '*.la' -delete -o -name '*.a' -delete || die
176 +
177 + # Gentoo-specific additions!
178 + newinitd "${FILESDIR}/${PN}.initd.8" ${PN}
179 +
180 + # Remember to compare our systemd unit file with the upstream one
181 + # config/init/systemd/lxc.service.in
182 + systemd_newunit "${FILESDIR}"/${PN}_at.service.4.0.0 "lxc@.service"
183 +
184 + DOC_CONTENTS="
185 + For openrc, there is an init script provided with the package.
186 + You should only need to symlink /etc/init.d/lxc to
187 + /etc/init.d/lxc.configname to start the container defined in
188 + /etc/lxc/configname.conf.
189 +
190 + Correspondingly, for systemd a service file lxc@.service is installed.
191 + Enable and start lxc@configname in order to start the container defined
192 + in /etc/lxc/configname.conf."
193 + DISABLE_AUTOFORMATTING=true
194 + readme.gentoo_create_doc
195 +}
196 +
197 +pkg_postinst() {
198 + readme.gentoo_print_elog
199 +
200 + elog "Please run 'lxc-checkconfig' to see optional kernel features."
201 + elog
202 + optfeature "automatic template scripts" app-emulation/lxc-templates
203 + optfeature "Debian-based distribution container image support" dev-util/debootstrap
204 + optfeature "snapshot & restore functionality" sys-process/criu
205 +}