[gentoo-commits] repo/gentoo:master commit in: app-containers/lxd/files/

2024-06-01 Thread Joonas Niilola
commit: ed2270179584f39d12cbb8aa0d181c7a26f009f9
Author: Brahmajit Das  gmail  com>
AuthorDate: Sat Jun  1 09:23:55 2024 +
Commit: Joonas Niilola  gentoo  org>
CommitDate: Sat Jun  1 09:30:28 2024 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed227017

app-containers/lxd: restore init files from 5763c7144b46

Wit commit 5763c7144b46, some of the older files were dropped that
are still needed. This commit restores them.

Fixes: 5763c7144b46
Signed-off-by: Brahmajit Das  gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/36943
Signed-off-by: Joonas Niilola  gentoo.org>

 app-containers/lxd/files/lxd-4.0.0.confd   | 23 +
 app-containers/lxd/files/lxd-4.0.0.socket  | 12 +
 app-containers/lxd/files/lxd-4.0.9-r1.service  | 23 +
 app-containers/lxd/files/lxd-5.0.2-r1.initd| 59 ++
 .../lxd/files/lxd-containers-4.0.0.service | 16 ++
 5 files changed, 133 insertions(+)

diff --git a/app-containers/lxd/files/lxd-4.0.0.confd 
b/app-containers/lxd/files/lxd-4.0.0.confd
new file mode 100644
index ..68cf344995be
--- /dev/null
+++ b/app-containers/lxd/files/lxd-4.0.0.confd
@@ -0,0 +1,23 @@
+# Group which owns the shared socket
+LXD_OPTIONS+=" --group lxd"
+
+# Enable cpu profiling into the specified file
+#LXD_OPTIONS+=" --cpuprofile /tmp/lxc_cpu_profile"
+
+# Enable memory profiling into the specified file
+#LXD_OPTIONS+=" --memprofile /tmp/lxc_mem_profile"
+
+# Enable debug mode
+#LXD_OPTIONS+=" --debug"
+
+# For debugging, print a complete stack trace every n seconds
+#LXD_OPTIONS+=" --print-goroutines-every 5"
+
+# Enable verbose mode
+#LXD_OPTIONS+=" -v"
+
+# Logfile to log to
+#LXD_OPTIONS+=" --logfile /var/log/lxd/lxd.log"
+
+# Enable syslog logging
+#LXD_OPTIONS+=" --syslog"

diff --git a/app-containers/lxd/files/lxd-4.0.0.socket 
b/app-containers/lxd/files/lxd-4.0.0.socket
new file mode 100644
index ..3207c9453d11
--- /dev/null
+++ b/app-containers/lxd/files/lxd-4.0.0.socket
@@ -0,0 +1,12 @@
+[Unit]
+Description=LXD - unix socket
+Documentation=man:lxd(1)
+
+[Socket]
+ListenStream=/var/lib/lxd/unix.socket
+SocketGroup=lxd
+SocketMode=0660
+Service=lxd.service
+
+[Install]
+WantedBy=sockets.target

diff --git a/app-containers/lxd/files/lxd-4.0.9-r1.service 
b/app-containers/lxd/files/lxd-4.0.9-r1.service
new file mode 100644
index ..480940dab7a3
--- /dev/null
+++ b/app-containers/lxd/files/lxd-4.0.9-r1.service
@@ -0,0 +1,23 @@
+[Unit]
+Description=LXD - main daemon
+After=network-online.target lxcfs.service lxd.socket
+Requires=network-online.target lxcfs.service lxd.socket
+Documentation=man:lxd(1)
+
+[Service]
+EnvironmentFile=-/etc/environment
+ExecStart=/usr/sbin/lxd --group lxd --syslog
+ExecStartPost=/usr/sbin/lxd waitready --timeout=600
+ExecStartPre=/bin/mkdir -p /var/log/lxd
+ExecStartPre=/bin/chown -R root:lxd /var/log/lxd
+KillMode=process
+PermissionsStartOnly=true
+TimeoutStartSec=600s
+TimeoutStopSec=30s
+Restart=on-failure
+LimitNOFILE=1048576
+LimitNPROC=infinity
+TasksMax=infinity
+
+[Install]
+Also=lxd-containers.service lxd.socket

