diff options
author | Chantry Xavier <shiningxc@gmail.com> | 2007-11-16 15:34:04 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2007-11-18 19:37:16 +0100 |
commit | 8f824e70bbaf9cb2b72103fe378d93e3ded8cdee (patch) | |
tree | dde228d521118ae8470d609c3ae10eef0f688b7a /lib/libalpm/db.c | |
parent | e174865bdc154248b8b8fcf03eaa19da78e0f67b (diff) | |
download | pacman-8f824e70bbaf9cb2b72103fe378d93e3ded8cdee.tar.gz pacman-8f824e70bbaf9cb2b72103fe378d93e3ded8cdee.tar.xz |
Remove the IgnorePkg handling from alpm_pkg_compare_version.
And check the IgnorePkg handling is done correctly in the other places.
For example, -Qu and -Su will automatically skip the ignored packages (-Su will print a warning),
but -S will install ignored packages anyway, because it was asked explicitly.
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Diffstat (limited to 'lib/libalpm/db.c')
-rw-r--r-- | lib/libalpm/db.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c index 1e2e6b24..2cff1df3 100644 --- a/lib/libalpm/db.c +++ b/lib/libalpm/db.c @@ -464,7 +464,7 @@ alpm_list_t SYMEXPORT *alpm_db_get_upgrades(void) if(strcmp(k->data, alpm_pkg_get_name(lpkg)) == 0) { _alpm_log(PM_LOG_DEBUG, "checking replacement '%s' for package '%s'\n", (char *)k->data, alpm_pkg_get_name(spkg)); - if(_alpm_pkg_should_ignore(lpkg)) { + if(_alpm_pkg_should_ignore(spkg) || _alpm_pkg_should_ignore(lpkg)) { _alpm_log(PM_LOG_WARNING, _("%s-%s: ignoring package upgrade (to be replaced by %s-%s)\n"), alpm_pkg_get_name(lpkg), alpm_pkg_get_version(lpkg), alpm_pkg_get_name(spkg), alpm_pkg_get_version(spkg)); @@ -545,6 +545,10 @@ alpm_list_t SYMEXPORT *alpm_db_get_upgrades(void) syncpkg = _alpm_sync_find(syncpkgs, alpm_pkg_get_name(local)); if(!syncpkg) { + /* If package is in the ignorepkg list, skip it */ + if(_alpm_pkg_should_ignore(spkg)) { + continue; + } pmpkg_t *dummy = _alpm_pkg_new(alpm_pkg_get_name(local), alpm_pkg_get_version(local)); if(dummy == NULL) { |