Bug 447407
| Summary: | up2date tries to install never packages from main and beta channels | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 4 | Reporter: | James Laska <jlaska> | ||||
| Component: | up2date | Assignee: | John Matthews <jmatthew> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Alexander Todorov <atodorov> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | low | ||||||
| Version: | 4.7 | CC: | atodorov, cperry, dmach, jmatthew, jplans, jsafrane, jturner | ||||
| Target Milestone: | beta | ||||||
| Target Release: | --- | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | RHBA-2008-0771 | Doc Type: | Bug Fix | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2008-07-24 20:06:03 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
|
Description
James Laska
2008-05-19 20:14:52 UTC
Created attachment 306009 [details]
/var/log/up2date
James, can you give more info why there are: compat-openldap-2.1.30-11.el4 compat-openldap-2.1.30-8.el4_6.4 I read the error message as if up2date is trying to install both packages while the second one seems an older version (hence should be already installed). What exactly channels is this system subscribed to? (In reply to comment #3) > James, > can you give more info why there are: > compat-openldap-2.1.30-11.el4 > compat-openldap-2.1.30-8.el4_6.4 > > I read the error message as if up2date is trying to install both packages while > the second one seems an older version (hence should be already installed). > We have installed: compat-openldap-2.1.30-8 up2date compat-openldap shows that there are few versions available: compat-openldap-2.1.30-8.el4_6.1 compat-openldap-2.1.30-8.el4_6.2 compat-openldap-2.1.30-8.el4_6.4 compat-openldap-2.1.30-11.el4 # the newest version. up2date is trying to install all of the above packages as update to the current package and that sounds reasonable as the other packages are newer. The question is why there are more than one newer package or why up2date tries to install all of them instead of just picking up the newest one? Same situation is with openldap package. > What exactly channels is this system subscribed to? rhel-x86_64-as-4 rhel-x86_64-as-4-beta more info: upgrading when the system is subscribed only to the base channel works fine. up2date is picking up only the compat-openldap-2.1.30-8.el4_6.4 package which is the most recent version available. when the system is subscribed to both main and beta channels up2date is picking up -8.el4_6.4 and -11.el4 versions and tries to install both. Additional info: with up2date-4.6.2-7.el4 (from RHEL4-U6) I did: 1) added up2date to the exclude package list so it doesn't update itself 2) system is subscribed to main and beta channels 3) run up2date compat-openldap Results: up2date correctly showed only the -11.el4 version as the most recent one and updated the package. changed component to up2date, updated summary. Description of problem: When a system is subscribed to both main and beta channels and in the main channel there are newer versions of packages than released up2date will try to install both the newest versions from the main and the beta channel. Example: RHEL4-U6 has: compat-openldap-2.1.30-8 up2date compat-openldap shows: compat-openldap-2.1.30-8.el4_6.1 # main channel (z-stream maybe) compat-openldap-2.1.30-8.el4_6.2 # main channel (z-stream maybe) compat-openldap-2.1.30-8.el4_6.4 # main channel (z-stream maybe) compat-openldap-2.1.30-11.el4 # beta channel. the newest version This will result in up2date trying to install both -8.el4_6.4 and -11.el4 packages at the same time (which in turn lead to file conflicts as expected). Version of selected component: up2date-4.7.1-1.el4 How reproducible: 100% Steps to reproduce: 1. Install RHEL4-U6/AS, @everything 2. Register to rhn.webqa 3. subscribe the system to the main and beta channels 4. run up2date compat-openldap Actual result: file conflict because 2 versions of the same package are added in the transaction Expected result: up2date will try to install only the newest package (-11.el4 in this case) Additional info: This is the 4.7 up2date because with steps to reproduce above it will try to update itself and then restart the command to update the compat-openldap package. If we add up2date to the package exclude list everything seems to be fine. That is the issue. We add all packages, and never strip off the older versions during dep solver stuff. Not sure what fix is, to undo fix for bug 299971 and re-investigate that bug fix, or try to get code to work with the change.... Asking John to take over... [root@hp-xw9300 ~]# up2date compat-openldap Fetching all package list for channel: rhel-x86_64-as-4... ######################################## Fetching all package list for channel: rhel-x86_64-as-4-beta... ######################################## Fetching Obsoletes list for channel: rhel-x86_64-as-4... Fetching Obsoletes list for channel: rhel-x86_64-as-4-beta... Fetching rpm headers... ######################################## Name Version Rel ---------------------------------------------------------- compat-openldap 2.1.30 11.el4 x86_64 compat-openldap 2.1.30 8.el4_6.1 x86_64 compat-openldap 2.1.30 8.el4_6.2 x86_64 compat-openldap 2.1.30 8.el4_6.4 x86_64 Testing package set / solving RPM inter-dependencies... warning: package compat-openldap = 2.1.30-8.el4_6.1 was already added, replacing with compat-openldap <= 2.1.30-8.el4_6.2 warning: package compat-openldap = 2.1.30-8.el4_6.2 was already added, replacing with compat-openldap <= 2.1.30-8.el4_6.4 An error has occurred: exceptions.TypeError See /var/log/up2date for more information [root@hp-xw9300 ~]# [root@hp-xw9300 ~]# vi /usr/share/rhn/up2date_client/packageList.py [root@hp-xw9300 ~]# rm /usr/share/rhn/up2date_client/packageList.py packageList.py packageList.pyc [root@hp-xw9300 ~]# rm /usr/share/rhn/up2date_client/packageList.pyc rm: remove regular file `/usr/share/rhn/up2date_client/packageList.pyc'? y [root@hp-xw9300 ~]# up2date compat-openldap Fetching Obsoletes list for channel: rhel-x86_64-as-4... Fetching Obsoletes list for channel: rhel-x86_64-as-4-beta... Fetching rpm headers... ######################################## Name Version Rel ---------------------------------------------------------- compat-openldap 2.1.30 11.el4 x86_64 Testing package set / solving RPM inter-dependencies... ######################################## compat-openldap-2.1.30-11.e Preparing ########################################### [100%] Installing... 1:compat-openldap ########################################### [100%] [root@hp-xw9300 ~]# diff -u tmp/7/usr/share/rhn/up2date_client/packageList.py /usr/share/rhn/up2date_client/packageList.py --- tmp/7/usr/share/rhn/up2date_client/packageList.py 2008-05-22 17:10:46.000000000 -0400 +++ /usr/share/rhn/up2date_client/packageList.py 2008-05-22 17:18:51.000000000 -0400 @@ -124,8 +124,10 @@ # bz299971: We need information of all packages, not just the latest one - availList = rhnPackageInfo.getAllAvailableAllArchPackageList(self.msgCallback, +# availList = rhnPackageInfo.getAllAvailableAllArchPackageList(self.msgCallback, + availList = rhnPackageInfo.getAvailableAllArchPackageList(self.msgCallback, self.progressCallback) + if availList: self.addAvailablePackages(availList) [root@hp-xw9300 ~]# 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. http://rhn.redhat.com/errata/RHBA-2008-0771.html |