Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 224577 - dev-lang/perl has wrong @INC order
Summary: dev-lang/perl has wrong @INC order
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on: perl-sitedir 280730
Blocks: perl-5.10.1
  Show dependency tree
 
Reported: 2008-06-02 08:03 UTC by Michele Beltrame
Modified: 2009-09-28 18:03 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michele Beltrame 2008-06-02 08:03:28 UTC
dev-perl/perl-5.10.0, once installed, features this @INC:

  @INC:
    /usr/lib/perl5/5.10.0/x86_64-linux
    /usr/lib/perl5/5.10.0
    /usr/lib/perl5/site_perl/5.10.0/x86_64-linux
    /usr/lib/perl5/site_perl/5.10.0
    /usr/lib/perl5/site_perl/5.8.8
    /usr/lib/perl5/site_perl/5.8.7
    /usr/lib/perl5/site_perl
    /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux
    /usr/lib/perl5/vendor_perl/5.10.0
    /usr/lib/perl5/vendor_perl/5.8.8
    /usr/lib/perl5/vendor_perl/5.8.7
    /usr/lib/perl5/vendor_perl

This makes it impossible to automatically use perl-core modules which version is newer than 5.10, as they're installed into vendor_perl and that path is searched *last*.

Perl 5.8.8 has the correct @INC ordering:

    /etc/perl
    /usr/lib/perl5/vendor_perl/5.8.8/i686-linux
    /usr/lib/perl5/vendor_perl/5.8.8
    /usr/lib/perl5/vendor_perl/5.8.7
    /usr/lib/perl5/vendor_perl/5.8.7/i686-linux
    /usr/lib/perl5/vendor_perl
    /usr/lib/perl5/site_perl/5.8.8/i686-linux
    /usr/lib/perl5/site_perl/5.8.8
    /usr/lib/perl5/site_perl/5.8.7
    /usr/lib/perl5/site_perl/5.8.7/i686-linux
    /usr/lib/perl5/site_perl
    /usr/lib/perl5/5.8.8/i686-linux
    /usr/lib/perl5/5.8.8
    /usr/local/lib/site_perl
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2008-06-02 13:41:04 UTC
There is no such package as dev-perl/perl. Furthermore, I couldn't find a version 5.10.0 for the existing dev-lang/perl. Did you install this version from some overlay?
Comment 2 Michele Beltrame 2008-06-02 15:28:42 UTC
Yes, it's dev-lang/perl - sorry for the mistake.

As per summary,it's in the Perl overlay not in the official Portage. I somehow thought Bugzilla could be used also for official overlays. If not, sorry. ;)
Comment 3 Sergiy Borodych 2008-06-04 12:15:25 UTC
ok
I think it here

# diff dev-lang/perl/perl-5.8.8-r5.ebuild /usr/local/portage/layman/perl-experimental/dev-lang/perl/perl-5.10.0.ebuild
...
90c82,84
< 	cd "${S}"; epatch "${FILESDIR}"/${P}-reorder-INC.patch
---
> 
> 	# TODO: Holy crap, we'll need to re-patch this.
> 	#cd ${S}; epatch ${FILESDIR}/${P}-reorder-INC.patch

so waiting for re-patching :)
Comment 4 Fabian Groffen gentoo-dev 2008-06-13 21:42:54 UTC
Please base your overlay's ebuild off of the latest gentoo-x86 one, it's hopelessly outdated.

Consider de-prefixing my prefix version of libperl-5.10.0, with fixed patches (instead of just commenting them out).  Look at http://overlays.gentoo.org/proj/alt/changeset/25414, you might in particular be interested in http://overlays.gentoo.org/proj/alt/browser/trunk/prefix-overlay/sys-devel/libperl/files/libperl-5.10.0-reorder-INC.patch?rev=25414

Perl team, any chance we can get this rolling into gentoo-x86 soon?
Comment 5 Fabian Groffen gentoo-dev 2008-06-15 11:55:37 UTC
With above mentioned patch:

  Built under darwin
  Compiled at Jun 15 2008 13:38:05
  @INC:
    /etc/perl
    /Library/Gentoo/usr/lib/perl5/vendor_perl/5.10.0/darwin-2level
    /Library/Gentoo/usr/lib/perl5/vendor_perl/5.10.0
    /Library/Gentoo/usr/lib/perl5/vendor_perl/5.8.8
    /Library/Gentoo/usr/lib/perl5/vendor_perl
    /Library/Gentoo/usr/lib/perl5/site_perl/5.10.0/darwin-2level
    /Library/Gentoo/usr/lib/perl5/site_perl/5.10.0
    /Library/Gentoo/usr/lib/perl5/site_perl
    /Library/Gentoo/usr/lib/perl5/5.10.0/darwin-2level
    /Library/Gentoo/usr/lib/perl5/5.10.0
    /usr/local/lib/site_perl
    .

Looks pretty much as "correct" order to me.
Comment 6 Torsten Veller (RETIRED) gentoo-dev 2009-08-08 09:10:07 UTC
I'd propose to change this to:
site > vendor > core

And ebuilds should only install to vendor and local changes go to site.

Patches for this change should be in `blead`
Comment 7 Torsten Veller (RETIRED) gentoo-dev 2009-09-28 18:03:04 UTC
Fixed for perl-5.10.1: site > vendor > core