mirror of
https://github.com/octoleo/restic.git
synced 2024-12-22 02:48:55 +00:00
Add support for illumos/Solaris
This does come without xattr/fuse support at this point. NB: not hooking up the integration tests as restic won't compile without cgo with Go < 1.10.
This commit is contained in:
parent
f6890210aa
commit
96311d1a2b
3
changelog/0.8.3_2018-02-26/pull-1649
Normal file
3
changelog/0.8.3_2018-02-26/pull-1649
Normal file
@ -0,0 +1,3 @@
|
||||
Enhancement: Add illumos/Solaris support.
|
||||
|
||||
https://github.com/restic/restic/pull/1649
|
@ -1,4 +1,5 @@
|
||||
// +build !openbsd
|
||||
// +build !solaris
|
||||
// +build !windows
|
||||
|
||||
package main
|
||||
|
@ -1,4 +1,5 @@
|
||||
// +build !openbsd
|
||||
// +build !solaris
|
||||
// +build !windows
|
||||
|
||||
package main
|
||||
|
@ -63,7 +63,8 @@ command to serve the repository with FUSE:
|
||||
Now serving /tmp/backup at /mnt/restic
|
||||
Don't forget to umount after quitting!
|
||||
|
||||
Mounting repositories via FUSE is not possible on Windows and OpenBSD.
|
||||
Mounting repositories via FUSE is not possible on OpenBSD, Solaris/illumos
|
||||
and Windows.
|
||||
|
||||
Restic supports storage and preservation of hard links. However, since
|
||||
hard links exist in the scope of a filesystem by definition, restoring
|
||||
|
25
internal/backend/sftp/foreground_solaris.go
Normal file
25
internal/backend/sftp/foreground_solaris.go
Normal file
@ -0,0 +1,25 @@
|
||||
package sftp
|
||||
|
||||
import (
|
||||
"os/exec"
|
||||
"syscall"
|
||||
|
||||
"github.com/restic/restic/internal/errors"
|
||||
)
|
||||
|
||||
func startForeground(cmd *exec.Cmd) (bg func() error, err error) {
|
||||
// run the command in it's own process group so that SIGINT
|
||||
// is not sent to it.
|
||||
cmd.SysProcAttr = &syscall.SysProcAttr{
|
||||
Setpgid: true,
|
||||
}
|
||||
|
||||
// start the process
|
||||
err = cmd.Start()
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "cmd.Start")
|
||||
}
|
||||
|
||||
bg = func() error { return nil }
|
||||
return bg, nil
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
// +build !solaris
|
||||
// +build !windows
|
||||
|
||||
package sftp
|
||||
|
@ -1,4 +1,5 @@
|
||||
// +build !openbsd
|
||||
// +build !solaris
|
||||
// +build !windows
|
||||
|
||||
package fuse
|
||||
|
@ -1,4 +1,5 @@
|
||||
// +build !openbsd
|
||||
// +build !solaris
|
||||
// +build !windows
|
||||
|
||||
package fuse
|
||||
|
@ -1,4 +1,5 @@
|
||||
// +build !openbsd
|
||||
// +build !solaris
|
||||
// +build !windows
|
||||
|
||||
package fuse
|
||||
|
@ -1,4 +1,5 @@
|
||||
// +build !openbsd
|
||||
// +build !solaris
|
||||
// +build !windows
|
||||
|
||||
package fuse
|
||||
|
@ -1,4 +1,5 @@
|
||||
// +build !openbsd
|
||||
// +build !solaris
|
||||
// +build !windows
|
||||
|
||||
package fuse
|
||||
|
@ -1,4 +1,5 @@
|
||||
// +build !openbsd
|
||||
// +build !solaris
|
||||
// +build !windows
|
||||
|
||||
package fuse
|
||||
|
@ -1,4 +1,5 @@
|
||||
// +build !openbsd
|
||||
// +build !solaris
|
||||
// +build !windows
|
||||
|
||||
package fuse
|
||||
|
@ -1,4 +1,5 @@
|
||||
// +build !openbsd
|
||||
// +build !solaris
|
||||
// +build !windows
|
||||
|
||||
package fuse
|
||||
|
@ -1,4 +1,5 @@
|
||||
// +build !openbsd
|
||||
// +build !solaris
|
||||
// +build !windows
|
||||
|
||||
package fuse
|
||||
|
27
internal/restic/node_solaris.go
Normal file
27
internal/restic/node_solaris.go
Normal file
@ -0,0 +1,27 @@
|
||||
package restic
|
||||
|
||||
import "syscall"
|
||||
|
||||
func (node Node) restoreSymlinkTimestamps(path string, utimes [2]syscall.Timespec) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s statUnix) atim() syscall.Timespec { return s.Atim }
|
||||
func (s statUnix) mtim() syscall.Timespec { return s.Mtim }
|
||||
func (s statUnix) ctim() syscall.Timespec { return s.Ctim }
|
||||
|
||||
// Getxattr retrieves extended attribute data associated with path.
|
||||
func Getxattr(path, name string) ([]byte, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
// Listxattr retrieves a list of names of extended attributes associated with the
|
||||
// given path in the file system.
|
||||
func Listxattr(path string) ([]string, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
// Setxattr associates name and data together as an attribute of path.
|
||||
func Setxattr(path, name string, data []byte) error {
|
||||
return nil
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
// +build !openbsd
|
||||
// +build !solaris
|
||||
// +build !windows
|
||||
|
||||
package restic
|
||||
|
@ -1,4 +1,4 @@
|
||||
// +build !windows,!darwin,!freebsd,!netbsd,!openbsd,!dragonfly
|
||||
// +build !windows,!darwin,!freebsd,!netbsd,!openbsd,!dragonfly,!solaris
|
||||
|
||||
package restic
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user