develooper Front page | perl.perl5.porters | Postings from April 2003

OS X's vendorlib default seems wrong

Thread Next
Michael G Schwern
April 6, 2003 14:07
OS X's vendorlib default seems wrong
Message ID:
Looking at hints/, I have some problems about the choice of 

/Network/Library, as I understand it (ADC is being flakey so I can't get
an official definition) is for libraries shared within your NetInfo domain.

vendor targets are for installing modules and libraries supplied by a vendor.
For example, a pre-packaged module gotten from fink or Apple.  It exists
so locally installed modules and official vendor installed modules don't
blow over each other.  There is, of course, the caveat in Configure which
says "Of course you may also use these directories in whatever way you
see fit" but for the default we should try to stick to the plan and keep
core, site and vendor targets well-formed.  Otherwise it causes Deep
Hurting down the road trying to pick them apart (see also Redhat).

vendorlib is set to /Network/Library/Perl/.  This doesn't jive with what
the vendor target is for.  Hopefully Apple isn't using the vendor target
as a hack to get shared Perl modules installed into /Network.

Since hints/ seems to be emulating Apple's configuration, vendorlib
should point to where Apple would put modules its supplied.  I don't
believe /System/Library is correct since its only supposed to contain 
things which come with OS X, not add-ons (correct me if I'm wrong).
/Network/Library is right out.  So somewhere in /Library seems best.
Possibly /Library/Perl/vendor_lib/.

There's a more fundamental question, should we be setting vendorlib at all?
Given that this is the Darwin hints file and that there are several Perl
vendors (fink, OpenDarwin, GNU/Darwin, Apple) can we make a correct
default choice for a vendor target?  No other hints file sets vendor*.

I think the hints file was written with the assumption that it would be
used by OS X users trying to replace the Apple supplied 5.6.0.  I don't
think this is a healthy assumption given the existence of other Perl
vendors anymore than hints/ should use Redhat-centric defaults.

At the minimum, this patch should be applied to shut off using the
vendor targets by default when not installing into /usr (ie. replacing the 
system perl).

--- hints/	2003/04/06 21:02:28	1.1
+++ hints/	2003/04/06 21:02:34
@@ -19,7 +19,7 @@
     # Default install; use non-system directories
     prefix='/usr/local'; # Built-in perl uses /usr
-    vendorprefix='/usr/local'; usevendorprefix='define';
+    vendorprefix='/usr/local';
     # Where to put modules.
     privlib="/Library/Perl/${version}"; # Built-in perl uses /System/Library/Perl

You can't control the universe with a jar of red pepper.

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About