[pacman-dev] [PATCH] Remove incorrect output when downloading only

Allan McRae allan at archlinux.org
Mon Jun 6 08:41:57 EDT 2011


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 <allan at archlinux.org>
---
 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



More information about the pacman-dev mailing list