diff options
author | William Pitcock <nenolod@dereferenced.org> | 2017-05-27 21:49:53 +0000 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2017-05-27 21:49:53 +0000 |
commit | 693b4bcdb0f22904a521a7c8ac4f13e697dc4d71 (patch) | |
tree | a4cdf39e5c4ad6169bf3a3a261d1c833298238f5 /src/apk_version.h | |
parent | ee5ce7284aef8679fabcf728dd5bd5a17c965798 (diff) | |
download | apk-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.h | 4 |
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); |