Bug 590339 - Weird edge case depsolving bug, requires manual update with multilib.
Summary: Weird edge case depsolving bug, requires manual update with multilib.
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: yum   
(Show other bugs)
Version: 6.0
Hardware: All
OS: Linux
low
medium
Target Milestone: rc
: ---
Assignee: James Antill
QA Contact: Karel Srot
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-05-08 22:41 UTC by James Antill
Modified: 2014-01-21 06:17 UTC (History)
2 users (show)

Fixed In Version: yum-3.2.27-8.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-11-15 14:52:55 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

Description James Antill 2010-05-08 22:41:59 UTC
Description of problem:
 Found a weird edge case bug upstream, which is pretty hard to trigger. It's likely in RHEL-5 (although it requires that only one arch of a multilib. library is installed, and we changed multilib_policy from "all" to "best" in RHEL-6).
 On the upside the fix is one line, and really obvious.

Version-Release number of selected component (if applicable):
yum-3.2.27-7

Comment 1 RHEL Product and Program Management 2010-05-08 23:26:46 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release.  Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release.  This request is not yet committed for
inclusion.

Comment 3 James Antill 2010-05-14 14:22:48 UTC
There is an upstream test case:

commit 37899b9c170ce1a97cd29be6a0a0322f608c4fd6
Author: James Antill <james@and.org>
Date:   Sat May 8 17:49:34 2010 -0400

    Add a couple of depsolve tests, from a bug I found updating F-13.

diff --git a/test/simpleupdatetests.py b/test/simpleupdatetests.py
index f02cc75..8232675 100644
--- a/test/simpleupdatetests.py
+++ b/test/simpleupdatetests.py
@@ -764,3 +764,43 @@ class SimpleUpdateTests(OperationsTests):
                                      [pa1, pa2, pa4, pa3])
         self.assert_(res=='ok', msg)
         self.assertResult((pa1, pa3))
+
+    def testUpdateRLEvince1(self):
+        pi1 = FakePackage('evince', '1', '1', '0', 'x86_64')
+        pi1.addRequires('evince-libs', 'EQ', ('0', '1', '1'))
+        pi2 = FakePackage('evince-libs', '1', '1', '0', 'x86_64')
+        pi3 = FakePackage('evince-djvu', '1', '1', '0', 'x86_64')
+        pi3.addRequires('evince-libs', 'EQ', ('0', '1', '1'))
+
+        pa1 = FakePackage('evince', '2', '1', '0', 'x86_64')

+        pa1.addRequires('evince-libs', 'EQ', ('0', '2', '1'))
+        pa2i = FakePackage('evince-libs', '2', '1', '0', 'i686')
+        pa2x = FakePackage('evince-libs', '2', '1', '0', 'x86_64')
+        pa3 = FakePackage('evince-djvu', '2', '1', '0', 'x86_64')
+        pa3.addRequires('evince-libs', 'EQ', ('0', '2', '1'))
+
+        res, msg = self.runOperation(['update', 'evince'],
+                                     [pi1, pi2, pi3],
+                                     [pa1, pa2x, pa2i, pa3])
+        self.assert_(res=='ok', msg)
+        self.assertResult((pa1, pa2x, pa3))
+
+    def testUpdateRLEvince2(self):
+        pi1 = FakePackage('evince', '1', '1', '0', 'x86_64')
+        pi1.addRequires('evince-libs', 'EQ', ('0', '1', '1'))
+        pi2 = FakePackage('evince-libs', '1', '1', '0', 'x86_64')
+        pi3 = FakePackage('evince-djvu', '1', '1', '0', 'x86_64')
+        pi3.addRequires('evince-libs', 'EQ', ('0', '1', '1'))
+
+        pa1 = FakePackage('evince', '2', '1', '0', 'x86_64')
+        pa1.addRequires('evince-libs', 'EQ', ('0', '2', '1'))
+        pa2i = FakePackage('evince-libs', '2', '1', '0', 'i686')
+        pa2x = FakePackage('evince-libs', '2', '1', '0', 'x86_64')

+        pa3 = FakePackage('evince-djvu', '2', '1', '0', 'x86_64')
+        pa3.addRequires('evince-libs', 'EQ', ('0', '2', '1'))
+
+        res, msg = self.runOperation(['update', 'evince'],
+                                     [pi1, pi2, pi3],
+                                     [pa1, pa2i, pa2x, pa3])
+        self.assert_(res=='ok', msg)
+        self.assertResult((pa1, pa2x, pa3))

Comment 12 releng-rhel@redhat.com 2010-11-15 14:52:55 UTC
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.


Note You need to log in before you can comment on or make changes to this bug.