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 <pangyanhan@gmail.com> --- src/pacman/sync.c | 7 +++++++ test/pacman/tests/ignore006.py | 2 +- 2 files changed, 8 insertions(+), 1 deletions(-) diff --git a/src/pacman/sync.c b/src/pacman/sync.c index 26f6f82..29bcf54 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 "), targname); + pm_errno = 0; + return(0); + } + if(pkg) { return(process_pkg(pkg)); } diff --git a/test/pacman/tests/ignore006.py b/test/pacman/tests/ignore006.py index d80ff81..4c1c1ca 100644 --- a/test/pacman/tests/ignore006.py +++ b/test/pacman/tests/ignore006.py @@ -6,5 +6,5 @@ self.option["IgnorePkg"] = ["package1"] self.args = "--ask=1 -S %s" % pkg.name -self.addrule("PACMAN_RETCODE=1") +self.addrule("PACMAN_RETCODE=0") self.addrule("!PKG_EXIST=package1") -- 1.7.4.1 |
Fix handling of ignored packages
On Sat, Mar 19, 2011 at 9:09 AM, Pang Yan Han <pangyanhan@gmail.com> wrote:
> 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 <pangyanhan@gmail.com> > --- Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com> |
| All times are GMT. The time now is 07:23 AM. |
VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.