git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Explain what 'ginstall' is

From
H.Merijn Brand <h.m.brand@xs4all.nl>
Date
Dec 18, 2007, 14:27 UTC
Message-ID
<20071218152739.060af760@pc09.procura.nl>
In-Reply-To
<200712181503.10614.jnareb@gmail.com>
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/
Previous: Jakub NarebskiNext: Jan Hudec
Message 11 of 12 in “Explain what 'ginstall' is”
  1. Explain what 'ginstall' isAndy Dougherty, Dec 17, 2007
  2. Jakub NarebskiDec 18, 2007
  3. H.Merijn BrandDec 18, 2007
  4. Jakub NarebskiDec 18, 2007
  5. H.Merijn BrandDec 18, 2007
  6. Jakub NarebskiDec 18, 2007
  7. H.Merijn BrandDec 18, 2007
  8. Jakub NarebskiDec 18, 2007
  9. H.Merijn BrandDec 18, 2007
  10. Jakub NarebskiDec 18, 2007
  11. H.Merijn BrandDec 18, 2007
  12. Jan HudecDec 23, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.