File refreshtestarch.diff of Package rpm.27835

Also test architecture in "refresh" test when not colored. This allows
updates to different architectures.

--- ./lib/psm.c.orig	2012-03-20 08:07:25.000000000 +0000
+++ ./lib/psm.c	2012-06-01 10:22:24.000000000 +0000
@@ -680,13 +680,14 @@ void rpmpsmNotify(rpmpsm psm, int what,
  */
 static void markReplacedInstance(rpmts ts, rpmte te)
 {
+    /* this must match rpmNameVersionCompare in depends.c */
     rpmdbMatchIterator mi = rpmtsInitIterator(ts, RPMDBI_NAME, rpmteN(te), 0);
     rpmdbSetIteratorRE(mi, RPMTAG_EPOCH, RPMMIRE_STRCMP, rpmteE(te));
     rpmdbSetIteratorRE(mi, RPMTAG_VERSION, RPMMIRE_STRCMP, rpmteV(te));
     rpmdbSetIteratorRE(mi, RPMTAG_RELEASE, RPMMIRE_STRCMP, rpmteR(te));
+    rpmdbSetIteratorRE(mi, RPMTAG_ARCH, RPMMIRE_STRCMP, rpmteA(te));
     /* XXX shouldn't we also do this on colorless transactions? */
     if (rpmtsColor(ts)) {
-	rpmdbSetIteratorRE(mi, RPMTAG_ARCH, RPMMIRE_STRCMP, rpmteA(te));
 	rpmdbSetIteratorRE(mi, RPMTAG_OS, RPMMIRE_STRCMP, rpmteO(te));
     }
 
openSUSE Build Service is sponsored by