Gentoo Archives: gentoo-commits

From: Matt Thode <prometheanfire@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/lxc/
Date: Wed, 26 Jul 2017 14:56:20
Message-Id: 1501080961.b81541bddbefdb46d7baf171e746c29eb8210854.prometheanfire@gentoo
1 commit: b81541bddbefdb46d7baf171e746c29eb8210854
2 Author: Nils Freydank <holgersson <AT> posteo <DOT> de>
3 AuthorDate: Sat Jul 15 13:54:03 2017 +0000
4 Commit: Matt Thode <prometheanfire <AT> gentoo <DOT> org>
5 CommitDate: Wed Jul 26 14:56:01 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b81541bd
7
8 app-emulation/lxc: 2.0.8 version bump bug 621368
9
10 Signed-off-by: Matthew Thode <prometheanfire <AT> gentoo.org>
11
12 app-emulation/lxc/Manifest | 1 +
13 app-emulation/lxc/lxc-2.0.8.ebuild | 199 +++++++++++++++++++++++++++++++++++++
14 2 files changed, 200 insertions(+)
15
16 diff --git a/app-emulation/lxc/Manifest b/app-emulation/lxc/Manifest
17 index 720dad3a063..e7f50f219db 100644
18 --- a/app-emulation/lxc/Manifest
19 +++ b/app-emulation/lxc/Manifest
20 @@ -4,3 +4,4 @@ DIST lxc-2.0.4.tar.gz 775634 SHA256 57d40234aeecf5b60fb29d563e5a09d6a04c89e1267e
21 DIST lxc-2.0.5.tar.gz 778842 SHA256 1f1c491b2ad5e74a85b8eb791ccac8128e6eaf5ddcc1323e9360997c030f7072 SHA512 8e14036597fa3407c87fb92d13b40bbca9a646d27d817e0a9d20fe626625d6cf04a1df65b1a723391d41a311b9f4f3432b3213004892d64355fe0edc7858cb9f WHIRLPOOL fa6ac86d67fe563f92411cbd09a0d66d729a0a15fe48076b42f4b3996e6b786826990bd51382c14606fd1b5240d413bc8d217fac37becd9baccd89de15d30b22
22 DIST lxc-2.0.6.tar.gz 788483 SHA256 8723ef5973a47e7b2c439002c28590d74689e871d36f03089965503c0c0d50b2 SHA512 f44c0498876462d78e57d19816eab666e90470badc2bbd38fed9f504e8b21c3e68e4d0f63a8676fa8716be60481befb3db44098228fd71b480972af2b5dcf1e3 WHIRLPOOL 5bb2648637a46e3547edeba2ad46eb131b2ae194f5efe52a688157cfa3f361f51a832554a94bcd47074e65cbf8d1e1119d23548bdf83ca62c131400c40aff34a
23 DIST lxc-2.0.7.tar.gz 792557 SHA256 e74ee4a61a8ff426051ce86664f85b028052dd5664cc8e4cf710205c75ded356 SHA512 eb48dc800ce43d2f4d46e0cecc4d0a714b3e22c6a4975776b54d17d1d20d5a1411e6b605215282f1f77286ddf22b61c80b86b83752191fc18023894ef7a1c44d WHIRLPOOL 81da3116450a7c41c7aa4de95e0094a56e6dee29ef2a111bfe87a61d9b7b97846f77984ec4b9b45aaf776a2c8103b5957c129f6d05b9ebf46455450129653502
24 +DIST lxc-2.0.8.tar.gz 1308705 SHA256 0d8e34b302cfe4c40c6c9ae5097096aa5cc2c1dfceea3f0f22e3e16c4a4e8494 SHA512 ed9fd47e92007f433695cffea659180866a5ac2778712f4eb13b6629bb18292589f5b674b734853ca196ba1f6d38bdbf3cc8a2bb28e25d3540b06b945fcf9096 WHIRLPOOL 10485c76f43c6358fc09a7843f13d16b178b1fbc1c3741d04293e170716bd253d1f7b4c3d6529829d135b381debf857263aea6070f2157d3c095d49209b7113e
25
26 diff --git a/app-emulation/lxc/lxc-2.0.8.ebuild b/app-emulation/lxc/lxc-2.0.8.ebuild
27 new file mode 100644
28 index 00000000000..ae0977801e1
29 --- /dev/null
30 +++ b/app-emulation/lxc/lxc-2.0.8.ebuild
31 @@ -0,0 +1,199 @@
32 +# Copyright 1999-2017 Gentoo Foundation
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI="6"
36 +
37 +PYTHON_COMPAT=( python{3_4,3_5} )
38 +DISTUTILS_OPTIONAL=1
39 +
40 +inherit autotools bash-completion-r1 distutils-r1 linux-info versionator flag-o-matic systemd
41 +
42 +DESCRIPTION="LinuX Containers userspace utilities"
43 +HOMEPAGE="https://linuxcontainers.org/"
44 +SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz"
45 +
46 +KEYWORDS="~amd64 ~arm ~arm64"
47 +
48 +LICENSE="LGPL-3"
49 +SLOT="0"
50 +IUSE="cgmanager doc examples lua python seccomp"
51 +
52 +RDEPEND="net-libs/gnutls
53 + sys-libs/libcap
54 + cgmanager? ( app-admin/cgmanager )
55 + lua? ( >=dev-lang/lua-5.1:= )
56 + python? ( ${PYTHON_DEPS} )
57 + seccomp? ( sys-libs/libseccomp )"
58 +
59 +DEPEND="${RDEPEND}
60 + doc? ( app-text/docbook-sgml-utils )
61 + >=sys-kernel/linux-headers-3.2"
62 +
63 +RDEPEND="${RDEPEND}
64 + sys-process/criu
65 + sys-apps/util-linux
66 + app-misc/pax-utils
67 + virtual/awk"
68 +
69 +CONFIG_CHECK="~CGROUPS ~CGROUP_DEVICE
70 + ~CPUSETS ~CGROUP_CPUACCT
71 + ~CGROUP_SCHED
72 +
73 + ~NAMESPACES
74 + ~IPC_NS ~USER_NS ~PID_NS
75 +
76 + ~NETLINK_DIAG ~PACKET_DIAG
77 + ~INET_UDP_DIAG ~INET_TCP_DIAG
78 + ~UNIX_DIAG ~CHECKPOINT_RESTORE
79 +
80 + ~CGROUP_FREEZER
81 + ~UTS_NS ~NET_NS
82 + ~VETH ~MACVLAN
83 +
84 + ~POSIX_MQUEUE
85 + ~!NETPRIO_CGROUP
86 +
87 + ~!GRKERNSEC_CHROOT_MOUNT
88 + ~!GRKERNSEC_CHROOT_DOUBLE
89 + ~!GRKERNSEC_CHROOT_PIVOT
90 + ~!GRKERNSEC_CHROOT_CHMOD
91 + ~!GRKERNSEC_CHROOT_CAPS
92 + ~!GRKERNSEC_PROC
93 + ~!GRKERNSEC_SYSFS_RESTRICT
94 +"
95 +
96 +ERROR_DEVPTS_MULTIPLE_INSTANCES="CONFIG_DEVPTS_MULTIPLE_INSTANCES: needed for pts inside container"
97 +
98 +ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers"
99 +
100 +ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info"
101 +ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network"
102 +
103 +ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking"
104 +ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking"
105 +
106 +ERROR_NETLINK_DIAG="CONFIG_NETLINK_DIAG: needed for lxc-checkpoint"
107 +ERROR_PACKET_DIAG="CONFIG_PACKET_DIAG: needed for lxc-checkpoint"
108 +ERROR_INET_UDP_DIAG="CONFIG_INET_UDP_DIAG: needed for lxc-checkpoint"
109 +ERROR_INET_TCP_DIAG="CONFIG_INET_TCP_DIAG: needed for lxc-checkpoint"
110 +ERROR_UNIX_DIAG="CONFIG_UNIX_DIAG: needed for lxc-checkpoint"
111 +ERROR_CHECKPOINT_RESTORE="CONFIG_CHECKPOINT_RESTORE: needed for lxc-checkpoint"
112 +
113 +ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command"
114 +
115 +ERROR_NETPRIO_CGROUP="CONFIG_NETPRIO_CGROUP: as of kernel 3.3 and lxc 0.8.0_rc1 this causes LXCs to fail booting."
116 +
117 +ERROR_GRKERNSEC_CHROOT_MOUNT="CONFIG_GRKERNSEC_CHROOT_MOUNT: some GRSEC features make LXC unusable see postinst notes"
118 +ERROR_GRKERNSEC_CHROOT_DOUBLE="CONFIG_GRKERNSEC_CHROOT_DOUBLE: some GRSEC features make LXC unusable see postinst notes"
119 +ERROR_GRKERNSEC_CHROOT_PIVOT="CONFIG_GRKERNSEC_CHROOT_PIVOT: some GRSEC features make LXC unusable see postinst notes"
120 +ERROR_GRKERNSEC_CHROOT_CHMOD="CONFIG_GRKERNSEC_CHROOT_CHMOD: some GRSEC features make LXC unusable see postinst notes"
121 +ERROR_GRKERNSEC_CHROOT_CAPS="CONFIG_GRKERNSEC_CHROOT_CAPS: some GRSEC features make LXC unusable see postinst notes"
122 +ERROR_GRKERNSEC_PROC="CONFIG_GRKERNSEC_PROC: this GRSEC feature is incompatible with unprivileged containers"
123 +ERROR_GRKERNSEC_SYSFS_RESTRICT="CONFIG_GRKERNSEC_SYSFS_RESTRICT: this GRSEC feature is incompatible with unprivileged containers"
124 +
125 +DOCS=(AUTHORS CONTRIBUTING MAINTAINERS NEWS README doc/FAQ.txt)
126 +
127 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
128 +
129 +pkg_setup() {
130 + kernel_is -lt 4 7 && CONFIG_CHECK="${CONFIG_CHECK} ~DEVPTS_MULTIPLE_INSTANCES"
131 + linux-info_pkg_setup
132 +}
133 +
134 +src_prepare() {
135 + eapply "${FILESDIR}"/${PN}-2.0.6-bash-completion.patch
136 + #558854
137 + eapply "${FILESDIR}"/${PN}-2.0.5-omit-sysconfig.patch
138 + eapply_user
139 + eautoreconf
140 +}
141 +
142 +src_configure() {
143 + append-flags -fno-strict-aliasing
144 +
145 + if use python; then
146 + #541932
147 + python_setup "python3*"
148 + export PKG_CONFIG_PATH="${T}/${EPYTHON}/pkgconfig:${PKG_CONFIG_PATH}"
149 + fi
150 +
151 + # I am not sure about the --with-rootfs-path
152 + # /var/lib/lxc is probably more appropriate than
153 + # /usr/lib/lxc.
154 + # Note by holgersson: Why is apparmor disabled?
155 + econf \
156 + --localstatedir=/var \
157 + --bindir=/usr/bin \
158 + --sbindir=/usr/bin \
159 + --with-config-path=/var/lib/lxc \
160 + --with-rootfs-path=/var/lib/lxc/rootfs \
161 + --with-distro=gentoo \
162 + --with-runtime-path=/run \
163 + --disable-apparmor \
164 + --disable-werror \
165 + $(use_enable cgmanager) \
166 + $(use_enable doc) \
167 + $(use_enable examples) \
168 + $(use_enable lua) \
169 + $(use_enable python) \
170 + $(use_enable seccomp)
171 +}
172 +
173 +python_compile() {
174 + distutils-r1_python_compile build_ext -I ../ -L ../${PN}
175 +}
176 +
177 +src_compile() {
178 + default
179 +
180 + if use python; then
181 + pushd "${S}/src/python-${PN}" > /dev/null
182 + distutils-r1_src_compile
183 + popd > /dev/null
184 + fi
185 +}
186 +
187 +src_install() {
188 + default
189 +
190 + mv "${ED}"/usr/share/bash-completion/completions/${PN} "${ED}"/$(get_bashcompdir)/${PN}-start || die
191 + # start-ephemeral is no longer a command but removing it here
192 + # generates QA warnings (still in upstream completion script)
193 + bashcomp_alias ${PN}-start \
194 + ${PN}-{attach,cgroup,copy,console,create,destroy,device,execute,freeze,info,monitor,snapshot,start-ephemeral,stop,unfreeze,wait}
195 +
196 + if use python; then
197 + pushd "${S}/src/python-lxc" > /dev/null
198 + # Unset DOCS. This has been handled by the default target
199 + unset DOCS
200 + distutils-r1_src_install
201 + popd > /dev/null
202 + fi
203 +
204 + keepdir /etc/lxc /var/lib/lxc/rootfs /var/log/lxc
205 +
206 + find "${D}" -name '*.la' -delete
207 +
208 + # Gentoo-specific additions!
209 + newinitd "${FILESDIR}/${PN}.initd.5" ${PN}
210 +
211 + # Remember to compare our systemd unit file with the upstream one
212 + # config/init/systemd/lxc.service.in
213 + systemd_newunit "${FILESDIR}"/${PN}_at.service.4 "lxc@.service"
214 +}
215 +
216 +pkg_postinst() {
217 + elog ""
218 + elog "Starting from version ${PN}-1.1.0-r3, the default lxc path has been"
219 + elog "moved from /etc/lxc to /var/lib/lxc. If you still want to use /etc/lxc"
220 + elog "please add the following to your /etc/lxc/default.conf"
221 + elog "lxc.lxcpath = /etc/lxc"
222 + elog ""
223 + elog "There is an init script provided with the package now; no documentation"
224 + elog "is currently available though, so please check out /etc/init.d/lxc ."
225 + elog "You _should_ only need to symlink it to /etc/init.d/lxc.configname"
226 + elog "to start the container defined into /etc/lxc/configname.conf ."
227 + elog "For further information about LXC development see"
228 + elog "http://blog.flameeyes.eu/tag/lxc" # remove once proper doc is available
229 + elog ""
230 +}