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));
}