Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354diff --git a/src/cmd/linuxkit/vendor/github.com/Code-Hex/vz/v3/osversion.go b/src/cmd/linuxkit/vendor/github.com/Code-Hex/vz/v3/osversion.goindex d72a7856d..b186d3aff 100644--- a/src/cmd/linuxkit/vendor/github.com/Code-Hex/vz/v3/osversion.go+++ b/src/cmd/linuxkit/vendor/github.com/Code-Hex/vz/v3/osversion.go@@ -9,6 +9,7 @@ import "C" import ( "errors" "fmt"+ "os/exec" "strconv" "strings" "sync"@@ -48,6 +49,40 @@ func fetchMajorMinorVersion() (float64, error) { if err != nil { return 0, err }++ // For backward compatibility reasons, if code compiled against an SDK+ // earlier than macOS 11 is run on macOS 11 or later, and then tries to read+ // value of kern.osproductversion, the OS will return the value "10.16"+ // instead of the real OS version string. By contrast, the command `sw_vers+ // -productVersion` will return the real OS version string unless the+ // environment variable SYSTEM_VERSION_COMPAT is set to 1 or 2, in which+ // case it will respectively return "10.16" and "15.7" (the latter is for+ // some iOS compatibility reason).+ //+ // The only (currently) sure way to get the real OS version string+ // regardless of SYSTEM_VERSION_COMPAT or the SDK compiled against is+ // apparently to parse+ // /System/Library/CoreServices/.SystemVersionPlatform.plist if it exists,+ // and /System/Library/CoreServices/SystemVersion.plist otherwise. Doing+ // so, however, requires parsing XML plist files.+ //+ // Given what this library does, it doesn't seem likely that there would be+ // a good reason to run its code with SYSTEM_VERSION_COMPAT set, so using+ // `sw_vers` should be adequate until a proper parsing of plist files is+ // added.+ //+ // See https://github.com/ziglang/zig/issues/7569,+ // https://github.com/ziglang/zig/pull/7714 and+ // https://eclecticlight.co/2020/08/13/macos-version-numbering-isnt-so-simple/+ // for more information.+ if osver == "10.16" {+ out, err := exec.Command("sw_vers", "-productVersion").Output()+ if err != nil {+ return 0, err+ }+ osver = strings.TrimRight(string(out), "\r\n")+ }+ prefix := "v" majorMinor := strings.TrimPrefix(semver.MajorMinor(prefix+osver), prefix) version, err := strconv.ParseFloat(majorMinor, 64)