Subject: Re: Pending perl changes
To: Geoff Wing <mason@primenet.com.au>
From: Johnny C. Lam <jlam@NetBSD.org>
List: tech-pkg
Date: 07/16/2005 02:05:57
On Sat, Jul 16, 2005 at 01:13:54AM +0000, Geoff Wing wrote:
> Johnny C. Lam <jlam@netbsd.org> typed:
> : I'm going to be committing my massive Perl changes next week.  I've
> : attached a diff of lang/perl5 for people that want to look it over
> : and test it.
> 
> 1) Had 3 failed tests.  Will reproduce if required.

2 of those errors are the result of pkgsrc modifications to MakeMaker
that prevent the automatic creation/update of perllocal.pod.  The last
error is probably the sigaction one which has been around for a while,
at least on NetBSD.

> 2) Also, what's with
>   Installing manpages to "/usr/pkg/lib/perl5/man":
> where previously they'd go to "/usr/pkg/man" (mail/mhonarc did this and failed
> on PLIST stuff)?

This avoids man page conflicts between standard Perl library modules,
3rd-party modules, and other packages.  There is a script not present in
the diff I sent that manages symlinks into /usr/pkg/bin and /usr/pkg/man
for installed Perl modules so that they may be used without any changes
to your PATH, MANPATH, etc.

mail/mhonarc looks like it has on odd build/install system, and will
need to be modified to work correctly after these Perl changes are
committed.

> 3) mail/spamassasin is installing in
>   /usr/pkg/lib/perl5/vendor_perl/5.8.0/
> where previously it would go in 
>   /usr/pkg/lib/perl5/site_perl/5.8.6/
> but PLIST is properly determined.  This looks like a deliberate change to
> allow updating perl without updating the local packages that depend upon it,
> however this doesn't really make sense with our pkgsrc system (unless you
> force a perl update in place).

Yes, all pkgsrc-installed Perl modules will now be installed in the
"vendor" directories instead of the "site" directories.  The "site"
directories can now be used by the local admin to install non-pkgsrc
Perl modules.  The module search path precedence will be "site", then
"vendor", then "perl" locations.

After these changes, you will be able to re-use p5-* binary packages
with newer versions of Perl, provided the new Perl has the same API
version.  This is a win because when you update the Perl package, you
will not need to rebuild everything that depended on the Perl package.

	Cheers,

	-- Johnny Lam <jlam@NetBSD.org>