2
2
mirror of https://github.com/octoleo/restic.git synced 2024-06-01 08:30:49 +00:00

Merge pull request #1649 from jasperla/solaris

Minimal set of patches to get restic working on Solaris
This commit is contained in:
Alexander Neumann 2018-03-05 20:00:17 +01:00
commit be0a5b7f06
18 changed files with 71 additions and 2 deletions

View File

@ -0,0 +1,3 @@
Enhancement: Add illumos/Solaris support.
https://github.com/restic/restic/pull/1649

View File

@ -1,4 +1,5 @@
// +build !openbsd // +build !openbsd
// +build !solaris
// +build !windows // +build !windows
package main package main

View File

@ -1,4 +1,5 @@
// +build !openbsd // +build !openbsd
// +build !solaris
// +build !windows // +build !windows
package main package main

View File

@ -63,7 +63,8 @@ command to serve the repository with FUSE:
Now serving /tmp/backup at /mnt/restic Now serving /tmp/backup at /mnt/restic
Don't forget to umount after quitting! 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 Restic supports storage and preservation of hard links. However, since
hard links exist in the scope of a filesystem by definition, restoring hard links exist in the scope of a filesystem by definition, restoring

View 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
}

View File

@ -1,3 +1,4 @@
// +build !solaris
// +build !windows // +build !windows
package sftp package sftp

View File

@ -1,4 +1,5 @@
// +build !openbsd // +build !openbsd
// +build !solaris
// +build !windows // +build !windows
package fuse package fuse

View File

@ -1,4 +1,5 @@
// +build !openbsd // +build !openbsd
// +build !solaris
// +build !windows // +build !windows
package fuse package fuse

View File

@ -1,4 +1,5 @@
// +build !openbsd // +build !openbsd
// +build !solaris
// +build !windows // +build !windows
package fuse package fuse

View File

@ -1,4 +1,5 @@
// +build !openbsd // +build !openbsd
// +build !solaris
// +build !windows // +build !windows
package fuse package fuse

View File

@ -1,4 +1,5 @@
// +build !openbsd // +build !openbsd
// +build !solaris
// +build !windows // +build !windows
package fuse package fuse

View File

@ -1,4 +1,5 @@
// +build !openbsd // +build !openbsd
// +build !solaris
// +build !windows // +build !windows
package fuse package fuse

View File

@ -1,4 +1,5 @@
// +build !openbsd // +build !openbsd
// +build !solaris
// +build !windows // +build !windows
package fuse package fuse

View File

@ -1,4 +1,5 @@
// +build !openbsd // +build !openbsd
// +build !solaris
// +build !windows // +build !windows
package fuse package fuse

View File

@ -1,4 +1,5 @@
// +build !openbsd // +build !openbsd
// +build !solaris
// +build !windows // +build !windows
package fuse package fuse

View 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
}

View File

@ -1,4 +1,5 @@
// +build !openbsd // +build !openbsd
// +build !solaris
// +build !windows // +build !windows
package restic package restic

View File

@ -1,4 +1,4 @@
// +build !windows,!darwin,!freebsd,!netbsd,!openbsd,!dragonfly // +build !windows,!darwin,!freebsd,!netbsd,!openbsd,!dragonfly,!solaris
package restic package restic