Introduce a scripts/ folder
[termux-packages] / scripts / apt-compare-versions
diff --git a/scripts/apt-compare-versions b/scripts/apt-compare-versions
new file mode 100755 (executable)
index 0000000..b122544
--- /dev/null
@@ -0,0 +1,29 @@
+#!/usr/bin/env python3
+# apt-compare-versions: Simple script which takes two arguments and compares
+# their version according to apt rules. This can be used to verify the ordering
+# between two versions.
+#
+# Note that ~ (tilde) construct, which allows for beta and preview releases.
+# A version with ~ is considered earlier than one without, so 1.6~beta1 is
+# considered earlier than 1.6. If both versions contains ~ the version comparison
+# is made first on the part preceding the tilde, then the part coming after,
+# so 1.6~beta1 comes before 1.6~beta2.
+
+import apt_pkg, sys
+apt_pkg.init_system()
+
+if len(sys.argv) != 3:
+       sys.exit('usage: apt-compare-versions <first-version> <second-version>')
+
+version1 = sys.argv[1]
+version2 = sys.argv[2]
+
+comparison_result =  apt_pkg.version_compare(version1, version2)
+if comparison_result > 0:
+       operator = ' > '
+elif comparison_result < 0:
+       operator = ' < '
+elif comparison_result == 0:
+       operator = ' == '
+
+print(version1 + operator + version2)