diff --git a/utils.go b/utils.go index ff918d1eef..a039ca6eb6 100644 --- a/utils.go +++ b/utils.go @@ -399,10 +399,10 @@ func CopyEscapable(dst io.Writer, src io.ReadCloser) (written int64, err error) } type KernelVersionInfo struct { - Kernel int - Major int - Minor int - Specific int + Kernel int + Major int + Minor int + Flavor string } // FIXME: this doens't build on Darwin @@ -445,21 +445,18 @@ func GetKernelVersion() (*KernelVersionInfo, error) { return nil, err } - specific, err := strconv.Atoi(strings.Split(tmp[1], "-")[0]) - if err != nil { - return nil, err - } + flavor := tmp[1] return &KernelVersionInfo{ - Kernel: kernel, - Major: major, - Minor: minor, - Specific: specific, + Kernel: kernel, + Major: major, + Minor: minor, + Flavor: flavor, }, nil } func (k *KernelVersionInfo) String() string { - return fmt.Sprintf("%d.%d.%d-%d", k.Kernel, k.Major, k.Minor, k.Specific) + return fmt.Sprintf("%d.%d.%d-%s", k.Kernel, k.Major, k.Minor, k.Flavor) } // Compare two KernelVersionInfo struct. @@ -483,11 +480,6 @@ func CompareKernelVersion(a, b *KernelVersionInfo) int { return 1 } - if a.Specific < b.Specific { - return -1 - } else if a.Specific > b.Specific { - return 1 - } return 0 } diff --git a/utils_test.go b/utils_test.go index 1ee223ee3c..aa2a1b9682 100644 --- a/utils_test.go +++ b/utils_test.go @@ -237,27 +237,27 @@ func assertKernelVersion(t *testing.T, a, b *KernelVersionInfo, result int) { func TestCompareKernelVersion(t *testing.T) { assertKernelVersion(t, - &KernelVersionInfo{Kernel: 3, Major: 8, Minor: 0, Specific: 0}, - &KernelVersionInfo{Kernel: 3, Major: 8, Minor: 0, Specific: 0}, + &KernelVersionInfo{Kernel: 3, Major: 8, Minor: 0}, + &KernelVersionInfo{Kernel: 3, Major: 8, Minor: 0}, 0) assertKernelVersion(t, - &KernelVersionInfo{Kernel: 2, Major: 6, Minor: 0, Specific: 0}, - &KernelVersionInfo{Kernel: 3, Major: 8, Minor: 0, Specific: 0}, + &KernelVersionInfo{Kernel: 2, Major: 6, Minor: 0}, + &KernelVersionInfo{Kernel: 3, Major: 8, Minor: 0}, -1) assertKernelVersion(t, - &KernelVersionInfo{Kernel: 3, Major: 8, Minor: 0, Specific: 0}, - &KernelVersionInfo{Kernel: 2, Major: 6, Minor: 0, Specific: 0}, + &KernelVersionInfo{Kernel: 3, Major: 8, Minor: 0}, + &KernelVersionInfo{Kernel: 2, Major: 6, Minor: 0}, 1) assertKernelVersion(t, - &KernelVersionInfo{Kernel: 3, Major: 8, Minor: 0, Specific: 0}, - &KernelVersionInfo{Kernel: 3, Major: 8, Minor: 0, Specific: 16}, - -1) + &KernelVersionInfo{Kernel: 3, Major: 8, Minor: 0, Flavor: "0"}, + &KernelVersionInfo{Kernel: 3, Major: 8, Minor: 0, Flavor: "16"}, + 0) assertKernelVersion(t, - &KernelVersionInfo{Kernel: 3, Major: 8, Minor: 5, Specific: 0}, - &KernelVersionInfo{Kernel: 3, Major: 8, Minor: 0, Specific: 0}, + &KernelVersionInfo{Kernel: 3, Major: 8, Minor: 5}, + &KernelVersionInfo{Kernel: 3, Major: 8, Minor: 0}, 1) assertKernelVersion(t, - &KernelVersionInfo{Kernel: 3, Major: 0, Minor: 20, Specific: 25}, - &KernelVersionInfo{Kernel: 3, Major: 8, Minor: 0, Specific: 0}, + &KernelVersionInfo{Kernel: 3, Major: 0, Minor: 20, Flavor: "25"}, + &KernelVersionInfo{Kernel: 3, Major: 8, Minor: 0, Flavor: "0"}, -1) }