Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   ArchLinux Pacman Development (http://www.linux-archive.org/archlinux-pacman-development/)
-   -   Fix handling of ignored packages (http://www.linux-archive.org/archlinux-pacman-development/502880-fix-handling-ignored-packages.html)

Pang Yan Han 03-19-2011 07:09 AM

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

Xavier Chantry 03-19-2011 08:14 AM

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 05:52 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.