summaryrefslogtreecommitdiffstats
path: root/lib/libalpm/db.c
diff options
context:
space:
mode:
authorChantry Xavier <shiningxc@gmail.com>2007-11-16 15:34:04 +0100
committerDan McGee <dan@archlinux.org>2007-11-18 19:37:16 +0100
commit8f824e70bbaf9cb2b72103fe378d93e3ded8cdee (patch)
treedde228d521118ae8470d609c3ae10eef0f688b7a /lib/libalpm/db.c
parente174865bdc154248b8b8fcf03eaa19da78e0f67b (diff)
downloadpacman-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.c6
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) {