Fix downstream client API build errors on Solaris
The client API at fsouza/go-dockerclient has dependencies on packages in the docker/docker repository which currently do not build on Solaris. In particular, stat_unsupported.go makes use of the Mtimespec field of the syscall.Stat_t struct, which is not present on Solaris, and a number of Unix-specific packages do not list Solaris in their compile targets. This commit adds enough support to be able to build fsouza/go-dockerclient on SmartOS using Go 1.5.1 without affecting other platforms. Signed-off-by: James Nugent <james@jen20.com>
This commit is contained in:
parent
562ec005a6
commit
81a350b801
2 changed files with 18 additions and 1 deletions
17
system/stat_solaris.go
Normal file
17
system/stat_solaris.go
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
// +build solaris
|
||||||
|
|
||||||
|
package system
|
||||||
|
|
||||||
|
import (
|
||||||
|
"syscall"
|
||||||
|
)
|
||||||
|
|
||||||
|
// fromStatT creates a system.StatT type from a syscall.Stat_t type
|
||||||
|
func fromStatT(s *syscall.Stat_t) (*StatT, error) {
|
||||||
|
return &StatT{size: s.Size,
|
||||||
|
mode: uint32(s.Mode),
|
||||||
|
uid: s.Uid,
|
||||||
|
gid: s.Gid,
|
||||||
|
rdev: uint64(s.Rdev),
|
||||||
|
mtim: s.Mtim}, nil
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
// +build !linux,!windows,!freebsd
|
// +build !linux,!windows,!freebsd,!solaris
|
||||||
|
|
||||||
package system
|
package system
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue