Re: INSTALLSCRIPT doesn't have 'site', 'vendor' values?

2002-11-08 Thread Ken Williams

On Thursday, November 7, 2002, at 05:56  PM, Andreas J. Koenig wrote:


On Thu, 7 Nov 2002 13:18:17 +1100, Ken Williams 
[EMAIL PROTECTED] said:


Okay.  I'll wait a week or so for someone like Andreas or Andy to
chime in and explain why there are no other INSTALL*SCRIPT entries,
and if that doesn't happen I'll assume it's an error and I'll try to
fix it.


Sorry, I have no answer to this one.


Would it be wrong to just put scripts into INSTALL*BIN?  Do we really
need to make a big distinction between executable binaries and
executable scripts?


The reason for 'script' being separated from 'bin' was that you can
share scripts between architectures but usually cannot share binaries.

If people actually make use of this distiction, nobody knows.


It sounds like the kind of thing someone's going to be using somewhere, 
so it probably shouldn't get completely broken.

If I were to fix this, I think there would be a few parts to it:

 1) MakeMaker should try to determine a better place to put scripts (by 
guessing)
 2) EU::Install should honor that
 3) Config.pm should have INSTALLSITESCRIPT and INSTALLVENDORSCRIPT 
entries so MM doesn't have to guess

In practice, I don't think any 'hints' files (in 5.8, anyway) have 
INSTALLBIN and INSTALLSCRIPT different, so it's probably pretty safe to 
guess from INSTALL*BIN, I think.

Then I have to figure out how to cooperate/repeat with Module::Build.

 -Ken



Re: INSTALLSCRIPT doesn't have 'site', 'vendor' values?

2002-11-08 Thread Michael G Schwern
On Thu, Nov 07, 2002 at 07:54:18PM +1100, Ken Williams wrote:
 It sounds like the kind of thing someone's going to be using somewhere, 
 so it probably shouldn't get completely broken.

The two likely candidates are AFS users, who routinely shuffle files around
all over the place and use obscure features of MM, and module repackagers
(ie. Redhat, Debian, etc...) who need to seperate out architecture dependent
vs independent bits.


 If I were to fix this, I think there would be a few parts to it:
 
  1) MakeMaker should try to determine a better place to put scripts (by 
 guessing)

Should be possible using the same tricks as the other iffy variables in
init_INSTALL().


  2) EU::Install should honor that

It'll do that automaticly.  It doesn't know anything about the INSTALL*
variables, it just gets fed paths.  ExtUtils::Install is really just a
glorified copy command like GNU install.


  3) Config.pm should have INSTALLSITESCRIPT and INSTALLVENDORSCRIPT 
 entries so MM doesn't have to guess

