Subject: Re: perl modules need better, non-open dependencies
To: Jeremy C. Reed <reed@reedmedia.net>
From: Frederick Bruckman <fredb@immanent.net>
List: tech-pkg
Date: 04/10/2004 08:38:35
On Fri, 9 Apr 2004, Jeremy C. Reed wrote:
> On Sat, 10 Apr 2004, grant beattie wrote:
>
> > what planet is your perl installation on if it's looking in both 5.8.3
> > *and* 5.6.1 directories? that certainly doesn't seem right.
>
> This is perl built from pkgsrc:
> Characteristics of this binary (from libperl):
> Compile-time options: DEBUGGING USE_LARGE_FILES
> Built under linux
> Compiled at Apr 6 2004 19:21:24
> @INC:
> /usr/lib/perl5/site_perl/5.8.3/i386-linux
> /usr/lib/perl5/site_perl/5.8.3
> /usr/lib/perl5/site_perl/5.6.1
> /usr/lib/perl5/site_perl
> /usr/lib/perl5/5.8.3/i386-linux
> /usr/lib/perl5/5.8.3
> .
Here's one that wasn't built from pkgsrc:
Characteristics of this binary (from libperl):
Compile-time options: USE_LARGE_FILES
Built under netbsd
Compiled at Feb 29 2004 09:43:20
@INC:
/usr/mm/lib/perl5/site_perl/5.8.3/i386-netbsd
/usr/mm/lib/perl5/site_perl/5.8.3
/usr/mm/lib/perl5/site_perl/5.8.0/i386-netbsd
/usr/mm/lib/perl5/site_perl/5.8.0
/usr/mm/lib/perl5/site_perl
/usr/mm/lib/perl5/5.8.3/i386-netbsd
/usr/mm/lib/perl5/5.8.3
/usr/mm/lib/perl5/site_perl/5.8.3/i386-netbsd
/usr/mm/lib/perl5/site_perl/5.8.3
/usr/mm/lib/perl5/site_perl/5.8.0/i386-netbsd
/usr/mm/lib/perl5/site_perl/5.8.0
/usr/mm/lib/perl5/site_perl
(5.8.0 was installed first, then later upgraded to 5.8.3.) Further
inspection shows that ".../site_perl" has only third-party and
CPAN-installed modules. So I infer that it's a *feature*, so you don't
have to reinstall all your third party modules after upgrading perl.
The build-time indeterminism in pkgsrc perl is from pkgsrc abusing
"site_perl" for packaged modules, when we should rather be using the
"vendor" directories for that. It's easy enough to set that in the top
level pkgsrc Makefile. I haven't looked at what modification would be
required to the module packages.
If we were to put all the modules in designated "vendorlib" and
"vendorprefix" directories, then the site_perl gathering would be
mostly irrelevant, unless you use CPAN on your pkgsrc perl, in which
case it would mostly just work.
Frederick