Bug 468754

Summary: echo 'remove X\ninstall X' | yum shell fails
Product: Red Hat Enterprise Linux 5 Reporter: James Antill <james.antill>
Component: yumAssignee: James Antill <james.antill>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 5.3CC: jhutar, syeghiay
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-01-20 16:44:29 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description James Antill 2008-10-27 16:05:24 EDT
Description of problem:
 An optimization that went into ~3.2.19 was that you could "yum remove X" without updating all of the repositories metadata. However a bug has just been found when releasing 3.2.20 upstream that this means if you have:

yum shell <<EOL
remove X
install X

...where previous yum versuions would work fine, yum-3.2.19 will now fail on the "install" operation because the repository data isn't setup. The fix is below, and just 2 lines.

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

How reproducible:

Additional info:
diff --git a/yum/depsolve.py b/yum/depsolve.py
index 25eb0e6..579e7a1 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -91,6 +91,8 @@ class Depsolve(object):
         if self._tsInfo != None and self._ts != None:
+            if not remove_only and self._tsInfo.pkgSack is None:
+                self._tsInfo.setDatabases(self.rpmdb, self.pkgSack)
         if not self.conf.installroot:
Comment 1 RHEL Product and Program Management 2008-10-27 16:30:12 EDT
This bugzilla has Keywords: Regression.  

Since no regressions are allowed between releases, 
it is also being proposed as a blocker for this release.  

Please resolve ASAP.
Comment 14 errata-xmlrpc 2009-01-20 16:44:29 EST
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.