Description of problem: The following versions are installed locally: [root@xldn0290nap root]# rpm -q glibc glibc-utils shadow-utils glibc- common glibc-2.3.2-95.6 glibc-utils-2.3.2-95.6 shadow-utils-4.0.3-15 glibc-common-2.3.2-95.6 [root@xldn0290nap root]# Now, running up2date against our satellite server indicates two pending updates: Name Version Rel --------------------------------------- glibc 2.3.2 95.20 i686 glibc-common 2.3.2 95.20 i386 This new version of glibc has a conflict on shadow-utils: root# rpm -qp --conflicts glibc-2.3.2-95.20.i686.rpm rpm <= 4.0-0.65 glibc-devel < 2.2.3 shadow-utils < 2:4.0.3-20 root# However, when running up2date to pull down the glibc update it reports: Unresolvable chain of dependencies: glibc-2.3.2-95.20 requires shadow-utils < 2:4.0.3-20 glibc-utils-2.3.2-95.6 requires glibc = 2.3.2-95.6 So, it is reporting the 'conflict' on shadow-utils, as a requirement! NB. Yes, we forgot to upload the new shadow-utils package to our satellite server, when uploading the new glibc, but irrespective the error message reporting should know the difference between a conflict & a requirement Version-Release number of selected component (if applicable): up2date-4.2.5-1 (RHEL3, U1) How reproducible: ALWAYS Steps to Reproduce: 1. Populate a satellite server with RHEL 3, Update 1. 2. Install a machine with RHEL 3, Update 1 3. Upload glibc & glibc-common = 2.3.2-95.20 to RHN 4. Run up2date -u Actual results: Unresolvable chain of dependencies: glibc-2.3.2-95.20 requires shadow-utils < 2:4.0.3-20 glibc-utils-2.3.2-95.6 requires glibc = 2.3.2-95.6 Expected results: Unresolvable chain of dependencies: glibc-2.3.2-95.20 conflicts shadow-utils < 2:4.0.3-20 glibc-utils-2.3.2-95.6 requires glibc = 2.3.2-95.6 Additional info:
this should be fixed in rhel4 up2date
Re-opening because this bug was reported against RHEL-3.
The plan for the next RHEL3 is to use the same branch as for rhel4 (up2date-4.4.x) so it should be available for RHEL3.
This bug is considered MustFix for RHEL 3 U6 by RHN Engineering.
can this be tested with satellite running rhel 4 and client running rhel 3? does it matter? also I need a test plan ....
test plan easiest way to test this is to attempt to reproduce the conditions mentioned in the original bug report. But thats a fairly involved setup. Another more generic approach is to create a test package that conflicts with something that will always be installed on a test system (say package "this-conflicts-with-glibc" with a Conflicts: glibc), and populate a test channel with this. Then subscribe the test box to the test channel and: up2date this-conflicts-with-glibc It will fail to install, but should give correct error message about it being because of a package conflicts, not an unresolved depenency. The bug was that on package conflicts or unresolved deps, it would use the error string format for unresolved deps, instead of a less confusing one about conflicts. So you just need to verify the right error is shown in the case of package conflicts.
Retested with rhn-apache/httpd conflict. The rhn-apache install failed, but for the wrong reason. It should say "conflicts with" rather than "needs": Summary: Package Install scheduled by bnackash Details: This action will be executed after 2005-07-10 13:58:26 EDT. This action's status is: Failed. The client picked up this action on 2005-07-10 13:58:37 EDT. The client completed this action on 2005-07-10 13:58:43 EDT. Client execution returned "Failed: packages requested raised dependency problems" (code 18) Packages Scheduled: * rhn-apache-1.3.27-11.rhn.rhel3 Dependency errors encountered: * rhn-apache-1.3.27-11.rhn.rhel3 needs httpd See also notes from 133541.
what happens when you try this with the commandline client?
It looks correct from the command line. This is starting to look kinda similar to 162954. [root@rlx-3-04 tmp]# rhn_check -vvv D: check_action {'action': "<?xml version='1.0'?>\n<methodCall>\n<methodName>pac kages.update</methodName>\n<params>\n<param>\n<value><array><data>\n<value><arra y><data>\n<value><string>httpd</string></value>\n<value><string>2.0.52</string>< /value>\n<value><string>12.ent</string></value>\n<value><string></string></value >\n</data></array></value>\n</data></array></value>\n</param>\n</params>\n</meth odCall>\n", 'version': 2, 'id': 24285431} D: logininfo: {'X-RHN-Server-Id': 1005476363, 'X-RHN-Auth-Server-Time': '1121113 721.14', 'X-RHN-Auth': 'JzqAPEXEarNlQTBb3rfwqQ==', 'X-RHN-Auth-Channels': [['rhe l-i386-as-4', '20050711161017', '1', '1']], 'X-RHN-Auth-User-Id': '', 'X-RHN-Aut h-Expire-Offset': '3600.0'} D: handle_action {'action': "<?xml version='1.0'?>\n<methodCall>\n<methodName>pa ckages.update</methodName>\n<params>\n<param>\n<value><array><data>\n<value><arr ay><data>\n<value><string>httpd</string></value>\n<value><string>2.0.52</string> </value>\n<value><string>12.ent</string></value>\n<value><string></string></valu e>\n</data></array></value>\n</data></array></value>\n</param>\n</params>\n</met hodCall>\n", 'version': 2, 'id': 24285431} D: handle_action actionid = 24285431, version = 2 packages.update ([['httpd', '2.0.52', '12.ent', '']],) D: do_call packages.update ([['httpd', '2.0.52', '12.ent', '']],) D: Called update_packages [['httpd', '2.0.52', '12.ent', '']] D: availablePackageList::channels: <up2date_client.rhnChannel.rhnChannelList ins tance at 0xb7adedec> D: listPackages Fetched via: get D: obsoletesList::channels: <up2date_client.rhnChannel.rhnChannelList instance at 0xb7adedec> D: getObsoletes Fetched via: get D: archscore 4 Name Version Rel ---------------------------------------------------------- httpd 2.0.52 12.ent i386 No advisory information available D: Called dryRun [['httpd', '2.0.52', '12.ent', '', 'i386', '899244', 'rhel-i386-as-4']] D: obsoletesList::channels: <up2date_client.rhnChannel.rhnChannelList instance at 0xb7adedec> D: getObsoletes Fetched via: diskcache D: add instance class name up2date D: Removing package (['kernel', '2.6.9', '11.EL', '', 'i686', '10090698', 'rhel-i386-as-4'], 'Pkg name/pattern') D: Removing package (['kernel-devel', '2.6.9', '11.EL', '', 'i686', '3746449', 'rhel-i386-as-4'], 'Pkg name/pattern') D: Removing package (['kernel-doc', '2.6.9', '11.EL', '', 'noarch', '2096141', 'rhel-i386-as-4'], 'Pkg name/pattern') D: Removing package (['kernel-hugemem', '2.6.9', '11.EL', '', 'i686', '9648914', 'rhel-i386-as-4'], 'Pkg name/pattern') D: Removing package (['kernel-hugemem-devel', '2.6.9', '11.EL', '', 'i686', '3769625', 'rhel-i386-as-4'], 'Pkg name/pattern') D: Removing package (['kernel-smp', '2.6.9', '11.EL', '', 'i686', '9760225', 'rhel-i386-as-4'], 'Pkg name/pattern') D: Removing package (['kernel-smp-devel', '2.6.9', '11.EL', '', 'i686', '3760154', 'rhel-i386-as-4'], 'Pkg name/pattern') D: Removing package (['kernel-utils', '2.4', '13.1.66', '1', 'i386', '556259', 'rhel-i386-as-4'], 'Pkg name/pattern') D: Candidates for the selected list: [['httpd', '2.0.52', '12.ent', '', 'i386', '899244', 'rhel-i386-as-4']] D: Adding to transaction set ['httpd', '2.0.52', '12.ent', '', 'i386', '899244', 'rhel-i386-as-4'] D: Checking for dependencies D: RPM returned 3 deps. D: Processing dependency (('httpd', '2.0.52', '12.ent'), ('httpd-suexec', None), 0, None, 0) D: Processing dependency (('httpd', '2.0.52', '12.ent'), ('libaprutil-0.so.0', None), 0, None, 0) D: Processing dependency (('rhn-apache', '1.3.27', '20.rhn.rhel4'), ('httpd', None), 0, None, 1) D: Dependencies: [('httpd', 'httpd-suexec'), ('httpd', 'libaprutil-0.so.0')] D: Dep ['httpd-suexec', 'libaprutil-0.so.0'] Fetched via: [['httpd-suexec', '2.0.52', '12.ent', '', 'i386', '26273', 'rhel-i386-as-4'], ['apr-util', '0.9.4', '17', '', 'i386', '52240', 'rhel-i386-as-4']] D: Got back response: [['httpd-suexec', '2.0.52', '12.ent', '', 'i386', '26273', 'rhel-i386-as-4'], ['apr-util', '0.9.4', '17', '', 'i386', '52240', 'rhel-i386-as-4']] D: Candidates for the selected list: [['apr-util', '0.9.4', '17', '', 'i386', '52240', 'rhel-i386-as-4'], ['httpd-suexec', '2.0.52', '12.ent', '', 'i386', '26273', 'rhel-i386-as-4']] D: Adding to transaction set ['apr-util', '0.9.4', '17', '', 'i386', '52240', 'rhel-i386-as-4'] D: Adding to transaction set ['httpd-suexec', '2.0.52', '12.ent', '', 'i386', '26273', 'rhel-i386-as-4'] D: Conflicts: [('rhn-apache', 'httpd')] D: Candidates for the selected list: [] D: Checking for dependencies D: RPM returned 1 deps. D: Processing dependency (('rhn-apache', '1.3.27', '20.rhn.rhel4'), ('httpd', None), 0, None, 1) D: Conflicts: [('rhn-apache', 'httpd')] D: Candidates for the selected list: [] D: Sending back response (18, 'Failed: packages requested raised dependency problems', {'failed_deps': ((('rhn-apache', '1.3.27', '20.rhn.rhel4'), ('httpd', ''), 0, '', 1),), 'version': '0', 'name': 'packages.update.failed_deps'}) D: do_call packages.checkNeedUpdate ('rhnsd=1',) D: local action status: (0, 'rpm database not modified since last update (or package list recently updated)', {})
I don't see any comments from Adrian, so I'm not sure if this bug should really be in ON_QA state.
client looks correct, but website is still wrong. Probably need to reassign this to the website
verified -- web UI now has correct text: Dependency errors encountered: * rhn-apache-1.3.27-11.rhn.rhel3 conflicts with httpd
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 the 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-2005-712.html