diff options
Diffstat (limited to 'lib/libalpm/package.c')
-rw-r--r-- | lib/libalpm/package.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c index fb7e5ee8..85439a6c 100644 --- a/lib/libalpm/package.c +++ b/lib/libalpm/package.c @@ -150,16 +150,19 @@ int alpm_pkg_compare_versions(pmpkg_t *local_pkg, pmpkg_t *pkg) _alpm_log(PM_LOG_WARNING, _("%s: local (%s) is newer than %s (%s)"), local_pkg->name, local_pkg->version, db->treename, pkg->version); cmp = 0; - } else if(alpm_list_find_str(handle->ignorepkg, pkg->name)) { - /* package should be ignored (IgnorePkg) */ - _alpm_log(PM_LOG_WARNING, _("%s-%s: ignoring package upgrade (%s)"), - local_pkg->name, local_pkg->version, pkg->version); - cmp = 0; - } else if(_alpm_pkg_istoonew(pkg)) { - /* package too new (UpgradeDelay) */ - _alpm_log(PM_LOG_DEBUG, _("%s-%s: delaying upgrade of package (%s)"), - local_pkg->name, local_pkg->version, pkg->version); - cmp = 0; + } else if(cmp < 0) { + /* we have an upgrade, make sure we should actually do it */ + if(alpm_list_find_str(handle->ignorepkg, pkg->name)) { + /* package should be ignored (IgnorePkg) */ + _alpm_log(PM_LOG_WARNING, _("%s-%s: ignoring package upgrade (%s)"), + local_pkg->name, local_pkg->version, pkg->version); + cmp = 0; + } else if(_alpm_pkg_istoonew(pkg)) { + /* package too new (UpgradeDelay) */ + _alpm_log(PM_LOG_WARNING, _("%s-%s: delaying upgrade of package (%s)"), + local_pkg->name, local_pkg->version, pkg->version); + cmp = 0; + } } _alpm_log(PM_LOG_DEBUG, _("compare versions for %s: %s vs %s, result=%d"), |