Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
For bugs related to Red Hat Enterprise Linux 4 product line. The current stable release is 4.9. For Red Hat Enterprise Linux 6 and above, please visit Red Hat JIRA https://issues.redhat.com/secure/CreateIssue!default.jspa?pid=12332745 to report new issues.

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: up2dateAssignee: John Matthews <jmatthew>
Status: CLOSED ERRATA QA Contact: Alexander Todorov <atodorov>
Severity: medium Docs Contact:
Priority: low    
Version: 4.7CC: 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 Flags
/var/log/up2date none

Description James Laska 2008-05-19 20:14:52 UTC
Description of problem:

Attempting to upgrade from RHEL-4/U6::AS x86_64 to RHEL-4/U7 content published
to rhn.webqa.redhat.com beta child channels fails due to dependency conflicts


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


How reproducible:
1 out of 1 test attempt

Steps to Reproduce:
1. Install RHEL-4/U6::AS x86_64 with @everything package set
2. Register to rhn.webqa.redhat.com
3. Subscribe test system to child beta channel on rhn.webqa.redhat.com
4. Upgrade system using: `up2date -fu`
  
Actual results:

RPM package conflict error.  The message was:
Test install failed because of package conflicts:
The following packages were added to your selection to satisfy dependencies:
Name                                    Version        Release
--------------------------------------------------------------
ibvexdmtools                            0.0.1          8.el4               
libpurple                               2.3.1          1.el4.3             
libsmi                                  0.4.5          5.el4               
mpi-selector                            1.0.0          2.el4               
system-config-netboot-cmd               0.1.40.1       1.el4               

file /usr/lib/liblber.so.2.0.130 conflicts between attempted installs of
compat-openldap-2.1.30-11.el4 and compat-openldap-2.1.30-8.el4_6.4
file /usr/lib/libldap.so.2.0.130 conflicts between attempted installs of
compat-openldap-2.1.30-11.el4 and compat-openldap-2.1.30-8.el4_6.4
file /usr/lib/libldap_r.so.2.0.130 conflicts between attempted installs of
compat-openldap-2.1.30-11.el4 and compat-openldap-2.1.30-8.el4_6.4
file /usr/lib/liblber-2.2.so.7.0.6 conflicts between attempted installs of
openldap-2.2.13-11.el4 and openldap-2.2.13-8.el4_6.4
file /usr/lib/libldap-2.2.so.7.0.6 conflicts between attempted installs of
openldap-2.2.13-11.el4 and openldap-2.2.13-8.el4_6.4
file /usr/lib/libldap_r-2.2.so.7.0.6 conflicts between attempted installs of
openldap-2.2.13-11.el4 and openldap-2.2.13-8.el4_6.4


Expected results:

No conflicts during upgrade

Additional info:

# up2date --show-channels
rhel-x86_64-as-4
rhel-x86_64-as-4-beta

Comment 1 James Laska 2008-05-19 20:14:52 UTC
Created attachment 306009 [details]
/var/log/up2date

Comment 3 Alexander Todorov 2008-05-20 07:51:22 UTC
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? 

Comment 5 Alexander Todorov 2008-05-20 10:46:36 UTC
(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


Comment 6 Alexander Todorov 2008-05-20 11:05:01 UTC
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.

Comment 7 Alexander Todorov 2008-05-20 11:35:24 UTC
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.


Comment 8 Alexander Todorov 2008-05-20 11:43:40 UTC
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.

Comment 12 Clifford Perry 2008-05-20 15:59:33 UTC
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 ~]#




Comment 17 errata-xmlrpc 2008-07-24 20:06:03 UTC
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