|
|
@@ -55,6 +55,21 @@ func (v Version) LessThan(other Version) bool { |
|
|
|
return Compare(v, other) < 0 |
|
|
|
} |
|
|
|
|
|
|
|
// Versions is a sort.Sortable slice of Version |
|
|
|
type Versions []Version |
|
|
|
|
|
|
|
func (vs Versions) Len() int { |
|
|
|
return len(vs) |
|
|
|
} |
|
|
|
|
|
|
|
func (vs Versions) Less(i, j int) bool { |
|
|
|
return vs[i].LessThan(vs[j]) |
|
|
|
} |
|
|
|
|
|
|
|
func (vs Versions) Swap(i, j int) { |
|
|
|
vs[i], vs[j] = vs[j], vs[i] |
|
|
|
} |
|
|
|
|
|
|
|
var alphanumPattern = regexp.MustCompile("([a-zA-Z]+)|([0-9]+)|(~)") |
|
|
|
|
|
|
|
// rpmvercmp implements https://github.com/rpm-software-management/rpm/blob/master/lib/rpmvercmp.c |
|
|
|