git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: "H.Merijn Brand" <h.m.brand@xs4all.nl>
Cc: Andy Dougherty <doughera@lafayette.edu>, git@vger.kernel.org
Subject: Re: [PATCH] Explain what 'ginstall' is
Date: Tue, 18 Dec 2007 15:03:09 +0100	[thread overview]
Message-ID: <200712181503.10614.jnareb@gmail.com> (raw)
In-Reply-To: <20071218143246.2437bfaf@pc09.procura.nl>

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?

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.

> /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

-- >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

-- 
Jakub Narebski
Poland

  reply	other threads:[~2007-12-18 14:04 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-17 21:46 [PATCH] Explain what 'ginstall' is Andy Dougherty
2007-12-18  1:21 ` Jakub Narebski
2007-12-18  7:38   ` H.Merijn Brand
2007-12-18  8:20     ` Jakub Narebski
2007-12-18  8:38       ` H.Merijn Brand
2007-12-18  9:14         ` Jakub Narebski
2007-12-18 11:11           ` H.Merijn Brand
2007-12-18 12:32             ` Jakub Narebski
2007-12-18 13:32               ` H.Merijn Brand
2007-12-18 14:03                 ` Jakub Narebski [this message]
2007-12-18 14:27                   ` H.Merijn Brand
2007-12-23  9:01   ` Jan Hudec

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200712181503.10614.jnareb@gmail.com \
    --to=jnareb@gmail.com \
    --cc=doughera@lafayette.edu \
    --cc=git@vger.kernel.org \
    --cc=h.m.brand@xs4all.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).