Red Hat Bugzilla – Bug 7446
RPM and/or DB's horribly broken.
Last modified: 2008-05-01 11:37:53 EDT
I don't know exactly what is the reason for this bug, but I assume it's
either RPM or its databases.
I upgraded to the newest rawhide (1128) from the one a few days back and
all hell broke loose (e.g. the latest make RPM):
# rpm -Uvh make-3.78.1-1.i386.rpm
error: failed dependencies:
/sbin/install-info is needed by make-3.78.1-1
/bin/sh is needed by make-3.78.1-1
Every RPM complains about basic stuff like /bin/sh,chkconfig etc. - those
files are alive and well.
Also, RPM installs every configuration file (when upgrading) as .rpmorig or
.rpmnew, no matter the contents of earlier files.
# dir /etc/*.rpm* | wc -l
Of which almost all are just the same files as before.
Some more info:
# rpm -q rpm
# rpm -V rpm
Unsatisfied dependencies for rpm-3.0.4-0.1: /bin/sh , /bin/bash, /bin/sh,
# dir /var/lib/rpm
drwxr-xr-x 2 root root 1024 Feb 15 1996 ./
drwxr-xr-x 12 root root 1024 Nov 30 17:30 ../
-rw-r--r-- 1 root root 16384 Nov 30 17:44 conflictsindex.rpm
-rw-r--r-- 1 root root 1302528 Nov 30 17:44 fileindex.rpm
-rw-r--r-- 1 root root 16384 Nov 30 17:44 groupindex.rpm
-rw-r--r-- 1 root root 16384 Nov 30 17:44 nameindex.rpm
-rw-r--r-- 1 root root 5634504 Nov 30 17:31 packages.rpm
-rw-r--r-- 1 root root 49152 Nov 30 17:44 providesindex.rpm
-rw-r--r-- 1 root root 49152 Nov 30 17:44 requiredby.rpm
-rw-r--r-- 1 root root 16384 Nov 30 17:44 triggerindex.rpm
Go back to rpm-3.0.3.
Would you please explain how this can not be a bug? I saw nothing relating to
this in RPM ChangeLog, and having a program break up the entire system
qualifies as a bug to me.
Because I'm currently in the process of fixing it. Go back to rpm-3.0.3 ...
I've witnessed similar phenomena when upgrading rpm to version 3.0.3-2 provided
with RedHat 6.1, but they went away after doing "rpm --rebuilddb" (or "rpm
--initdb"; I can't remember the difference because the man page explains none).
I can also mention that inthis case after upgrading rpm I was unable to
downgrade to the previous version of rpm, because all kinds of packages were
claimed to depend (already!!) on the just installed version.
Problems in rpm-3.0.4 have nothing to do with rpm-3.0.3.
rpm --initdb creates the files in the package database if they were
not already present.
rpm --rebuilddb insures that the chain of headers from all installed
packages is intact. An important side effect is that all the headers
will be contigous.
Rpm-3.0.3 introduced fully versioned (not just requires/conflicts) dependencies.
This incompatible change is handled, in packages that make use of it, by
adding a dependency on the version of rpm that understands fully versioned