diff --git a/app-containers/lxd/files/lxd-5.0.2-r1.initd 
b/app-containers/lxd/files/lxd-5.0.2-r1.initd
new file mode 100644
index ..7c74c0fdc308
--- /dev/null
+++ b/app-containers/lxd/files/lxd-5.0.2-r1.initd
@@ -0,0 +1,59 @@
+#!/sbin/openrc-run
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+DAEMON=/usr/sbin/lxd
+PIDFILE=/run/lxd.pid
+
+depend() {
+   need net
+   need lxcfs
+}
+
+start() {
+   ebegin "Starting lxd service"
+
+   modprobe -f loop > /dev/null 2>&1
+
+   # Fix permissions on /var/lib/lxd and make sure it exists.
+   # Create a log directory for lxd with correct permissions.
+   install -d /var/lib/lxd --group lxd --owner root --mode 0775
+   install -d /var/log/lxd --group lxd --owner root
+
+   start-stop-daemon --start \
+   --pidfile ${PIDFILE} \
+   --exec ${DAEMON} \
+   --background \
+   --make-pidfile \
+   -- \
+   ${LXD_OPTIONS}
+   eend ${?}
+
+   # Create necessary systemd paths in order for systemd containers to 
work on openrc host.
+   # /etc/rc.conf should have following values:
+   #   rc_cgroup_mode="hybrid"
+   if [ -d /sys/fs/cgroup/unified ] &&
+   [ ! -d /sys/fs/cgroup/systemd ]; then
+   install -d /sys/fs/cgroup/systemd --group lxd --owner root
+   mount -t cgroup -o none,name=systemd systemd 
/sys/fs/cgroup/systemd
+   fi
+}
+
+stop() {
+   if [ "${RC_CMD}" = restart ]; then
+   ebegin "Stopping lxd service (but not containers)"
+   # start-stop-daemon sends SIGTERM with a timeout of 5s by 
default.
+   # SIGTERM indicates to LXD that it will be stopped temporarily.
+   # Instances will 

[gentoo-commits] repo/gentoo:master commit in: app-containers/lxd/files/, app-containers/lxd/

2023-09-22 Thread Joonas Niilola
commit: a2eb46747b2c6c8fb59728f858de0f93f6cfa63e
Author: Brahmajit Das  gmail  com>
AuthorDate: Fri Sep 22 08:03:24 2023 +
Commit: Joonas Niilola  gentoo  org>
CommitDate: Fri Sep 22 08:41:14 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a2eb4674

app-containers/lxd: add 5.18

Signed-off-by: Brahmajit Das  gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/32968
Signed-off-by: Joonas Niilola  gentoo.org>

 app-containers/lxd/Manifest|   2 +
 ...egression-in-lxd_combined.tar.gz-handling.patch |  21 +++
 app-containers/lxd/lxd-5.18.ebuild | 187 +
 3 files changed, 210 insertions(+)

diff --git a/app-containers/lxd/Manifest b/app-containers/lxd/Manifest
index 798dacc3f7da..e1ebd6ab8100 100644
--- a/app-containers/lxd/Manifest
+++ b/app-containers/lxd/Manifest
@@ -4,3 +4,5 @@ DIST lxd-5.0.2.tar.gz 16258766 BLAKE2B 
a0d4e3108664724c064fb8c16031ff7dfa3f49735
 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
+DIST lxd-5.18.tar.gz 22536474 BLAKE2B 
44dabd50c137adde794ed266484a071d1aecff9300f8710d748a550415bd5f21b5f4ab40602f7b648cc05f9acc403782209636bdb8fe9720ff2808e8816aa27b
 SHA512 
a9bdc276fb040413bad47579fb420951a007d725319c89abfde14062933267c7e5c67c546f905232231997a8f47fa097ed603d93dde2b9990b3e7018103f
+DIST lxd-5.18.tar.gz.asc 833 BLAKE2B 
2eee2786d2930bce45b5f23943d3e9b0dab61595608a38077429585c3191476915d0ba7ef5eb05633a014dd92542cc5a5bfa70c4c0a63b94733297d37d78717e
 SHA512 
959911019bffeca1cddae6b44c65b2cdbd71658cf9f714e41dd3de755629aedc0e8de196dac6ba0de0f27247e859f7090dc23edf4896e7a6c028b87e3665a5e2

diff --git 
a/app-containers/lxd/files/lxd-5.18-handle-regression-in-lxd_combined.tar.gz-handling.patch
 
b/app-containers/lxd/files/lxd-5.18-handle-regression-in-lxd_combined.tar.gz-handling.patch
new file mode 100644
index ..025a9e6a8e6c
--- /dev/null
+++ 
b/app-containers/lxd/files/lxd-5.18-handle-regression-in-lxd_combined.tar.gz-handling.patch
@@ -0,0 +1,21 @@
+https://github.com/canonical/lxd/commit/2d8481712055d0cbb3bd952e25a1df469939990d.patch
+From: Thomas Parrott 
+Date: Thu, 21 Sep 2023 22:12:19 +0100
+Subject: [PATCH] shared/simplestreams/products: Fix regression in
+ lxd_combined.tar.gz handling
+
+For reasons that are likely lost to history simplestreams uses lxd.tar.xz
+whereas the combined file is lxd_combined.tar.gz (not xz).
+
+Signed-off-by: Thomas Parrott 
+--- a/shared/simplestreams/products.go
 b/shared/simplestreams/products.go
+@@ -10,7 +10,7 @@ import (
+   "github.com/canonical/lxd/shared/osarch"
+ )
+ 
+-var lxdCompatCombinedItems = []string{"lxd_combined.tar.xz", 
"incus_combined.tar.xz"}
++var lxdCompatCombinedItems = []string{"lxd_combined.tar.gz", 
"incus_combined.tar.gz"}
+ var lxdCompatItems = []string{"lxd.tar.xz", "incus.tar.xz"}
+ 
+ // Products represents the base of download.json.

diff --git a/app-containers/lxd/lxd-5.18.ebuild 
b/app-containers/lxd/lxd-5.18.ebuild
new file mode 100644
index ..de51e5e5b7dd
--- /dev/null
+++ b/app-containers/lxd/lxd-5.18.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}
+   

