Ben Hines has again raised the issue of how we handle perl modules which are
provided by newer versions of perl, but were not provided by older versions
of perl.  This has been brought up before by JF Mertens.

Each release of perl incorporates some new perl modules into the release,
and in addition updates the versions of some of the existing modules.
On the other hand, many of those modules continue to be under active
development, and someone may need a more recent version of the module than
was provided by the most recent release of perl.

The obvious solution to this problem would be to use versioned Provides
statements.  That is, if you installed perl581 (or the virtual system-perl581),
you would get
  Provides: digest-md5-pm (= 2.27-1)
while if you installed perl580 you would get
  Provides: digest-md5-pm (= 2.20-1)
and earlier versions would not provide this package at all.

However, as far as I know, dpkg and apt-get do not recognize versioned
Provides.  So we can't use this system at the moment.  Hopefully, 
somebody will get interested in the task of revising our tools to
allow versioned Provides.  (I'll comment more about why it would be bad to
use non-versioned Provides at the end of this message.) 

What we could do for now, though, is to make some better documentation about
what versions of which perl module packages are provided by the different
flavors of perl.  A place to start, if anybody wants to work on this, is:
http://search.cpan.org/~jhi/perl-5.8.0/ and the related pages which are
linked from there.

  -- Dave


P.S. Here's why it would be bad to use non-versioned Provides.  Of course,
we can add "Provides: digest-md5-pm" to the perl580 and perl581 packages.
Suppose package foo then needs a new feature which is contained in v.2.30 of
digest-md5-pm.  Then package foo will have to say
"Depends: digest-md5-pm (>= 2.30-1)" which also is no problem.  However,
if perl583 is later released and it contains version 2.30 of digest-md5-pm,
there will be no way to remove the versioned depedency from package foo.
That is, you'll have to live with 
  "Depends: perl583-core | digest-md5-pm (>= 2.30-1)"
forever (even if we later get a versioned Provides implemented).

Thus, using non-versioned Provides would give only a short-term solution
to this problem, and it would prevent us from ever implementing the
long-term solution of versioned Provides.


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to