app-containers/lxd: add 6.5

Signed-off-by: Brahmajit Das <listout@listout.xyz>
Part-of: https://github.com/gentoo/gentoo/pull/43589
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
This commit is contained in:
Brahmajit Das
2025-08-28 05:12:12 +05:30
committed by Joonas Niilola
parent 596553bb81
commit b92b85dc80
2 changed files with 187 additions and 0 deletions

View File

@@ -6,3 +6,5 @@ DIST lxd-6.1.tar.gz 24960232 BLAKE2B 857d4896f1622166a79ea0324bc4c9c6276b83383f2
DIST lxd-6.1.tar.gz.asc 833 BLAKE2B 4cbfcf04f82b2c817793405291566dd2525daba1e9c4d3656b0d694f351a7e5489cb3e6fc0001a58fea6892c5d08fb24ca369733287422b95c82b9252824c29b SHA512 ac6a9e643909fc8262ff7f3af4ef8bf847a8dbc6e74470a0c038231174dcef5d70ea9dcf490547d8b48836f87c86201377bc20b36d4d142b8e88b5467a6c6837
DIST lxd-6.3.tar.gz 33286388 BLAKE2B 2f66ebfea94a262fc162b958ea031b6d82d35ea75e20445e8f5a5308689f5a37730aa18d8cf2fe6507cdc88c39a063a2ed295a3a7f8b0537e76835bc92116739 SHA512 0ec8bc8a55529258848045c2ff2e946de78989d8fd8ec2110c3fda15f9da9f56b8343460270d8d1661956bbf8c79dca4422212a4b23e4fe50398a47619834b62
DIST lxd-6.3.tar.gz.asc 833 BLAKE2B 0778cdda82dacb3de31723b956a99e1c3c3d8317a87b2bfe35d2ff1516ebd65c0e5d42820bac8e15d6e03f15028556c37ea23234becd296963371be238e56e02 SHA512 8dca8e128b4c19e311a3b1084dbed79e9eea7e9c17306c2618fbcba358c1b540600610c7be8218eb3f8d8f5f4e2ce240c06470a2aa8baf9c3431edd807430720
DIST lxd-6.5.tar.gz 36814768 BLAKE2B b176c2ec0784bac97d901e457676d3563552271e67936a1b87404f0ff46d8d38ffbadf2599c8718fb3b47a87235e530e6f8a9b6d27ede539add8c8601f0b44df SHA512 f2282da0acaf0adcc5b9438257aeb4cc456b4a3683f21e241338df4fff2fda30fa05b4cfe7d68d20ace84c08fbb06b0a8e6cd677d0db2112dfb29935c53c77af
DIST lxd-6.5.tar.gz.asc 833 BLAKE2B 04a8d5c8c990821640e2ab2bfa3a53eb2a2f7a022365194ce78fd9fd7d2070e9dd6baaa5a682d7568b940722503b74638a255061ee782717d64ca0e51e58b6e5 SHA512 be402e69417c3cee5e5db724bc7680ec48f432b51f79bf7ec3baa5402e5cb68f7299edcf3d1604d4ac10d7eee7361bcdf70f737b6db12f8b80dd75c626b1f2d8

View File

@@ -0,0 +1,185 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit 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 AGPL-3+ 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-6.0.4:=[apparmor?,seccomp(+)]
dev-db/sqlite:3
>=dev-libs/dqlite-1.18.2:=[lz4]
dev-libs/lzo
>=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-6.0.4
sys-fs/squashfs-tools[lzma]
virtual/acl"
BDEPEND=">=dev-lang/go-1.24.4
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/lxd-agent
/usr/bin/lxd-benchmark
/usr/bin/lxd-migrate
/usr/sbin/lxd"
VERIFY_SIG_OPENPGP_KEY_PATH=/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/OvmfX64:g" \
lxd/instance/drivers/edk2/edk2.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; 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; do
dobin ${bindir}/${l}
done
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
# LXD needs LXD_QEMU_FW_PATH in env to find OVMF files for virtual machines
newenvd - 90lxd <<- _EOF_
LXD_QEMU_FW_PATH=${EPREFIX}/usr/share/edk2-ovmf
_EOF_
}
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" net-misc/rsync
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."
}