diff options
author | Joonas Niilola <juippis@gentoo.org> | 2023-10-30 14:44:10 +0200 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2023-10-30 14:44:10 +0200 |
commit | 7469a09067036c4887f0a7babdbe0a04123fe068 (patch) | |
tree | b82ba1ced85df7224742230bae72d509f564eb66 /app-containers/incus | |
parent | mail-mta/postfix: add 3.9_pre20231024, drop 3.9_pre20231012 (diff) | |
download | gentoo-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.patch | 71 | ||||
-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 |