Bug 13520 - RPM doesn't see perl-5.6 as >= 5.00503
RPM doesn't see perl-5.6 as >= 5.00503
Status: CLOSED WONTFIX
Product: Red Hat Linux
Classification: Retired
Component: rpm (Show other bugs)
7.1
i386 Linux
high Severity medium
: ---
: ---
Assigned To: Jeff Johnson
:
Depends On: 22377
Blocks:
  Show dependency treegraph
 
Reported: 2000-07-06 07:14 EDT by Pekka Savola
Modified: 2008-05-01 11:37 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2000-07-18 16:02:18 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Pekka Savola 2000-07-06 07:14:14 EDT
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 12:15:00 EDT
This is actually some unexpected behavior from RPM.
Comment 2 Glen Foster 2000-07-18 16:02:16 EDT
This defect is considered MUST-FIX for Winston Beta-5
Comment 3 Jeff Johnson 2000-07-19 13:23:34 EDT
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.