diff options
author | Joonas Niilola <juippis@gentoo.org> | 2021-05-01 08:37:09 +0300 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2021-05-01 08:38:47 +0300 |
commit | 5d05a7c3f79a987247f5e43260a299eccab75c06 (patch) | |
tree | f65f5d15e2bd995678b4d9d08be25a9637a6c090 /app-emulation | |
parent | app-emulation/lxc: bump to 4.0.8 (diff) | |
download | gentoo-5d05a7c3f79a987247f5e43260a299eccab75c06.tar.gz gentoo-5d05a7c3f79a987247f5e43260a299eccab75c06.tar.bz2 gentoo-5d05a7c3f79a987247f5e43260a299eccab75c06.zip |
app-emulation/lxd: bump to 4.0.6
- build lxd-agent statically, #752480
Bug: https://bugs.gentoo.org/752480
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'app-emulation')
-rw-r--r-- | app-emulation/lxd/Manifest | 2 | ||||
-rw-r--r-- | app-emulation/lxd/lxd-4.0.6.ebuild | 156 |
2 files changed, 158 insertions, 0 deletions
diff --git a/app-emulation/lxd/Manifest b/app-emulation/lxd/Manifest index 45ccce6f37d3..c92c906912eb 100644 --- a/app-emulation/lxd/Manifest +++ b/app-emulation/lxd/Manifest @@ -1,2 +1,4 @@ DIST lxd-4.0.5.tar.gz 14659330 BLAKE2B 4d61885a94946d3a6018324512ea318716cb9c1bc5f40be4eb62f71ad6a0eb993cda0ef917fbefb3949c0d47a6217245cc62e0ced3abfbcf47f6d8375a7d85d0 SHA512 8b9e6742dc3383fb31dce33d9f8ffe7a0ea661d274f6c3ac710f58d4d5b90b596881386571564ec0cd8f027da43eaa3948dd675d6fa07f1095405f4cc05f1211 DIST lxd-4.0.5.tar.gz.asc 833 BLAKE2B f5b2ead748973831ec7ba7be00c34d26b16a6b168fb88a25f07126eeab5c812cab72609acc443e9bb541ff64849952bf66f8ee207083836a2aab905f1373c1e0 SHA512 b59edaf88cd8ab34271eb0ebb52270ede1509351596449b1b955eaba70a50f6f18fdc95fcc933deca3fe545b9aa45bfda3b7aa6553a8b4f2cedc8d1a6b3a5946 +DIST lxd-4.0.6.tar.gz 15353779 BLAKE2B f699e91c53b407e5a0e47fe40b133d6216754b1e5c5829ee68993468565f2080c12cbcbf8373d6da16ca94a3648ec51b874e66ff589be09dc95f2382d18f3e12 SHA512 58efaac50dbcbb3cf0e7aa1b3b43085beae4546dfcd081720b049c2b88bf120b9a74e7db1238bbdd8cc2449e039b076ece3734e8f46f3ddbdc70aaae8b326963 +DIST lxd-4.0.6.tar.gz.asc 833 BLAKE2B 6d1756b130a944a98e62d809c45129178bfc39158c71e09319cdaff7461b14bda467e44a781bb5c15d40afdae4d3ec86f98919738a8c169d3fff910d8e9fe58a SHA512 6c59bd8ec9bf0d9bd90c8ab2970cf6928c0bef3736631ea2a56ebc464f33940366d35925ddfc4104c13fa0fd4e1bea42796e0a2eb82a8bf395957829f938c7db diff --git a/app-emulation/lxd/lxd-4.0.6.ebuild b/app-emulation/lxd/lxd-4.0.6.ebuild new file mode 100644 index 000000000000..bfa426ef05e4 --- /dev/null +++ b/app-emulation/lxd/lxd-4.0.6.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2021 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 )" + +LICENSE="Apache-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:* + sys-fs/lxcfs + sys-fs/squashfs-tools[lzma] + 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 + + # Fix hardcoded ovmf file path, see bug 763180 + sed -i \ + -e "s:/usr/share/OVMF:/usr/share/edk2-ovmf:g" \ + -e "s:OVMF_VARS.ms.fd:OVMF_VARS.secboot.fd:g" \ + doc/environment.md \ + lxd/apparmor/instance_qemu.go \ + lxd/instance/drivers/driver_qemu.go || die "Failed to fix hardcoded ovmf paths." +} + +src_configure() { :; } + +src_compile() { + export GOPATH="${S}/_dist" + export GO111MODULE=auto + + cd "${S}" || die + + for k in fuidshift lxd-benchmark 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" + + # Needs to be built statically + CGO_ENABLED=0 go install -v -tags netgo "${EGO_PN}"/lxd-p2c + CGO_ENABLED=0 go install -v -tags agent,netgo "${EGO_PN}"/lxd-agent + + use nls && emake build-mo +} + +src_test() { + export GO111MODULE=auto + 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 + 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." +} |