[gentoo-commits] repo/gentoo:master commit in: app-containers/lxd/files/, app-containers/lxd/

2023-03-08 Thread Joonas Niilola
commit: 6faea023ba8b7428c4b8570c09c42fd1c970f692
Author: Joonas Niilola  gentoo  org>
AuthorDate: Wed Mar  8 16:12:36 2023 +
Commit: Joonas Niilola  gentoo  org>
CommitDate: Wed Mar  8 16:12:36 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6faea023

app-containers/lxd: include >=btrfs-6.1 fix from upstream

Signed-off-by: Joonas Niilola  gentoo.org>

 .../files/lxd-5.0.3-btrfs-quota-group-fix.patch|  52 ++
 app-containers/lxd/lxd-5.0.2-r2.ebuild | 206 +
 2 files changed, 258 insertions(+)

diff --git a/app-containers/lxd/files/lxd-5.0.3-btrfs-quota-group-fix.patch 
b/app-containers/lxd/files/lxd-5.0.3-btrfs-quota-group-fix.patch
new file mode 100644
index ..4e993b7e7054
--- /dev/null
+++ b/app-containers/lxd/files/lxd-5.0.3-btrfs-quota-group-fix.patch
@@ -0,0 +1,52 @@
+From e7c852e43c0479060e630adb50342d2552a6cdad Mon Sep 17 00:00:00 2001
+From: Thomas Parrott 
+Date: Tue, 7 Feb 2023 10:04:27 +
+Subject: [PATCH] lxd/storage/drivers/driver/btrfs/utils: Only check for
+ minimum number of columns in `btrfs qgroup show` command
+
+Previously we expected 4 columns, but in btrfs-progs >= 6.0 this has changed 
to 5 columns.
+
+E.g. in Jammy btrfs-progs v5.16.2:
+
+```
+sudo btrfs qgroup show /var/lib/lxd/storage-pools/btrfs
+qgroupid rfer excl
+  
+0/5  16.00KiB 16.00KiB
+0/256 9.66MiB400.00KiB
+0/257 9.66MiB392.00KiB
+```
+
+And in Lunar btrfs-progs v6.1.3:
+
+```
+btrfs qgroup show /var/lib/lxd/storage-pools/btrfs
+QgroupidReferencedExclusive   Path
+---   
+0/5   16.00KiB 16.00KiB   
+0/256  9.63MiB400.00KiB   
images/1f81470478d136f0008c856e3a47369e0ac863f0402ce0e31c56dd29e9fdd4d7
+0/257  9.64MiB404.00KiB   containers/c1
+```
+
+Fixes #11210
+
+Signed-off-by: Thomas Parrott 
+---
+ lxd/storage/drivers/driver_btrfs_utils.go | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/lxd/storage/drivers/driver_btrfs_utils.go 
b/lxd/storage/drivers/driver_btrfs_utils.go
+index e1468e4b1a59..722a2de20978 100644
+--- a/lxd/storage/drivers/driver_btrfs_utils.go
 b/lxd/storage/drivers/driver_btrfs_utils.go
+@@ -253,7 +253,9 @@ func (d *btrfs) getQGroup(path string) (string, int64, 
error) {
+   }
+ 
+   fields := strings.Fields(line)
+-  if len(fields) != 4 {
++
++  // The BTRFS tooling changed the number of columns between 
versions so we only check for minimum.
++  if len(fields) < 3 {
+   continue
+   }
+ 

diff --git a/app-containers/lxd/lxd-5.0.2-r2.ebuild 
b/app-containers/lxd/lxd-5.0.2-r2.ebuild
new file mode 100644
index ..6725606f6ba2
--- /dev/null
+++ b/app-containers/lxd/lxd-5.0.2-r2.ebuild
@@ -0,0 +1,206 @@
+# 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://linuxcontainers.org/lxd/introduction/ 
https://github.com/lxc/lxd;
+SRC_URI="https://linuxcontainers.org/downloads/lxd/${P}.tar.gz
+   verify-sig? ( https://linuxcontainers.org/downloads/lxd/${P}.tar.gz.asc 
)"
+
+LICENSE="Apache-2.0 BSD LGPL-3 MIT"
+SLOT="0"
+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:*
+   >=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-linuxcontainers )"
+
+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
+   

