Re: [PATCH] Explain what 'ginstall' is
On Tue, 18 Dec 2007 15:03:09 +0100, Jakub Narebski <jnareb@gmail.com> wrote:
Show 34 quoted lines
> On Tue, 18 Dec 2007, H.Merijn Brand wrote:
> > On Tue, 18 Dec 2007 13:32:59 +0100, Jakub Narebski <jnareb@gmail.com> wrote:
> >> H.Merijn Brand wrote:
> >>> On Tue, 18 Dec 2007 10:14:38 +0100, Jakub Narebski <jnareb@gmail.com> wrote:
> >>>>
> >>>> 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?
> >
> > No. I reported this before, but not to the list. This is why I created
> > my own make-install shell:
>
> I though that you were talking about _default_ 'install' program
> (first in PATH). Is /opt/imake/bin/install used below?Yes. There is only ONE install program
(that is a small lie, there is also /usr/sbin/install, but that is not
accessible for mortal users)
> I have forgot to tell that beside uncommenting AC_PROG_INSTALL line
> in configure.ac (and doing "make configure") you have to also uncomment
> the "INSTALL = @INSTALL@" in config.mak.in for "make install" to use
> install program found by ./configure script.
But I don't think it found install-sh.
/pro/3gl/LINUX/git-2007-12-17 103 > grep -w install config-log checking for a BSD-compatible install... /opt/imake/bin/install -c
Show 24 quoted lines
> > /pro/3gl/LINUX/git-2007-12-17 113> make install
> > SUBDIR git-gui
> > INDEX lib/
> > SUBDIR gitk-git
> > make[1]: Nothing to be done for `all'.
> > SUBDIR perl
> > SUBDIR templates
> > install -d -m 755 '/pro/local/bin'
> > rm: /pro/local/bin/ directory
> > Usage: mv [-f] [-i] [-e warn|force|ignore] f1 f2
> > mv [-f] [-i] [-e warn|force|ignore] f1 ... fn d1
> > mv [-f] [-i] [-e warn|force|ignore] d1 d2
>
> Strange...
>
> By the way, I have took a look at hos ./configure script chooses which
> 'install' to use, and at least for GNU Autoconf 2.59 it does not talk
> about HP-UX at all, and checks binaries to reject by grepping for
> a string, instead of checking if it install files correctly using some
> script (at least checking if it install files and creates directories,
> and accepts install options used, without checking for correct permissions
> and group, etc.).
>
> Relevant fragment of generated ./configure script
http://www.xs4all.nl/~procura/configure
added a 'set -x' there:
configure: CHECKS for programs
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
+ echo configure:2219: checking for a BSD-compatible install
+ 1>& 5
+ echo checking for a BSD-compatible install... \c
+ 1>& 6
checking for a BSD-compatible install... + test -z
+ test = set
+ as_save_IFS=
+ IFS=:
+ IFS=
+ test -z .
+ IFS=
+ test -z /u/usr/merijn/bin/private
+ test -f /u/usr/merijn/bin/private/ginstall
+ test -f /u/usr/merijn/bin/private/scoinst
+ test -f /u/usr/merijn/bin/private/install
+ IFS=
etc etc for the rest of the $PATH ...
+ test -z /opt/imake/bin
+ test -f /opt/imake/bin/ginstall
+ test -f /opt/imake/bin/scoinst
+ test -f /opt/imake/bin/install
+ test install = install
+ grep dspmsg /opt/imake/bin/install
+ 1> /dev/null 2>& 1
+ test install = install
+ grep pwplus /opt/imake/bin/install
+ 1> /dev/null 2>& 1
+ ac_cv_path_install=/opt/imake/bin/install -c
+ break 3
+ test set = set
+ INSTALL=/opt/imake/bin/install -c
+ echo configure:2274: result: /opt/imake/bin/install -c
+ 1>& 5
+ echo /opt/imake/bin/install -c
+ 1>& 6
/opt/imake/bin/install -c
+ exit
+ exit_status=0
+ 1>& 5
+ echo
+ cat
+ 0< /var/tmp/sh8180.20
+ echo
+ 2>& 1
+ 2>& 1
+ sed -n s/'/'\\''/g;
s/^\([_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*_cv_[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*\)=\(.*\)/\1='\2'/p
+ echo
+ cat
+ 0< /var/tmp/sh8180.21
+ echo
+ sort
+ echo SHELL
+ eval ac_val=$SHELL
:
:
+ ac_val=o
+ echo OBJEXT='o'
+ echo INSTALL_PROGRAM
+ eval ac_val=$INSTALL_PROGRAM
+ ac_val=
+ echo INSTALL_PROGRAM=''
+ echo INSTALL_SCRIPT
+ eval ac_val=$INSTALL_SCRIPT
+ ac_val=
+ echo INSTALL_SCRIPT=''
+ echo INSTALL_DATA
+ eval ac_val=$INSTALL_DATA
+ ac_val=
+ echo INSTALL_DATA=''
+ echo AR
+ eval ac_val=$AR
:
:
+ echo
+ test -n
+ test -s confdefs.h
+ cat
+ 0< /var/tmp/sh8180.23
+ echo
+ sed /^$/d confdefs.h
+ sort
+ echo
+ test 0 != 0
+ echo configure: exit 0
+ rm -f core *.core
+ rm -rf conftest* confdefs.h conf8180*Show 73 quoted lines
> -- >8 -- configure
>
> # Find a good install program. We prefer a C program (faster),
> # so one script is as good as another. But avoid the broken or
> # incompatible versions:
> # SysV /etc/install, /usr/sbin/install
> # SunOS /usr/etc/install
> # IRIX /sbin/install
> # AIX /bin/install
> # AmigaOS /C/install, which installs bootblocks on floppy discs
> # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
> # AFS /usr/afsws/bin/install, which mishandles nonexistent args
> # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
> # OS/2's system install, which has a completely different semantic
> # ./install, which can be erroneously created by make from ./install.sh.
> echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
> echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
> if test -z "$INSTALL"; then
> if test "${ac_cv_path_install+set}" = set; then
> echo $ECHO_N "(cached) $ECHO_C" >&6
> else
> as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
> for as_dir in $PATH
> do
> IFS=$as_save_IFS
> test -z "$as_dir" && as_dir=.
> # Account for people who put trailing slashes in PATH elements.
> case $as_dir/ in
> ./ | .// | /cC/* | \
> /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
> ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
> /usr/ucb/* ) ;;
> *)
> # OSF1 and SCO ODT 3.0 have their own names for install.
> # Don't use installbsd from OSF since it installs stuff as root
> # by default.
> for ac_prog in ginstall scoinst install; do
> for ac_exec_ext in '' $ac_executable_extensions; do
> if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
> if test $ac_prog = install &&
> grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
> # AIX install. It has an incompatible calling convention.
> :
> elif test $ac_prog = install &&
> grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
> # program-specific install script used by HP pwplus--don't use.
> :
> else
> ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
> break 3
> fi
> fi
> done
> done
> ;;
> esac
> done
>
>
> fi
> if test "${ac_cv_path_install+set}" = set; then
> INSTALL=$ac_cv_path_install
> else
> # As a last resort, use the slow shell script. We don't cache a
> # path for INSTALL within a source directory, because that will
> # break other packages using the cache if that directory is
> # removed, or if the path is relative.
> INSTALL=$ac_install_sh
> fi
> fi
> echo "$as_me:$LINENO: result: $INSTALL" >&5
> echo "${ECHO_T}$INSTALL" >&6
> --
H.Merijn Brand Amsterdam Perl Mongers (http://amsterdam.pm.org/)
using & porting perl 5.6.2, 5.8.x, 5.10.x on HP-UX 10.20, 11.00, 11.11,
& 11.23, SuSE 10.1 & 10.2, AIX 5.2, and Cygwin. http://qa.perl.org
http://mirrors.develooper.com/hpux/ http://www.test-smoke.org
http://www.goldmark.org/jeff/stupid-disclaimers/