summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAnas Nashif <anas.nashif@intel.com>2012-10-11 12:35:52 -0700
committerAnas Nashif <anas.nashif@intel.com>2013-02-02 16:44:15 -0800
commit131cd242f25570b438c42d076a40810908534eb3 (patch)
treea0e858ccda5f8ae5ee0b32457c9bf268d9896624 /lib
parent309fa3481a1b1860190e8a2ac078fd1b1946f39e (diff)
downloadrpm-131cd242f25570b438c42d076a40810908534eb3.tar.gz
rpm-131cd242f25570b438c42d076a40810908534eb3.tar.bz2
rpm-131cd242f25570b438c42d076a40810908534eb3.zip
Allow updates to different architectures
Also test architecture in "refresh" test when not colored. This allows updates to different architectures.
Diffstat (limited to 'lib')
-rw-r--r--lib/psm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/psm.c b/lib/psm.c
index 8f5376d49..c786f1e37 100644
--- a/lib/psm.c
+++ b/lib/psm.c
@@ -680,13 +680,14 @@ void rpmpsmNotify(rpmpsm psm, int what, rpm_loff_t amount)
*/
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));
}