Gentoo Archives: gentoo-commits

From: Erik Mackdanz <stasibear@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/lxd/files/, app-emulation/lxd/
Date: Sat, 13 Oct 2018 22:47:48
Message-Id: 1539470846.6aaccc67a3c6fc22b12ef573a2626b8d9d32e19d.stasibear@gentoo
1 commit: 6aaccc67a3c6fc22b12ef573a2626b8d9d32e19d
2 Author: Erik Mackdanz <stasibear <AT> gentoo <DOT> org>
3 AuthorDate: Sat Oct 13 22:47:26 2018 +0000
4 Commit: Erik Mackdanz <stasibear <AT> gentoo <DOT> org>
5 CommitDate: Sat Oct 13 22:47:26 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6aaccc67
7
8 app-emulation/lxd: Remove old versions
9
10 Signed-off-by: Erik Mackdanz <stasibear <AT> gentoo.org>
11 Package-Manager: Portage-2.3.51, Repoman-2.3.11
12
13 app-emulation/lxd/Manifest | 2 -
14 .../lxd/files/de-translation-newline.patch | 20 --
15 .../lxd/files/ja-translation-newline.patch | 11 -
16 app-emulation/lxd/files/lxd.initd.1 | 47 -----
17 app-emulation/lxd/lxd-3.3.ebuild | 183 ----------------
18 app-emulation/lxd/lxd-3.4-r1.ebuild | 233 ---------------------
19 app-emulation/lxd/lxd-3.4.ebuild | 232 --------------------
20 7 files changed, 728 deletions(-)
21
22 diff --git a/app-emulation/lxd/Manifest b/app-emulation/lxd/Manifest
23 index e2d85aa69e4..57a31c22485 100644
24 --- a/app-emulation/lxd/Manifest
25 +++ b/app-emulation/lxd/Manifest
26 @@ -1,3 +1 @@
27 -DIST lxd-3.3.tar.gz 28414680 BLAKE2B 7f3eecf400761548935e6e3c81d894379cd667ffbe6d8ef67a7dd3ad4f1c13846f524fcefc4cdc306674fb990706bda0b2c4ef390f320c41561fa86cf610586c SHA512 ed5d792c1080f2be7f48f34051fbfa28d138b4ccb5405edb13cd630776ec34312da491a1881f77dddbe1a121e589b44952e73ce1e61f2cba72243f3b8f4c0177
28 -DIST lxd-3.4.tar.gz 24313641 BLAKE2B 6f2db8a690474d020a0d43366e940760c0886c8af60e17ecc6bf1f9747d8454d09d619b723b1794bec503dda82028f7d81edc2d0c33216cbad9c810f2657198d SHA512 f041878fcfd2b45f594d97e748272d44c517f28e181861a604bef23f858c4bd59cc93ac56c24cce6d353743428b66940f11df268ff9f66e83a5c8f1fb95dc3aa
29 DIST lxd-3.5.tar.gz 28356957 BLAKE2B 44334026ed720cc9d8a16a0752abb102f07b186e9a5946ffce9872734d166a6d477e0dd324002f74c2cca36bc500f7def9ff7f358c7d07792124392ab815e07c SHA512 56f10a75ee2cfb6ed653e2d69dee979b0a661f267bc66ab642e5fc1835d1879e7df600671325973d9772ddc653334531f2420f129c06cdb5a93950083263f366
30
31 diff --git a/app-emulation/lxd/files/de-translation-newline.patch b/app-emulation/lxd/files/de-translation-newline.patch
32 deleted file mode 100644
33 index 9ef55ab2f0e..00000000000
34 --- a/app-emulation/lxd/files/de-translation-newline.patch
35 +++ /dev/null
36 @@ -1,20 +0,0 @@
37 ---- /po/de.po 2018-06-27 19:57:56.759130047 -0500
38 -+++ /po/de.po 2018-06-27 20:01:09.694634346 -0500
39 -@@ -65,7 +65,7 @@
40 - "### type: custom\n"
41 - "### used_by: []\n"
42 - "### config:\n"
43 --"### size: \"61203283968\""
44 -+"### size: \"61203283968\"\n"
45 - msgstr ""
46 - "### Dies ist eine Darstellung der Eigenschaften eines Abbildes in yaml.\n"
47 - "### Jede Zeile die mit '# beginnt wird ignoriert.\n"
48 -@@ -167,7 +167,7 @@
49 - "###\n"
50 - "### Each property is represented by a single line:\n"
51 - "### An example would be:\n"
52 --"### description: My custom image"
53 -+"### description: My custom image\n"
54 - msgstr ""
55 - "### Dies ist eine Darstellung der Eigenschaften eines Images in yaml.\n"
56 - "### Jede Zeile die mit '# beginnt wird ignoriert.\n"
57
58 diff --git a/app-emulation/lxd/files/ja-translation-newline.patch b/app-emulation/lxd/files/ja-translation-newline.patch
59 deleted file mode 100644
60 index bbda24c6f37..00000000000
61 --- a/app-emulation/lxd/files/ja-translation-newline.patch
62 +++ /dev/null
63 @@ -1,11 +0,0 @@
64 ---- /po/ja.po 2018-05-20 19:42:38.932990198 -0500
65 -+++ /po/ja.po 2018-05-20 19:42:55.839944861 -0500
66 -@@ -1380,7 +1380,7 @@
67 - "イメージのエイリアスを一覧表示します\n"
68 - "\n"
69 - "指定するフィルタはイメージのハッシュ値の一部でもイメージのエイリアスの一部で"
70 --"も構いません。"
71 -+"も構いません。\n"
72 -
73 - #: lxc/image.go:888
74 - msgid "List images"
75
76 diff --git a/app-emulation/lxd/files/lxd.initd.1 b/app-emulation/lxd/files/lxd.initd.1
77 deleted file mode 100644
78 index b6d3cd4eb26..00000000000
79 --- a/app-emulation/lxd/files/lxd.initd.1
80 +++ /dev/null
81 @@ -1,47 +0,0 @@
82 -#!/sbin/openrc-run
83 -# Copyright 1999-2018 Gentoo Foundation
84 -# Distributed under the terms of the GNU General Public License v2
85 -
86 -DAEMON=/usr/sbin/lxd
87 -PIDFILE=/run/lxd.pid
88 -
89 -extra_commands="stopall"
90 -
91 -depend() {
92 - need net
93 - use lxcfs
94 -}
95 -
96 -start() {
97 - ebegin "Starting lxd service"
98 -
99 - start-stop-daemon --start \
100 - --pidfile ${PIDFILE} \
101 - --exec ${DAEMON} \
102 - --background \
103 - --make-pidfile \
104 - --env LD_LIBRARY_PATH="/usr/lib/lxd" \
105 - -- \
106 - ${LXD_OPTIONS}
107 -
108 - eend $?
109 -}
110 -
111 -stop() {
112 - if [ "$RC_GOINGDOWN" = "YES" ] || [ "$RC_REBOOT" = "YES" ]; then
113 - stopall
114 - else
115 - ebegin "Stopping lxd service (but not containers)"
116 - start-stop-daemon --stop --quiet -R TERM/45 -p ${PIDFILE}
117 - eend $?
118 - fi
119 -}
120 -
121 -stopall() {
122 - ebegin "Stopping lxd service and containers"
123 - if "${DAEMON}" shutdown; then
124 - /etc/init.d/lxd zap
125 - rm -f ${PIDFILE}
126 - fi
127 - eend $?
128 -}
129
130 diff --git a/app-emulation/lxd/lxd-3.3.ebuild b/app-emulation/lxd/lxd-3.3.ebuild
131 deleted file mode 100644
132 index 393042c8ae5..00000000000
133 --- a/app-emulation/lxd/lxd-3.3.ebuild
134 +++ /dev/null
135 @@ -1,183 +0,0 @@
136 -# Copyright 1999-2018 Gentoo Foundation
137 -# Distributed under the terms of the GNU General Public License v2
138 -
139 -EAPI=6
140 -
141 -DESCRIPTION="Fast, dense and secure container management"
142 -HOMEPAGE="https://linuxcontainers.org/lxd/introduction/"
143 -
144 -LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0"
145 -SLOT="0"
146 -KEYWORDS="amd64"
147 -
148 -IUSE="+daemon +ipv6 +dnsmasq nls test"
149 -
150 -inherit bash-completion-r1 linux-info systemd user
151 -
152 -SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz"
153 -
154 -DEPEND="
155 - >=dev-lang/go-1.9.4
156 - dev-libs/protobuf
157 - nls? ( sys-devel/gettext )
158 - test? (
159 - app-misc/jq
160 - net-misc/curl
161 - sys-devel/gettext
162 - )
163 -"
164 -
165 -RDEPEND="
166 - daemon? (
167 - app-arch/xz-utils
168 - >=app-emulation/lxc-2.0.7[seccomp]
169 - dnsmasq? (
170 - net-dns/dnsmasq[dhcp,ipv6?]
171 - )
172 - net-misc/rsync[xattr]
173 - sys-apps/iproute2[ipv6?]
174 - sys-fs/squashfs-tools
175 - virtual/acl
176 - )
177 -"
178 -
179 -CONFIG_CHECK="
180 - ~BRIDGE
181 - ~DUMMY
182 - ~IP6_NF_NAT
183 - ~IP6_NF_TARGET_MASQUERADE
184 - ~IPV6
185 - ~IP_NF_NAT
186 - ~IP_NF_TARGET_MASQUERADE
187 - ~MACVLAN
188 - ~NETFILTER_XT_MATCH_COMMENT
189 - ~NET_IPGRE
190 - ~NET_IPGRE_DEMUX
191 - ~NET_IPIP
192 - ~NF_NAT_MASQUERADE_IPV4
193 - ~NF_NAT_MASQUERADE_IPV6
194 - ~VXLAN
195 -"
196 -
197 -ERROR_BRIDGE="BRIDGE: needed for network commands"
198 -ERROR_DUMMY="DUMMY: needed for network commands"
199 -ERROR_IP6_NF_NAT="IP6_NF_NAT: needed for network commands"
200 -ERROR_IP6_NF_TARGET_MASQUERADE="IP6_NF_TARGET_MASQUERADE: needed for network commands"
201 -ERROR_IPV6="IPV6: needed for network commands"
202 -ERROR_IP_NF_NAT="IP_NF_NAT: needed for network commands"
203 -ERROR_IP_NF_TARGET_MASQUERADE="IP_NF_TARGET_MASQUERADE: needed for network commands"
204 -ERROR_MACVLAN="MACVLAN: needed for network commands"
205 -ERROR_NETFILTER_XT_MATCH_COMMENT="NETFILTER_XT_MATCH_COMMENT: needed for network commands"
206 -ERROR_NET_IPGRE="NET_IPGRE: needed for network commands"
207 -ERROR_NET_IPGRE_DEMUX="NET_IPGRE_DEMUX: needed for network commands"
208 -ERROR_NET_IPIP="NET_IPIP: needed for network commands"
209 -ERROR_NF_NAT_MASQUERADE_IPV4="NF_NAT_MASQUERADE_IPV4: needed for network commands"
210 -ERROR_NF_NAT_MASQUERADE_IPV6="NF_NAT_MASQUERADE_IPV6: needed for network commands"
211 -ERROR_VXLAN="VXLAN: needed for network commands"
212 -
213 -EGO_PN="github.com/lxc/lxd"
214 -
215 -PATCHES=(
216 - "${FILESDIR}/ja-translation-newline.patch" # https://github.com/lxc/lxd/pull/4572
217 - "${FILESDIR}/de-translation-newline.patch"
218 -)
219 -
220 -# LXD tarball is packaged with a nice "dist" folder containing all dependencies
221 -# that were vendored by upstream at release time. That saves us the trouble of
222 -# vendoring the dependencies ourselves. This is why there was this drastic drop
223 -# in ebuild complexity compared to pre 3.0.0-r2 ebuilds.
224 -src_compile() {
225 - export GOPATH="${S}/dist"
226 -
227 - # We don't use the Makefile here because it builds targets with the
228 - # assumption that `pwd` is in a deep gopath namespace, which we're not.
229 - # It's simpler to manually call "go install" than patching the Makefile.
230 - #
231 - # ABOUT "-tags libsqlite3": we used to link to the system's sqlite3 library
232 - # but since v3.0.0, LXD depends on github.com/CanonicalLtd/dqlite which
233 - # at the time of this writing, depends on patched version of sqlite with
234 - # replication capabilities added. We don't have that patch in dev-db/sqlite.
235 - # Therefore, we let LXD use its own private copy of sqlite.
236 - go install -v -x ${EGO_PN}/lxc || die "Failed to build the client"
237 -
238 - if use daemon; then
239 - go install -v -x ${EGO_PN}/fuidshift || die "Failed to build fuidshift"
240 - go install -v -x ${EGO_PN}/lxd || die "Failed to build the daemon"
241 - fi
242 -
243 - use nls && emake build-mo
244 -}
245 -
246 -src_test() {
247 - if use daemon; then
248 - export GOPATH="${S}/dist"
249 - # This is mostly a copy/paste from the Makefile's "check" rule, but
250 - # patching the Makefile to work in a non "fully-qualified" go namespace
251 - # was more complicated than this modest copy/paste.
252 - # Also: sorry, for now a network connection is needed to run tests.
253 - # Will properly bundle test dependencies later.
254 - go get -v -x github.com/rogpeppe/godeps
255 - go get -v -x github.com/remyoudompheng/go-misc/deadcode
256 - go get -v -x github.com/golang/lint/golint
257 - go test -v ${EGO_PN}/lxd
258 - else
259 - einfo "No tests to run for client-only builds"
260 - fi
261 -}
262 -
263 -src_install() {
264 - local bindir="dist/bin"
265 - dobin ${bindir}/lxc
266 - if use daemon; then
267 - dosbin ${bindir}/lxd
268 - dobin ${bindir}/fuidshift
269 - fi
270 -
271 - if use nls; then
272 - domo po/*.mo
273 - fi
274 -
275 - if use daemon; then
276 - newinitd "${FILESDIR}"/${PN}.initd lxd
277 - newconfd "${FILESDIR}"/${PN}.confd lxd
278 -
279 - systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service
280 - fi
281 -
282 - newbashcomp scripts/bash/lxd-client lxc
283 -
284 - dodoc AUTHORS README.md doc/*
285 -}
286 -
287 -pkg_postinst() {
288 - einfo
289 - einfo "Consult https://wiki.gentoo.org/wiki/LXD for more information,"
290 - einfo "including a Quick Start."
291 -
292 - # The messaging below only applies to daemon installs
293 - use daemon || return 0
294 -
295 - # The control socket will be owned by (and writeable by) this group.
296 - enewgroup lxd
297 -
298 - # Ubuntu also defines an lxd user but it appears unused (the daemon
299 - # must run as root)
300 -
301 - einfo
302 - einfo "Though not strictly required, some features are enabled at run-time"
303 - einfo "when the relevant helper programs are detected:"
304 - einfo "- sys-apps/apparmor"
305 - einfo "- sys-fs/btrfs-progs"
306 - einfo "- sys-fs/lvm2"
307 - einfo "- sys-fs/lxcfs"
308 - einfo "- sys-fs/zfs"
309 - einfo "- sys-process/criu"
310 - einfo
311 - einfo "Since these features can't be disabled at build-time they are"
312 - einfo "not USE-conditional."
313 - einfo
314 - einfo "Be sure to add your local user to the lxd group."
315 - einfo
316 - einfo "Networks with bridge.mode=fan are unsupported due to requiring"
317 - einfo "a patched kernel and iproute2."
318 -}
319
320 diff --git a/app-emulation/lxd/lxd-3.4-r1.ebuild b/app-emulation/lxd/lxd-3.4-r1.ebuild
321 deleted file mode 100644
322 index 0988eae3ecc..00000000000
323 --- a/app-emulation/lxd/lxd-3.4-r1.ebuild
324 +++ /dev/null
325 @@ -1,233 +0,0 @@
326 -# Copyright 1999-2018 Gentoo Foundation
327 -# Distributed under the terms of the GNU General Public License v2
328 -
329 -EAPI=6
330 -
331 -DESCRIPTION="Fast, dense and secure container management"
332 -HOMEPAGE="https://linuxcontainers.org/lxd/introduction/"
333 -
334 -LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0"
335 -SLOT="0"
336 -KEYWORDS="~amd64"
337 -
338 -IUSE="+daemon +ipv6 +dnsmasq nls test tools"
339 -
340 -inherit autotools bash-completion-r1 linux-info systemd user
341 -
342 -SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz"
343 -
344 -DEPEND="
345 - dev-lang/tcl
346 - >=dev-lang/go-1.9.4
347 - dev-libs/protobuf
348 - nls? ( sys-devel/gettext )
349 - test? (
350 - app-misc/jq
351 - net-misc/curl
352 - sys-devel/gettext
353 - )
354 -"
355 -
356 -RDEPEND="
357 - daemon? (
358 - app-arch/xz-utils
359 - >=app-emulation/lxc-2.0.7[seccomp]
360 - dev-libs/libuv
361 - dev-libs/lzo
362 - dev-util/xdelta:3
363 - dnsmasq? (
364 - net-dns/dnsmasq[dhcp,ipv6?]
365 - )
366 - net-firewall/ebtables
367 - net-firewall/iptables[ipv6?]
368 - net-libs/libnfnetlink
369 - net-misc/rsync[xattr]
370 - sys-apps/iproute2[ipv6?]
371 - sys-fs/fuse
372 - sys-fs/lxcfs
373 - sys-fs/squashfs-tools
374 - virtual/acl
375 - )
376 -"
377 -
378 -CONFIG_CHECK="
379 - ~BRIDGE
380 - ~DUMMY
381 - ~IP6_NF_NAT
382 - ~IP6_NF_TARGET_MASQUERADE
383 - ~IPV6
384 - ~IP_NF_NAT
385 - ~IP_NF_TARGET_MASQUERADE
386 - ~MACVLAN
387 - ~NETFILTER_XT_MATCH_COMMENT
388 - ~NET_IPGRE
389 - ~NET_IPGRE_DEMUX
390 - ~NET_IPIP
391 - ~NF_NAT_MASQUERADE_IPV4
392 - ~NF_NAT_MASQUERADE_IPV6
393 - ~VXLAN
394 -"
395 -
396 -ERROR_BRIDGE="BRIDGE: needed for network commands"
397 -ERROR_DUMMY="DUMMY: needed for network commands"
398 -ERROR_IP6_NF_NAT="IP6_NF_NAT: needed for network commands"
399 -ERROR_IP6_NF_TARGET_MASQUERADE="IP6_NF_TARGET_MASQUERADE: needed for network commands"
400 -ERROR_IPV6="IPV6: needed for network commands"
401 -ERROR_IP_NF_NAT="IP_NF_NAT: needed for network commands"
402 -ERROR_IP_NF_TARGET_MASQUERADE="IP_NF_TARGET_MASQUERADE: needed for network commands"
403 -ERROR_MACVLAN="MACVLAN: needed for network commands"
404 -ERROR_NETFILTER_XT_MATCH_COMMENT="NETFILTER_XT_MATCH_COMMENT: needed for network commands"
405 -ERROR_NET_IPGRE="NET_IPGRE: needed for network commands"
406 -ERROR_NET_IPGRE_DEMUX="NET_IPGRE_DEMUX: needed for network commands"
407 -ERROR_NET_IPIP="NET_IPIP: needed for network commands"
408 -ERROR_NF_NAT_MASQUERADE_IPV4="NF_NAT_MASQUERADE_IPV4: needed for network commands"
409 -ERROR_NF_NAT_MASQUERADE_IPV6="NF_NAT_MASQUERADE_IPV6: needed for network commands"
410 -ERROR_VXLAN="VXLAN: needed for network commands"
411 -
412 -EGO_PN="github.com/lxc/lxd"
413 -
414 -src_prepare() {
415 - eapply_user
416 - eapply "${FILESDIR}/de-translation-newline.patch"
417 -
418 - cd "${S}/dist/dqlite" || die "Can't cd to dqlite dir"
419 - eautoreconf
420 -}
421 -
422 -src_configure() {
423 - export GOPATH="${S}/dist"
424 - cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir"
425 - econf --enable-replication --disable-amalgamation --disable-tcl --libdir="${EPREFIX}/usr/lib/lxd"
426 -
427 - cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir"
428 - PKG_CONFIG_PATH="${GOPATH}/sqlite/" econf --libdir=${EPREFIX}/usr/lib/lxd
429 -}
430 -
431 -src_compile() {
432 - export GOPATH="${S}/dist"
433 -
434 - cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir"
435 - emake
436 -
437 - cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir"
438 - emake CFLAGS="-I${GOPATH}/sqlite"
439 -
440 - # We don't use the Makefile here because it builds targets with the
441 - # assumption that `pwd` is in a deep gopath namespace, which we're not.
442 - # It's simpler to manually call "go install" than patching the Makefile.
443 - cd "${S}"
444 - go install -v -x ${EGO_PN}/lxc || die "Failed to build the client"
445 -
446 - if use daemon; then
447 -
448 - # LXD depends on a patched, bundled sqlite with replication
449 - # capabilities.
450 - export CGO_CFLAGS="-I${GOPATH}/sqlite/ -I${GOPATH}/dqlite/include/"
451 - export CGO_LDFLAGS="-L${GOPATH}/sqlite/.libs/ -L${GOPATH}/dqlite/.libs/ -Wl,-rpath,${EPREFIX}/usr/lib/lxd"
452 - export LD_LIBRARY_PATH="${GOPATH}/sqlite/.libs/:${GOPATH}/dqlite/.libs/"
453 -
454 - go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon"
455 - fi
456 -
457 - if use tools; then
458 - go install -v -x ${EGO_PN}/fuidshift || die "Failed to build fuidshift"
459 - go install -v -x ${EGO_PN}/lxc-to-lxd || die "Failed to build lxc-to-lxd"
460 - go install -v -x ${EGO_PN}/lxd-benchmark || die "Failed to build lxd-benchmark"
461 - fi
462 -
463 - use nls && emake build-mo
464 -}
465 -
466 -src_test() {
467 - if use daemon; then
468 - export GOPATH="${S}/dist"
469 - # This is mostly a copy/paste from the Makefile's "check" rule, but
470 - # patching the Makefile to work in a non "fully-qualified" go namespace
471 - # was more complicated than this modest copy/paste.
472 - # Also: sorry, for now a network connection is needed to run tests.
473 - # Will properly bundle test dependencies later.
474 - go get -v -x github.com/rogpeppe/godeps
475 - go get -v -x github.com/remyoudompheng/go-misc/deadcode
476 - go get -v -x github.com/golang/lint/golint
477 - go test -v ${EGO_PN}/lxd
478 - else
479 - einfo "No tests to run for client-only builds"
480 - fi
481 -}
482 -
483 -src_install() {
484 - local bindir="dist/bin"
485 - dobin ${bindir}/lxc
486 - if use daemon; then
487 -
488 - export GOPATH="${S}/dist"
489 - cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir"
490 - emake DESTDIR="${D}" install
491 -
492 - cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir"
493 - emake DESTDIR="${D}" install
494 -
495 - # Must only install libs
496 - rm "${D}/usr/bin/sqlite3" || die "Can't remove custom sqlite3 binary"
497 - rm -r "${D}/usr/include" || die "Can't remove include directory"
498 -
499 - cd "${S}" || die "Can't cd to \${S}"
500 - dosbin ${bindir}/lxd
501 - fi
502 -
503 - if use tools; then
504 - dobin ${bindir}/fuidshift
505 - dobin ${bindir}/lxc-to-lxd
506 - dobin ${bindir}/lxd-benchmark
507 - fi
508 -
509 - if use nls; then
510 - domo po/*.mo
511 - fi
512 -
513 - if use daemon; then
514 - newinitd "${FILESDIR}"/${PN}.initd lxd
515 - newconfd "${FILESDIR}"/${PN}.confd lxd
516 -
517 - systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service
518 - fi
519 -
520 - newbashcomp scripts/bash/lxd-client lxc
521 -
522 - dodoc AUTHORS doc/*
523 -}
524 -
525 -pkg_postinst() {
526 - elog
527 - elog "Consult https://wiki.gentoo.org/wiki/LXD for more information,"
528 - elog "including a Quick Start."
529 -
530 - # The messaging below only applies to daemon installs
531 - use daemon || return 0
532 -
533 - # The control socket will be owned by (and writeable by) this group.
534 - enewgroup lxd
535 -
536 - # Ubuntu also defines an lxd user but it appears unused (the daemon
537 - # must run as root)
538 -
539 - elog
540 - elog "Though not strictly required, some features are enabled at run-time"
541 - elog "when the relevant helper programs are detected:"
542 - elog "- sys-apps/apparmor"
543 - elog "- sys-fs/btrfs-progs"
544 - elog "- sys-fs/lvm2"
545 - elog "- sys-fs/zfs"
546 - elog "- sys-process/criu"
547 - elog
548 - elog "Since these features can't be disabled at build-time they are"
549 - elog "not USE-conditional."
550 - elog
551 - elog "Be sure to add your local user to the lxd group."
552 - elog
553 - elog "Networks with bridge.mode=fan are unsupported due to requiring"
554 - elog "a patched kernel and iproute2."
555 -}
556 -
557 -# TODO:
558 -# - man page, I don't see cobra generating it
559
560 diff --git a/app-emulation/lxd/lxd-3.4.ebuild b/app-emulation/lxd/lxd-3.4.ebuild
561 deleted file mode 100644
562 index c5ce43a9eb1..00000000000
563 --- a/app-emulation/lxd/lxd-3.4.ebuild
564 +++ /dev/null
565 @@ -1,232 +0,0 @@
566 -# Copyright 1999-2018 Gentoo Foundation
567 -# Distributed under the terms of the GNU General Public License v2
568 -
569 -EAPI=6
570 -
571 -DESCRIPTION="Fast, dense and secure container management"
572 -HOMEPAGE="https://linuxcontainers.org/lxd/introduction/"
573 -
574 -LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0"
575 -SLOT="0"
576 -KEYWORDS="~amd64"
577 -
578 -IUSE="+daemon +ipv6 +dnsmasq nls test tools"
579 -
580 -inherit autotools bash-completion-r1 linux-info systemd user
581 -
582 -SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz"
583 -
584 -DEPEND="
585 - dev-lang/tcl
586 - >=dev-lang/go-1.9.4
587 - dev-libs/protobuf
588 - nls? ( sys-devel/gettext )
589 - test? (
590 - app-misc/jq
591 - net-misc/curl
592 - sys-devel/gettext
593 - )
594 -"
595 -
596 -RDEPEND="
597 - daemon? (
598 - app-arch/xz-utils
599 - >=app-emulation/lxc-2.0.7[seccomp]
600 - dev-libs/lzo
601 - dev-util/xdelta:3
602 - dnsmasq? (
603 - net-dns/dnsmasq[dhcp,ipv6?]
604 - )
605 - net-firewall/ebtables
606 - net-firewall/iptables[ipv6?]
607 - net-libs/libnfnetlink
608 - net-misc/rsync[xattr]
609 - sys-apps/iproute2[ipv6?]
610 - sys-fs/fuse
611 - sys-fs/lxcfs
612 - sys-fs/squashfs-tools
613 - virtual/acl
614 - )
615 -"
616 -
617 -CONFIG_CHECK="
618 - ~BRIDGE
619 - ~DUMMY
620 - ~IP6_NF_NAT
621 - ~IP6_NF_TARGET_MASQUERADE
622 - ~IPV6
623 - ~IP_NF_NAT
624 - ~IP_NF_TARGET_MASQUERADE
625 - ~MACVLAN
626 - ~NETFILTER_XT_MATCH_COMMENT
627 - ~NET_IPGRE
628 - ~NET_IPGRE_DEMUX
629 - ~NET_IPIP
630 - ~NF_NAT_MASQUERADE_IPV4
631 - ~NF_NAT_MASQUERADE_IPV6
632 - ~VXLAN
633 -"
634 -
635 -ERROR_BRIDGE="BRIDGE: needed for network commands"
636 -ERROR_DUMMY="DUMMY: needed for network commands"
637 -ERROR_IP6_NF_NAT="IP6_NF_NAT: needed for network commands"
638 -ERROR_IP6_NF_TARGET_MASQUERADE="IP6_NF_TARGET_MASQUERADE: needed for network commands"
639 -ERROR_IPV6="IPV6: needed for network commands"
640 -ERROR_IP_NF_NAT="IP_NF_NAT: needed for network commands"
641 -ERROR_IP_NF_TARGET_MASQUERADE="IP_NF_TARGET_MASQUERADE: needed for network commands"
642 -ERROR_MACVLAN="MACVLAN: needed for network commands"
643 -ERROR_NETFILTER_XT_MATCH_COMMENT="NETFILTER_XT_MATCH_COMMENT: needed for network commands"
644 -ERROR_NET_IPGRE="NET_IPGRE: needed for network commands"
645 -ERROR_NET_IPGRE_DEMUX="NET_IPGRE_DEMUX: needed for network commands"
646 -ERROR_NET_IPIP="NET_IPIP: needed for network commands"
647 -ERROR_NF_NAT_MASQUERADE_IPV4="NF_NAT_MASQUERADE_IPV4: needed for network commands"
648 -ERROR_NF_NAT_MASQUERADE_IPV6="NF_NAT_MASQUERADE_IPV6: needed for network commands"
649 -ERROR_VXLAN="VXLAN: needed for network commands"
650 -
651 -EGO_PN="github.com/lxc/lxd"
652 -
653 -src_prepare() {
654 - eapply_user
655 - eapply "${FILESDIR}/de-translation-newline.patch"
656 -
657 - cd "${S}/dist/dqlite" || die "Can't cd to dqlite dir"
658 - eautoreconf
659 -}
660 -
661 -src_configure() {
662 - export GOPATH="${S}/dist"
663 - cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir"
664 - econf --enable-replication --disable-amalgamation --disable-tcl --libdir=/usr/lib/lxd
665 -
666 - cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir"
667 - PKG_CONFIG_PATH="${GOPATH}/sqlite/" econf --libdir=/usr/lib/lxd
668 -}
669 -
670 -src_compile() {
671 - export GOPATH="${S}/dist"
672 -
673 - cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir"
674 - emake
675 -
676 - cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir"
677 - emake CFLAGS="-I${GOPATH}/sqlite"
678 -
679 - # We don't use the Makefile here because it builds targets with the
680 - # assumption that `pwd` is in a deep gopath namespace, which we're not.
681 - # It's simpler to manually call "go install" than patching the Makefile.
682 - cd "${S}"
683 - go install -v -x ${EGO_PN}/lxc || die "Failed to build the client"
684 -
685 - if use daemon; then
686 -
687 - # LXD depends on a patched, bundled sqlite with replication
688 - # capabilities.
689 - export CGO_CFLAGS="-I${GOPATH}/sqlite/ -I${GOPATH}/dqlite/include/"
690 - export CGO_LDFLAGS="-L${GOPATH}/sqlite/.libs/ -L${GOPATH}/dqlite/.libs/"
691 - export LD_LIBRARY_PATH="${GOPATH}/sqlite/.libs/:${GOPATH}/dqlite/.libs/"
692 -
693 - go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon"
694 - fi
695 -
696 - if use tools; then
697 - go install -v -x ${EGO_PN}/fuidshift || die "Failed to build fuidshift"
698 - go install -v -x ${EGO_PN}/lxc-to-lxd || die "Failed to build lxc-to-lxd"
699 - go install -v -x ${EGO_PN}/lxd-benchmark || die "Failed to build lxd-benchmark"
700 - fi
701 -
702 - use nls && emake build-mo
703 -}
704 -
705 -src_test() {
706 - if use daemon; then
707 - export GOPATH="${S}/dist"
708 - # This is mostly a copy/paste from the Makefile's "check" rule, but
709 - # patching the Makefile to work in a non "fully-qualified" go namespace
710 - # was more complicated than this modest copy/paste.
711 - # Also: sorry, for now a network connection is needed to run tests.
712 - # Will properly bundle test dependencies later.
713 - go get -v -x github.com/rogpeppe/godeps
714 - go get -v -x github.com/remyoudompheng/go-misc/deadcode
715 - go get -v -x github.com/golang/lint/golint
716 - go test -v ${EGO_PN}/lxd
717 - else
718 - einfo "No tests to run for client-only builds"
719 - fi
720 -}
721 -
722 -src_install() {
723 - local bindir="dist/bin"
724 - dobin ${bindir}/lxc
725 - if use daemon; then
726 -
727 - export GOPATH="${S}/dist"
728 - cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir"
729 - emake DESTDIR="${D}" install
730 -
731 - cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir"
732 - emake DESTDIR="${D}" install
733 -
734 - # Must only install libs
735 - rm "${D}/usr/bin/sqlite3" || die "Can't remove custom sqlite3 binary"
736 - rm -r "${D}/usr/include" || die "Can't remove include directory"
737 -
738 - cd "${S}" || die "Can't cd to \${S}"
739 - dosbin ${bindir}/lxd
740 - fi
741 -
742 - if use tools; then
743 - dobin ${bindir}/fuidshift
744 - dobin ${bindir}/lxc-to-lxd
745 - dobin ${bindir}/lxd-benchmark
746 - fi
747 -
748 - if use nls; then
749 - domo po/*.mo
750 - fi
751 -
752 - if use daemon; then
753 - newinitd "${FILESDIR}"/${PN}.initd.1 lxd
754 - newconfd "${FILESDIR}"/${PN}.confd lxd
755 -
756 - systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service
757 - fi
758 -
759 - newbashcomp scripts/bash/lxd-client lxc
760 -
761 - dodoc AUTHORS doc/*
762 -}
763 -
764 -pkg_postinst() {
765 - elog
766 - elog "Consult https://wiki.gentoo.org/wiki/LXD for more information,"
767 - elog "including a Quick Start."
768 -
769 - # The messaging below only applies to daemon installs
770 - use daemon || return 0
771 -
772 - # The control socket will be owned by (and writeable by) this group.
773 - enewgroup lxd
774 -
775 - # Ubuntu also defines an lxd user but it appears unused (the daemon
776 - # must run as root)
777 -
778 - elog
779 - elog "Though not strictly required, some features are enabled at run-time"
780 - elog "when the relevant helper programs are detected:"
781 - elog "- sys-apps/apparmor"
782 - elog "- sys-fs/btrfs-progs"
783 - elog "- sys-fs/lvm2"
784 - elog "- sys-fs/zfs"
785 - elog "- sys-process/criu"
786 - elog
787 - elog "Since these features can't be disabled at build-time they are"
788 - elog "not USE-conditional."
789 - elog
790 - elog "Be sure to add your local user to the lxd group."
791 - elog
792 - elog "Networks with bridge.mode=fan are unsupported due to requiring"
793 - elog "a patched kernel and iproute2."
794 -}
795 -
796 -# TODO:
797 -# - man page, I don't see cobra generating it