From 9918d43ab9595449d8364fc75a6368c8d8cd0034 Mon Sep 17 00:00:00 2001
From: Aaron Griffin <aaron@archlinux.org>
Date: Fri, 24 Nov 2006 07:01:27 +0000
Subject: * Fixed some error output for "-Sd" and "-Rsc" dealing with
 missing/ignored   depends * Added valgrind suppression file

---
 lib/libalpm/add.c    |  4 ++--
 lib/libalpm/deps.c   |  3 ++-
 lib/libalpm/remove.c |  4 ++--
 lib/libalpm/sync.c   |  5 +++--
 valgrind.supp        | 30 ++++++++++++++++++++++++++++++
 5 files changed, 39 insertions(+), 7 deletions(-)
 create mode 100644 valgrind.supp

diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c
index 4ccac537..2c33947b 100644
--- a/lib/libalpm/add.c
+++ b/lib/libalpm/add.c
@@ -789,8 +789,8 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
 					FREELISTPTR(provides);
 				}
 				if(depinfo == NULL) {
-					_alpm_log(PM_LOG_ERROR, _("could not find dependency '%s'"), depend.name);
-					/* wtf */
+					/* We'll let the front end deal with this case... it may be intentional */
+					_alpm_log(PM_LOG_DEBUG, _("could not find dependency '%s'"), depend.name);
 					continue;
 				}
 			}
diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c
index 9cab8489..97c527ab 100644
--- a/lib/libalpm/deps.c
+++ b/lib/libalpm/deps.c
@@ -441,7 +441,8 @@ pmlist_t *_alpm_removedeps(pmdb_t *db, pmlist_t *targs)
 				/* package not found... look for a provisio instead */
 				k = _alpm_db_whatprovides(db, depend.name);
 				if(k == NULL) {
-					_alpm_log(PM_LOG_WARNING, _("cannot find package \"%s\" or anything that provides it!"), depend.name);
+					/* Not found, that's fine, carry on */
+					_alpm_log(PM_LOG_DEBUG, _("cannot find package \"%s\" or anything that provides it!"), depend.name);
 					continue;
 				}
 				dep = _alpm_db_get_pkgfromcache(db, ((pmpkg_t *)k->data)->name);
diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c
index 5659e1e9..6fce2d35 100644
--- a/lib/libalpm/remove.c
+++ b/lib/libalpm/remove.c
@@ -319,8 +319,8 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)
 					FREELISTPTR(provides);
 				}
 				if(depinfo == NULL) {
-					_alpm_log(PM_LOG_ERROR, _("could not find dependency '%s'"), depend.name);
-					/* wtf */
+					/* dep not installed... that's fine, carry on */
+					_alpm_log(PM_LOG_DEBUG, _("could not find dependency '%s' for removal"), depend.name);
 					continue;
 				}
 			}
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
index 7c251790..470216cb 100644
--- a/lib/libalpm/sync.c
+++ b/lib/libalpm/sync.c
@@ -215,8 +215,9 @@ int _alpm_sync_sysupgrade(pmtrans_t *trans, pmdb_t *db_local, pmlist_t *dbs_sync
 		cmp = _alpm_versioncmp(local->version, spkg->version);
 		if(cmp > 0 && !spkg->force) {
 			/* local version is newer */
-			_alpm_log(PM_LOG_WARNING, _("%s-%s: local version is newer"),
-				local->name, local->version);
+			pmdb_t *db = spkg->data;
+			_alpm_log(PM_LOG_WARNING, _("%s: local (%s) is newer than %s (%s)"),
+				local->name, local->version, db->treename, spkg->version);
 		} else if(cmp == 0) {
 			/* versions are identical */
 		} else if(_alpm_list_is_strin(i->data, handle->ignorepkg)) {
diff --git a/valgrind.supp b/valgrind.supp
new file mode 100644
index 00000000..0aa8251f
--- /dev/null
+++ b/valgrind.supp
@@ -0,0 +1,30 @@
+# pacman suppressions for valgrind.
+#   right now, I really just care about those stupid dl_relocates
+#
+# Format of this file is:
+# {
+#     name_of_suppression
+#     tool_name:supp_kind
+#     (optional extra info for some suppression types)
+#     caller0 name, or /name/of/so/file.so
+#     caller1 name, or ditto
+#     (optionally: caller2 name)
+#     (optionally: caller3 name)
+#  }
+#
+# For Memcheck, the supp_kinds are:
+#
+#     Param Value1 Value2 Value4 Value8 Value16
+#     Free Addr1 Addr2 Addr4 Addr8 Addr16
+#     Cond (previously known as Value0)
+#
+# and the optional extra info is:
+#     if Param: name of system call param
+#     if Free: name of free-ing fn)
+
+{
+   pacman-dlrelocate
+   Memcheck:Cond
+   fun:_dl_relocate_object
+   obj:*ld-2.5.so
+}
-- 
cgit v1.2.3-2-g168b