commit:     9e4cb55e7bf022bb3e37e069472543fdb11e4797
Author:     Brahmajit Das <brahmajit.xyz <AT> gmail <DOT> com>
AuthorDate: Mon Sep  4 15:32:05 2023 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sun Sep 10 13:20:05 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9e4cb55e

app-containers/lxd: add 5.17

Closes: https://bugs.gentoo.org/903870
Signed-off-by: Brahmajit Das <brahmajit.xyz <AT> gmail.com>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 app-containers/lxd/Manifest                        |   2 +
 ...5.17-remove-shellcheck-buildsystem-checks.patch |  31 ++++
 app-containers/lxd/lxd-5.17.ebuild                 | 187 +++++++++++++++++++++
 app-containers/lxd/metadata.xml                    |   8 +
 4 files changed, 228 insertions(+)

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>[email protected]</email>
     <name>Joonas Niilola</name>
   </maintainer>
+  <maintainer type="person" proxied="yes">
+    <email>[email protected]</email>
+    <name>Brahmajit Das</name>
+  </maintainer>
   <maintainer type="project">
     <email>[email protected]</email>
     <name>Gentoo Virtualization Project</name>
   </maintainer>
+  <maintainer type="project" proxied="proxy">
+    <email>[email protected]</email>
+    <name>Proxy Maintainers</name>
+  </maintainer>
   <longdescription>
     LXD is a modern, secure and powerful system container and virtual machine 
manager.
 

Reply via email to