From 58df372be6758cfe00069ac7279cd92e3b61edef Mon Sep 17 00:00:00 2001 From: Pang Yan Han Date: Sat, 19 Mar 2011 16:09:27 +0800 Subject: Fix handling of ignored packages Noted in FS#23342. When the user attempts to install an ignored package and answers no when asked whether to install it, pacman bails out with: "error: target not found: packagename" This is because satisfiers are not found for the package and execution continues to process_group(), where the package is treated as a group (which does not exist). In addition, test ignore006.py is updated with PACMAN_RETCODE=0 since saying no to installing an ignored package should not be considered an error. Signed-off-by: Pang Yan Han Signed-off-by: Xavier Chantry Signed-off-by: Dan McGee --- src/pacman/sync.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/pacman/sync.c b/src/pacman/sync.c index 26f6f824..29bcf540 100644 --- a/src/pacman/sync.c +++ b/src/pacman/sync.c @@ -663,6 +663,13 @@ static int process_targname(alpm_list_t *dblist, char *targname) { pmpkg_t *pkg = alpm_find_dbs_satisfier(dblist, targname); + /* #FS23342 - skip ignored packages when user says no */ + if(pm_errno == PM_ERR_PKG_IGNORED) { + pm_printf(PM_LOG_WARNING, _("skipping target: %s\n"), targname); + pm_errno = 0; + return(0); + } + if(pkg) { return(process_pkg(pkg)); } -- cgit v1.2.3-70-g09d2