Red Hat Bugzilla – Bug 12330
cannot upgrade rpm!
Last modified: 2008-05-01 11:37:56 EDT
I am just trying to upgrade my system to the latest RedHat rawhide. I have
rpm 3.0.4 and for every rpm package I get the error:
"only packages with major numbers <= 3 are supported by this version of
I have rpm-3.0.4-0.48 on my system. Rawhide has rpm-4.0-0.33! I cannot
find the source of 4.0 anywhere to compile manually (soource on rawhide
is an rpm itself and does not install due to the same problem).
To install rpm 4 I had to goto gnu.org and download and install the newest
version of libtool, and I had to get rpm cvs tree and install it that way.
From my experiences however I would not recommend installing it. I am having
tons of problems which have suddenly crept up out of the cracks. For instance
with rpm v4 when I do --rebuilddb it produces empty databases and leaves empty
rpmdb files. Fortunately I had a tarred backup I made just before I tried it
just in case. Also when installing/upgrading some rpms the files get added
to the database but the package name does not! Some files from packages aren't
registered in the db as being owned by a package even though rpm -q --dump
<name> shows the file being in the package and even though it exists. These
problems did not occur in the previous release of rpm. So anyway consider
yourself warned, I'm already kind of screwed because I had installed 50+
before I realized something was wrong.
I did something different! I used rpmunpack program to unpack the
version 4 rpm. This gave me the rpm-*.src.tar.gz file and rpm.spec
file. I then used rpm -ba (with rpm3) to build all the rpms using
rpm3. Subsequently I installed all by rpm -Uvh --force --nodeps rpm-*rpm
command. All worked fine UP TO THIS POINT!!!!
Of course I realized that my db was in db1 not db3. After messing
around figured that one can edit /usr/lib/rpm/macros and set dbapi
to 1 and dbapi_rebuilddb to 3. This also works BUT as you say only
the packages gets converted but none of the other files in /var/lib/rpm.
I have not installed any other packages and I do have the tar of the
databases. Are we missing something?
great. when I rpmunpack db3 rpm4 package and do --rebuild with rpm3 and do
# rpm -Uvh --test db3*
I get "file /usr/bin/db_archive from install of db3-3.0.55-0.12 conflicts with
file from package glibc-2.1.3-15"
# rpm -q --whatrequires libdb.so.2|wc -l
if I install db3, do all those old db2 progs still work? I guess so, because
libdb.so.2 stays intact. but what about db_archive etc programs?
and /usr/include/db.h is v2.4.14, will my programs still compile if I get db3?
I don't want to mess up my working system because rpm4 uses db3 and new packages
at rawhide are rpm4 (and I'd like to get some of them...).
PS. I can't use CVS because of the firewall.
*** This bug has been marked as a duplicate of 12401 ***