mirror of
https://github.com/rclone/rclone.git
synced 2025-02-25 03:17:24 +08:00

v4 is the latest version with bug fixes and enhancements. While there are 4 breaking changes in v4, they do not affect us because we do not use the impacted functions. Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
35 lines
703 B
Go
35 lines
703 B
Go
//go:build !windows
|
|
|
|
package buildinfo
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"github.com/shirou/gopsutil/v4/host"
|
|
)
|
|
|
|
// GetOSVersion returns OS version, kernel and bitness
|
|
func GetOSVersion() (osVersion, osKernel string) {
|
|
if platform, _, version, err := host.PlatformInformation(); err == nil && platform != "" {
|
|
osVersion = platform
|
|
if version != "" {
|
|
osVersion += " " + version
|
|
}
|
|
}
|
|
|
|
if version, err := host.KernelVersion(); err == nil && version != "" {
|
|
osKernel = version
|
|
}
|
|
|
|
if arch, err := host.KernelArch(); err == nil && arch != "" {
|
|
if strings.HasSuffix(arch, "64") && osVersion != "" {
|
|
osVersion += " (64 bit)"
|
|
}
|
|
if osKernel != "" {
|
|
osKernel += " (" + arch + ")"
|
|
}
|
|
}
|
|
|
|
return
|
|
}
|