[gentoo-commits] repo/gentoo:master commit in: app-containers/lxd/files/, app-containers/lxd/

2023-01-10 Thread Joonas Niilola
commit: 276816d0be7ad1b45b5f53d7ac6768415818090a
Author: Joonas Niilola  gentoo  org>
AuthorDate: Tue Jan 10 13:24:10 2023 +
Commit: Joonas Niilola  gentoo  org>
CommitDate: Tue Jan 10 13:24:10 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=276816d0

app-containers/lxd: fix >=btrfs-6.0 storage pool compatibility

Signed-off-by: Joonas Niilola  gentoo.org>

 ...0.2-fix-btrfs-driver-to-support-btrfs-6.0.patch |  27 +++
 app-containers/lxd/lxd-5.0.1-r5.ebuild | 216 +
 2 files changed, 243 insertions(+)

diff --git 
a/app-containers/lxd/files/lxd-5.0.2-fix-btrfs-driver-to-support-btrfs-6.0.patch
 
b/app-containers/lxd/files/lxd-5.0.2-fix-btrfs-driver-to-support-btrfs-6.0.patch
new file mode 100644
index ..c6cf6c97b013
--- /dev/null
+++ 
b/app-containers/lxd/files/lxd-5.0.2-fix-btrfs-driver-to-support-btrfs-6.0.patch
@@ -0,0 +1,27 @@
+From 37779fd75dbcd02fab03a8327a1ec7a6f3273371 Mon Sep 17 00:00:00 2001
+From: Thomas Parrott 
+Date: Wed, 4 Jan 2023 09:59:37 +
+Subject: [PATCH] lxd/storage/drivers/driver/btrfs/utils: Fix getQGroup to
+ suport BTRFS >= 6.0.1
+
+Fixes #11210
+
+Signed-off-by: Thomas Parrott 
+---
+ lxd/storage/drivers/driver_btrfs_utils.go | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/lxd/storage/drivers/driver_btrfs_utils.go 
b/lxd/storage/drivers/driver_btrfs_utils.go
+index 8f0846d2fc9f..e1468e4b1a59 100644
+--- a/lxd/storage/drivers/driver_btrfs_utils.go
 b/lxd/storage/drivers/driver_btrfs_utils.go
