Arch Linux

Please read this before reporting a bug:

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!

FS#4506 - perl-extutils-depends and perl-extutils-pkgconfig not installed in "current"

Attached to Project: Arch Linux
Opened by Francois Charette (Firmicus) - Monday, 24 April 2006, 21:36 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture not specified
Severity Medium
Priority Normal
Reported Version 0.7.1 Noodle
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Because the PKGBUILDs of perl-extutils-depends and perl-extutils-pkgconfig (maintained by Arjan Timmerman) do not specify the INSTALLARCHLIB, INSTALLSITELIB and INSTALLSITEARCH directories after "perl Makefile.PL" in the build() function, the modules are installed to
usr/lib/perl5/site_perl/5.8.7 instead of .../current

This caused me problems while building perl modules from AUR.

Please correct as follows:

build() {
cd $startdir/src/ExtUtils-Depends-$pkgver
# Force module installation to "current" perl directories.
/usr/bin/perl Makefile.PL \
INSTALLARCHLIB=/usr/lib/perl5/current/${CARCH}-linux-thread-multi \
INSTALLSITELIB=/usr/lib/perl5/site_perl/current \
/usr/bin/make || return 1
/usr/bin/make DESTDIR=$startdir/pkg install
# remove perllocal.pod, .packlist, and empty dirs:
/usr/bin/find $startdir/pkg -name '.packlist' -exec rm '{}' \;
/usr/bin/find $startdir/pkg -name 'perllocal.pod' -exec rm '{}' \;
/usr/bin/find $startdir/pkg -depth -type d -empty -exec rmdir '{}' \;

NB: The last three lines offers a general solution to removing perllocal.pod, .packlist, and empty dirs in the build process of ANY cpan module ;-)
This task depends upon

Closed by  Jan de Groot (JGC)
Tuesday, 25 April 2006, 17:55 GMT
Reason for closing:  Fixed
Comment by Jan de Groot (JGC) - Tuesday, 25 April 2006, 08:31 GMT
A better method for detecting the ${CARCH}-linux-thread-multi thing:

eval `perl -V:archname`

which will set i686-thread-multi or whatever archname perl uses in the variable "archname".