summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2023-10-30 14:44:10 +0200
committerJoonas Niilola <juippis@gentoo.org>2023-10-30 14:44:10 +0200
commit7469a09067036c4887f0a7babdbe0a04123fe068 (patch)
treeb82ba1ced85df7224742230bae72d509f564eb66 /app-containers/incus
parentmail-mta/postfix: add 3.9_pre20231024, drop 3.9_pre20231012 (diff)
downloadgentoo-7469a09067036c4887f0a7babdbe0a04123fe068.tar.gz
gentoo-7469a09067036c4887f0a7babdbe0a04123fe068.tar.bz2
gentoo-7469a09067036c4887f0a7babdbe0a04123fe068.zip
app-containers/incus: lxd-to-incus: add upstream openrc patch
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'app-containers/incus')
-rw-r--r--app-containers/incus/files/incus-0.2-lxd-to-incus-openrc-support.patch71
-rw-r--r--app-containers/incus/incus-0.2-r1.ebuild (renamed from app-containers/incus/incus-0.2.ebuild)6
2 files changed, 74 insertions, 3 deletions
diff --git a/app-containers/incus/files/incus-0.2-lxd-to-incus-openrc-support.patch b/app-containers/incus/files/incus-0.2-lxd-to-incus-openrc-support.patch
new file mode 100644
index 000000000000..9ab26752f9f8
--- /dev/null
+++ b/app-containers/incus/files/incus-0.2-lxd-to-incus-openrc-support.patch
@@ -0,0 +1,71 @@
+From 73f22c10770ba07ffe55e37480c5d50beb3c0c35 Mon Sep 17 00:00:00 2001
+From: xsoalokinx <soalokin@live.com>
+Date: Sun, 29 Oct 2023 07:42:02 +0000
+Subject: [PATCH] cmd/lxd-to-incus: Add OpenRC target support
+
+Signed-off-by: xsoalokinx <soalokin@live.com>
+---
+ cmd/lxd-to-incus/targets.go | 46 ++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 45 insertions(+), 1 deletion(-)
+
+diff --git a/cmd/lxd-to-incus/targets.go b/cmd/lxd-to-incus/targets.go
+index ed84d3ebc..0940e1597 100644
+--- a/cmd/lxd-to-incus/targets.go
++++ b/cmd/lxd-to-incus/targets.go
+@@ -16,7 +16,7 @@ type Target interface {
+ Paths() (*DaemonPaths, error)
+ }
+
+-var targets = []Target{&targetSystemd{}}
++var targets = []Target{&targetSystemd{}, &targetOpenRC{}}
+
+ type targetSystemd struct{}
+
+@@ -61,3 +61,47 @@ func (s *targetSystemd) Paths() (*DaemonPaths, error) {
+ Cache: "/var/cache/incus/",
+ }, nil
+ }
++
++type targetOpenRC struct{}
++
++func (s *targetOpenRC) Present() bool {
++ if !util.PathExists("/var/lib/incus/") {
++ return false
++ }
++
++ _, err := subprocess.RunCommand("rc-service", "--exists", "incus")
++ if err != nil {
++ return false
++ }
++
++ return true
++}
++
++func (s *targetOpenRC) Stop() error {
++ _, err := subprocess.RunCommand("rc-service", "incus", "stop")
++ return err
++}
++
++func (s *targetOpenRC) Start() error {
++ _, err := subprocess.RunCommand("rc-service", "incus", "start")
++ if err != nil {
++ return err
++ }
++
++ // Wait for the socket to become available.
++ time.Sleep(5 * time.Second)
++
++ return nil
++}
++
++func (s *targetOpenRC) Connect() (incus.InstanceServer, error) {
++ return incus.ConnectIncusUnix("/var/lib/incus/unix.socket", nil)
++}
++
++func (s *targetOpenRC) Paths() (*DaemonPaths, error) {
++ return &DaemonPaths{
++ Daemon: "/var/lib/incus/",
++ Logs: "/var/log/incus/",
++ Cache: "/var/cache/incus/",
++ }, nil
++}
diff --git a/app-containers/incus/incus-0.2.ebuild b/app-containers/incus/incus-0.2-r1.ebuild
index 1ca35cc10b96..1adaedd82ad8 100644
--- a/app-containers/incus/incus-0.2.ebuild
+++ b/app-containers/incus/incus-0.2-r1.ebuild
@@ -81,6 +81,8 @@ RESTRICT="test"
GOPATH="${S}/_dist"
+PATCHES=( "${FILESDIR}"/incus-0.2-lxd-to-incus-openrc-support.patch )
+
src_prepare() {
export GOPATH="${S}/_dist"
@@ -174,10 +176,8 @@ pkg_postinst() {
elog "Please see"
elog " https://linuxcontainers.org/incus/introduction/"
elog " https://linuxcontainers.org/incus/docs/main/tutorial/first_steps/"
- elog " https://github.com/lxc/incus/blob/main/doc/howto/server_migrate_lxd.md"
+ elog " https://linuxcontainers.org/incus/docs/main/howto/server_migrate_lxd/"
elog "before a Gentoo Wiki page is made."
- elog "Note that lxd-to-incus doesn't currently fully work on Gentoo, and doesn't"
- elog "work at all on OpenRC systems."
elog
optfeature "virtual machine support" app-emulation/qemu[spice,usbredir,virtfs]
optfeature "btrfs storage backend" sys-fs/btrfs-progs