From d934827bf44b7cfcf6711964418148fa60877668 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 25 Nov 2020 22:39:15 +0000 Subject: gentoo resync : 25.11.2020 --- app-emulation/lxd/Manifest | 6 +- app-emulation/lxd/lxd-4.0.3-r2.ebuild | 212 ++++++++++++++++++++++++++++++++++ app-emulation/lxd/lxd-4.0.3.ebuild | 208 --------------------------------- app-emulation/lxd/lxd-4.0.4-r1.ebuild | 144 +++++++++++++++++++++++ 4 files changed, 361 insertions(+), 209 deletions(-) create mode 100644 app-emulation/lxd/lxd-4.0.3-r2.ebuild delete mode 100644 app-emulation/lxd/lxd-4.0.3.ebuild create mode 100644 app-emulation/lxd/lxd-4.0.4-r1.ebuild (limited to 'app-emulation/lxd') diff --git a/app-emulation/lxd/Manifest b/app-emulation/lxd/Manifest index 56f4addb91cc..977ca0c30f64 100644 --- a/app-emulation/lxd/Manifest +++ b/app-emulation/lxd/Manifest @@ -5,5 +5,9 @@ AUX lxd-4.0.0.socket 197 BLAKE2B 8c0d2dee71c14ee5f34b2bd0804adfa06ab3ae2a73bcf8d AUX lxd-4.0.0_apparmor.service 567 BLAKE2B e5951c31f90b842f5b625060326d9611ed67fb50360b11791cbd1ab1953fdfe5eb726e22b7091bb8e45c294b772e6b00e9ca65833512eb5b570627fa3234812e SHA512 364764d007f4800138c712fce70fe28b096b6e35dc6d2e4f8aa9aff4b335ecec7dfc9600a1a16cd38e69a96534b7462daf5f6e946a2ee81bce17977b8d5911db AUX lxd-containers-4.0.0.service 322 BLAKE2B a38cffd4b5809946abdac858564dcab2c2967c295d671df0d315d790df1849e25f0bc052e20cd0d9e4c23403289050b4538f5a52437ab8ae9ca3b40c6a9a1571 SHA512 a55f2c1a367c5c3c5eb6880e01893977de18c6e9463949236ee3247715fbf53641bbe1b69404362dd6cb6ba2a30ac6539fd362b21059e529dc4dac4ec5ca6718 DIST lxd-4.0.3.tar.gz 25468067 BLAKE2B 5c3d8a2841d3222d070be39fb6cb63c99450a7edea86915a808230012f1a3b7a66c2c4a3c56be378f586c8ca033c4f547ed6eeb14bb09a091b3ae28c62fda7ae SHA512 aaf7fe7473e04765263ff99f02041748f0e57abdd0311d734fbf1cbc461516bf6adad1bc42c9cfa58b4e87c28efb5186d9436fb0a1d309b23eb37fe95299ad6f -EBUILD lxd-4.0.3.ebuild 5984 BLAKE2B 0529634ba6f1931ad0262b3211c808389fd756254d2d56aab9d83d6afe3bf9b293fc30e941e254a084056618c4e2de33681f92406df3579d5473dd88d35422c6 SHA512 ce7522cc87605b1aa60d8e1aa92c8ccbd39615ac3d5639b8d365e366266dadb737b2513f50b8b679d3839b9b823957c0b39dd41a3b5543541071a64d1b8ff95d +DIST lxd-4.0.3.tar.gz.asc 833 BLAKE2B b889b7c3a85f325a4c47319b45c4828c4fc0cac2bae77341734827e737243802852c20a766ab72ce1a12e643502d108fec41b715d8eb820ec273c651b7745fb2 SHA512 993ad833832a551e0804f9e565542b5779352cad2bb32989a440a0be11b1ae6539e46fa3332d35e8be365026dacc21d847db544b62b3e11493100d3c9cb313e1 +DIST lxd-4.0.4.tar.gz 14166577 BLAKE2B 5a04efa1bf70d416b328f5f85379a7c697667978a2b7571c05f8d834ccea51c65ce3df447787ccad5c0a9cc524bc396eb5c90b26b92d6252fc07a5be0157e0ea SHA512 800768b923de920e04d676d9c87beedd2ddd164661799c429616f6fa00b36f23ae1d9cff56f2ed16172585b9b3c058ee955eb3e5f8d98c84109c4405c5aae23f +DIST lxd-4.0.4.tar.gz.asc 833 BLAKE2B bac0b63fc7fe61290bd399ef09eaf0bae12ac962b1188c49fa94c9132b002c278dcdb271d35a1784848591a315a8e88eab823c1c653ef814d454a0af607e461b SHA512 7fc9b9b27305d7637efeaf4024a8a26e2f891599fe50fa22e2f9defa6d451a015d74d068f63a9547fce312ed5fb5da82b99be9dc13601f807695cf1b675baf15 +EBUILD lxd-4.0.3-r2.ebuild 6216 BLAKE2B a27e6e7fd7299cc7b6ec7a388d34dcca5b511f09908332ae75e161fe30ee3597880abc8b1eeb9e45e0b922fc5e3a2895563372864c6ddc6721478d82d76c46e8 SHA512 dcdf83c6cad0b3ad373b855d997fb57a5848ab689eb84ca9dedf82b738c79219499315f32ee6e3fbbf989b03c5008d10d0124dc9dd03161aac59b955cdfd8b6c +EBUILD lxd-4.0.4-r1.ebuild 3512 BLAKE2B 7ffd9d4eaf676675de38ff6f509646b81c7457b164bb632b2c25fb603eb8a83fb5686a936707cfbd854fe0de14a0fb001c183aa55d158934d97519f5a5b66add SHA512 ad15daa6273f48c6c3c2bb7dcf2ef0507e67fad842c756c9c8c6694d074d78710412fc5e1eef4f7f1334781d0379d9c79365788262d19594e4731a2bc8c0c2bc MISC metadata.xml 776 BLAKE2B 5f8e6d2639982bf6564567a9775e55b777d4bd9cb01818770b5089071262ceda815e5d94e853b7c08a470234729c08e313685610b3da457a23bb7edbf5b3ff52 SHA512 050d500629b4331f2f8bd2fa5cbcabadc988d737c891edb66ad8b2ee2fd378690b2fee4c70e0b380c2579cb9a39453768242d7acbead4c5390c7f01131b939c0 diff --git a/app-emulation/lxd/lxd-4.0.3-r2.ebuild b/app-emulation/lxd/lxd-4.0.3-r2.ebuild new file mode 100644 index 000000000000..fa42646855b0 --- /dev/null +++ b/app-emulation/lxd/lxd-4.0.3-r2.ebuild @@ -0,0 +1,212 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools bash-completion-r1 linux-info optfeature systemd verify-sig + +DESCRIPTION="Fast, dense and secure container management" +HOMEPAGE="https://linuxcontainers.org/lxd/introduction/ https://github.com/lxc/lxd" +SRC_URI="https://linuxcontainers.org/downloads/lxd/${P}.tar.gz + verify-sig? ( https://linuxcontainers.org/downloads/lxd/${P}.tar.gz.asc )" + +# Needs to include licenses for all bundled programs and libraries. +LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" +SLOT="0" +KEYWORDS="amd64" +IUSE="apparmor +ipv6 nls verify-sig" + +DEPEND="app-arch/xz-utils + >=app-emulation/lxc-3.0.0[apparmor?,seccomp] + dev-lang/tcl + dev-libs/libuv + dev-libs/lzo + net-dns/dnsmasq[dhcp,ipv6?]" +RDEPEND="${DEPEND} + acct-group/lxd + net-firewall/ebtables + net-firewall/iptables[ipv6?] + sys-apps/iproute2[ipv6?] + sys-fs/fuse:0= + sys-fs/lxcfs + sys-fs/squashfs-tools + virtual/acl" +BDEPEND=">=dev-lang/go-1.13 + nls? ( sys-devel/gettext ) + verify-sig? ( app-crypt/openpgp-keys-linuxcontainers )" + +CONFIG_CHECK=" + ~BRIDGE + ~DUMMY + ~IP6_NF_NAT + ~IP6_NF_TARGET_MASQUERADE + ~IPV6 + ~IP_NF_NAT + ~IP_NF_TARGET_MASQUERADE + ~MACVLAN + ~NETFILTER_XT_MATCH_COMMENT + ~NET_IPGRE + ~NET_IPGRE_DEMUX + ~NET_IPIP + ~NF_NAT_MASQUERADE + ~VSOCKETS + ~VXLAN +" + +# 4.0.3: Network fetching fixed, but tests don't work when ran inside container. +RESTRICT="test" + +# Go magic. +QA_PREBUILT="/usr/lib/lxd/libdqlite.so.0.0.1 + /usr/bin/fuidshift + /usr/bin/lxc + /usr/bin/lxc-to-lxd + /usr/bin/lxd-agent + /usr/bin/lxd-benchmark + /usr/bin/lxd-p2c + /usr/sbin/lxd" + +EGO_PN="github.com/lxc/lxd" +GOPATH="${S}/_dist" # this seems to reset every now and then, though + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc + +common_op() { + local i + for i in dqlite raft; do + cd "${GOPATH}"/deps/${i} || die "failed to switch dir to ${i}" + "${@}" + cd "${S}" || die "failed to switch dir back from ${i} to ${S}" + done +} + +src_prepare() { + default + + export GOPATH="${S}/_dist" + + sed -i \ + -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/lxd:g" \ + -e "s:make:make ${MAKEOPTS}:g" \ + Makefile || die + + sed -i 's#lib$#lib/lxd#' "${GOPATH}"/deps/libco/Makefile || die + sed -i 's#zfs version 2>/dev/null | cut -f 2 -d - | head -1#< /sys/module/zfs/version cut -f 1#' "${GOPATH}"/deps/raft/configure.ac || die + + common_op eautoreconf +} + +src_configure() { + export GOPATH="${S}/_dist" + + export CO_CFLAGS="-I${GOPATH}/deps/libco/" + export CO_LIBS="${GOPATH}/deps/libco/" + + export RAFT_CFLAGS="-I${GOPATH}/deps/raft/include/" + export RAFT_LIBS="${GOPATH}/deps/raft/.libs" + + export SQLITE_CFLAGS="-I${GOPATH}/deps/sqlite" + export SQLITE_LIBS="${GOPATH}/deps/sqlite/.libs" + + export PKG_CONFIG_PATH="${GOPATH}/sqlite/:${GOPATH}/libco/:${GOPATH}/raft/" + + cd "${GOPATH}/deps/sqlite" || die + econf --enable-replication --disable-amalgamation --disable-tcl --libdir="${EPREFIX}/usr/lib/lxd" + + common_op econf --libdir="${EPREFIX}"/usr/lib/lxd +} + +src_compile() { + export GOPATH="${S}/_dist" + + export CGO_CFLAGS="${CGO_CFLAGS} -I${GOPATH}/deps/sqlite/ -I${GOPATH}/deps/dqlite/include/ -I${GOPATH}/deps/raft/include/ -I${GOPATH}/deps/libco/" + export CGO_LDFLAGS="${CGO_LDFLAGS} -L${GOPATH}/deps/sqlite/.libs/ -L${GOPATH}/deps/dqlite/.libs/ -L${GOPATH}/deps/raft/.libs -L${GOPATH}/deps/libco/ -Wl,-rpath,${EPREFIX}/usr/lib/lxd" + export LD_LIBRARY_PATH="${GOPATH}/deps/sqlite/.libs/:${GOPATH}/deps/dqlite/.libs/:${GOPATH}/deps/raft/.libs:${GOPATH}/deps/libco/:${LD_LIBRARY_PATH}" + + local j + for j in sqlite raft libco; do + cd "${GOPATH}"/deps/${j} || die + emake + done + + ln -s libco.so.0.1.0 libco.so || die + ln -s libco.so.0.1.0 libco.so.0 || die + + cd "${GOPATH}/deps/dqlite" || die + emake CFLAGS="-I${GOPATH}/deps/sqlite -I${GOPATH}/deps/raft/include" LDFLAGS="-L${GOPATH}/deps/sqlite -L${GOPATH}/deps/raft" + + cd "${S}" || die + + for k in fuidshift lxd-agent lxd-benchmark lxd-p2c lxc lxc-to-lxd; do + go install -v -x ${EGO_PN}/${k} || die "failed compiling ${k}" + done + + go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon" + + use nls && emake build-mo +} + +src_test() { + export GOPATH="${S}/_dist" + + export CGO_CFLAGS="${CGO_CFLAGS} -I${GOPATH}/deps/sqlite/ -I${GOPATH}/deps/dqlite/include/ -I${GOPATH}/deps/raft/include/ -I${GOPATH}/deps/libco/" + export CGO_LDFLAGS="${CGO_LDFLAGS} -L${GOPATH}/deps/sqlite/.libs/ -L${GOPATH}/deps/dqlite/.libs/ -L${GOPATH}/deps/raft/.libs -L${GOPATH}/deps/libco/ -Wl,-rpath,${EPREFIX}/usr/lib/lxd" + export LD_LIBRARY_PATH="${GOPATH}/deps/sqlite/.libs/:${GOPATH}/deps/dqlite/.libs/:${GOPATH}/deps/raft/.libs:${GOPATH}/deps/libco/:${LD_LIBRARY_PATH}" + + go test -v ${EGO_PN}/lxd || die +} + +src_install() { + local bindir="_dist/bin" + export GOPATH="${S}/_dist" + + dosbin ${bindir}/lxd + + for l in fuidshift lxd-agent lxd-benchmark lxd-p2c lxc lxc-to-lxd; do + dobin ${bindir}/${l} + done + + for m in dqlite libco raft sqlite; do + cd "${GOPATH}"/deps/${m} || die "failed switching into ${GOPATH}/${m}" + emake DESTDIR="${D}" install + done + + cd "${S}" || die + + # We only need bundled libs during src_compile, and we don't want anything + # to link against these. + rm "${ED}"/usr/bin/sqlite3 || die + rm -r "${ED}"/usr/include || die + rm -r "${ED}"/usr/lib/lxd/*.a || die + rm -r "${ED}"/usr/lib/lxd/pkgconfig || die + + newbashcomp scripts/bash/lxd-client lxc + + newconfd "${FILESDIR}"/lxd-4.0.0.confd lxd + newinitd "${FILESDIR}"/lxd-4.0.0.initd lxd + + if use apparmor; then + systemd_newunit "${FILESDIR}"/lxd-4.0.0_apparmor.service lxd.service + else + systemd_newunit "${FILESDIR}"/lxd-4.0.0.service lxd.service + fi + + systemd_newunit "${FILESDIR}"/lxd-containers-4.0.0.service lxd-containers.service + systemd_newunit "${FILESDIR}"/lxd-4.0.0.socket lxd.socket + + dodoc AUTHORS doc/* + use nls && domo po/*.mo +} + +pkg_postinst() { + elog + elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," + elog "including a Quick Start." + elog + elog "Optional features:" + optfeature "btrfs storage backend" sys-fs/btrfs-progs + 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 lxd group." +} diff --git a/app-emulation/lxd/lxd-4.0.3.ebuild b/app-emulation/lxd/lxd-4.0.3.ebuild deleted file mode 100644 index abda07f1be07..000000000000 --- a/app-emulation/lxd/lxd-4.0.3.ebuild +++ /dev/null @@ -1,208 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools bash-completion-r1 linux-info optfeature systemd - -DESCRIPTION="Fast, dense and secure container management" -HOMEPAGE="https://linuxcontainers.org/lxd/introduction/ https://github.com/lxc/lxd" -SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz" - -# Needs to include licenses for all bundled programs and libraries. -LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" -SLOT="0" -KEYWORDS="amd64" -IUSE="apparmor +ipv6 nls" - -DEPEND="app-arch/xz-utils - >=app-emulation/lxc-3.0.0[apparmor?,seccomp] - dev-lang/tcl - dev-libs/libuv - dev-libs/lzo - net-dns/dnsmasq[dhcp,ipv6?]" -RDEPEND="${DEPEND} - acct-group/lxd - net-firewall/ebtables - net-firewall/iptables[ipv6?] - sys-apps/iproute2[ipv6?] - sys-fs/fuse:0= - sys-fs/lxcfs - sys-fs/squashfs-tools - virtual/acl" -BDEPEND=">=dev-lang/go-1.13 - nls? ( sys-devel/gettext )" - -CONFIG_CHECK=" - ~BRIDGE - ~DUMMY - ~IP6_NF_NAT - ~IP6_NF_TARGET_MASQUERADE - ~IPV6 - ~IP_NF_NAT - ~IP_NF_TARGET_MASQUERADE - ~MACVLAN - ~NETFILTER_XT_MATCH_COMMENT - ~NET_IPGRE - ~NET_IPGRE_DEMUX - ~NET_IPIP - ~NF_NAT_MASQUERADE - ~VSOCKETS - ~VXLAN -" - -# 4.0.3: Network fetching fixed, but tests don't work when ran inside container. -RESTRICT="test" - -# Go magic. -QA_PREBUILT="/usr/lib/lxd/libdqlite.so.0.0.1 - /usr/bin/fuidshift - /usr/bin/lxc - /usr/bin/lxc-to-lxd - /usr/bin/lxd-agent - /usr/bin/lxd-benchmark - /usr/bin/lxd-p2c - /usr/sbin/lxd" - -EGO_PN="github.com/lxc/lxd" -GOPATH="${S}/_dist" # this seems to reset every now and then, though - -common_op() { - local i - for i in dqlite raft; do - cd "${GOPATH}"/deps/${i} || die "failed to switch dir to ${i}" - "${@}" - cd "${S}" || die "failed to switch dir back from ${i} to ${S}" - done -} - -src_prepare() { - default - - export GOPATH="${S}/_dist" - - sed -i \ - -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/lxd:g" \ - -e "s:make:make ${MAKEOPTS}:g" \ - Makefile || die - - sed -i 's#lib$#lib/lxd#' "${GOPATH}"/deps/libco/Makefile || die - sed -i 's#zfs version 2>/dev/null | cut -f 2 -d - | head -1#< /sys/module/zfs/version cut -f 1#' "${GOPATH}"/deps/raft/configure.ac || die - - common_op eautoreconf -} - -src_configure() { - export GOPATH="${S}/_dist" - - export CO_CFLAGS="-I${GOPATH}/deps/libco/" - export CO_LIBS="${GOPATH}/deps/libco/" - - export RAFT_CFLAGS="-I${GOPATH}/deps/raft/include/" - export RAFT_LIBS="${GOPATH}/deps/raft/.libs" - - export SQLITE_CFLAGS="-I${GOPATH}/deps/sqlite" - export SQLITE_LIBS="${GOPATH}/deps/sqlite/.libs" - - export PKG_CONFIG_PATH="${GOPATH}/sqlite/:${GOPATH}/libco/:${GOPATH}/raft/" - - cd "${GOPATH}/deps/sqlite" || die - econf --enable-replication --disable-amalgamation --disable-tcl --libdir="${EPREFIX}/usr/lib/lxd" - - common_op econf --libdir="${EPREFIX}"/usr/lib/lxd -} - -src_compile() { - export GOPATH="${S}/_dist" - - export CGO_CFLAGS="${CGO_CFLAGS} -I${GOPATH}/deps/sqlite/ -I${GOPATH}/deps/dqlite/include/ -I${GOPATH}/deps/raft/include/ -I${GOPATH}/deps/libco/" - export CGO_LDFLAGS="${CGO_LDFLAGS} -L${GOPATH}/deps/sqlite/.libs/ -L${GOPATH}/deps/dqlite/.libs/ -L${GOPATH}/deps/raft/.libs -L${GOPATH}/deps/libco/ -Wl,-rpath,${EPREFIX}/usr/lib/lxd" - export LD_LIBRARY_PATH="${GOPATH}/deps/sqlite/.libs/:${GOPATH}/deps/dqlite/.libs/:${GOPATH}/deps/raft/.libs:${GOPATH}/deps/libco/:${LD_LIBRARY_PATH}" - - local j - for j in sqlite raft libco; do - cd "${GOPATH}"/deps/${j} || die - emake - done - - ln -s libco.so.0.1.0 libco.so || die - ln -s libco.so.0.1.0 libco.so.0 || die - - cd "${GOPATH}/deps/dqlite" || die - emake CFLAGS="-I${GOPATH}/deps/sqlite -I${GOPATH}/deps/raft/include" LDFLAGS="-L${GOPATH}/deps/sqlite -L${GOPATH}/deps/raft" - - cd "${S}" || die - - for k in fuidshift lxd-agent lxd-benchmark lxd-p2c lxc lxc-to-lxd; do - go install -v -x ${EGO_PN}/${k} || die "failed compiling ${k}" - done - - go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon" - - use nls && emake build-mo -} - -src_test() { - export GOPATH="${S}/_dist" - - export CGO_CFLAGS="${CGO_CFLAGS} -I${GOPATH}/deps/sqlite/ -I${GOPATH}/deps/dqlite/include/ -I${GOPATH}/deps/raft/include/ -I${GOPATH}/deps/libco/" - export CGO_LDFLAGS="${CGO_LDFLAGS} -L${GOPATH}/deps/sqlite/.libs/ -L${GOPATH}/deps/dqlite/.libs/ -L${GOPATH}/deps/raft/.libs -L${GOPATH}/deps/libco/ -Wl,-rpath,${EPREFIX}/usr/lib/lxd" - export LD_LIBRARY_PATH="${GOPATH}/deps/sqlite/.libs/:${GOPATH}/deps/dqlite/.libs/:${GOPATH}/deps/raft/.libs:${GOPATH}/deps/libco/:${LD_LIBRARY_PATH}" - - go test -v ${EGO_PN}/lxd || die -} - -src_install() { - local bindir="_dist/bin" - export GOPATH="${S}/_dist" - - dosbin ${bindir}/lxd - - for l in fuidshift lxd-agent lxd-benchmark lxd-p2c lxc lxc-to-lxd; do - dobin ${bindir}/${l} - done - - for m in dqlite libco raft sqlite; do - cd "${GOPATH}"/deps/${m} || die "failed switching into ${GOPATH}/${m}" - emake DESTDIR="${D}" install - done - - cd "${S}" || die - - # We only need bundled libs during src_compile, and we don't want anything - # to link against these. - rm "${ED}"/usr/bin/sqlite3 || die - rm -r "${ED}"/usr/include || die - rm -r "${ED}"/usr/lib/lxd/*.a || die - rm -r "${ED}"/usr/lib/lxd/pkgconfig || die - - newbashcomp scripts/bash/lxd-client lxc - - newconfd "${FILESDIR}"/lxd-4.0.0.confd lxd - newinitd "${FILESDIR}"/lxd-4.0.0.initd lxd - - if use apparmor; then - systemd_newunit "${FILESDIR}"/lxd-4.0.0_apparmor.service lxd.service - else - systemd_newunit "${FILESDIR}"/lxd-4.0.0.service lxd.service - fi - - systemd_newunit "${FILESDIR}"/lxd-containers-4.0.0.service lxd-containers.service - systemd_newunit "${FILESDIR}"/lxd-4.0.0.socket lxd.socket - - dodoc AUTHORS doc/* - use nls && domo po/*.mo -} - -pkg_postinst() { - elog - elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," - elog "including a Quick Start." - elog - elog "Optional features:" - optfeature "btrfs storage backend" sys-fs/btrfs-progs - 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 lxd group." -} diff --git a/app-emulation/lxd/lxd-4.0.4-r1.ebuild b/app-emulation/lxd/lxd-4.0.4-r1.ebuild new file mode 100644 index 000000000000..e287cc4458a8 --- /dev/null +++ b/app-emulation/lxd/lxd-4.0.4-r1.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools bash-completion-r1 linux-info optfeature systemd verify-sig + +DESCRIPTION="Fast, dense and secure container management" +HOMEPAGE="https://linuxcontainers.org/lxd/introduction/ https://github.com/lxc/lxd" +SRC_URI="https://linuxcontainers.org/downloads/lxd/${P}.tar.gz + verify-sig? ( https://linuxcontainers.org/downloads/lxd/${P}.tar.gz.asc )" + +# Needs to include licenses for all bundled programs and libraries. +LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="apparmor ipv6 nls verify-sig" + +DEPEND="app-arch/xz-utils + >=app-emulation/lxc-3.0.0[apparmor?,seccomp] + dev-libs/dqlite + dev-libs/lzo + dev-libs/raft + net-dns/dnsmasq[dhcp,ipv6?]" +RDEPEND="${DEPEND} + acct-group/lxd + net-firewall/ebtables + net-firewall/iptables[ipv6?] + sys-apps/iproute2[ipv6?] + sys-fs/fuse:0= + sys-fs/lxcfs + sys-fs/squashfs-tools + virtual/acl" +BDEPEND="dev-lang/go + nls? ( sys-devel/gettext ) + verify-sig? ( app-crypt/openpgp-keys-linuxcontainers )" + +CONFIG_CHECK=" + ~CGROUPS + ~IPC_NS + ~NET_NS + ~PID_NS + + ~SECCOMP + ~USER_NS + ~UTS_NS +" + +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." + +# Go magic. +QA_PREBUILT="/usr/bin/fuidshift + /usr/bin/lxc + /usr/bin/lxc-to-lxd + /usr/bin/lxd-agent + /usr/bin/lxd-benchmark + /usr/bin/lxd-p2c + /usr/sbin/lxd" + +EGO_PN="github.com/lxc/lxd" +GOPATH="${S}/_dist" # this seems to reset every now and then, though + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc + +src_prepare() { + default + + export GOPATH="${S}/_dist" + + sed -i \ + -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/lxd:g" \ + -e "s:make:make ${MAKEOPTS}:g" \ + Makefile || die +} + +src_configure() { :; } + +src_compile() { + export GOPATH="${S}/_dist" + + cd "${S}" || die + + for k in fuidshift lxd-agent lxd-benchmark lxd-p2c lxc lxc-to-lxd; do + go install -v -x ${EGO_PN}/${k} || die "failed compiling ${k}" + done + + go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon" + + use nls && emake build-mo +} + +src_test() { + export GOPATH="${S}/_dist" + go test -v ${EGO_PN}/lxd || die +} + +src_install() { + local bindir="_dist/bin" + export GOPATH="${S}/_dist" + + dosbin ${bindir}/lxd + + for l in fuidshift lxd-agent lxd-benchmark lxd-p2c lxc lxc-to-lxd; do + dobin ${bindir}/${l} + done + + cd "${S}" || die + + newbashcomp scripts/bash/lxd-client lxc + + newconfd "${FILESDIR}"/lxd-4.0.0.confd lxd + newinitd "${FILESDIR}"/lxd-4.0.0.initd lxd + + if use apparmor; then + systemd_newunit "${FILESDIR}"/lxd-4.0.0_apparmor.service lxd.service + else + systemd_newunit "${FILESDIR}"/lxd-4.0.0.service lxd.service + fi + + systemd_newunit "${FILESDIR}"/lxd-containers-4.0.0.service lxd-containers.service + systemd_newunit "${FILESDIR}"/lxd-4.0.0.socket lxd.socket + + dodoc AUTHORS doc/* + use nls && domo po/*.mo +} + +pkg_postinst() { + elog + elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," + elog "including a Quick Start." + elog + elog "Please run 'lxc-checkconfig' to see all optional kernel features." + elog + elog "Optional features:" + optfeature "btrfs storage backend" sys-fs/btrfs-progs + 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 lxd group." +} -- cgit v1.2.3