From 1e6334d771a7f7b7b38c8221a5649f2e81c5ce8a Mon Sep 17 00:00:00 2001 From: Joonas Niilola Date: Mon, 26 Oct 2020 08:25:22 +0200 Subject: app-emulation/lxd: revert openrc -> systemd-cgroups fix - it now breaks openrc -> openrc-cgroups instead. A better solution needs to be found. Please see https://wiki.gentoo.org/wiki/LXD#Running_systemd_based_containers_on_OpenRC_hosts for a workaround, that you can add to your own init.d file if needed. Bug: https://bugs.gentoo.org/750410 Signed-off-by: Joonas Niilola --- app-emulation/lxd/files/lxd-4.0.0.initd | 3 - app-emulation/lxd/lxd-4.0.3-r1.ebuild | 212 -------------------------------- app-emulation/lxd/lxd-4.0.3-r2.ebuild | 212 ++++++++++++++++++++++++++++++++ app-emulation/lxd/lxd-4.0.4-r1.ebuild | 144 ++++++++++++++++++++++ app-emulation/lxd/lxd-4.0.4.ebuild | 144 ---------------------- 5 files changed, 356 insertions(+), 359 deletions(-) delete mode 100644 app-emulation/lxd/lxd-4.0.3-r1.ebuild create mode 100644 app-emulation/lxd/lxd-4.0.3-r2.ebuild create mode 100644 app-emulation/lxd/lxd-4.0.4-r1.ebuild delete mode 100644 app-emulation/lxd/lxd-4.0.4.ebuild (limited to 'app-emulation/lxd') diff --git a/app-emulation/lxd/files/lxd-4.0.0.initd b/app-emulation/lxd/files/lxd-4.0.0.initd index f4206344355a..03ec12e44f56 100644 --- a/app-emulation/lxd/files/lxd-4.0.0.initd +++ b/app-emulation/lxd/files/lxd-4.0.0.initd @@ -18,9 +18,6 @@ start() { modprobe -f loop > /dev/null 2>&1 - # Allow systemd containers to be used on openrc host, #750410 - [ -d /sys/fs/cgroup/systemd ] || ( mkdir -p /sys/fs/cgroup/systemd ; mount -t cgroup -o none,name=systemd systemd /sys/fs/cgroup/systemd ) - # fix permissions on /var/lib/lxd and make sure it exists install -d /var/lib/lxd --group lxd --owner root --mode 0775 start-stop-daemon --start \ 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." -} 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.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." +} diff --git a/app-emulation/lxd/lxd-4.0.4.ebuild b/app-emulation/lxd/lxd-4.0.4.ebuild deleted file mode 100644 index e287cc4458a8..000000000000 --- a/app-emulation/lxd/lxd-4.0.4.ebuild +++ /dev/null @@ -1,144 +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-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-18-g5258