incus-mirror/cmd/lxd-to-incus/sources_xbps.go
Stéphane Graber 40dd4f151d
Rewrite Go import path to v7
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-05-02 01:18:25 +02:00

57 lines
1.1 KiB
Go

package main
import (
incus "github.com/lxc/incus/v7/client"
"github.com/lxc/incus/v7/shared/subprocess"
"github.com/lxc/incus/v7/shared/util"
)
type srcXbps struct{}
func (s *srcXbps) present() bool {
if !util.PathExists("/var/db/xbps/.lxd-files.plist") {
return false
}
if !util.PathExists("/var/service/lxd") {
return false
}
if !util.PathExists("/var/lib/lxd/unix.socket") {
return false
}
return true
}
func (s *srcXbps) name() string {
return "xbps"
}
func (s *srcXbps) stop() error {
_, err := subprocess.RunCommand("sv", "stop", "lxd")
return err
}
func (s *srcXbps) start() error {
_, err := subprocess.RunCommand("sv", "start", "lxd")
return err
}
func (s *srcXbps) purge() error {
_, err := subprocess.RunCommand("xbps-remove", "-R", "-y", "lxd")
return err
}
func (s *srcXbps) connect() (incus.InstanceServer, error) {
return incus.ConnectIncusUnix("/var/lib/lxd/unix.socket", &incus.ConnectionArgs{SkipGetServer: true})
}
func (s *srcXbps) paths() (*daemonPaths, error) {
return &daemonPaths{
daemon: "/var/lib/lxd",
logs: "/var/log/lxd",
cache: "/var/cache/lxd",
}, nil
}