summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/lxd/lxd-4.0.3-r1.ebuild')
-rw-r--r--app-emulation/lxd/lxd-4.0.3-r1.ebuild212
1 files changed, 0 insertions, 212 deletions
diff --git a/app-emulation/lxd/lxd-4.0.3-r1.ebuild b/app-emulation/lxd/lxd-4.0.3-r1.ebuild
deleted file mode 100644
index fa42646855b0..000000000000
--- a/app-emulation/lxd/lxd-4.0.3-r1.ebuild
+++ /dev/null
@@ -1,212 +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 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."
-}