This service will be undergoing maintenance at 00:00 UTC, 2016-09-28. It is expected to last about 1 hours
Bug 62142 - rpm-4.0.2-8 requires/provides same stuff - up2date needs workaround for this broken rpm of RHL 7.1
rpm-4.0.2-8 requires/provides same stuff - up2date needs workaround for this ...
Status: CLOSED CURRENTRELEASE
Product: Red Hat Linux
Classification: Retired
Component: up2date (Show other bugs)
7.1
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Adrian Likins
Jay Turner
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2002-03-27 16:08 EST by James Manning
Modified: 2015-01-07 18:55 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2002-03-27 18:26:01 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description James Manning 2002-03-27 16:08:18 EST
been updating a lot of 7.1 machines and while rpm no longer has this problem,
AFAICT up2date needs to hack around this particular case :(

Basically, a 7.1 box that tries to update anything that will eventually need rpm is
going to break because that default rpm ver for 7.1 shipped with the same stuff
in requires and provides, specifically librpm{,build,io}.so.0

[root@ld02-ext /root]# rpm -q --provides rpm-4.0.2-8|grep librpm
librpm.so.0
librpmbuild.so.0
librpmio.so.0
[root@ld02-ext /root]# rpm -q --requires rpm-4.0.2-8|grep librpm
librpm.so.0
librpmbuild.so.0
librpmio.so.0

so any attempt to update rpm by itself (and not sucking in rpm-build) fails

[root@ld02-ext /root]# up2date up2date
[SNIP]
Testing package set / solving RPM inter-dependencies...
The following packages were added to your selection to satify dependencies:

Name                                    Version        Release
--------------------------------------------------------------
python-xmlrpc                           1.5.1          7.x.3
python-popt                             0.8.7          7.x.1
rpm                                     4.0.4          7x


Retrieving selected packages...
up2date:                    ########################## Done.
python-xmlrpc:              ########################## Done.
python-popt:                ########################## Done.
rpm:                        ########################## Done.
Traceback (innermost last):
  File "/usr/sbin/up2date", line 859, in ?
    main()
  File "/usr/sbin/up2date", line 834, in main
    sys.exit(batchRun(onlyList, pkgNames, fullUpdate))
  File "/usr/sbin/up2date", line 608, in batchRun
    kernelsToInstall = up2date.installPackages(selPkgList, rpmCallback)
  File "/usr/share/rhn/up2date/up2date.py", line 2029, in installPackages
    raise DependencyError(_("Dependencies should have already been resolved, but they are not."))
up2date.DependencyError: RPM dependency error.  The message was:
Dependencies should have already been resolved, but they are not.

Now, if we specifically try just updating rpm, it lets us know the deal:

[root@ld02-ext /root]# up2date rpm
[SNIP]
Testing package set / solving RPM inter-dependencies...
There was a package dependency problem.  The message was:
Unresolvable chain of dependencies: rpm-build-4.0.2-8 requires librpmbuild.so.0.

AFAICT, the only hackaround that I can think of right now is to add 
all the packages of rpm -q --whatrequires librpm{build,so}.so.0 

[root@ld02-ext /root]# rpm -q --whatrequires librpmio.so.0
rpm-4.0.2-8
rpm-python-4.0.2-8
ucd-snmp-4.2-12
ucd-snmp-utils-4.2-12
rpm-build-4.0.2-8
[root@ld02-ext /root]# rpm -q --whatrequires librpmbuild.so.0
rpm-4.0.2-8
rpm-build-4.0.2-8

If I specifically tell up2date to do all these, it runs great:

[root@ld02-ext /root]# up2date rpm rpm-python ucd-snmp ucd-snmp-utils rpm-build

Retrieving list of all available packages...

Removing installed packages from list ofupdates...
########################################

Removing packages with files not specified from list...

Removing packages marked to skip from list...
########################################

Getting headers for available packages...
########################################

Removing packages with files marked to skip from list...
########################################

Testing package set / solving RPM inter-dependencies...
The following packages were added to your selection to satify dependencies:

Name                                    Version        Release
--------------------------------------------------------------
glibc                                   2.2.4          19.3
popt                                    1.6.4          7x
glibc-common                            2.2.4          19.3
glibc-devel                             2.2.4          19.3


Retrieving selected packages...
rpm:                        ########################## Done.
rpm-build:                  ########################## Done.
rpm-python:                 ########################## Done.
ucd-snmp:                   ########################## Done.
ucd-snmp-utils:             ########################## Done.
glibc:                      ########################## Done.
popt:                       ########################## Done.
glibc-common:               ########################## Done.
glibc-devel:                ########################## Done.
Preparing...                ########################################### [100%]
   1:glibc-common           ########################################### [ 11%]
   2:glibc                  ########################################### [ 22%]
basename: too many arguments
Try `basename --help' for more information.
cp: cannot stat `/lib/ld-.so': No such file or directory
cp: cannot stat `/lib/libc-.so': No such file or directory
cp: cannot stat `/lib/libnsl-.so': No such file or directory
cp: cannot stat `/lib/libnss_files-.so': No such file or directory
warning: /etc/rc.d/init.d/snmpd created as /etc/rc.d/init.d/snmpd.rpmnew
warning: /etc/snmp/snmpd.conf created as /etc/snmp/snmpd.conf.rpmnew
   3:ucd-snmp               ########################################### [ 33%]
   4:ucd-snmp-utils         ########################################### [ 44%]
   5:popt                   ########################################### [ 55%]
warning: /var/lib/rpm/Basenames created as /var/lib/rpm/Basenames.rpmnew
warning: /var/lib/rpm/Conflictname created as /var/lib/rpm/Conflictname.rpmnew
warning: /var/lib/rpm/Group created as /var/lib/rpm/Group.rpmnew
warning: /var/lib/rpm/Name created as /var/lib/rpm/Name.rpmnew
warning: /var/lib/rpm/Packages created as /var/lib/rpm/Packages.rpmnew
warning: /var/lib/rpm/Providename created as /var/lib/rpm/Providename.rpmnew
warning: /var/lib/rpm/Requirename created as /var/lib/rpm/Requirename.rpmnew
warning: /var/lib/rpm/Triggername created as /var/lib/rpm/Triggername.rpmnew
   6:rpm                    ########################################### [ 66%]
   7:rpm-build              ########################################### [ 77%]
   8:rpm-python             ########################################### [ 88%]
   9:glibc-devel            ########################################### [100%]
Comment 1 Adrian Likins 2002-03-27 16:39:28 EST
It that up2date-2.7.11 trying to update rpm?

or up2date-2.7.61?  2.7.61 shouldnt have any of
these problems (I hope not anyway...)

2.7.11 breaks in the ucd-snmp and rpm cases
(basically, the depenency solver is supposed to update
the package you specifiy and any of it's direct deps,
and then if any deps get raised that cant be installed
by the server, it attempts to upgrade both packages
involved in the dep). In 2.7.11, it didnt do that last step.

What I dont understand, is why is rpm getting pulled into this
transaction. The new version of up2date requires "rpm" which
should already be provided. Ditto for rpm-python and python-popt. 

Looks like it's the conflict from python-popt on < rpm-4.0.4.
Which forces it to bring in the newest rpm. Grumble. 
Last minute change to python-popt as well. Catch-22. 

Comment 2 James Manning 2002-03-27 17:14:40 EST
This was indeed the older up2date - couldn't up2date up2date (which I do before
installed 2.7.61) and hence the behavior - the thing is, I don't see how stock 7.1
machines can get updated, but I think you're right, it's just a Catch-22 and ppl
will have to do things manually AFAICT
Comment 3 Adrian Likins 2002-03-27 18:25:56 EST
after a couple walks around the building, it occurs to me
why this broke, how I missed it, and how I can fix it. 

Fix should be available shortly...
Comment 4 Adrian Likins 2002-03-28 17:19:07 EST
fixed with an update to the python-popt packages shipped in
7.1. It does not need a conflict with "rpm < 4.0.4", unlike
the 7.2 version. 

A new python-popt-0.8.8-7.x.1 should be available now that
fixes this issue.

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