Commit | Line | Data |
---|---|---|
658bba67 FF |
1 | #!/usr/bin/env python3 |
2 | # apt-compare-versions: Simple script which takes two arguments and compares | |
3 | # their version according to apt rules. This can be used to verify the ordering | |
4 | # between two versions. | |
5 | # | |
6 | # Note that ~ (tilde) construct, which allows for beta and preview releases. | |
7 | # A version with ~ is considered earlier than one without, so 1.6~beta1 is | |
8 | # considered earlier than 1.6. If both versions contains ~ the version comparison | |
9 | # is made first on the part preceding the tilde, then the part coming after, | |
10 | # so 1.6~beta1 comes before 1.6~beta2. | |
11 | ||
12 | import apt_pkg, sys | |
13 | apt_pkg.init_system() | |
14 | ||
15 | if len(sys.argv) != 3: | |
16 | sys.exit('usage: apt-compare-versions <first-version> <second-version>') | |
17 | ||
18 | version1 = sys.argv[1] | |
19 | version2 = sys.argv[2] | |
20 | ||
21 | comparison_result = apt_pkg.version_compare(version1, version2) | |
22 | if comparison_result > 0: | |
23 | operator = ' > ' | |
24 | elif comparison_result < 0: | |
25 | operator = ' < ' | |
26 | elif comparison_result == 0: | |
27 | operator = ' == ' | |
28 | ||
29 | print(version1 + operator + version2) |