When emerging certain Perl stuff, I got sandbox errors. Trying to trace it down, this is what I found.... In perl-module.eclass there is: perl-module_src_prep() { .... if [ "${MMSIXELEVEN}" ]; then perl Makefile.PL ${myconf} \ PREFIX=/usr INSTALLDIRS=vendor DESTDIR=${D} .... The definition of PREFIX=/usr causes the sandbox errors, IMHO. Thus a change to .... if [ "${MMSIXELEVEN}" ]; then perl Makefile.PL ${myconf} \ PREFIX=${D}/usr INSTALLDIRS=vendor DESTDIR=${D} .... fixed the problem for me. Reproducible: Always Steps to Reproduce: See above description. Actual Results: See above description. Expected Results: See above description.
I don't think this should be changed. Packages that are using MakeMaker correctly will break with PREFIX=${D}/usr. The typical way the install paths are created is $DESTDIR/$PREFIX/$INSTALLLOCATION. Changing PREFIX to ${D}/usr will cause ${D} to be repeated in those packages that use MakeMaker properly. Could you file bugs or post those packages that needed this fix? Most likely they have custom variables in Makefile.PL that aren't respecting the DESTDIR prefix.
You are absolutely right! A bug in an ebuild led me to above conclusion... Think first then post... sorry. Kind regards, Stephan
Will fix individual packages affected.