[Python-checkins] python/dist/src install-sh,2.4,2.5

loewis@users.sourceforge.net loewis@users.sourceforge.net
2003年6月13日 23:58:34 -0700


Update of /cvsroot/python/python/dist/src
In directory sc8-pr-cvs1:/tmp/cvs-serv25729
Modified Files:
	install-sh 
Log Message:
Patch #746366: Update to current automake install-sh. Will backport to 2.2.
Index: install-sh
===================================================================
RCS file: /cvsroot/python/python/dist/src/install-sh,v
retrieving revision 2.4
retrieving revision 2.5
diff -C2 -d -r2.4 -r2.5
*** install-sh	10 Feb 2001 20:04:53 -0000	2.4
--- install-sh	14 Jun 2003 06:58:32 -0000	2.5
***************
*** 2,18 ****
 #
 # install - install a program, script, or datafile
- # This comes from X11R5 (mit/util/scripts/install.sh).
 #
! # Copyright 1991 by the Massachusetts Institute of Technology
 #
! # Permission to use, copy, modify, distribute, and sell this software and its
! # documentation for any purpose is hereby granted without fee, provided that
! # the above copyright notice appear in all copies and that both that
! # copyright notice and this permission notice appear in supporting
! # documentation, and that the name of M.I.T. not be used in advertising or
! # publicity pertaining to distribution of the software without specific,
! # written prior permission. M.I.T. makes no representations about the
! # suitability of this software for any purpose. It is provided "as is"
! # without express or implied warranty.
 #
 # Calling this script install-sh is preferred over install.sh, to prevent
--- 2,36 ----
 #
 # install - install a program, script, or datafile
 #
! # This originates from X11R5 (mit/util/scripts/install.sh), which was
! # later released in X11R6 (xc/config/util/install.sh) with the
! # following copyright and license.
 #
! # Copyright (C) 1994 X Consortium
! #
! # Permission is hereby granted, free of charge, to any person obtaining a copy
! # of this software and associated documentation files (the "Software"), to
! # deal in the Software without restriction, including without limitation the
! # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
! # sell copies of the Software, and to permit persons to whom the Software is
! # furnished to do so, subject to the following conditions:
! #
! # The above copyright notice and this permission notice shall be included in
! # all copies or substantial portions of the Software.
! #
! # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
! # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
! # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
! # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
! # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
! # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
! #
! # Except as contained in this notice, the name of the X Consortium shall not
! # be used in advertising or otherwise to promote the sale, use or other deal-
! # ings in this Software without prior written authorization from the X Consor-
! # tium.
! #
! #
! # FSF changes to this file are in the public domain.
 #
 # Calling this script install-sh is preferred over install.sh, to prevent
***************
*** 57,61 ****
 while [ x"1ドル" != x ]; do
 case 1ドル in
! 	-c) instcmd="$cpprog"
 	 shift
 	 continue;;
--- 75,79 ----
 while [ x"1ドル" != x ]; do
 case 1ドル in
! 	-c) instcmd=$cpprog
 	 shift
 	 continue;;
***************
*** 80,84 ****
 	 continue;;
 
! 	-s) stripcmd="$stripprog"
 	 shift
 	 continue;;
--- 98,102 ----
 	 continue;;
 
! 	-s) stripcmd=$stripprog
 	 shift
 	 continue;;
***************
*** 107,114 ****
 if [ x"$src" = x ]
 then
! 	echo "install:	no input file specified"
 	exit 1
 else
! 	true
 fi
 
--- 125,132 ----
 if [ x"$src" = x ]
 then
! 	echo "0ドル: no input file specified" >&2
 	exit 1
 else
! 	:
 fi
 
***************
*** 116,146 ****
 	dst=$src
 	src=""
! 	
! 	if [ -d $dst ]; then
 		instcmd=:
 		chmodcmd=""
 	else
! 		instcmd=mkdir
 	fi
 else
 
 # Waiting for this to be detected by the "$instcmd $src $dsttmp" command
! # might cause directories to be created, which would be especially bad 
 # if $src (and thus $dsttmp) contains '*'.
 
! 	if [ -f $src -o -d $src ]
 	then
! 		true
 	else
! 		echo "install: $src does not exist"
 		exit 1
 	fi
! 	
 	if [ x"$dst" = x ]
 	then
! 		echo "install:	no destination specified"
 		exit 1
 	else
! 		true
 	fi
 
--- 134,164 ----
 	dst=$src
 	src=""
! 
! 	if [ -d "$dst" ]; then
 		instcmd=:
 		chmodcmd=""
 	else
! 		instcmd=$mkdirprog
 	fi
 else
 
 # Waiting for this to be detected by the "$instcmd $src $dsttmp" command
! # might cause directories to be created, which would be especially bad
 # if $src (and thus $dsttmp) contains '*'.
 
! 	if [ -f "$src" ] || [ -d "$src" ]
 	then
! 		:
 	else
! 		echo "0ドル: $src does not exist" >&2
 		exit 1
 	fi
! 
 	if [ x"$dst" = x ]
 	then
! 		echo "0ドル: no destination specified" >&2
 		exit 1
 	else
! 		:
 	fi
 
***************
*** 148,161 ****
 # does not like double slashes in filenames, you may need to add some logic
 
! 	if [ -d $dst ]
 	then
! 		dst="$dst"/`basename $src`
 	else
! 		true
 	fi
 fi
 
 ## this sed command emulates the dirname command
! dstdir=`echo $dst | sed -e 's,[^/]*,,ドル;s,/,,ドル;s,^,ドル.,'`
 
 # Make sure that the destination directory exists.
