diff options
author | Brahmajit Das <brahmajit.xyz@gmail.com> | 2023-10-19 18:29:36 +0530 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2023-10-19 19:02:58 +0300 |
commit | 285ccadc969f51887a9fbf74d678a7993fa44535 (patch) | |
tree | 55e701d35d7238bbf0f104ed6f30f83af102e66c /app-containers | |
parent | dev-util/hipcc: Block older hip (diff) | |
download | gentoo-285ccadc969f51887a9fbf74d678a7993fa44535.tar.gz gentoo-285ccadc969f51887a9fbf74d678a7993fa44535.tar.bz2 gentoo-285ccadc969f51887a9fbf74d678a7993fa44535.zip |
app-containers/lxd: add 5.19
Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com>
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'app-containers')
-rw-r--r-- | app-containers/lxd/Manifest | 2 | ||||
-rw-r--r-- | app-containers/lxd/lxd-5.19.ebuild | 188 |
2 files changed, 190 insertions, 0 deletions
diff --git a/app-containers/lxd/Manifest b/app-containers/lxd/Manifest index e1ebd6ab8100..ecf436ba8e57 100644 --- a/app-containers/lxd/Manifest +++ b/app-containers/lxd/Manifest @@ -6,3 +6,5 @@ DIST lxd-5.17.tar.gz 22319517 BLAKE2B b9dfd934fad6b21b6f2b1d25291b4201f647b2b09a DIST lxd-5.17.tar.gz.asc 833 BLAKE2B bc781d520b8314261b6681603f17fcb82d045bb969ebf8eec64c82ef73f493892d48d50c870f72e9f4f1f6c7dd4b63239a5039949e4f7bb49539c69538b4a2f2 SHA512 7e76a6cfcb1bf5b7b864125b412d5bd4766b4af6cdab40d70324c4103d1a716c39dfa5cf0eccf2cb7862f182c7c469f18ca46b981a1be3fc0fac8c47537d6c1c DIST lxd-5.18.tar.gz 22536474 BLAKE2B 44dabd50c137adde794ed266484a071d1aecff9300f8710d748a550415bd5f21b5f4ab40602f7b648cc05f9acc403782209636bdb8fe9720ff2808e8816aa27b SHA512 a9bdc276fb040413bad47579fb420951a007d725319c89abfde14062933267c7e5c67c546f2222905232231997a8f47fa097ed603d93dde2b9990b3e7018103f DIST lxd-5.18.tar.gz.asc 833 BLAKE2B 2eee2786d2930bce45b5f23943d3e9b0dab61595608a38077429585c3191476915d0ba7ef5eb05633a014dd92542cc5a5bfa70c4c0a63b94733297d37d78717e SHA512 959911019bffeca1cddae6b44c65b2cdbd71658cf9f714e41dd3de755629aedc0e8de196dac6ba0de0f27247e859f7090dc23edf4896e7a6c028b87e3665a5e2 +DIST lxd-5.19.tar.gz 22506800 BLAKE2B 94940a9e886d005495f8888d4491e5a8f8beee60c44051c767d32fd3dead9a93c1e546c0117207aefb60280a289d464615fba7e80385df23f397388a88be1386 SHA512 11d712245fc9cb77e7eabc748cfac38c1936be1c49b8dc4a2a7ebc06d0797f4d0d728b275cee27f9c2c64bc13275fc29ac57fc8d0dce9c24d6636b51248e9b4f +DIST lxd-5.19.tar.gz.asc 833 BLAKE2B 591f12c8e93199061b588bdffded5d159f714d91c68a0d8003590bc672cec787418611f0597fe8e137b3c2b61e8171ca6393db912b8f55ded39db934d55d3df1 SHA512 2337d42f0a7dfdbb2870511442f05e1dd9c214e1b0d96b20ee677a3a345bf41c15c0b1cb0d42ddd15766813e4ae405577f8b49fa60fdc541fb3db35c0bc569ed diff --git a/app-containers/lxd/lxd-5.19.ebuild b/app-containers/lxd/lxd-5.19.ebuild new file mode 100644 index 000000000000..50e2b165276b --- /dev/null +++ b/app-containers/lxd/lxd-5.19.ebuild @@ -0,0 +1,188 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 go-module linux-info optfeature systemd verify-sig + +DESCRIPTION="Modern, secure and powerful system container and virtual machine manager" +HOMEPAGE="https://ubuntu.com/lxd https://github.com/canonical/lxd" +SRC_URI="https://github.com/canonical/lxd/releases/download/${P}/${P}.tar.gz + verify-sig? ( https://github.com/canonical/lxd/releases/download/${P}/${P}.tar.gz.asc +)" + +LICENSE="Apache-2.0 BSD LGPL-3 MIT" +SLOT="0/stable" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="apparmor nls" + +DEPEND="acct-group/lxd + app-arch/xz-utils + >=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)] + dev-db/sqlite:3 + >=dev-libs/dqlite-1.13.0:= + dev-libs/lzo + >=dev-libs/raft-0.17.1:=[lz4] + >=dev-util/xdelta-3.0[lzma(+)] + net-dns/dnsmasq[dhcp] + sys-libs/libcap + virtual/udev" +RDEPEND="${DEPEND} + || ( + net-firewall/nftables[json] + ( + net-firewall/ebtables + net-firewall/iptables + ) + ) + sys-apps/iproute2 + sys-fs/fuse:3 + >=sys-fs/lxcfs-5.0.0 + sys-fs/squashfs-tools[lzma] + virtual/acl" +BDEPEND="dev-lang/go + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-canonical )" + +CONFIG_CHECK=" + ~CGROUPS + ~IPC_NS + ~NET_NS + ~PID_NS + + ~SECCOMP + ~USER_NS + ~UTS_NS + + ~KVM + ~MACVTAP + ~VHOST_VSOCK +" + +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." + +WARNING_KVM="CONFIG_KVM and CONFIG_KVM_AMD/-INTEL is required for virtual machines." +WARNING_MACVTAP="CONFIG_MACVTAP is required for virtual machines." +WARNING_VHOST_VSOCK="CONFIG_VHOST_VSOCK is required for virtual machines." + +# 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-migrate + /usr/sbin/lxd" + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/canonical.asc + +# The testsuite must be run as root. +# make: *** [Makefile:156: check] Error 1 +RESTRICT="test" + +GOPATH="${S}/_dist" + +src_prepare() { + export GOPATH="${S}/_dist" + + default + + 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.fd:g" \ + doc/environment.md \ + lxd/apparmor/instance.go \ + lxd/apparmor/instance_qemu.go \ + lxd/instance/drivers/driver_qemu.go || die "Failed to fix hardcoded ovmf paths." + + # Fix hardcoded virtfs-proxy-helper file path, see bug 798924 + sed -i \ + -e "s:/usr/lib/qemu/virtfs-proxy-helper:/usr/libexec/virtfs-proxy-helper:g" \ + lxd/device/device_utils_disk.go || die "Failed to fix virtfs-proxy-helper path." + + cp "${FILESDIR}"/lxd-4.0.9-r1.service "${T}"/lxd.service || die + if use apparmor; then + sed -i \ + '/^EnvironmentFile=.*/a ExecStartPre=\/usr\/libexec\/lxc\/lxc-apparmor-load' \ + "${T}"/lxd.service || die + fi + + # Disable -Werror's from go modules. + find "${S}" -name "cgo.go" -exec sed -i "s/ -Werror / /g" {} + || die +} + +src_configure() { :; } + +src_compile() { + export GOPATH="${S}/_dist" + export CGO_LDFLAGS_ALLOW="-Wl,-z,now" + + for k in fuidshift lxd-benchmark lxc lxc-to-lxd; do + go install -v -x "${S}/${k}" || die "failed compiling ${k}" + done + + go install -v -x -tags libsqlite3 "${S}"/lxd || die "Failed to build the daemon" + + # Needs to be built statically + CGO_ENABLED=0 go install -v -tags netgo "${S}"/lxd-migrate + CGO_ENABLED=0 go install -v -tags agent,netgo "${S}"/lxd-agent + + use nls && emake build-mo +} + +src_test() { + emake check +} + +src_install() { + export GOPATH="${S}/_dist" + local bindir="_dist/bin" + + dosbin ${bindir}/lxd + + for l in fuidshift lxd-agent lxd-benchmark lxd-migrate lxc lxc-to-lxd; do + dobin ${bindir}/${l} + done + + newbashcomp scripts/bash/lxd-client lxc + + newconfd "${FILESDIR}"/lxd-4.0.0.confd lxd + newinitd "${FILESDIR}"/lxd-5.0.2-r1.initd lxd + + systemd_dounit "${T}"/lxd.service + systemd_newunit "${FILESDIR}"/lxd-containers-4.0.0.service lxd-containers.service + systemd_newunit "${FILESDIR}"/lxd-4.0.0.socket lxd.socket + + dodoc AUTHORS + dodoc -r 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 "For virtual machine support, see:" + elog "https://wiki.gentoo.org/wiki/LXD#Virtual_machines" + elog + elog "Please run 'lxc-checkconfig' to see all optional kernel features." + elog + optfeature "virtual machine support" app-emulation/qemu[spice,usbredir,virtfs] + optfeature "btrfs storage backend" sys-fs/btrfs-progs + optfeature "ipv6 support" net-dns/dnsmasq[ipv6] + optfeature "full lxd-migrate support" + 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." +} |