Re: gnorpm & rpm's ("only packages with major number <= 3")



This is off-topic for gnome-list recently, but it occurs often enough
to answer it.

Summary: "get rpm-3.0.6, it works for rpms built with either rpm-3.0.x
or rpm-4.0.x".

On Mon, Mar 19, 2001 at 10:03:05PM -0500 or thereabouts, John B. Stephens,II wrote:
> i have recently tried to upgrade some rpm packages ( installed from
> redhat 6.0 ) to newer versions.
> however , i am getting error msgs. like:
> 
> "..only packages with major number <= 3 are supported by this version of
> rpm..."
> 
> when i a try to either "upgrade" / "install".
> i tried to dwnload the ver 4+ 0f rpm , as well as the 0.9+ version of
> gnorpm - both / eother of which i can get but am unable to open with
> this present version of rpm and gnorpm, without getting the errors i
> spoke of.
> 
> any ideas as to why / what the problem is??
> thanks in advance for any / all suggestions , etc.

This error message has to win a prize for "most cryptic", or "most 
confusing".

rpm is telling you it can only deal with packages built by rpm-3.x.x.
That 3 is the "major number" in a versioning scheme. Your rpm on RH6.0
will probably be rpm-3.0.something. There were (in order) rpm-3.0, 
rpm-3.0.1, rpm-3.0.2, rpm-3.0.3 and rpm-3.0.4. And life was happy.

Then there was a big big change in rpm, so rpm-4.0.1 came out. rpm-4.0.x
understands rpms built with rpm-3.0.x, but builds things slightly 
differently. So rpm-3.0.4 and lower has no clue what to do with packages
built by rpm-4.0.x. Also, it was a bit hard to upgrade like that :) 

So that was a bit crap :) 

It got crazier: because XFree86 4.0 came out at the same time, rpms of it
build with rpm-4.0 appeared on the net, people were downloading those, 
trying to install them with rpm-3.0.x, seeing that error message and 
thinking it applied to X, not rpm :) Mass confusion. 

So anyway, rpm-3.0.5 came out with the ability to read (and thus install,
upgrade and erase) rpms built by rpm-4.0.x. rpm-3.0.6 came out after that
and also has that ability. And that's what you need. 

So your answer is to download rpm-3.0.6 and install it. If gnorpm starts
messing about, the command line syntax is:
	cd /name/of/directory/the/thing's/in
	su
	rpm -Uvh rpm-3.0.6-whatever.i386.rpm 
	(control-D to stop being root when it's given you your prompt back)

Then you have something that will deal with packages built with "rpm with
a major version > 3". 

Oh, you might also want rpm-devel-3.0.6. I'm not sure. Upgrade them
both at the same time (rpm -Uvh rpm-blahblah rpm-devel-blahblah all on
one line).

The reason I'm not suggesting upgrading straight to rpm-4.0.x is that
part of the changes involved changes to the rpm database, and I recall 
there is some "correct" way to upgrade, and lots of not-so-correct ways.
I simply waited for RH 7.0 and let the automatic upgrade do it for me :) 

As for gnorpm, you want at -least- version 0.95.2, or version 0.96.
You'll find in bugzilla that the possible versions are 0.95.2, 0.96,
and "prehistoric". That means "everything earlier". Everything earlier
had a lot of things which are now fixed, and bug-reports on those will
be met with "upgrade to a current version" at best. So get the absolute
latest version you can.

I'll note that people building rpms should really do it with 3.0.x to
ensure the least pain for users. I'm told this is in guidelines somewhere
(Mandrake has such, I believe, and RH also) and I -know- that the 
Linux Development Platform Specification (interim until LSB is done, at
http://www.freestandards.org/ldps/1.1/ldps-1.1.html ) insists on this.

I realise this is perhaps information overload, but I am in "get it into
the archives" mode today. (Hence the addition to the subject line.)

Telsa




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]