Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 60811 - macos: dev-lang/perl-5.8.4-r1 MakeMaker defaults are /Network/Library instead of /System/Library
Summary: macos: dev-lang/perl-5.8.4-r1 MakeMaker defaults are /Network/Library instead...
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: osx porters
URL:
Whiteboard:
Keywords:
Depends on: 57677
Blocks:
  Show dependency tree
 
Reported: 2004-08-18 12:30 UTC by Robin Munn
Modified: 2007-03-20 21:08 UTC (History)
2 users (show)

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


Attachments
perl-5.8.4-macos-install-dirs.patch (perl-5.8.4-macos-install-dirs.patch,498 bytes, patch)
2004-08-18 12:31 UTC, Robin Munn
Details | Diff
perl-5.8.4-r1.ebuild.patch (perl-5.8.4-r1.ebuild.patch,993 bytes, patch)
2004-08-18 12:34 UTC, Robin Munn
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Robin Munn 2004-08-18 12:30:08 UTC
Panther (OS X 10.3) comes with perl 5.8.1-RC3, and the perl-module eclass requires perl >= 5.8.2. So I added the macos keyword to dev-lang/perl-5.8.4-r1 (at the time of writing this bug report, it's the latest perl ebuild that's not in portage.mask) and emerged it.

I had to install perl with FEATURES="-collision-protect" because in the install process, somehow it created /usr/bin/perl before the merge step and so the merge step detected a collision on /usr/bin/perl and refused to merge. I'll submit a separate bug report on this one once I narrow down the cause.

Perl appeared to install just fine. However, once I tried to install the dev-perl/XML-Parser module, I discovered that it was trying to install into /Network/Library instead of /System/Library. Very strange.

The README.macosx file in the Perl distribution source clued me in to what was going on: "Using an installation prefix of '/usr' will result in a directory layout that mirrors that of Apple's default Perl, with core modules stored in '/System/Library/Perl/${version}', CPAN modules stored in '/Library/Perl/${version}', and the addition of '/Network/Library/Perl/${version}' to @INC for modules that are stored on a file server and used by many Macs."

The file in the Perl distribution where those defaults can be found is hints/darwin.sh.

I'm calling the severity of this one "Major" because it makes it very difficult to install any Perl modules.

Reproducible: Always
Steps to Reproduce:
1. Add macos keyword to perl ebuild
2. emerge -av perl
3. emerge -av some-perl-module

Actual Results:  
some-perl-module tries to install into /Network/Library/Perl/5.8.4, and fails
with the error "/Network: read-only filesystem". (That may not be the exact
error message).

Expected Results:  
Installed into /System/Library instead of /Network/Library.

Portage 20040726 (default-macos-10.3, gcc-3.3, unavailable, 7.5.0 Power
Macintosh powerpc)
=================================================================
System uname: 7.5.0 Power Macintosh powerpc
macos-20040726
distcc 2.0.1-zeroconf powerpc-apple-darwin7.0 (protocol 1) (default port 3632)
[disabled]
Autoconf: 
Automake: 
Binutils: 
ACCEPT_KEYWORDS="macos"
AUTOCLEAN="yes"
CFLAGS="-O2 -pipe"
CHOST="powerpc-apple-darwin"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="collision-protect cvs keepwork"
GENTOO_MIRRORS="http://gentoo.osuosl.org/"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="macos apache2 jpeg perl"
Comment 1 Robin Munn 2004-08-18 12:31:59 UTC
Created attachment 37682 [details, diff]
perl-5.8.4-macos-install-dirs.patch

Here's a patch changing the default location from /Network/Library to
/System/Library for installation of perl modules via MakeMaker.
Comment 2 Robin Munn 2004-08-18 12:34:23 UTC
Created attachment 37683 [details, diff]
perl-5.8.4-r1.ebuild.patch

And here's a patch to the perl-5.8.4-r1 ebuild, to make it include the
default-directory-change patch.
Comment 3 Robin Munn 2004-08-18 12:55:56 UTC
Also see bug #57677 for some changes that need to be made to the perl-module.eclass file to install modules in /System/Library instead of /usr/System/Library.
Comment 4 Michael Cummings (RETIRED) gentoo-dev 2004-09-27 04:37:39 UTC
marking as a dep based on eclass changes necessary, not for the specifics of the package
Comment 5 Fabian Groffen gentoo-dev 2007-03-20 21:08:34 UTC
In prefix this bug looks obsolete to me.  I.e. the paths are fine, as we have our own perl.