From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 484E51581EE for ; Mon, 31 Mar 2025 12:58:10 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 2B920343181 for ; Mon, 31 Mar 2025 12:58:10 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 5A78F1104B1; Mon, 31 Mar 2025 12:58:06 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 4EE121104B1 for ; Mon, 31 Mar 2025 12:58:06 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id F0B46343181 for ; Mon, 31 Mar 2025 12:58:05 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 57CBE181E for ; Mon, 31 Mar 2025 12:58:04 +0000 (UTC) From: "Joonas Niilola" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Joonas Niilola" Message-ID: <1743425229.b3521676cac33957d815ed2ee8fc3a802b151a98.juippis@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-containers/lxd/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-containers/lxd/Manifest app-containers/lxd/lxd-6.3.ebuild X-VCS-Directories: app-containers/lxd/ X-VCS-Committer: juippis X-VCS-Committer-Name: Joonas Niilola X-VCS-Revision: b3521676cac33957d815ed2ee8fc3a802b151a98 X-VCS-Branch: master Date: Mon, 31 Mar 2025 12:58:04 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: ee67d835-28d8-4df7-b00f-004409877d8c X-Archives-Hash: 5003beac301b8a0c8a838b23513ef9be commit: b3521676cac33957d815ed2ee8fc3a802b151a98 Author: Brahmajit Das listout xyz> AuthorDate: Sat Mar 29 11:04:25 2025 +0000 Commit: Joonas Niilola gentoo org> CommitDate: Mon Mar 31 12:47:09 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b3521676 app-containers/lxd: add 6.3 Signed-off-by: Brahmajit Das listout.xyz> Signed-off-by: Joonas Niilola gentoo.org> app-containers/lxd/Manifest | 2 + app-containers/lxd/lxd-6.3.ebuild | 190 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 192 insertions(+) diff --git a/app-containers/lxd/Manifest b/app-containers/lxd/Manifest index 1153055019e8..f1dd1791ae39 100644 --- a/app-containers/lxd/Manifest +++ b/app-containers/lxd/Manifest @@ -4,3 +4,5 @@ DIST lxd-5.21.1.tar.gz 23753867 BLAKE2B 102f3c83faa956f6a5f052912417f595a7374c13 DIST lxd-5.21.1.tar.gz.asc 833 BLAKE2B 1c43b7750e505ef66d4f9fcf3723abf28a7b4e2785866604b88f6dfa80f7e3d0ed33734bc49606ecff16659de9dabfbeb08ba71c36eafc8d05a28397e3e73a89 SHA512 8ec81d1df6d3b9aec58cbde08306a865f9c27e86be04da11a2b5566c78865b51f91edb6fa26e8b5d25202bf33657bd0f867ec986e4e8b39f379b25e03cd6a5d3 DIST lxd-6.1.tar.gz 24960232 BLAKE2B 857d4896f1622166a79ea0324bc4c9c6276b83383f242f0d58e7d1295a5cfedfb9984166dbf92ca579a058482d3a5dc7d4f640832d8d8ad6a45a7a4c248b8a0a SHA512 e3e5fcb721767b3e317a9251b84537e2d055116d2bba23627e95d040e01bd14ef0a730bf0c83e441488c2afeb152e4288ec1ba80ba85391fde33766dadccc6d1 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 diff --git a/app-containers/lxd/lxd-6.3.ebuild b/app-containers/lxd/lxd-6.3.ebuild new file mode 100644 index 000000000000..690866145a14 --- /dev/null +++ b/app-containers/lxd/lxd-6.3.ebuild @@ -0,0 +1,190 @@ +# 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-5.0.0:=[apparmor?,seccomp(+)] + dev-db/sqlite:3 + >=dev-libs/dqlite-1.18.0:=[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-5.0.0 + sys-fs/squashfs-tools[lzma] + virtual/acl" +BDEPEND=">=dev-lang/go-1.22.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/lxc-to-lxd + /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" \ + -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 + + 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." +}