diff options
author | Nagy Gabor <ngaba@bibl.u-szeged.hu> | 2007-12-18 14:24:44 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2007-12-19 21:48:05 +0100 |
commit | 13dd2864ca740ee7e6a6ce163c883dc24a294c87 (patch) | |
tree | eeef3102af868b97ddc6dd0e9a6ba5387b435451 /lib/libalpm/deps.c | |
parent | 47f4c5a480505e5ed6a0473f4f81ddf98df5e43a (diff) | |
download | pacman-13dd2864ca740ee7e6a6ce163c883dc24a294c87.tar.gz pacman-13dd2864ca740ee7e6a6ce163c883dc24a294c87.tar.xz |
PM_DEP_MOD_LT and PM_DEP_MOD_GT depmods added
You can use foo<2.0 and foo>2.0 as depend
add046.py and add047.py pactests were added to check this
Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm/deps.c')
-rw-r--r-- | lib/libalpm/deps.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c index 1603f99f..8d77fd46 100644 --- a/lib/libalpm/deps.c +++ b/lib/libalpm/deps.c @@ -310,6 +310,8 @@ static int dep_vercmp(const char *version1, pmdepmod_t mod, case PM_DEP_MOD_EQ: equal = (cmp == 0); break; case PM_DEP_MOD_GE: equal = (cmp >= 0); break; case PM_DEP_MOD_LE: equal = (cmp <= 0); break; + case PM_DEP_MOD_LT: equal = (cmp < 0); break; + case PM_DEP_MOD_GT: equal = (cmp > 0); break; default: equal = 1; break; } } @@ -374,10 +376,19 @@ pmdepend_t SYMEXPORT *alpm_splitdep(const char *depstring) depend->mod = PM_DEP_MOD_LE; *ptr = '\0'; ptr += 2; - } else if((ptr = strstr(newstr, "="))) { + } else if((ptr = strstr(newstr, "="))) { /* Note: we must do =,<,> checks after <=, >= checks */ depend->mod = PM_DEP_MOD_EQ; *ptr = '\0'; ptr += 1; + } else if((ptr = strstr(newstr, "<"))) { + depend->mod = PM_DEP_MOD_LT; + *ptr = '\0'; + ptr += 1; + } else if((ptr = strstr(newstr, ">"))) { + depend->mod = PM_DEP_MOD_GT; + *ptr = '\0'; + ptr += 1; + } else { /* no version specified - copy in the name and return it */ depend->mod = PM_DEP_MOD_ANY; @@ -684,6 +695,12 @@ char SYMEXPORT *alpm_dep_get_string(const pmdepend_t *dep) case PM_DEP_MOD_EQ: opr = "="; break; + case PM_DEP_MOD_LT: + opr = "<"; + break; + case PM_DEP_MOD_GT: + opr = ">"; + break; default: opr = ""; break; |