public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Joonas Niilola" <juippis@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-containers/incus/files/, app-containers/incus/
Date: Mon, 30 Oct 2023 12:45:25 +0000 (UTC)	[thread overview]
Message-ID: <1698669850.7469a09067036c4887f0a7babdbe0a04123fe068.juippis@gentoo> (raw)

commit:     7469a09067036c4887f0a7babdbe0a04123fe068
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 30 12:44:10 2023 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Mon Oct 30 12:44:10 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7469a090

app-containers/incus: lxd-to-incus: add upstream openrc patch

Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 .../incus-0.2-lxd-to-incus-openrc-support.patch    | 71 ++++++++++++++++++++++
 .../{incus-0.2.ebuild => incus-0.2-r1.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
similarity index 96%
rename from app-containers/incus/incus-0.2.ebuild
rename to 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


             reply	other threads:[~2023-10-30 12:45 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-30 12:45 Joonas Niilola [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-12-08  6:50 [gentoo-commits] repo/gentoo:master commit in: app-containers/incus/files/, app-containers/incus/ Joonas Niilola
2024-02-24  9:11 Joonas Niilola
2024-02-26  8:50 Joonas Niilola
2024-07-12  8:58 Joonas Niilola

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1698669850.7469a09067036c4887f0a7babdbe0a04123fe068.juippis@gentoo \
    --to=juippis@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox