Remove solaris files
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
parent
80de00069a
commit
9956fa4b33
@ -13,7 +13,4 @@ else
|
||||
ifeq ($(UNAME_S),FreeBSD)
|
||||
target_os = freebsd
|
||||
endif
|
||||
ifeq ($(UNAME_S),SunOS)
|
||||
target_os = solaris
|
||||
endif
|
||||
endif
|
||||
|
@ -1,6 +0,0 @@
|
||||
#solaris specific settings
|
||||
|
||||
# on SunOS default to gnu utilities for things like grep, sed, etc.
|
||||
export PATH := /usr/gnu/bin:$(PATH)
|
||||
|
||||
COMMANDS += containerd-shim
|
@ -1,18 +0,0 @@
|
||||
// +build solaris
|
||||
|
||||
package main
|
||||
|
||||
import "github.com/containerd/containerd/server"
|
||||
|
||||
func defaultConfig() *server.Config {
|
||||
return &server.Config{
|
||||
Root: "/var/lib/containerd",
|
||||
GRPC: server.GRPCConfig{
|
||||
Address: server.DefaultAddress,
|
||||
},
|
||||
Debug: server.Debug{
|
||||
Level: "info",
|
||||
Address: server.DefaultDebugAddress,
|
||||
},
|
||||
}
|
||||
}
|
@ -1,83 +0,0 @@
|
||||
package mount
|
||||
|
||||
// On Solaris we can't invoke the mount system call directly. First,
|
||||
// the mount system call takes more than 6 arguments, and go doesn't
|
||||
// support invoking system calls that take more than 6 arguments. Past
|
||||
// that, the mount system call is a private interfaces. For example,
|
||||
// the arguments and data structures passed to the kernel to create an
|
||||
// nfs mount are private and can change at any time. The only public
|
||||
// and stable interface for creating mounts on Solaris is the mount.8
|
||||
// command, so we'll invoke that here.
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"fmt"
|
||||
"os/exec"
|
||||
"strings"
|
||||
|
||||
"golang.org/x/sys/unix"
|
||||
)
|
||||
|
||||
const (
|
||||
mountCmd = "/usr/sbin/mount"
|
||||
)
|
||||
|
||||
func doMount(arg ...string) error {
|
||||
cmd := exec.Command(mountCmd, arg...)
|
||||
|
||||
/* Setup Stdin, Stdout, and Stderr */
|
||||
stderr := new(bytes.Buffer)
|
||||
cmd.Stdin = nil
|
||||
cmd.Stdout = nil
|
||||
cmd.Stderr = stderr
|
||||
|
||||
/*
|
||||
* Run the command. If the command fails create a new error
|
||||
* object to return that includes stderr output.
|
||||
*/
|
||||
err := cmd.Start()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = cmd.Wait()
|
||||
if err != nil {
|
||||
return errors.New(fmt.Sprintf("%v: %s", err, stderr.String()))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Mount) Mount(target string) error {
|
||||
var err error
|
||||
|
||||
if len(m.Options) == 0 {
|
||||
err = doMount("-F", m.Type, m.Source, target)
|
||||
} else {
|
||||
err = doMount("-F", m.Type, "-o", strings.Join(m.Options, ","),
|
||||
m.Source, target)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func Unmount(mount string, flags int) error {
|
||||
return unix.Unmount(mount, flags)
|
||||
}
|
||||
|
||||
// UnmountAll repeatedly unmounts the given mount point until there
|
||||
// are no mounts remaining (EINVAL is returned by mount), which is
|
||||
// useful for undoing a stack of mounts on the same mount point.
|
||||
func UnmountAll(mount string, flags int) error {
|
||||
for {
|
||||
if err := Unmount(mount, flags); err != nil {
|
||||
// EINVAL is returned if the target is not a
|
||||
// mount point, indicating that we are
|
||||
// done. It can also indicate a few other
|
||||
// things (such as invalid flags) which we
|
||||
// unfortunately end up squelching here too.
|
||||
if err == unix.EINVAL {
|
||||
return nil
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
// +build solaris,cgo
|
||||
|
||||
package mount
|
||||
|
||||
/*
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/mnttab.h>
|
||||
*/
|
||||
import "C"
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
// Self retrieves a list of mounts for the current running process.
|
||||
func Self() ([]Info, error) {
|
||||
path := C.CString(C.MNTTAB)
|
||||
defer C.free(unsafe.Pointer(path))
|
||||
mode := C.CString("r")
|
||||
defer C.free(unsafe.Pointer(mode))
|
||||
|
||||
mnttab := C.fopen(path, mode)
|
||||
if mnttab == nil {
|
||||
return nil, fmt.Errorf("Failed to open %s", C.MNTTAB)
|
||||
}
|
||||
|
||||
var out []Info
|
||||
var mp C.struct_mnttab
|
||||
|
||||
ret := C.getmntent(mnttab, &mp)
|
||||
for ret == 0 {
|
||||
var mountinfo Info
|
||||
mountinfo.Mountpoint = C.GoString(mp.mnt_mountp)
|
||||
mountinfo.Source = C.GoString(mp.mnt_special)
|
||||
mountinfo.FSType = C.GoString(mp.mnt_fstype)
|
||||
mountinfo.Options = C.GoString(mp.mnt_mntopts)
|
||||
out = append(out, mountinfo)
|
||||
ret = C.getmntent(mnttab, &mp)
|
||||
}
|
||||
|
||||
C.fclose(mnttab)
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// PID collects the mounts for a specific process ID.
|
||||
func PID(pid int) ([]Info, error) {
|
||||
return nil, fmt.Errorf("mountinfo.PID is not implemented on solaris")
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
// +build solaris
|
||||
|
||||
package sys
|
||||
|
||||
import (
|
||||
"errors"
|
||||
)
|
||||
|
||||
//Solaris TODO
|
||||
|
||||
// GetSubreaper returns the subreaper setting for the calling process
|
||||
func GetSubreaper() (int, error) {
|
||||
return 0, errors.New("osutils GetSubreaper not implemented on Solaris")
|
||||
}
|
||||
|
||||
// SetSubreaper sets the value i as the subreaper setting for the calling process
|
||||
func SetSubreaper(i int) error {
|
||||
return errors.New("osutils SetSubreaper not implemented on Solaris")
|
||||
}
|
Loading…
Reference in New Issue
Block a user