On Wednesday, August 14, 2002, at 07:13 , Morbus Iff wrote:
>> #! /usr/bin/perl >> #! /usr/local/perl > > In the default Perl 5.6.0, it's located at /usr/bin/perl. With a default > install of Perl 5.8.0, it's installed into /usr/local/bin/perl, but also > /usr/bin/perl, allowing all scripts to function normally. In the > "overwrite > system" breed of install, the new Perl is installed into /usr/bin/perl > (only). { Editor's Note: my apologies that this is going to be a bit long, and technical but I fear that having illustrations of the issues may help clarify my concerns... } This is meandering towards my issue. I am less concerned with where the 'binary image' for "perl" is actually parked in the file system - eg: vladimir: 53:] ls -li /usr/bin/perl /usr/local/bin/perl /usr/local/bin/perl5.6* 558745 -rwxr-xr-x 3 root other 1167212 Aug 4 22:37 /usr/bin/ perl 558745 -rwxr-xr-x 3 root other 1167212 Aug 4 22:37 /usr/local/bin/perl 558745 -rwxr-xr-x 3 root other 1167212 Aug 4 22:37 /usr/local/bin/perl5.6.1 vladimir: 54:] one binary with two hard links... and one Inode to rule them all... I am concerned with how the Config.pm is rigged for dealing with a) subsequent installations of "executables" b) subsequent installations of "libraries" and "modules" when building perl - the specific questions from config deal with such matters as: "Do you want to configure vendor-specific add-on directories? [n] y Installation prefix to use for vendor-supplied add-ons? (~name ok) Installation prefix to use for vendor-supplied add-ons? (~name ok) /usr Pathname for the vendor-supplied library files? (~name ok) [/usr/lib/perl5/vendor_perl/5.6.1] Pathname for vendor-supplied architecture-dependent files? (~name ok) [/usr/lib/perl5/vendor_perl/5.6.1/i386-linux] Lastly, you can have perl look in other directories for extensions and modules in addition to those already specified. Enter a colon-separated set of extra paths to include in perl's @INC search path, or enter 'none' for no extra paths. Where do you keep publicly executable scripts? (~name ok) [/usr/bin] Pathname where the add-on public executables should be installed? (~name ok) [/usr/bin] /usr/local/bin " { from the linux build... } Given that I already have 'rules' about how to do this for the FreeBsd, Solaris, Linux installations - I thought I would see if darwin, being a bsd derived product, would follow the more traditional 'BSD-ism' of old. Things use to roll forward in the format /usr/unsupported - things we are not yet committed to /usr/local - our site specific tweeks /usr - vendor supplied, vendor supported But since I am not seeing 'perl' show up in the 'software updates' from Apple - it seems that I will be maintaining the perl release for our darwin boxes - hence.... I would prefer NOT to make a hash of it all. So jeeves here is still running the 5.6.0 release that came from Apple - but I have been installing various modules from the CPAN that I find useful.... but some of that causes some problems - as with the loss of /usr/bin/head... { yet I do not want to go through the game of having to rebuild mod_perl for apache on the darwin boxes.... so I am somewhat reluctant to simply 'shift it all and let God choose the losers' as we went through with the Main WebServer... } Back in the SunOS 4.X and smaller days, when it was a Pure BSDism they held to the true faith. Now that the Solaris world of 5.X has showed up they have gone over to the 'dark side'[1] and become one with the Evil AT&Tisms - some of which I like. But they started to deliver a minimal installation of perl 5.005_003 with 5.8 - and have it all jinkied about in /usr/perl - so my rebuild still allows that sun may do what it will - and hence the @INC is built for @INC: /usr/local/lib/perl5/5.6.1/sun4-solaris /usr/local/lib/perl5/5.6.1 /usr/local/lib/perl5/site_perl/5.6.1/sun4-solaris /usr/local/lib/perl5/site_perl/5.6.1 /usr/local/lib/perl5/site_perl/5.005/sun4-solaris /usr/local/lib/perl5/site_perl/5.005 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/vendor_perl/5.6.1/sun4-solaris /usr/local/lib/perl5/vendor_perl/5.6.1 /usr/local/lib/perl5/vendor_perl /usr/perl5 /usr/perl5/site_perl/5.005/sun4-solaris /usr/perl5/site_perl/5.005 /usr/perl5/site_perl . whereas my default darwinism from apple is: @INC: /System/Library/Perl/darwin /System/Library/Perl /Library/Perl/darwin /Library/Perl /Library/Perl /Network/Library/Perl/darwin /Network/Library/Perl /Network/Library/Perl . rather hinkey that with the duplications there... Since the Fink Folks are all in league with the idea of following the AT&T deathStar Sys V isms[2] of /sw - the spawn of /opt - which was the posix way[3] - it would seem that we will need to rebuild perl to include their section as a part of the @INC in perl - which can be done if you include their path section at the question "Enter a colon-separated set of extra paths to include in perl's @INC search path, or enter 'none' for no extra paths." which I did with the solaris build to include the /usr/perl5 stuff as noted above.... Just in case Sun opted to ship anything that would be targetted at their original notion, and/or, into the vendor_perl sub directory as occurred with the redhat 7.3 release of perl.... so all I really want to know is "what is the canonical orthodox perl way as executed in the canonical orthodox apple way?"[4] that I should be doing these builds of perl for darwin.[5] ciao drieux --- foot notes: [1] read as 'Spawn of Satan' [2] op cit supra 1 [3] op cit supra 2 [4] I am still working off enough bad kharma as it is... [5] God's One True, Holy and Divine Ordering of the Cosmos ps: Why does it not surprise me that PerlGeeks have 'religious wars' over whether or not the bumper sticker philosophies are truer than the pre bumper sticker philosophies.... but I guess it could be worse...