[exim-cvs] cvs commit: exim/exim-src/scripts exim_install

Kezdőlap
Üzenet törlése
Válasz az üzenetre
Szerző: Philip Hazel
Dátum:  
Címzett: exim-cvs
Tárgy: [exim-cvs] cvs commit: exim/exim-src/scripts exim_install
ph10 2005/09/06 14:18:13 BST

  Modified files:
    exim-src/scripts     exim_install 
  Log:
  Make exim_install pay attention to CHOWN_COMMAND in Makefile.


  Revision  Changes    Path
  1.2       +27 -2     exim/exim-src/scripts/exim_install


  Index: exim_install
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/scripts/exim_install,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- exim_install    6 Oct 2004 15:07:40 -0000    1.1
  +++ exim_install    6 Sep 2005 13:18:13 -0000    1.2
  @@ -1,5 +1,5 @@
   #! /bin/sh
  -# $Cambridge: exim/exim-src/scripts/exim_install,v 1.1 2004/10/06 15:07:40 ph10 Exp $
  +# $Cambridge: exim/exim-src/scripts/exim_install,v 1.2 2005/09/06 13:18:13 ph10 Exp $


   # Script to install Exim binaries in BIN_DIRECTORY, which is defined in
   # the local Makefile. It expects to be run in a build directory. It needs
  @@ -71,6 +71,10 @@
   CONFIGURE_FILE=`sed -n -e '/^ *CONFIGURE_FILE *=/{s/^[^=]*= *//; s/ \{1,\}#.*//;s/ *$//;h;}' -e '${g;p;}' Makefile`
   INFO_DIRECTORY=`sed -n -e '/^ *INFO_DIRECTORY *=/{s/^[^=]*= *//; s/ \{1,\}#.*//;s/ *$//;h;}' -e '${g;p;}' Makefile`
   NO_SYMLINK=`sed -n         -e '/^ *NO_SYMLINK *=/{s/^[^=]*= *//; s/ \{1,\}#.*//;s/ *$//;h;}' -e '${g;p;}' Makefile`
  +
  +CHOWN=`sed -n           -e '/^ *CHOWN_COMMAND *=/{s/^[^=]*= *//; s/ \{1,\}#.*//;s/ *$//;h;}' -e '${g;p;}' Makefile`
  +MV=`sed -n                 -e '/^ *MV_COMMAND *=/{s/^[^=]*= *//; s/ \{1,\}#.*//;s/ *$//;h;}' -e '${g;p;}' Makefile`
  +
   SYSTEM_ALIASES_FILE=`sed -n -e '/^ *SYSTEM_ALIASES_FILE *=/{s/^[^=]*= *//; s/ \{1,\}#.*//;s/ *$//;h;}' -e '${g;p;}' Makefile`
   EXE=`sed -n                                 -e '/^ *EXE *=/{s/^[^=]*= *//; s/ \{1,\}#.*//;s/ *$//;h;}' -e '${g;p;}' Makefile`


  @@ -86,11 +90,12 @@
   case "$INST_INFO_DIRECTORY"      in ?*) INFO_DIRECTORY="$INST_INFO_DIRECTORY";; esac
   case "$INST_SYSTEM_ALIASES_FILE" in ?*) SYSTEM_ALIASES_FILE="$INST_SYSTEM_ALIASES_FILE";; esac


  +case "$INST_CHOWN"               in ?*) CHOWN="$INST_CHOWN";; esac
  +case "$INST_MV"                  in ?*) MV="$INST_MV";; esac
  +
   case "$INST_UID"     in '') INST_UID=root;;    *) INST_UID="$INST_UID";; esac
   case "$INST_CP"      in '') CP=cp;;            *) CP="$INST_CP";; esac
  -case "$INST_MV"      in '') MV=mv;;            *) MV="$INST_MV";; esac
   case "$INST_LN"      in '') LN=ln;;            *) LN="$INST_LN";; esac
  -case "$INST_CHOWN"   in '') CHOWN=chown;;      *) CHOWN="$INST_CHOWN";; esac
   case "$INST_CHMOD"   in '') CHMOD=chmod;;      *) CHMOD="$INST_CHMOD";; esac
   case "$INST_DIRNAME" in '') DIRNAME=dirname;;  *) DIRNAME="$INST_DIRNAME";; esac
   case "$INST_MKDIR"   in '') MKDIR=mkdir;;      *) MKDIR="$INST_MKDIR";; esac
  @@ -142,6 +147,26 @@
   if [ "${CHOWN}" = "chown" -a ! -f /usr/bin/chown -a -f /usr/etc/chown ] ; then
     CHOWN=/usr/etc/chown
   fi
  +
  +# The values of CHOWN and MV taken from the Makefile are sometimes set to
  +# "look_for_it", which causes a search of the usual suspects. This code is
  +# similar to that in exicyclog, but has to be fudged for upper/lower case
  +# distinctions.
  +
  +for cmd in CHOWN MV ; do
  +  eval "oldcmd=\$$cmd"
  +  if [ "$oldcmd" != "look_for_it" ] ; then continue ; fi
  +  if [ "$cmd" = "CHOWN" ] ; then cmdlc="chown" ; fi
  +  if [ "$cmd" = "MV" ] ; then cmdlc="mv" ; fi
  +  newcmd=$cmdlc
  +  for dir in /bin /usr/bin /usr/sbin /usr/etc ; do
  +    if [ -f $dir/$cmdlc ] ; then
  +      newcmd=$dir/$cmdlc
  +      break
  +    fi
  +  done
  +  eval $cmd=$newcmd
  +done


# See if the exim monitor has been built