On Tue, 2007-10-09 at 20:52 -0400, seth vidal wrote: > On Tue, 2007-10-09 at 20:43 -0400, Jeremy Katz wrote: > > foo.noarch won't obsolete bar.i386 only if there's also a foo.i386. Now > > for dinner. > > so isn't this a non-starter, then? If we don't let noarch ->arch and > arch->noarch obsoletes then we'll be regressing vs current behavior.
I think Jeremy's explanation had too many negatives:
1. foo.i386 obsoletes bar.noarch == works
2. foo.noarch obsoletes bar.i386 == works
3. foo.i386 and/or foo.noarch obsoletes bar.i386 == only installs foo.i386
...we don't ever do the later, do we?
This also leads into a similar problem I've seen, my unit test is at
the end (I'm showing the test last, as I'm not 100% sure I've modeled it
properly).
The problem being that if you upgrade X.i386 and Y is a dep. then only
Y.i386 is upgraded and not Y.x86_64 ... this then causes problems due to
file md5sum mismatches between the different versions of Y.i386 and
Y.x86_64.
Here is the unit test that fails:
def testInstallSinglePackageRequireUpXtra2_32MultiLib(self):
po = FakePackage('zsh', '1', '1', None, 'i386')
po.addRequires('zip', 'GT', ('0', '2', '3'))
self.tsInfo.addInstall(po)
ipo = FakePackage('zip', '1', '3', '0', 'i386')
self.rpmdb.addPackage(ipo)
xpo = FakePackage('zip', '2', '4', '0', 'x86_64')
self.xsack.addPackage(xpo)
xpo = FakePackage('zip', '2', '4', '0', 'i386')
self.xsack.addPackage(xpo)
self.assertEquals('ok', self.resolveCode())
txmbrs = self.tsInfo.matchNaevr('zip')
self.assertEquals(2, len(txmbrs))
self.assertEquals(('zip', 'i386', '0', '2', '4'), txmbrs[0].pkgtup)
self.assertEquals(('zip', 'x86_64', '0', '2', '4'), txmbrs[1].pkgtup)
--
James Antill <[EMAIL PROTECTED]>
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Yum-devel mailing list [email protected] https://lists.dulug.duke.edu/mailman/listinfo/yum-devel
