Date: Friday, February 9, 2007 @ 16:08:11 Author: aaron Path: /home/cvs-pacman/pacman-lib/lib/libalpm Modified: add.c (1.110 -> 1.111) alpm.c (1.113 -> 1.114) alpm.h (1.74 -> 1.75) package.c (1.63 -> 1.64) versioncmp.c (1.12 -> 1.13) versioncmp.h (1.6 -> 1.7) * I made "alpm_versioncmp" public a while back, without noticing this was already done (alpm_pkg_vercmp). I dropped this change, making versioncmp "private" again. (alpm_versioncmp -> _alpm_versioncmp, hidden symbol) * Make alpm_get_upgrades use the same version check that -Su and -S use. --------------+ add.c | 4 ++-- alpm.c | 22 ++-------------------- alpm.h | 3 --- package.c | 2 +- versioncmp.c | 6 +++--- versioncmp.h | 2 ++ 6 files changed, 10 insertions(+), 29 deletions(-) Index: pacman-lib/lib/libalpm/add.c diff -u pacman-lib/lib/libalpm/add.c:1.110 pacman-lib/lib/libalpm/add.c:1.111 --- pacman-lib/lib/libalpm/add.c:1.110 Wed Jan 31 21:29:07 2007 +++ pacman-lib/lib/libalpm/add.c Fri Feb 9 16:08:10 2007 @@ -158,7 +158,7 @@ if(trans->flags & PM_TRANS_FLAG_FRESHEN) { /* only upgrade/install this package if it is already installed and at a lesser version */ dummy = _alpm_db_get_pkgfromcache(db, pkgname); - if(dummy == NULL || alpm_versioncmp(dummy->version, pkgver) >= 0) { + if(dummy == NULL || _alpm_versioncmp(dummy->version, pkgver) >= 0) { pm_errno = PM_ERR_PKG_CANT_FRESH; goto error; } @@ -170,7 +170,7 @@ for(i = trans->packages; i; i = i->next) { pmpkg_t *pkg = i->data; if(strcmp(pkg->name, pkgname) == 0) { - if(alpm_versioncmp(pkg->version, pkgver) < 0) { + if(_alpm_versioncmp(pkg->version, pkgver) < 0) { pmpkg_t *newpkg; _alpm_log(PM_LOG_WARNING, _("replacing older version %s-%s by %s in target list"), pkg->name, pkg->version, pkgver); Index: pacman-lib/lib/libalpm/alpm.c diff -u pacman-lib/lib/libalpm/alpm.c:1.113 pacman-lib/lib/libalpm/alpm.c:1.114 --- pacman-lib/lib/libalpm/alpm.c:1.113 Wed Feb 7 17:08:37 2007 +++ pacman-lib/lib/libalpm/alpm.c Fri Feb 9 16:08:10 2007 @@ -561,7 +561,7 @@ { ALPM_LOG_FUNC; - return(alpm_versioncmp(ver1, ver2)); + return(_alpm_versioncmp(ver1, ver2)); } /* internal */ @@ -1175,25 +1175,7 @@ continue; } - /* compare versions and see if we need to upgrade */ - cmp = alpm_versioncmp(local->version, spkg->version); - if(cmp > 0 && !spkg->force) { - /* local version is newer */ - pmdb_t *db = spkg->data; - _alpm_log(PM_LOG_WARNING, _("%s: local (%s) is newer than %s (%s)"), - local->name, local->version, db->treename, spkg->version); - } else if(cmp == 0) { - /* versions are identical */ - } else if(alpm_list_find_str(handle->ignorepkg, spkg->name)) { - /* package should be ignored (IgnorePkg) */ - _alpm_log(PM_LOG_WARNING, _("%s-%s: ignoring package upgrade (%s)"), - local->name, local->version, spkg->version); - } else if(_alpm_pkg_istoonew(spkg)) { - /* package too new (UpgradeDelay) */ - _alpm_log(PM_LOG_DEBUG, _("%s-%s: delaying upgrade of package (%s)"), - local->name, local->version, spkg->version); - /* check if spkg->name is already in the packages list. */ - } else { + if(alpm_pkg_compare_versions(local, spkg)) { _alpm_log(PM_LOG_DEBUG, _("%s-%s elected for upgrade (%s => %s)"), local->name, local->version, local->version, spkg->version); alpm_list_t *s; Index: pacman-lib/lib/libalpm/alpm.h diff -u pacman-lib/lib/libalpm/alpm.h:1.74 pacman-lib/lib/libalpm/alpm.h:1.75 --- pacman-lib/lib/libalpm/alpm.h:1.74 Fri Feb 9 11:02:20 2007 +++ pacman-lib/lib/libalpm/alpm.h Fri Feb 9 16:08:10 2007 @@ -482,9 +482,6 @@ char *alpm_strerror(int err); -/* Version Compare */ -int alpm_versioncmp(const char *a, const char *b); - alpm_list_t *alpm_get_upgrades(); #ifdef __cplusplus Index: pacman-lib/lib/libalpm/package.c diff -u pacman-lib/lib/libalpm/package.c:1.63 pacman-lib/lib/libalpm/package.c:1.64 --- pacman-lib/lib/libalpm/package.c:1.63 Wed Feb 7 01:12:53 2007 +++ pacman-lib/lib/libalpm/package.c Fri Feb 9 16:08:10 2007 @@ -135,7 +135,7 @@ } /* compare versions and see if we need to upgrade */ - cmp = alpm_versioncmp(local_pkg->version, pkg->version); + cmp = _alpm_versioncmp(local_pkg->version, pkg->version); if(cmp != 0 && pkg->force) { cmp = 1; Index: pacman-lib/lib/libalpm/versioncmp.c diff -u pacman-lib/lib/libalpm/versioncmp.c:1.12 pacman-lib/lib/libalpm/versioncmp.c:1.13 --- pacman-lib/lib/libalpm/versioncmp.c:1.12 Tue Jan 30 03:14:11 2007 +++ pacman-lib/lib/libalpm/versioncmp.c Fri Feb 9 16:08:10 2007 @@ -148,7 +148,7 @@ #endif /* this function was taken from rpm 4.0.4 and rewritten */ -int SYMEXPORT alpm_versioncmp(const char *a, const char *b) +int _alpm_versioncmp(const char *a, const char *b) { char str1[64], str2[64]; char *ptr1, *ptr2; @@ -238,7 +238,7 @@ if((!*one) && (!*two)) { /* compare release numbers */ - if(rel1 && rel2) return(alpm_versioncmp(rel1, rel2)); + if(rel1 && rel2) return(_alpm_versioncmp(rel1, rel2)); return(0); } @@ -256,7 +256,7 @@ if(dep->mod == PM_DEP_MOD_ANY) { equal = 1; } else { - int cmp = alpm_versioncmp(pkg->version, dep->version); + int cmp = _alpm_versioncmp(pkg->version, dep->version); switch(dep->mod) { case PM_DEP_MOD_EQ: equal = (cmp == 0); break; case PM_DEP_MOD_GE: equal = (cmp >= 0); break; Index: pacman-lib/lib/libalpm/versioncmp.h diff -u pacman-lib/lib/libalpm/versioncmp.h:1.6 pacman-lib/lib/libalpm/versioncmp.h:1.7 --- pacman-lib/lib/libalpm/versioncmp.h:1.6 Tue Jan 30 02:47:20 2007 +++ pacman-lib/lib/libalpm/versioncmp.h Fri Feb 9 16:08:10 2007 @@ -27,6 +27,8 @@ #include "package.h" int _alpm_depcmp(pmpkg_t *pkg, pmdepend_t *dep); +int _alpm_versioncmp(const char *a, const char *b) + #endif