summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrahmajit Das <brahmajit.xyz@gmail.com>2023-09-04 21:02:05 +0530
committerJoonas Niilola <juippis@gentoo.org>2023-09-10 16:20:05 +0300
commit9e4cb55e7bf022bb3e37e069472543fdb11e4797 (patch)
treeb5d6c72944adfe42999d0e2dbe87e6fa1eaf838c /app-containers
parentsec-keys/openpgp-keys-canonical: new package, add 20190401 (diff)
downloadgentoo-9e4cb55e7bf022bb3e37e069472543fdb11e4797.tar.gz
gentoo-9e4cb55e7bf022bb3e37e069472543fdb11e4797.tar.bz2
gentoo-9e4cb55e7bf022bb3e37e069472543fdb11e4797.zip
app-containers/lxd: add 5.17
Closes: https://bugs.gentoo.org/903870 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/Manifest2
-rw-r--r--app-containers/lxd/files/lxd-5.17-remove-shellcheck-buildsystem-checks.patch31
-rw-r--r--app-containers/lxd/lxd-5.17.ebuild187
-rw-r--r--app-containers/lxd/metadata.xml8
4 files changed, 228 insertions, 0 deletions
diff --git a/app-containers/lxd/Manifest b/app-containers/lxd/Manifest
index 7a4e3af6d38c..798dacc3f7da 100644
--- a/app-containers/lxd/Manifest
+++ b/app-containers/lxd/Manifest
@@ -2,3 +2,5 @@ DIST lxd-4.0.9.tar.gz 9117078 BLAKE2B aa6689c1e958258484fba5c060765dd71d5406cb43
DIST lxd-4.0.9.tar.gz.asc 833 BLAKE2B 7cd0d3ab518d947ca3ea6dc804c6a59b592e4e568152c078fdd3c102420bcd94d2f0b2c335b8b4ecdb19dc3c9a10f665a1510903f395247da956717beaa172a3 SHA512 79a4111571ab43e79cf669e416ed50f3ccae0fbceb86d73757d23c778035e827f47643bc87ff6a2fc64b095345a3d53cbd0c4eb245c75364e907d7449f3a0886
DIST lxd-5.0.2.tar.gz 16258766 BLAKE2B a0d4e3108664724c064fb8c16031ff7dfa3f49735c81290c78fca1dd8c95774e8d8faf131a9de0961a51fb3f1fb1e3a1219d325e6c440dc42d077bfb6550df0b SHA512 e44b210828251ef2bbdcca332f605294a9258572a52a8e94f5c8dcf8d5c2b3d4cdaf46f85236d9c963de5654d3a0437b5f177ea908a6dac3b5b03fb721be6eaa
DIST lxd-5.0.2.tar.gz.asc 833 BLAKE2B 606cae1439148060acd3fb04fdb108654a351ce2b7484081f7874ab2b0af8de2b5befc5a5409a94af0da25308622234db2e3b411edb20324df458fe85f46ac21 SHA512 884c921a263a8baf2d94958c72e232a0a47d0747f5a9d36ed8fc270edfa18dfc240d1e858e75dcc03eae921dae08d3ddfd34d9146d1510de6a09031da26aaccc
+DIST lxd-5.17.tar.gz 22319517 BLAKE2B b9dfd934fad6b21b6f2b1d25291b4201f647b2b09a1ae155577a88257c021cc36b43a08802411d0f3268b726da7fa38b8627302696f670a1747e3795db0b0efe SHA512 f5feca34fff0b01a9db8041dd18fde82ad089f36ab171cf338556ebec9b2accfa450b0734d72b25bbb7296aaaeafed247aac2117c32f3ebfce5ae716e4b196bf
+DIST lxd-5.17.tar.gz.asc 833 BLAKE2B bc781d520b8314261b6681603f17fcb82d045bb969ebf8eec64c82ef73f493892d48d50c870f72e9f4f1f6c7dd4b63239a5039949e4f7bb49539c69538b4a2f2 SHA512 7e76a6cfcb1bf5b7b864125b412d5bd4766b4af6cdab40d70324c4103d1a716c39dfa5cf0eccf2cb7862f182c7c469f18ca46b981a1be3fc0fac8c47537d6c1c
diff --git a/app-containers/lxd/files/lxd-5.17-remove-shellcheck-buildsystem-checks.patch b/app-containers/lxd/files/lxd-5.17-remove-shellcheck-buildsystem-checks.patch
new file mode 100644
index 000000000000..b0e3a7500b89
--- /dev/null
+++ b/app-containers/lxd/files/lxd-5.17-remove-shellcheck-buildsystem-checks.patch
@@ -0,0 +1,31 @@
+--- a/Makefile
++++ b/Makefile
+@@ -249,28 +249,6 @@ endif
+ .PHONY: build-mo
+ build-mo: $(MOFILES)
+
+-.PHONY: static-analysis
+-static-analysis:
+-ifeq ($(shell command -v golangci-lint),)
+- curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $$(go env GOPATH)/bin
+-endif
+-ifeq ($(shell command -v shellcheck),)
+- echo "Please install shellcheck"
+- exit 1
+-endif
+-ifneq "$(shell shellcheck --version | grep version: | cut -d ' ' -f2)" "0.8.0"
+- @echo "WARN: shellcheck version is not 0.8.0"
+-endif
+-ifeq ($(shell command -v flake8),)
+- echo "Please install flake8"
+- exit 1
+-endif
+- golangci-lint run --timeout 5m
+- flake8 test/deps/import-busybox
+- shellcheck --shell sh test/*.sh test/includes/*.sh test/suites/*.sh test/backends/*.sh test/lint/*.sh
+- shellcheck test/extras/*.sh
+- run-parts --exit-on-error --regex '.sh' test/lint
+-
+ .PHONY: tags
+ tags: *.go lxd/*.go shared/*.go lxc/*.go
+ find . -type f -name '*.go' | xargs gotags > tags
diff --git a/app-containers/lxd/lxd-5.17.ebuild b/app-containers/lxd/lxd-5.17.ebuild
new file mode 100644
index 000000000000..76c54a54d503
--- /dev/null
+++ b/app-containers/lxd/lxd-5.17.ebuild
@@ -0,0 +1,187 @@
+# 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/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"
+
+PATCHES=(
+ "${FILESDIR}"/lxd-5.17-remove-shellcheck-buildsystem-checks.patch
+)
+
+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."
+}
diff --git a/app-containers/lxd/metadata.xml b/app-containers/lxd/metadata.xml
index 0367880cdf4c..fd92d5b3194e 100644
--- a/app-containers/lxd/metadata.xml
+++ b/app-containers/lxd/metadata.xml
@@ -5,10 +5,18 @@
<email>juippis@gentoo.org</email>
<name>Joonas Niilola</name>
</maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>brahmajit.xyz@gmail.com</email>
+ <name>Brahmajit Das</name>
+ </maintainer>
<maintainer type="project">
<email>virtualization@gentoo.org</email>
<name>Gentoo Virtualization Project</name>
</maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<longdescription>
LXD is a modern, secure and powerful system container and virtual machine manager.