tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: PERL5LIB behaviour in pkgsrc broken



On 05.11.12 23:24, Thomas Klausner wrote:
On Mon, Nov 05, 2012 at 08:08:35PM +0100, Jens Rehsack wrote:
I would suggest local::lib (devel/p5-local-lib/)

Thanks, but that's beside the point.

Why?

jr-extern:~ sno$ cd /data/Projects/OSS/DBI.sqlengine/
jr-extern:DBI.sqlengine sno$ perl -Mlocal::lib=/var/tmp/dbi.cur Makefile.PL
Attempting to create directory /var/tmp/dbi.cur
[...]
Writing MYMETA.yml and MYMETA.json
jr-extern:DBI.sqlengine sno$ make install
[...]
Installing /var/tmp/dbi.cur/bin/dbilogstrip
Installing /var/tmp/dbi.cur/bin/dbiprof
Installing /var/tmp/dbi.cur/bin/dbiproxy
Appending installation info to /var/tmp/dbi.cur/lib/perl5/darwin-thread-multi-2level/perllocal.pod
$ find /var/tmp/dbi.cur
/var/tmp/dbi.cur
/var/tmp/dbi.cur/bin
/var/tmp/dbi.cur/bin/dbilogstrip
/var/tmp/dbi.cur/bin/dbiprof
/var/tmp/dbi.cur/bin/dbiproxy
/var/tmp/dbi.cur/lib
/var/tmp/dbi.cur/lib/perl5
/var/tmp/dbi.cur/lib/perl5/darwin-thread-multi-2level
/var/tmp/dbi.cur/lib/perl5/darwin-thread-multi-2level/auto
/var/tmp/dbi.cur/lib/perl5/darwin-thread-multi-2level/auto/DBI
/var/tmp/dbi.cur/lib/perl5/darwin-thread-multi-2level/auto/DBI/.packlist
/var/tmp/dbi.cur/lib/perl5/darwin-thread-multi-2level/auto/DBI/dbd_xsh.h
[...]

Doing the same for SQL::Statement, DBD::CSV etc. while developing
on new SQL::Statement or DBI features.

If you want to see what local::lib modifies (might hint you for
EU::MM arguments), use
$ perl -Mlocal::lib=/var/tmp/dbi.cur
export PERL_LOCAL_LIB_ROOT="/var/tmp/dbi.cur";
export PERL_MB_OPT="--install_base /var/tmp/dbi.cur";
export PERL_MM_OPT="INSTALL_BASE=/var/tmp/dbi.cur";
export PERL5LIB="/var/tmp/dbi.cur/lib/perl5/darwin-thread-multi-2level:/var/tmp/dbi.cur/lib/perl5";
export PATH="/var/tmp/dbi.cur/bin:$PATH";

That would require a revbump everytime a minor update is done, even
if no ABI changes were made. Since that works fine since I use pkgsrc
(which were Perl 5.8 times), I wouldn't do that change since a real
reason is given.

You misunderstood. We leave the path in pkgsrc alone. Steve will just
modify perl to actually look in the path pkgsrc uses.

Well, it does (or I still do not get the point):
$ perl -MNo::Module -e1
Can't locate No/Module.pm in @INC (@INC contains: /opt/pkg/lib/perl5/site_perl/5.16.0/darwin-thread-multi-2level /opt/pkg/lib/perl5/site_perl/5.16.0 /opt/pkg/lib/perl5/vendor_perl/5.16.0/darwin-thread-multi-2level /opt/pkg/lib/perl5/vendor_perl/5.16.0 /opt/pkg/lib/perl5/5.16.0/darwin-thread-multi-2level /opt/pkg/lib/perl5/5.16.0 .).
BEGIN failed--compilation aborted.

Maybe when I see the patch ;)

--
Jens Rehsack
pkgsrc, Perl5


Home | Main Index | Thread Index | Old Index