+@@ -247,7 +247,8 @@ func (d *btrfs) getQGroup(path string) (string, int64, 
error) {
+   var qgroup string
+   usage := int64(-1)
+   for _, line := range strings.Split(output, "\n") {
+-  if line == "" || strings.HasPrefix(line, "qgroupid") || 
strings.HasPrefix(line, "---") {
++  // Use case-insensitive field title match because BTRFS tooling 
changed casing between versions.
++  if line == "" || strings.HasPrefix(strings.ToLower(line), 
"qgroupid") || strings.HasPrefix(line, "-") {
+   continue
+   }
+ 

diff --git a/app-containers/lxd/lxd-5.0.1-r5.ebuild 
b/app-containers/lxd/lxd-5.0.1-r5.ebuild
new file mode 100644
index ..53901400ca67
--- /dev/null
+++ b/app-containers/lxd/lxd-5.0.1-r5.ebuild
@@ -0,0 +1,216 @@
+# 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://linuxcontainers.org/lxd/introduction/ 
https://github.com/lxc/lxd;
+SRC_URI="https://linuxcontainers.org/downloads/lxd/${P}.tar.gz
+   
https://github.com/lxc/lxd/commit/d55a590ea50a75c3cb2ea67894be8253074d6093.patch
 -> lxd-5.0.2-move-shellcheck-version-call-into-static-analysis.patch
+   https://patch-diff.githubusercontent.com/raw/lxc/lxd/pull/11011.patch 
-> lxd-5.8-add-tcp-keepalives-to-exec-channels.patch
+   verify-sig? ( https://linuxcontainers.org/downloads/lxd/${P}.tar.gz.asc 
)"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="apparmor nls"
+
+DEPEND="acct-group/lxd
+   app-arch/xz-utils
+   >=app-containers/lxc-3.0.0[apparmor?,seccomp(+)]
+   dev-db/sqlite:3
+   dev-libs/dqlite:=
+   dev-libs/lzo
+   dev-libs/raft[lz4]
+   >=dev-util/xdelta-3.0[lzma(+)]
+   net-dns/dnsmasq[dhcp,ipv6(+)]
+   sys-libs/libcap
+   virtual/udev"
+RDEPEND="${DEPEND}
+   net-firewall/ebtables
+   net-firewall/iptables[ipv6(+)]
+   sys-apps/iproute2[ipv6(+)]
+   sys-fs/fuse:*
+   >=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-linuxcontainers )"
+
+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/linuxcontainers.asc
+
+# The testsuite must be run as root.
+# make: *** [Makefile:156: check] Error 1
+RESTRICT="test"
+

[gentoo-commits] repo/gentoo:master commit in: app-containers/lxd/files/

2023-01-07 Thread Joonas Niilola
commit: 2b33c4e01bd347ae6fdce2ad634218548cdd1e19
Author: Joonas Niilola  gentoo  org>
AuthorDate: Sun Jan  8 06:16:57 2023 +
Commit: Joonas Niilola  gentoo  org>
CommitDate: Sun Jan  8 06:16:57 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2b33c4e0

app-containers/lxd: edit the latest openrc init.d file again

 - remove suggestion for 'rc_cgroup_controllers="yes"' which is the default
   value in rc.conf.

Signed-off-by: Joonas Niilola  gentoo.org>

 app-containers/lxd/files/lxd-5.0.2-r1.initd | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/app-containers/lxd/files/lxd-5.0.2-r1.initd 
b/app-containers/lxd/files/lxd-5.0.2-r1.initd
index 85b27a45e448..7c74c0fdc308 100644
--- a/app-containers/lxd/files/lxd-5.0.2-r1.initd
+++ b/app-containers/lxd/files/lxd-5.0.2-r1.initd
@@ -31,8 +31,7 @@ start() {
 
# Create necessary systemd paths in order for systemd containers to 
work on openrc host.
# /etc/rc.conf should have following values:
-   # rc_cgroup_mode="hybrid"
-   # rc_cgroup_controllers="yes"
+   #   rc_cgroup_mode="hybrid"
if [ -d /sys/fs/cgroup/unified ] &&
[ ! -d /sys/fs/cgroup/systemd ]; then
install -d /sys/fs/cgroup/systemd --group lxd --owner root



[gentoo-commits] repo/gentoo:master commit in: app-containers/lxd/files/

2023-01-07 Thread Joonas Niilola
commit: 61e6146248d24f24ead8828d5db13cd468670b9b
Author: Joonas Niilola  gentoo  org>
AuthorDate: Sat Jan  7 13:15:33 2023 +
Commit: Joonas Niilola  gentoo  org>
CommitDate: Sat Jan  7 13:15:33 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=61e61462

app-containers/lxd: update Copyright year to 2023 in the init.d file

Signed-off-by: Joonas Niilola  gentoo.org>

 app-containers/lxd/files/lxd-5.0.2-r1.initd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-containers/lxd/files/lxd-5.0.2-r1.initd 
b/app-containers/lxd/files/lxd-5.0.2-r1.initd
index 288729a6831c..85b27a45e448 100644
--- a/app-containers/lxd/files/lxd-5.0.2-r1.initd
+++ b/app-containers/lxd/files/lxd-5.0.2-r1.initd
@@ -1,5 +1,5 @@
 #!/sbin/openrc-run
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 DAEMON=/usr/sbin/lxd



[gentoo-commits] repo/gentoo:master commit in: app-containers/lxd/files/, app-containers/lxd/

2023-01-07 Thread Joonas Niilola
commit: 67e0c923557984eda05b09fcad093c0840ef8a12
Author: Joonas Niilola  gentoo  org>
AuthorDate: Sat Jan  7 13:01:32 2023 +
Commit: Joonas Niilola  gentoo  org>
CommitDate: Sat Jan  7 13:13:31 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67e0c923

app-containers/lxd: enhance openrc init.d file

 - attempt to only create /sys/fs/cgroup/systemd if rc.conf has support for it,
 - enhance the pkg_postinst messages,
 - remove 'ipv6' use flag as the dependencies already enable it by default.

Signed-off-by: Joonas Niilola  gentoo.org>

 app-containers/lxd/files/lxd-5.0.2-r1.initd |  60 
 app-containers/lxd/lxd-5.0.1-r4.ebuild  | 215 
 2 files changed, 275 insertions(+)

diff --git a/app-containers/lxd/files/lxd-5.0.2-r1.initd 
b/app-containers/lxd/files/lxd-5.0.2-r1.initd
new file mode 100644
index ..288729a6831c
--- /dev/null
+++ b/app-containers/lxd/files/lxd-5.0.2-r1.initd
@@ -0,0 +1,60 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+DAEMON=/usr/sbin/lxd
+PIDFILE=/run/lxd.pid
+
+depend() {
+   need net
+   need lxcfs
+}
+
+start() {
+   ebegin "Starting lxd service"
+
+   modprobe -f loop > /dev/null 2>&1
+
+   # Fix permissions on /var/lib/lxd and make sure it exists.
+   # Create a log directory for lxd with correct permissions.
+   install -d /var/lib/lxd --group lxd --owner root --mode 0775
+   install -d /var/log/lxd --group lxd --owner root
+
+   start-stop-daemon --start \
+   --pidfile ${PIDFILE} \
+   --exec ${DAEMON} \
+   --background \
+   --make-pidfile \
+   -- \
+   ${LXD_OPTIONS}
+   eend ${?}
+
+   # Create necessary systemd paths in order for systemd containers to 
work on openrc host.
+   # /etc/rc.conf should have following values:
+   # rc_cgroup_mode="hybrid"
+   # rc_cgroup_controllers="yes"
+   if [ -d /sys/fs/cgroup/unified ] &&
+   [ ! -d /sys/fs/cgroup/systemd ]; then
+   install -d /sys/fs/cgroup/systemd --group lxd --owner root
+   mount -t cgroup -o none,name=systemd systemd 
/sys/fs/cgroup/systemd
+   fi
+}
+
+stop() {
+   if [ "${RC_CMD}" = restart ]; then
+   ebegin "Stopping lxd service (but not containers)"
+   # start-stop-daemon sends SIGTERM with a timeout of 5s by 
default.
+   # SIGTERM indicates to LXD that it will be stopped temporarily.
+   # Instances will keep running.
+   start-stop-daemon --stop --quiet -p "${PIDFILE}"
+   eend ${?}
+   else
+   ebegin "Stopping lxd service and containers, waiting 40s"
+   # SIGPWR indicates to LXD that the host is going down.
+   # LXD will do a clean shutdown of all instances.
+   # After 30s all remaining instances will be killed.
+   # We wait up to 40s for LXD.
+   start-stop-daemon --stop --quiet -R SIGPWR/40 -p "${PIDFILE}"
+   eend ${?}
+   fi
+}

diff --git a/app-containers/lxd/lxd-5.0.1-r4.ebuild 
b/app-containers/lxd/lxd-5.0.1-r4.ebuild
new file mode 100644
index ..9f824c73165d
--- /dev/null
+++ b/app-containers/lxd/lxd-5.0.1-r4.ebuild
@@ -0,0 +1,215 @@
+# 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://linuxcontainers.org/lxd/introduction/ 
https://github.com/lxc/lxd;
+SRC_URI="https://linuxcontainers.org/downloads/lxd/${P}.tar.gz
+   
https://github.com/lxc/lxd/commit/d55a590ea50a75c3cb2ea67894be8253074d6093.patch
 -> lxd-5.0.2-move-shellcheck-version-call-into-static-analysis.patch
+   https://patch-diff.githubusercontent.com/raw/lxc/lxd/pull/11011.patch 
-> lxd-5.8-add-tcp-keepalives-to-exec-channels.patch
+   verify-sig? ( https://linuxcontainers.org/downloads/lxd/${P}.tar.gz.asc 
)"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="apparmor nls"
+
+DEPEND="acct-group/lxd
+   app-arch/xz-utils
+   >=app-containers/lxc-3.0.0[apparmor?,seccomp(+)]
+   dev-db/sqlite:3
+   dev-libs/dqlite:=
+   dev-libs/lzo
+   dev-libs/raft[lz4]
+   >=dev-util/xdelta-3.0[lzma(+)]
+   net-dns/dnsmasq[dhcp,ipv6(+)]
+   sys-libs/libcap
+   virtual/udev"
+RDEPEND="${DEPEND}
+   net-firewall/ebtables
+   net-firewall/iptables[ipv6(+)]
+   sys-apps/iproute2[ipv6(+)]
+   sys-fs/fuse:*
+   >=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-linuxcontainers 

[gentoo-commits] repo/gentoo:master commit in: app-containers/lxd/files/

2022-04-16 Thread Joonas Niilola
commit: 4ec6a7ea315f172b67cf05233dce61b1fac86606
Author: Michael Mair-Keimberger  levelnine  at>
AuthorDate: Sat Apr 16 15:10:56 2022 +
Commit: Joonas Niilola  gentoo  org>
CommitDate: Sat Apr 16 18:47:53 2022 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ec6a7ea

app-containers/lxd: remove unused files

Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Michael Mair-Keimberger  levelnine.at>
Closes: https://github.com/gentoo/gentoo/pull/25044
Signed-off-by: Joonas Niilola  gentoo.org>

 app-containers/lxd/files/lxd-4.0.0.initd  | 47 ---
 app-containers/lxd/files/lxd-4.0.7-r1.service | 20 
 2 files changed, 67 deletions(-)

diff --git a/app-containers/lxd/files/lxd-4.0.0.initd 
b/app-containers/lxd/files/lxd-4.0.0.initd
deleted file mode 100644
index e6ae971e879f..
--- a/app-containers/lxd/files/lxd-4.0.0.initd
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-DAEMON=/usr/sbin/lxd
-PIDFILE=/run/lxd.pid
-
-depend() {
-   need net
-   need lxcfs
-}
-
-start() {
-   ebegin "Starting lxd service"
-
-   modprobe -f loop > /dev/null 2>&1
-
-   # fix permissions on /var/lib/lxd and make sure it exists
-   install -d /var/lib/lxd --group lxd --owner root --mode 0775
-   start-stop-daemon --start \
-   --pidfile ${PIDFILE} \
-   --exec ${DAEMON} \
-   --background \
-   --make-pidfile \
-   -- \
-   ${LXD_OPTIONS}
-   eend ${?}
-}
-
-stop() {
-   if [ "${RC_CMD}" = restart ]; then
-   ebegin "Stopping lxd service (but not containers)"
-   # start-stop-daemon sends SIGTERM with a timeout of 5s by 
default.
-   # SIGTERM indicates to LXD that it will be stopped temporarily.
-   # Instances will keep running.
-   start-stop-daemon --stop --quiet -p "${PIDFILE}"
-   eend ${?}
-   else
-   ebegin "Stopping lxd service and containers, waiting 40s"
-   # SIGPWR indicates to LXD that the host is going down.
-   # LXD will do a clean shutdown of all instances.
-   # After 30s all remaining instances will be killed.
-   # We wait up to 40s for LXD.
-   start-stop-daemon --stop --quiet -R SIGPWR/40 -p "${PIDFILE}"
-   eend ${?}
-   fi
-}

diff --git a/app-containers/lxd/files/lxd-4.0.7-r1.service 
b/app-containers/lxd/files/lxd-4.0.7-r1.service
deleted file mode 100644
index f1e644b95df8..
--- a/app-containers/lxd/files/lxd-4.0.7-r1.service
+++ /dev/null
@@ -1,20 +0,0 @@
-[Unit]
-Description=LXD - main daemon
-After=network-online.target lxcfs.service lxd.socket
-Requires=network-online.target lxcfs.service lxd.socket
-Documentation=man:lxd(1)
-
-[Service]
-EnvironmentFile=-/etc/environment
-ExecStart=/usr/sbin/lxd --group lxd --syslog
-ExecStartPost=/usr/sbin/lxd waitready --timeout=600
-KillMode=process
-TimeoutStartSec=600s
-TimeoutStopSec=30s
-Restart=on-failure
-LimitNOFILE=1048576
-LimitNPROC=infinity
-TasksMax=infinity
-
-[Install]
-Also=lxd-containers.service lxd.socket



[gentoo-commits] repo/gentoo:master commit in: app-containers/lxd/files/, app-containers/lxd/

2022-02-02 Thread Joonas Niilola
commit: 5bd04ef5dc1514fe99e65550f7e72bcf7ab993eb
Author: Joonas Niilola  gentoo  org>
AuthorDate: Wed Feb  2 08:45:41 2022 +
Commit: Joonas Niilola  gentoo  org>
CommitDate: Wed Feb  2 08:53:06 2022 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5bd04ef5

app-containers/lxd: add 4.0.9

 - inherit go-module.eclass; upstream uses go.mod now,
 - new documentation offered by upstream, e.g. a handy cheatsheet,
 - openrc init file and systemd service file now manages the log
   directory (#817287),
 - virtfs-proxy-helper bin path isn't hardcoded anymore (#798924),
 - -Werror patch turned into sed for easier maintainability.

Bug: https://bugs.gentoo.org/798924
Closes: https://bugs.gentoo.org/817287
Signed-off-by: Joonas Niilola  gentoo.org>

 app-containers/lxd/Manifest|   2 +
 app-containers/lxd/files/lxd-4.0.9.initd   |  49 
 app-containers/lxd/files/lxd-4.0.9.service |  25 +
 app-containers/lxd/lxd-4.0.9.ebuild| 174 +
 4 files changed, 250 insertions(+)

diff --git a/app-containers/lxd/Manifest b/app-containers/lxd/Manifest
index 5aa9fa7a435c..97017785ab20 100644
--- a/app-containers/lxd/Manifest
+++ b/app-containers/lxd/Manifest
@@ -1,2 +1,4 @@
 DIST lxd-4.0.8.tar.gz 8898153 BLAKE2B 
c02bea1019079f59fff5fbb2c3d3ebf13e01751fd1c18b9aa44a9306a8f631cb0c0a55f77eb17945e44c040dfdad5c790bb2c2e3ab165356e3900c3d6cccec0e
 SHA512 
9bf5ee91438bc14e916410254979838a110d21d8329c0eaa0a5eecfd378039a3ac10291197d2f680dc12484866f21ef724618e88e6c02038e6d2484d33571dd6
 DIST lxd-4.0.8.tar.gz.asc 833 BLAKE2B 
2073b113f34b2ab052e6e4f406016ac04631ec63269b79dd1e85ca5191aa73ed1f47f0e87f5155b6e5c6659138a182c4c403a66e20925cdb347f49e542e8139b
 SHA512 
9b5f00f9d4a601e718ca91f623dd31e864963b7b8a9e9be6af8da2288b775c4fc8c60b0d6fcefa2a347d733d1e002a3714ac3dbfadf9a1188f9747e9682fe8b9
+DIST lxd-4.0.9.tar.gz 9117078 BLAKE2B 
aa6689c1e958258484fba5c060765dd71d5406cb4375d3132cdc38633277e6c95322e8e3aed5e9dd251140c6868ec42470e797639dde4af42848e138f3b45ee2
 SHA512 
657949311753895f3941deaabae2d03092fc67490d2de78db48b296fdd3e9df4c5844467dd6913814426ca423a6ee1da9705bb1a2652ea99fe1356eb7da97ebb
+DIST lxd-4.0.9.tar.gz.asc 833 BLAKE2B 
7cd0d3ab518d947ca3ea6dc804c6a59b592e4e568152c078fdd3c102420bcd94d2f0b2c335b8b4ecdb19dc3c9a10f665a1510903f395247da956717beaa172a3
 SHA512 
79a4111571ab43e79cf669e416ed50f3ccae0fbceb86d73757d23c778035e827f47643bc87ff6a2fc64b095345a3d53cbd0c4eb245c75364e907d7449f3a0886

diff --git a/app-containers/lxd/files/lxd-4.0.9.initd 
b/app-containers/lxd/files/lxd-4.0.9.initd
new file mode 100644
index ..7b3d464ea367
--- /dev/null
+++ b/app-containers/lxd/files/lxd-4.0.9.initd
@@ -0,0 +1,49 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+DAEMON=/usr/sbin/lxd
+PIDFILE=/run/lxd.pid
+
+depend() {
+   need net
+   need lxcfs
+}
+
+start() {
+   ebegin "Starting lxd service"
+
+   modprobe -f loop > /dev/null 2>&1
+
+   # Fix permissions on /var/lib/lxd and make sure it exists.
+   # Create a log directory for lxd with correct permissions.
+   install -d /var/lib/lxd --group lxd --owner root --mode 0775
+   install -d /var/log/lxd --group lxd --owner root 
+   start-stop-daemon --start \
+   --pidfile ${PIDFILE} \
+   --exec ${DAEMON} \
+   --background \
+   --make-pidfile \
+   -- \
+   ${LXD_OPTIONS}
+   eend ${?}
+}
+
+stop() {
+   if [ "${RC_CMD}" = restart ]; then
+   ebegin "Stopping lxd service (but not containers)"
+   # start-stop-daemon sends SIGTERM with a timeout of 5s by 
default.
+   # SIGTERM indicates to LXD that it will be stopped temporarily.
+   # Instances will keep running.
+   start-stop-daemon --stop --quiet -p "${PIDFILE}"
+   eend ${?}
+   else
+   ebegin "Stopping lxd service and containers, waiting 40s"
+   # SIGPWR indicates to LXD that the host is going down.
+   # LXD will do a clean shutdown of all instances.
+   # After 30s all remaining instances will be killed.
+   # We wait up to 40s for LXD.
+   start-stop-daemon --stop --quiet -R SIGPWR/40 -p "${PIDFILE}"
+   eend ${?}
+   fi
+}

diff --git a/app-containers/lxd/files/lxd-4.0.9.service 
b/app-containers/lxd/files/lxd-4.0.9.service
new file mode 100644
index ..6a218d2c43a7
--- /dev/null
+++ b/app-containers/lxd/files/lxd-4.0.9.service
@@ -0,0 +1,25 @@
+[Unit]
+Description=LXD - main daemon
+After=network-online.target lxcfs.service lxd.socket
+Requires=network-online.target lxcfs.service lxd.socket
+Documentation=man:lxd(1)
+
+[Service]
+Group=lxd
+User=root
+EnvironmentFile=-/etc/environment
+ExecStart=/usr/sbin/lxd --group lxd --syslog
+ExecStartPost=/usr/sbin/lxd