summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Griffin <aaronmgriffin@gmail.com>2007-05-10 06:11:39 +0200
committerAaron Griffin <aaronmgriffin@gmail.com>2007-05-10 06:11:39 +0200
commit1213212c3116051b398905ca1014e6dca5c45481 (patch)
treef35d8b494a06498202d4bf8462fec0423fc31f16
parent34ee32d3733eae087bb26cfcbaa8b6f1ae1d4d12 (diff)
downloadpacman-1213212c3116051b398905ca1014e6dca5c45481.tar.gz
pacman-1213212c3116051b398905ca1014e6dca5c45481.tar.xz
Fix IgnorePkg handling with replacement packages
Allow IgnorePkg (or --ignore) to work for _either_ side of a replacement. For example, if 'foo' is set to replace 'bar', ignoring either package will skip this replacement. Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
-rw-r--r--lib/libalpm/sync.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
index 7823a67b..ef8af5c6 100644
--- a/lib/libalpm/sync.c
+++ b/lib/libalpm/sync.c
@@ -123,7 +123,9 @@ static int find_replacements(pmtrans_t *trans, pmdb_t *db_local,
}
_alpm_log(PM_LOG_DEBUG, _("checking replacement '%s' for package '%s'"), replacement, spkg->name);
- if(alpm_list_find_str(handle->ignorepkg, lpkg->name)) {
+ /* ignore if EITHER the local or replacement package are to be ignored */
+ if(alpm_list_find_str(handle->ignorepkg, spkg->name)
+ || alpm_list_find_str(handle->ignorepkg, lpkg->name)) {
_alpm_log(PM_LOG_WARNING, _("%s-%s: ignoring package upgrade (to be replaced by %s-%s)"),
alpm_pkg_get_name(lpkg), alpm_pkg_get_version(lpkg),
alpm_pkg_get_name(spkg), alpm_pkg_get_version(spkg));