Subject: Re: [PATCH] Explain what 'ginstall' is

From: Jakub Narebski <[email-masked]>
Date: Tue, 18 Dec 2007 13:32:59 +0100

H.Merijn Brand wrote:
> On Tue, 18 Dec 2007 10:14:38 +0100, Jakub Narebski <[email-masked]> wrote:
>> On Tue, 18 Dec 2007, H.Merijn Brand wrote:
>>> On Tue, 18 Dec 2007 09:20:38 +0100, Jakub Narebski <[email-masked]> wrote:
>>>> On Tue, 18 Dec 2007, H.Merijn Brand wrote:
>>>>> On Mon, 17 Dec 2007 17:21:08 -0800 (PST), Jakub Narebski wrote:
>>>>>>
>>>>>> Second, the default autoconf macro AC_PROG_INSTALL *requires* that
>>>>>> there is BSD-compatible `install' program (as 'install-sh' or
>>>>>> 'install.sh') in the sources.  Adding such script is (I think) not a
>>>>>> problem; finding minimal portable[*1*] script is.  
>>>>>> So if you know one... 
>>>> 
>>>> [...]. There is need for BSD-compatibile
>>>> `install` program as 'install-sh', not 'make-install' script. The idea
>>>> is to use system-provided 'install' if it exists and is compatibile,
>>> 
>>> There lies the problem. HP-UX does have an 'install', but it is not
>>> compatible, and chances are (very) small that people have installed
>>> the GNU or any other BSD compliant install.
>>> 
>>>> because it should be faster than script version, and fallback to 
>>>> provided install-sh only if system install is not found.
>>> 
>>> The problem again. It *does* find install, but it turns out to be
>>> unusable.
>> 
>> Could you check if ./configure correctly uses install-sh in your case?
>> Copy install-sh from for example autotools[*1*] (e.g. libtool has one)
>> to the git sources, uncomment line with AC_PROG_INSTALL in configure.ac,
>> generate configure script using "make configure" and check what
>> ./configure chooses.
>> 
>> In my case it is:
>> 
>>   $ cp /usr/share/libtool/install-sh .
>>   $ make configure
>>   GIT_VERSION = 1.5.4.rc0.56.g6fbe-dirty
>>       GEN configure
>>   $ ./configure
>>   configure: CHECKS for programs
>>   [...]
>>   checking for a BSD-compatible install... /usr/bin/install -c
>> 
>> What is ./configure output in your case?

> /pro/3gl/LINUX/git-2007-12-17 119> cp /pro/3gl/GNU/gcc/r3/gcc-4.2.2/install-sh install-sh

> -- uncommented the AC_PROG_INSTALL line ...

> OK, rebuild configure ...
> 
> a5:/pro/3gl/LINUX/git-2007-12-17 129> make configure
>     GEN configure
> a5:/pro/3gl/LINUX/git-2007-12-17 130> rm config.{log,status}
> a5:/pro/3gl/LINUX/git-2007-12-17 131> configure --prefix=/pro/local --disable-nls --without-iconv --with-perl=/pro/bin/perl> & config-log
> a5:/pro/3gl/LINUX/git-2007-12-17 132> grep -w install config-log config.log config.status
> config-log:checking for a BSD-compatible install... /opt/imake/bin/install -c
> config.log:configure:2218: checking for a BSD-compatible install
> config.log:configure:2273: result: /opt/imake/bin/install -c
> config.log:ac_cv_path_install='/opt/imake/bin/install -c'
> config.status:INSTALL="/opt/imake/bin/install -c"

Does chosen by ./configure script 'install' binary, namely 
/opt/imake/bin/install works correctly, meaning does it install
git correctly?

-- 
Jakub Narebski
Poland