Bug 13520 - RPM doesn't see perl-5.6 as >= 5.00503
Summary: RPM doesn't see perl-5.6 as >= 5.00503
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: rpm
Version: 7.1
Hardware: i386
OS: Linux
high
medium
Target Milestone: ---
Assignee: Jeff Johnson
QA Contact:
URL:
Whiteboard:
Depends On: 22377
Blocks:
TreeView+ depends on / blocked
 
Reported: 2000-07-06 11:14 UTC by Pekka Savola
Modified: 2008-05-01 15:37 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2000-07-18 20:02:18 UTC
Embargoed:


Attachments (Terms of Use)

Description Pekka Savola 2000-07-06 11:14:14 UTC
perl-libnet from powertools says:

error: failed dependencies:
        perl >= 5.00503 is needed by perl-libnet-1.0703-3
(and perl 5.6 doesn't seem to satisfy as such)

( I suppose perl-5.6 shoud provide 5.00503 or something (like fix rpm 
version algorithm? -- I don't think this should be fixed in modules )

Comment 1 Nalin Dahyabhai 2000-07-06 16:15:00 UTC
This is actually some unexpected behavior from RPM.

Comment 2 Glen Foster 2000-07-18 20:02:16 UTC
This defect is considered MUST-FIX for Winston Beta-5


Comment 3 Jeff Johnson 2000-07-19 17:23:34 UTC
This problem cannot easily be fixed in rpm without breaking legacy behavior. The
problem
has to do with versioned dependencies in packages that look like
	Requires: perl >= 5.00503
being satisfied by a perl package that does (essentially)
	Provides: perl = 1:5.6.0
(Note the 1: epoch prefix).

Before versioned provides were added in rpm-3.0.3, there was no way to specify
an epoch
as part of the Requires: (there was an obscure mechanism to require an epoch, so
obscure
that it was never used AFAICT). In order to maintain compatibility with legacy
packaging that contains Requires: and Provides: as above, the dependencies are
compared in the same
epoch rather than assuming epoch 0 for the Requires:  That means that the
Requires above is promoted or interpreted as if it had been written
	Requires: perl >= 1:5.00503
and, since 503 > 6, the dependency fails to be satisfied.

The Right Thing To Do (at the moment anyways) is to repackage perl-libnet to
	Require: perl >= 0:5.00503
but that can't be done for all the legacy packaging in the world.

Meanwhile,  for powertools 7.0 CPAN packages have
	Requires: perl >= 5.6
That still is not the right thing to do, as an epoch now has to be included
explicitly, something
like
	Requires: perl >= 1:5.6
now that perl has an epoch, and 7.0 CPAN packaging dependencies will be
satisfied by
the now legacy
	Provides: perl >= 5.00503
But 7.0 packages will install cleanly with perl-5.6.



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