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/lxd/, app-emulation/lxd/files/
Date: Fri, 26 Jun 2020 08:13:20
Message-Id: 1593159182.40c57b1981ed26bd835de962f055fac184bf03b4.juippis@gentoo
1 commit: 40c57b1981ed26bd835de962f055fac184bf03b4
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jun 26 07:57:59 2020 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Fri Jun 26 08:13:02 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=40c57b19
7
8 app-emulation/lxd: remove old 3.14
9
10 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
11
12 .../lxd/files/de-translation-newline-1.patch | 11 -
13 app-emulation/lxd/files/lxd.confd | 24 --
14 app-emulation/lxd/files/lxd.initd | 46 ----
15 app-emulation/lxd/lxd-3.14.ebuild | 241 ---------------------
16 app-emulation/lxd/metadata.xml | 11 -
17 5 files changed, 333 deletions(-)
18
19 diff --git a/app-emulation/lxd/files/de-translation-newline-1.patch b/app-emulation/lxd/files/de-translation-newline-1.patch
20 deleted file mode 100644
21 index 4c731e9023d..00000000000
22 --- a/app-emulation/lxd/files/de-translation-newline-1.patch
23 +++ /dev/null
24 @@ -1,11 +0,0 @@
25 ---- /po/de.po 2018-06-27 19:57:56.759130047 -0500
26 -+++ /po/de.po 2018-06-27 20:01:09.694634346 -0500
27 -@@ -167,7 +167,7 @@
28 - "###\n"
29 - "### Each property is represented by a single line:\n"
30 - "### An example would be:\n"
31 --"### description: My custom image"
32 -+"### description: My custom image\n"
33 - msgstr ""
34 - "### Dies ist eine Darstellung der Eigenschaften eines Images in yaml.\n"
35 - "### Jede Zeile die mit '# beginnt wird ignoriert.\n"
36
37 diff --git a/app-emulation/lxd/files/lxd.confd b/app-emulation/lxd/files/lxd.confd
38 deleted file mode 100644
39 index 8e342cc62d1..00000000000
40 --- a/app-emulation/lxd/files/lxd.confd
41 +++ /dev/null
42 @@ -1,24 +0,0 @@
43 -# Group which owns the shared socket
44 -LXD_OPTIONS+=" --group lxd"
45 -
46 -
47 -
48 -# Enable cpu profiling into the specified file
49 -#LXD_OPTIONS+=" --cpuprofile /tmp/lxc_cpu_profile"
50 -
51 -# Enable memory profiling into the specified file
52 -#LXD_OPTIONS+=" --memprofile /tmp/lxc_mem_profile"
53 -
54 -
55 -
56 -# Enables debug mode
57 -#LXD_OPTIONS+=" --debug"
58 -
59 -# For debugging, print a complete stack trace every n seconds
60 -#LXD_OPTIONS+=" --print-goroutines 5"
61 -
62 -# Enables verbose mode
63 -#LXD_OPTIONS+=" --verbose"
64 -
65 -# Logfile to log to
66 -#LXD_OPTIONS+=" --logfile /var/log/lxd/lxd.log"
67
68 diff --git a/app-emulation/lxd/files/lxd.initd b/app-emulation/lxd/files/lxd.initd
69 deleted file mode 100644
70 index b1fa7caac54..00000000000
71 --- a/app-emulation/lxd/files/lxd.initd
72 +++ /dev/null
73 @@ -1,46 +0,0 @@
74 -#!/sbin/openrc-run
75 -# Copyright 1999-2017 Gentoo Foundation
76 -# Distributed under the terms of the GNU General Public License v2
77 -
78 -DAEMON=/usr/sbin/lxd
79 -PIDFILE=/run/lxd.pid
80 -
81 -extra_commands="stopall"
82 -
83 -depend() {
84 - need net
85 - use lxcfs
86 -}
87 -
88 -start() {
89 - ebegin "Starting lxd service"
90 -
91 - start-stop-daemon --start \
92 - --pidfile ${PIDFILE} \
93 - --exec ${DAEMON} \
94 - --background \
95 - --make-pidfile \
96 - -- \
97 - ${LXD_OPTIONS}
98 -
99 - eend $?
100 -}
101 -
102 -stop() {
103 - if [ "$RC_GOINGDOWN" = "YES" ] || [ "$RC_REBOOT" = "YES" ]; then
104 - stopall
105 - else
106 - ebegin "Stopping lxd service (but not containers)"
107 - start-stop-daemon --stop --quiet -R TERM/45 -p ${PIDFILE}
108 - eend $?
109 - fi
110 -}
111 -
112 -stopall() {
113 - ebegin "Stopping lxd service and containers"
114 - if "${DAEMON}" shutdown; then
115 - /etc/init.d/lxd zap
116 - rm -f ${PIDFILE}
117 - fi
118 - eend $?
119 -}
120
121 diff --git a/app-emulation/lxd/lxd-3.14.ebuild b/app-emulation/lxd/lxd-3.14.ebuild
122 deleted file mode 100644
123 index 3639d12ad02..00000000000
124 --- a/app-emulation/lxd/lxd-3.14.ebuild
125 +++ /dev/null
126 @@ -1,241 +0,0 @@
127 -# Copyright 1999-2019 Gentoo Authors
128 -# Distributed under the terms of the GNU General Public License v2
129 -
130 -EAPI=7
131 -
132 -DESCRIPTION="Fast, dense and secure container management"
133 -HOMEPAGE="https://linuxcontainers.org/lxd/introduction/"
134 -
135 -LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0"
136 -SLOT="0"
137 -KEYWORDS="amd64"
138 -
139 -IUSE="+daemon +ipv6 +dnsmasq nls test tools"
140 -RESTRICT="!test? ( test )"
141 -
142 -inherit autotools bash-completion-r1 linux-info systemd user
143 -
144 -SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz"
145 -
146 -DEPEND="
147 - dev-lang/tcl
148 - >=dev-lang/go-1.9.4
149 - dev-libs/libuv
150 - dev-libs/protobuf
151 - nls? ( sys-devel/gettext )
152 - test? (
153 - app-misc/jq
154 - net-misc/curl
155 - sys-devel/gettext
156 - )
157 -"
158 -
159 -RDEPEND="
160 - daemon? (
161 - app-arch/xz-utils
162 - >=app-emulation/lxc-2.0.7[seccomp]
163 - dev-libs/libuv
164 - dev-libs/lzo
165 - dev-util/xdelta:3
166 - dnsmasq? (
167 - net-dns/dnsmasq[dhcp,ipv6?]
168 - )
169 - net-firewall/ebtables
170 - net-firewall/iptables[ipv6?]
171 - net-libs/libnfnetlink
172 - net-libs/libnsl:0=
173 - net-misc/rsync[xattr]
174 - sys-apps/iproute2[ipv6?]
175 - sys-fs/fuse
176 - sys-fs/lxcfs
177 - sys-fs/squashfs-tools
178 - virtual/acl
179 - )
180 -"
181 -
182 -CONFIG_CHECK="
183 - ~BRIDGE
184 - ~DUMMY
185 - ~IP6_NF_NAT
186 - ~IP6_NF_TARGET_MASQUERADE
187 - ~IPV6
188 - ~IP_NF_NAT
189 - ~IP_NF_TARGET_MASQUERADE
190 - ~MACVLAN
191 - ~NETFILTER_XT_MATCH_COMMENT
192 - ~NET_IPGRE
193 - ~NET_IPGRE_DEMUX
194 - ~NET_IPIP
195 - ~NF_NAT_MASQUERADE_IPV4
196 - ~NF_NAT_MASQUERADE_IPV6
197 - ~VXLAN
198 -"
199 -
200 -ERROR_BRIDGE="BRIDGE: needed for network commands"
201 -ERROR_DUMMY="DUMMY: needed for network commands"
202 -ERROR_IP6_NF_NAT="IP6_NF_NAT: needed for network commands"
203 -ERROR_IP6_NF_TARGET_MASQUERADE="IP6_NF_TARGET_MASQUERADE: needed for network commands"
204 -ERROR_IPV6="IPV6: needed for network commands"
205 -ERROR_IP_NF_NAT="IP_NF_NAT: needed for network commands"
206 -ERROR_IP_NF_TARGET_MASQUERADE="IP_NF_TARGET_MASQUERADE: needed for network commands"
207 -ERROR_MACVLAN="MACVLAN: needed for network commands"
208 -ERROR_NETFILTER_XT_MATCH_COMMENT="NETFILTER_XT_MATCH_COMMENT: needed for network commands"
209 -ERROR_NET_IPGRE="NET_IPGRE: needed for network commands"
210 -ERROR_NET_IPGRE_DEMUX="NET_IPGRE_DEMUX: needed for network commands"
211 -ERROR_NET_IPIP="NET_IPIP: needed for network commands"
212 -ERROR_NF_NAT_MASQUERADE_IPV4="NF_NAT_MASQUERADE_IPV4: needed for network commands"
213 -ERROR_NF_NAT_MASQUERADE_IPV6="NF_NAT_MASQUERADE_IPV6: needed for network commands"
214 -ERROR_VXLAN="VXLAN: needed for network commands"
215 -
216 -EGO_PN="github.com/lxc/lxd"
217 -
218 -src_prepare() {
219 - eapply_user
220 - eapply "${FILESDIR}/de-translation-newline-1.patch"
221 -
222 - cd "${S}/dist/dqlite" || die "Can't cd to dqlite dir"
223 - eautoreconf
224 -}
225 -
226 -src_configure() {
227 - export GOPATH="${S}/dist"
228 - cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir"
229 - econf --enable-replication --disable-amalgamation --disable-tcl --libdir="${EPREFIX}/usr/lib/lxd"
230 -
231 - cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir"
232 - PKG_CONFIG_PATH="${GOPATH}/sqlite/" econf --libdir=${EPREFIX}/usr/lib/lxd
233 -}
234 -
235 -src_compile() {
236 - export GOPATH="${S}/dist"
237 -
238 - cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir"
239 - emake
240 -
241 - cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir"
242 - emake CFLAGS="-I${GOPATH}/sqlite" LDFLAGS="-L${GOPATH}/sqlite"
243 -
244 - # We don't use the Makefile here because it builds targets with the
245 - # assumption that `pwd` is in a deep gopath namespace, which we're not.
246 - # It's simpler to manually call "go install" than patching the Makefile.
247 - cd "${S}"
248 - go install -v -x ${EGO_PN}/lxc || die "Failed to build the client"
249 -
250 - if use daemon; then
251 -
252 - # LXD depends on a patched, bundled sqlite with replication
253 - # capabilities.
254 - export CGO_CFLAGS="-I${GOPATH}/sqlite/ -I${GOPATH}/dqlite/include/"
255 - export CGO_LDFLAGS="-L${GOPATH}/sqlite/.libs/ -L${GOPATH}/dqlite/.libs/ -Wl,-rpath,${EPREFIX}/usr/lib/lxd"
256 - export LD_LIBRARY_PATH="${GOPATH}/sqlite/.libs/:${GOPATH}/dqlite/.libs/"
257 -
258 - go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon"
259 - fi
260 -
261 - if use tools; then
262 - go install -v -x ${EGO_PN}/fuidshift || die "Failed to build fuidshift"
263 - go install -v -x ${EGO_PN}/lxc-to-lxd || die "Failed to build lxc-to-lxd"
264 - go install -v -x ${EGO_PN}/lxd-benchmark || die "Failed to build lxd-benchmark"
265 - go install -v -x ${EGO_PN}/lxd-p2c || die "Failed to build lxd-p2c"
266 - fi
267 -
268 - use nls && emake build-mo
269 -}
270 -
271 -src_test() {
272 - if use daemon; then
273 - export GOPATH="${S}/dist"
274 - # This is mostly a copy/paste from the Makefile's "check" rule, but
275 - # patching the Makefile to work in a non "fully-qualified" go namespace
276 - # was more complicated than this modest copy/paste.
277 - # Also: sorry, for now a network connection is needed to run tests.
278 - # Will properly bundle test dependencies later.
279 - go get -v -x github.com/rogpeppe/godeps
280 - go get -v -x github.com/remyoudompheng/go-misc/deadcode
281 - go get -v -x github.com/golang/lint/golint
282 - go test -v ${EGO_PN}/lxd
283 - else
284 - einfo "No tests to run for client-only builds"
285 - fi
286 -}
287 -
288 -src_install() {
289 - local bindir="dist/bin"
290 - dobin ${bindir}/lxc
291 - if use daemon; then
292 -
293 - export GOPATH="${S}/dist"
294 - cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir"
295 - emake DESTDIR="${D}" install
296 -
297 - cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir"
298 - emake DESTDIR="${D}" install
299 -
300 - # Must only install libs
301 - rm "${D}/usr/bin/sqlite3" || die "Can't remove custom sqlite3 binary"
302 - rm -r "${D}/usr/include" || die "Can't remove include directory"
303 -
304 - cd "${S}" || die "Can't cd to \${S}"
305 - dosbin ${bindir}/lxd
306 - fi
307 -
308 - if use tools; then
309 - dobin ${bindir}/fuidshift
310 - dobin ${bindir}/lxc-to-lxd
311 - dobin ${bindir}/lxd-benchmark
312 - dobin ${bindir}/lxd-p2c
313 - fi
314 -
315 - if use nls; then
316 - domo po/*.mo
317 - fi
318 -
319 - if use daemon; then
320 - newinitd "${FILESDIR}"/${PN}.initd lxd
321 - newconfd "${FILESDIR}"/${PN}.confd lxd
322 -
323 - systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service
324 - fi
325 -
326 - newbashcomp scripts/bash/lxd-client lxc
327 -
328 - dodoc AUTHORS doc/*
329 -}
330 -
331 -pkg_postinst() {
332 - elog
333 - elog "Consult https://wiki.gentoo.org/wiki/LXD for more information,"
334 - elog "including a Quick Start."
335 -
336 - # The messaging below only applies to daemon installs
337 - use daemon || return 0
338 -
339 - # The control socket will be owned by (and writeable by) this group.
340 - enewgroup lxd
341 -
342 - # Ubuntu also defines an lxd user but it appears unused (the daemon
343 - # must run as root)
344 -
345 - elog
346 - elog "Though not strictly required, some features are enabled at run-time"
347 - elog "when the relevant helper programs are detected:"
348 - elog "- sys-apps/apparmor"
349 - elog "- sys-fs/btrfs-progs"
350 - elog "- sys-fs/lvm2"
351 - elog "- sys-fs/zfs"
352 - elog "- sys-process/criu"
353 - elog
354 - elog "Since these features can't be disabled at build-time they are"
355 - elog "not USE-conditional."
356 - elog
357 - elog "Be sure to add your local user to the lxd group."
358 - elog
359 - elog "Networks with bridge.mode=fan are unsupported due to requiring"
360 - elog "a patched kernel and iproute2."
361 -}
362 -
363 -# TODO:
364 -# - man page, I don't see cobra generating it
365 -# - maybe implement LXD_CLUSTER_UPDATE per
366 -# https://discuss.linuxcontainers.org/t/lxd-3-5-has-been-released/2656
367 -# EM I'm not convinced it's a good design.
368
369 diff --git a/app-emulation/lxd/metadata.xml b/app-emulation/lxd/metadata.xml
370 index bc72b24a726..6711afb51f1 100644
371 --- a/app-emulation/lxd/metadata.xml
372 +++ b/app-emulation/lxd/metadata.xml
373 @@ -18,15 +18,4 @@
374 <upstream>
375 <remote-id type="github">lxc/lxd</remote-id>
376 </upstream>
377 - <use>
378 - <flag name="daemon">
379 - Build the system daemon, not just the client tool
380 - </flag>
381 - <flag name="dnsmasq">
382 - Depend on dnsmasq to provide DHCP and DNS
383 - </flag>
384 - <flag name="tools">
385 - Build and install optional tools
386 - </flag>
387 - </use>
388 </pkgmetadata>