--- 166,179 ----
 # does not like double slashes in filenames, you may need to add some logic
 
! 	if [ -d "$dst" ]
 	then
! 		dst=$dst/`basename "$src"`
 	else
! 		:
 	fi
 fi
 
 ## this sed command emulates the dirname command
! dstdir=`echo "$dst" | sed -e 's,[^/]*,,ドル;s,/,,ドル;s,^,ドル.,'`
 
 # Make sure that the destination directory exists.
***************
*** 164,191 ****
 # Skip lots of stat calls in the usual case.
 if [ ! -d "$dstdir" ]; then
! defaultIFS='	
! '
! IFS="${IFS-${defaultIFS}}"
 
! oIFS="${IFS}"
 # Some sh's can't handle IFS=/ for some reason.
 IFS='%'
! set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
! IFS="${oIFS}"
 
 pathcomp=''
 
 while [ $# -ne 0 ] ; do
! 	pathcomp="${pathcomp}${1}"
 	shift
 
! 	if [ ! -d "${pathcomp}" ] ;
 then
! 		$mkdirprog "${pathcomp}"
 	else
! 		true
 	fi
 
! 	pathcomp="${pathcomp}/"
 done
 fi
--- 182,209 ----
 # Skip lots of stat calls in the usual case.
 if [ ! -d "$dstdir" ]; then
! defaultIFS='
! 	'
! IFS="${IFS-$defaultIFS}"
 
! oIFS=$IFS
 # Some sh's can't handle IFS=/ for some reason.
 IFS='%'
! set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
! IFS=$oIFS
 
 pathcomp=''
 
 while [ $# -ne 0 ] ; do
! 	pathcomp=$pathcomp1ドル
 	shift
 
! 	if [ ! -d "$pathcomp" ] ;
 then
! 		$mkdirprog "$pathcomp"
 	else
! 		:
 	fi
 
! 	pathcomp=$pathcomp/
 done
 fi
***************
*** 193,211 ****
 if [ x"$dir_arg" != x ]
 then
! 	$doit $instcmd $dst &&
 
! 	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
! 	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
! 	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
! 	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
 else
 
 # If we're going to rename the final executable, determine the name now.
 
! 	if [ x"$transformarg" = x ] 
 	then
! 		dstfile=`basename $dst`
 	else
! 		dstfile=`basename $dst $transformbasename | 
 			sed $transformarg`$transformbasename
 	fi
--- 211,229 ----
 if [ x"$dir_arg" != x ]
 then
! 	$doit $instcmd "$dst" &&
 
! 	if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
! 	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
! 	if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
! 	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
 else
 
 # If we're going to rename the final executable, determine the name now.
 
! 	if [ x"$transformarg" = x ]
 	then
! 		dstfile=`basename "$dst"`
 	else
! 		dstfile=`basename "$dst" $transformbasename |
 			sed $transformarg`$transformbasename
 	fi
***************
*** 213,232 ****
 # don't allow the sed command to completely eliminate the filename
 
! 	if [ x"$dstfile" = x ] 
 	then
! 		dstfile=`basename $dst`
 	else
! 		true
 	fi
 
! # Make a temp file name in the proper directory.
 
 	dsttmp=$dstdir/#inst.$$#
 
! # Move or copy the file name to the temp name
 
! 	$doit $instcmd $src $dsttmp &&
 
! 	trap "rm -f ${dsttmp}" 0 &&
 
 # and set any options; do chmod last to preserve setuid bits
--- 231,254 ----
 # don't allow the sed command to completely eliminate the filename
 
! 	if [ x"$dstfile" = x ]
 	then
! 		dstfile=`basename "$dst"`
 	else
! 		:
 	fi
 
! # Make a couple of temp file names in the proper directory.
 
 	dsttmp=$dstdir/#inst.$$#
+ 	rmtmp=$dstdir/#rm.$$#
 
! # Trap to clean up temp files at exit.
 
! 	trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
! 	trap '(exit $?); exit' 1 2 13 15
 
! # Move or copy the file name to the temp name
! 
! 	$doit $instcmd "$src" "$dsttmp" &&
 
 # and set any options; do chmod last to preserve setuid bits
***************
*** 236,251 ****
 # errors from the above "$doit $instcmd $src $dsttmp" command.
 
! 	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
! 	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
! 	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
! 	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
 
 # Now rename the file to the real destination.
 
! 	$doit $rmcmd -f $dstdir/$dstfile &&
! 	$doit $mvcmd $dsttmp $dstdir/$dstfile 
 
 fi &&
 
 
! exit 0
--- 258,294 ----
 # errors from the above "$doit $instcmd $src $dsttmp" command.
 
! 	if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
! 	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
! 	if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
! 	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
! 
! # Now remove or move aside any old file at destination location. We try this
! # two ways since rm can't unlink itself on some systems and the destination
! # file might be busy for other reasons. In this case, the final cleanup
! # might fail but the new file should still install successfully.
! 
! {
! 	if [ -f "$dstdir/$dstfile" ]
! 	then
! 		$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
! 		$doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
! 		{
! 		 echo "0ドル: cannot unlink or rename $dstdir/$dstfile" >&2
! 		 (exit 1); exit
! 		}
! 	else
! 		:
! 	fi
! } &&
 
 # Now rename the file to the real destination.
 
! 	$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
 
 fi &&
 
+ # The final little trick to "correctly" pass the exit status to the exit trap.
 
! {
! 	(exit 0); exit
! }

AltStyle によって変換されたページ (->オリジナル) /