summaryrefslogtreecommitdiff
path: root/src/apk_version.h
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2017-05-27 21:49:53 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2017-05-27 21:49:53 +0000
commit693b4bcdb0f22904a521a7c8ac4f13e697dc4d71 (patch)
treea4cdf39e5c4ad6169bf3a3a261d1c833298238f5 /src/apk_version.h
parentee5ce7284aef8679fabcf728dd5bd5a17c965798 (diff)
downloadapk-tools-693b4bcdb0f22904a521a7c8ac4f13e697dc4d71.tar.gz
apk-tools-693b4bcdb0f22904a521a7c8ac4f13e697dc4d71.tar.bz2
apk-tools-693b4bcdb0f22904a521a7c8ac4f13e697dc4d71.tar.xz
apk-tools-693b4bcdb0f22904a521a7c8ac4f13e697dc4d71.zip
version: add support for fuzzy version matching
This is useful for requirements such as: python3=~3.6, which would match python3-3.6.[0-9]. This implementation should in theory be backwards compatible with the implementation in Adelie.
Diffstat (limited to 'src/apk_version.h')
-rw-r--r--src/apk_version.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/apk_version.h b/src/apk_version.h
index 4275343..47a6b73 100644
--- a/src/apk_version.h
+++ b/src/apk_version.h
@@ -18,14 +18,16 @@
#define APK_VERSION_EQUAL 1
#define APK_VERSION_LESS 2
#define APK_VERSION_GREATER 4
+#define APK_VERSION_FUZZY 8
#define APK_DEPMASK_ANY (APK_VERSION_EQUAL|APK_VERSION_LESS|\
- APK_VERSION_GREATER)
+ APK_VERSION_GREATER|APK_VERSION_FUZZY)
#define APK_DEPMASK_CHECKSUM (APK_VERSION_LESS|APK_VERSION_GREATER)
const char *apk_version_op_string(int result_mask);
int apk_version_result_mask(const char *str);
int apk_version_validate(apk_blob_t ver);
+int apk_version_compare_blob_fuzzy(apk_blob_t a, apk_blob_t b, int fuzzy);
int apk_version_compare_blob(apk_blob_t a, apk_blob_t b);
int apk_version_compare(const char *str1, const char *str2);