When only downloading a package, pacman can produce some incorrect
output.  This is compounded when the package is in IgnorePkg.  e.g.

> pacman -Sddw nvidia-utils
:: nvidia-utils is in IgnorePkg/IgnoreGroup. Install anyway? [Y/n] y
warning: nvidia-utils-270.41.19-1 is up to date -- reinstalling

These two lines are now silenced when using -Sw.

Signed-off-by: Allan McRae <[email protected]>
---
 lib/libalpm/add.c  |    6 ++++--
 lib/libalpm/deps.c |   17 +++++++++++++----
 2 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c
index ee56e87..ceafb3e 100644
--- a/lib/libalpm/add.c
+++ b/lib/libalpm/add.c
@@ -87,8 +87,10 @@ int SYMEXPORT alpm_add_pkg(pmpkg_t *pkg)
                                                localpkgname, localpkgver);
                                return 0;
                        } else {
-                               _alpm_log(PM_LOG_WARNING, _("%s-%s is up to 
date -- reinstalling\n"),
-                                               localpkgname, localpkgver);
+                               if(!(trans->flags & 
PM_TRANS_FLAG_DOWNLOADONLY)) {
+                                       _alpm_log(PM_LOG_WARNING, _("%s-%s is 
up to date -- reinstalling\n"),
+                                                       localpkgname, 
localpkgver);
+                               }
                        }
                } else if(cmp < 0) {
                        /* local version is newer */
diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c
index c5fb92e..b03cd48 100644
--- a/lib/libalpm/deps.c
+++ b/lib/libalpm/deps.c
@@ -570,8 +570,12 @@ static pmpkg_t *resolvedep(pmdepend_t *dep, alpm_list_t 
*dbs,
                        if(_alpm_pkg_should_ignore(pkg)) {
                                int install = 0;
                                if(prompt) {
-                                       QUESTION(handle->trans, 
PM_TRANS_CONV_INSTALL_IGNOREPKG, pkg,
-                                                        NULL, NULL, &install);
+                                       if(handle->trans->flags & 
PM_TRANS_FLAG_DOWNLOADONLY) {
+                                               install = 1;
+                                       } else {
+                                               QUESTION(handle->trans, 
PM_TRANS_CONV_INSTALL_IGNOREPKG, pkg,
+                                                                NULL, NULL, 
&install);
+                                       }
                                } else {
                                        _alpm_log(PM_LOG_WARNING, _("ignoring 
package %s-%s\n"), pkg->name, pkg->version);
                                }
@@ -592,8 +596,13 @@ static pmpkg_t *resolvedep(pmdepend_t *dep, alpm_list_t 
*dbs,
                                if(_alpm_pkg_should_ignore(pkg)) {
                                        int install = 0;
                                        if(prompt) {
-                                               QUESTION(handle->trans, 
PM_TRANS_CONV_INSTALL_IGNOREPKG,
-                                                                       pkg, 
NULL, NULL, &install);
+
+                                               if(handle->trans->flags & 
PM_TRANS_FLAG_DOWNLOADONLY) {
+                                                       install = 1;
+                                               } else {
+                                                       QUESTION(handle->trans, 
PM_TRANS_CONV_INSTALL_IGNOREPKG, pkg,
+                                                                        NULL, 
NULL, &install);
+                                               }
                                        } else {
                                                _alpm_log(PM_LOG_WARNING, 
_("ignoring package %s-%s\n"), pkg->name, pkg->version);
                                        }
-- 
1.7.5.4


Reply via email to