We'll still have to guess for all older versions, so no code savings there.
:(


 In practice, I don't think any 'hints' files (in 5.8, anyway) have 
 INSTALLBIN and INSTALLSCRIPT different, so it's probably pretty safe to 
 guess from INSTALL*BIN, I think.
 
 Then I have to figure out how to cooperate/repeat with Module::Build.


-- 

Michael G. Schwern   [EMAIL PROTECTED]http://www.pobox.com/~schwern/
Perl Quality Assurance  [EMAIL PROTECTED] Kwalitee Is Job One
You see, in this world there's two kinds of people.  Those with loaded
guns, and those who dig.  Dig.
-- Blondie, The Good, The Bad And The Ugly



Re: INSTALLSCRIPT doesn't have 'site', 'vendor' values?

2002-11-06 Thread Ken Williams

On Thursday, November 7, 2002, at 12:37  PM, Michael G Schwern wrote:


On Tue, Nov 05, 2002 at 12:54:22PM +1100, Ken Williams wrote:

I'm curious about why INST_SCRIPT doesn't have different values in the
three columns.  Is this why things like LWP's HEAD script are
installing to /usr/bin on OS X instead of to /usr/local/bin?


Config.pm has installbin, installsitebin and installvendorbin but only
installscript.  Dunno why.  There's no reason INSTALLSITESCRIPT and
INSTALLVENDORSCRIPT couldn't be figured out like the other 
variables that
aren't in Config.pm are.

Honestly, I was just sick of the whole PREFIX problem and 
decided to leave
it as is.  I'll welcome a patch.

Okay.  I'll wait a week or so for someone like Andreas or Andy 
to chime in and explain why there are no other INSTALL*SCRIPT 
entries, and if that doesn't happen I'll assume it's an error 
and I'll try to fix it.

Would it be wrong to just put scripts into INSTALL*BIN?  Do we 
really need to make a big distinction between executable 
binaries and executable scripts?  I'm ignorant of the important 
issues, but if we could just use INSTALL*BIN it wouldn't require 
patching Config.pm and all the stuff that generates it in the 
perl core.

 -Ken



Re: INSTALLSCRIPT doesn't have 'site', 'vendor' values?

2002-11-06 Thread Michael G Schwern
On Thu, Nov 07, 2002 at 01:18:17PM +1100, Ken Williams wrote:
 Would it be wrong to just put scripts into INSTALL*BIN?  Do we 
 really need to make a big distinction between executable 
 binaries and executable scripts?  I'm ignorant of the important 
 issues, but if we could just use INSTALL*BIN it wouldn't require 
 patching Config.pm and all the stuff that generates it in the 
 perl core.

I dunno, some people out there still worry that /usr/bin is for machine-code
binaries and scripts should go elsewhere. *shrug*  That's a boat I will
leave to the Config folks to rock.


-- 

Michael G. Schwern   [EMAIL PROTECTED]http://www.pobox.com/~schwern/
Perl Quality Assurance  [EMAIL PROTECTED] Kwalitee Is Job One
Nature is pissed.
http://www.unamerican.com/



Re: INSTALLSCRIPT doesn't have 'site', 'vendor' values?

2002-11-06 Thread Andreas J. Koenig
 On Thu, 7 Nov 2002 13:18:17 +1100, Ken Williams [EMAIL PROTECTED] said:

   Okay.  I'll wait a week or so for someone like Andreas or Andy to
   chime in and explain why there are no other INSTALL*SCRIPT entries,
   and if that doesn't happen I'll assume it's an error and I'll try to
   fix it.

Sorry, I have no answer to this one.

   Would it be wrong to just put scripts into INSTALL*BIN?  Do we really
   need to make a big distinction between executable binaries and
   executable scripts?

The reason for 'script' being separated from 'bin' was that you can
share scripts between architectures but usually cannot share binaries.

If people actually make use of this distiction, nobody knows.

-- 
andreas



Re: INSTALLSCRIPT doesn't have 'site', 'vendor' values?

2002-11-05 Thread Ken Williams

On Wednesday, November 6, 2002, at 02:49  AM, Soren A wrote:


On Tue, 05 Nov 2002 01:54:22 GMT:


From: [EMAIL PROTECTED] (Ken Williams)


Oh, sheesh. Probably I was an idiot to answer this article of Ken's. I
think he's probably well-aware of all the points I made; I momentarily
blanked on who this poster was.


I think I probably don't have such a high standard as that. =)  
And in any case, I'm not sure any human could keep track of all 
the MakeMaker options in his/her head at once.

 -Ken



Re: INSTALLSCRIPT doesn't have 'site', 'vendor' values?

2002-11-05 Thread Ken Williams

On Tuesday, November 5, 2002, at 02:15  PM, Soren Andersen wrote:


On Tue, 05 Nov 2002 01:54:22 GMT, [EMAIL PROTECTED] (Ken 
Williams) wrote
in news:814B3DD1-F061-11D6-AADE-003065F6D85A;mathforum.org:

I'm curious about why INST_SCRIPT doesn't have different values in the
three columns.  Is this why things like LWP's HEAD script are
installing to /usr/bin on OS X instead of to /usr/local/bin?


I recently noticed this too. My guess is that there is an assumption
that scripts are version-independent (or will take care of version
dependency by 'requiring' some version, I s'pose). Therefore no
alternative options are built in.


It's not so much version issues I'm concerned about, it's the 
separation of vendor-installed  user-installed scripts.  I see 
that my Config.pm has these entries:

 installbin='/usr/bin'
 installscript='/usr/bin'
 installsitebin='/usr/local/bin'
 installvendorbin='/usr/local/bin'
 sitebin='/usr/local/bin'
 sitebinexp='/usr/local/bin'
 vendorbin='/usr/local/bin'
 vendorbinexp='/usr/local/bin'

On my machine, the correct place for user-installed 
executables is /usr/local/bin, but unfortunately since there's 
no such thing as an installsitescript Config entry, they get 
shoved into /usr/bin, where they can (and do) clobber stuff that 
Apple installed there.

If your Config.pm doesn't contain appropriate values for your 
system, OTOH, then you may want to edit it.

I believe the above entries from my Config.pm are correct, but 
there still doesn't seem to be any opportunity for MakeMaker to 
install scripts to a site-specific directory.

Schwern, I know you've spend time thinking about these issues, 
do you know why this is, and/or what should be done about it?

 -Ken



Re: INSTALLSCRIPT doesn't have 'site', 'vendor' values?

2002-11-05 Thread Soren A
On Tue, 05 Nov 2002 23:09:44 GMT, [EMAIL PROTECTED] (Ken Williams) wrote in 
news:AC3B221A-F113-11D6-A12F-0003939C4354;mathforum.org:

 
 On Wednesday, November 6, 2002, at 02:49  AM, Soren A wrote:
 
 On Tue, 05 Nov 2002 01:54:22 GMT:

 From: [EMAIL PROTECTED] (Ken Williams)

 Oh, sheesh. Probably I was an idiot to answer this article of Ken's. I
 think he's probably well-aware of all the points I made; I momentarily
 blanked on who this poster was.
 
 I think I probably don't have such a high standard as that. =)  
 And in any case, I'm not sure any human could keep track of all 
 the MakeMaker options in his/her head at once.

I don't think so either. Tonight I may be nearly as close as i will ever 
get. By day after tomorrow probably half will have leaked out, at least.

 ;-)  Soren A

-- 

--*perlspinr*--
**Helping to consume excess Internet bandwidth since 1996**