Files
docker-cli/components/engine/pkg/parsers/kernel/kernel_unix.go
allencloud e42445eaa3 make pkg/parsers support darwin and solaris
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: a7f551359ad187a37663b39afdfe33122addea30
Component: engine
2016-06-02 11:47:27 +08:00

35 lines
640 B
Go

// +build linux freebsd solaris
// Package kernel provides helper function to get, parse and compare kernel
// versions for different platforms.
package kernel
import (
"bytes"
)
// GetKernelVersion gets the current kernel version.
func GetKernelVersion() (*VersionInfo, error) {
var (
err error
)
uts, err := uname()
if err != nil {
return nil, err
}
release := make([]byte, len(uts.Release))
i := 0
for _, c := range uts.Release {
release[i] = byte(c)
i++
}
// Remove the \x00 from the release for Atoi to parse correctly
release = release[:bytes.IndexByte(release, 0)]
return ParseRelease(string(release))
}