Re: Versioned provides ... a necessity !
According to Jules Bean:
> On Wed, 10 Feb 1999, Chip Salzenberg wrote:
> > According to Jules Bean:
> > > For their own reaons, which are opaque to me [but are almost certainly
> > > documented somewhere - try perl5-porters] upstream has decided to change
> > > the path-names. They've done this because they think most modules won't
> > > continute to work, I imagine. So we shouldn't defy their policy.
> >
> > No; only the BINARY interface for shared libs has changed incompatibly.
> > Any Perl-only module that's compatible with e.g. 5.004 should work
> > without change under 5.005.
>
> In which case, there's no reason why we (debian, that is) shouldn't have a
> shared lib directory between 5.004 and 5.005 (and 5.006...), is there?
Well, that depends. Are you at all interested in having 5.004 and
5.005 coexist? If not, then: No, there's no reason not to just
upgrade /usr/lib/perl in place.
> So we could move all our (non-binary) modules to a directory whose name
> isn't going to change, and use it for subsequent versions.
Yes.
The 'upstream' policy from us perl5-porters is *not* that Perl
versions _must_ coexist. The upstream policy is that the Perl
distribution must _permit_ coexistence for those users who want it.
(Perl isn't about forcing people to do things the 'right' way.)
But if you _are_ interested in coexistence, then I think you should
also have /usr/lib/perl5.005 for 5.005's standard modules,
/usr/lib/perl5.004 for 5.004's standard modules, etc. And also
/usr/lib/perl5 for modules that work with any of the supported Perl
version (5.004+, basically).
You may want to consider putting all modules that aren't distributed
with Perl into a directory separate from Perl's standard modules.
That'll ease administration of Perl upgrades and other things.
> Modules which *do* in fact require a particular version (perhaps because
> they use a new feature) could then be installed in the version specific
> directory.
Right.
> Except then they won't be available in the next version.
No help for that. You can't compile a .so against object files that
don't yet exist. :-(
--
Chip Salzenberg - a.k.a. - <chip@perlsupport.com>
"When do you work?" "Whenever I'm not busy."
Reply to: