diff options
| author | 2020-06-09 00:40:59 +0000 | |
|---|---|---|
| committer | 2020-06-09 00:40:59 +0000 | |
| commit | 922c38af0e0bf2d835ce09e60f598d66bf955028 (patch) | |
| tree | 1a20a8126fcea06faf715e737bdb37fc42db2eea | |
| parent | Bump the version to v0.2.3 (diff) | |
| download | soko-922c38af0e0bf2d835ce09e60f598d66bf955028.tar.gz soko-922c38af0e0bf2d835ce09e60f598d66bf955028.tar.bz2 soko-922c38af0e0bf2d835ce09e60f598d66bf955028.zip | |
Fix the version comparison according to the pms
Algorithm 3.5 (Version comparison logic for suffixes)
of the pms has been correctly implemented now.
Bug: https://bugs.gentoo.org/727468
Signed-off-by: Max Magorsch <arzano@gentoo.org>
| -rw-r--r-- | pkg/models/version.go | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/pkg/models/version.go b/pkg/models/version.go index e6077ad..904751e 100644 --- a/pkg/models/version.go +++ b/pkg/models/version.go @@ -57,8 +57,18 @@ func (v *Version) CompareTo(other Version) bool { return getSuffixOrder(versionIdentifierA.Suffixes[i].Name) > getSuffixOrder(versionIdentifierB.Suffixes[i].Name) } } - if len(versionIdentifierA.Suffixes) != len(versionIdentifierB.Suffixes) { - return len(versionIdentifierA.Suffixes) > len(versionIdentifierB.Suffixes) + if len(versionIdentifierA.Suffixes) > len(versionIdentifierB.Suffixes) { + if versionIdentifierA.Suffixes[len(versionIdentifierB.Suffixes)].Name == "p" { + return true + } else { + return false + } + }else if len(versionIdentifierA.Suffixes) < len(versionIdentifierB.Suffixes) { + if versionIdentifierB.Suffixes[len(versionIdentifierA.Suffixes)].Name == "p" { + return false + } else { + return true + } } // compare the revision |
