[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
texinfo install-sh,1.1.1.1,1.2
From: |
karl |
Subject: |
texinfo install-sh,1.1.1.1,1.2 |
Date: |
Fri, 9 Jan 2004 14:33:39 +0100 |
Update of /cvsroot/texinfo/texinfo
In directory sheep:/tmp/cvs-serv22585
Modified Files:
install-sh
Log Message:
.
Index: install-sh
===================================================================
RCS file: /cvsroot/texinfo/texinfo/install-sh,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** install-sh 6 Dec 2003 01:30:41 -0000 1.1.1.1
--- install-sh 9 Jan 2004 13:33:37 -0000 1.2
***************
*** 2,6 ****
# install - install a program, script, or datafile
! scriptversion=2003-09-24.23
# This originates from X11R5 (mit/util/scripts/install.sh), which was
--- 2,6 ----
# install - install a program, script, or datafile
! scriptversion=2004-01-08.23
# This originates from X11R5 (mit/util/scripts/install.sh), which was
***************
*** 73,77 ****
usage="Usage: $0 [OPTION]... SRCFILE DSTFILE
! or: $0 -d DIR1 DIR2...
In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default.
--- 73,78 ----
usage="Usage: $0 [OPTION]... SRCFILE DSTFILE
! or: $0 [OPTION]... SRCFILES... DIRECTORY
! or: $0 -d DIRECTORIES...
In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default.
***************
*** 135,285 ****
--version) echo "$0 $scriptversion"; exit 0;;
! *) if test -z "$src"; then
! src=$1
! else
! # this colon is to work around a 386BSD /bin/sh bug
! :
! dst=$1
! fi
! shift
! continue;;
esac
done
! if test -z "$src"; then
! echo "$0: no input file specified." >&2
! exit 1
fi
! # Protect names starting with `-'.
! case $src in
! -*) src=./$src ;;
! esac
! if test -n "$dir_arg"; then
! dst=$src
! src=
! if test -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 test ! -f "$src" && test ! -d "$src"; then
! echo "$0: $src does not exist." >&2
! exit 1
! fi
! if test -z "$dst"; then
! echo "$0: no destination specified." >&2
! exit 1
! fi
! # Protect names starting with `-'.
! case $dst in
! -*) dst=./$dst ;;
! esac
! # If destination is a directory, append the input filename; won't work
! # if double slashes aren't ignored.
! if test -d "$dst"; then
! dst=$dst/`basename "$src"`
fi
- fi
! # This sed command emulates the dirname command.
! dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
! # Make sure that the destination directory exists.
! # Skip lots of stat calls in the usual case.
! if test ! -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@/@address@hidden' -e 'address@hidden@/@'`
! IFS=$oIFS
! pathcomp=
! while test $# -ne 0 ; do
! pathcomp=$pathcomp$1
! shift
! test -d "$pathcomp" || $mkdirprog "$pathcomp"
! pathcomp=$pathcomp/
! done
! fi
! if test -n "$dir_arg"; then
! $doit $instcmd "$dst" \
! && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
! && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
! && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
! && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
- else
- # If we're going to rename the final executable, determine the name now.
- if test -z "$transformarg"; then
- dstfile=`basename "$dst"`
else
! dstfile=`basename "$dst" $transformbasename \
! | sed $transformarg`$transformbasename
! fi
! # don't allow the sed command to completely eliminate the filename.
! test -z "$dstfile" && dstfile=`basename "$dst"`
! # Make a couple of temp file names in the proper directory.
! dsttmp=$dstdir/_inst.$$_
! rmtmp=$dstdir/_rm.$$_
! # Trap to clean up those 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.
! #
! # If any of these fail, we abort the whole thing. If we want to
! # ignore errors from any of these, just make sure not to ignore
! # errors from the above "$doit $instcmd $src $dsttmp" command.
! #
! { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
! && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
! && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
! && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
! # 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 test -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.
--- 136,299 ----
--version) echo "$0 $scriptversion"; exit 0;;
! *) # When -d is used, all remaining arguments are directories to create.
! test -n "$dir_arg" && break
! # Otherwise, the last argument is the destination. Remove it from
address@hidden
! for arg
! do
! shift
! if test -n "$dstarg"; then
! set fnord "$@" "$dstarg"
! shift
! fi
! dstarg=$arg
! done
! break;;
esac
done
! if test -z "$1"; then
! if test -z "$dir_arg"; then
! echo "$0: no input file specified." >&2
! exit 1
! fi
! # It's OK to call `install-sh -d' without argument.
! # This can happen when creating conditional directories.
! exit 0
fi
! for src
! do
! # Protect names starting with `-'.
! case $src in
! -*) src=./$src ;;
! esac
! if test -n "$dir_arg"; then
! dst=$src
! src=
! if test -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 test ! -f "$src" && test ! -d "$src"; then
! echo "$0: $src does not exist." >&2
! exit 1
! fi
! if test -z "$dstarg"; then
! echo "$0: no destination specified." >&2
! exit 1
! fi
! dst=$dstarg
! # Protect names starting with `-'.
! case $dst in
! -*) dst=./$dst ;;
! esac
! # If destination is a directory, append the input filename; won't work
! # if double slashes aren't ignored.
! if test -d "$dst"; then
! dst=$dst/`basename "$src"`
! fi
fi
! # This sed command emulates the dirname command.
! dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
! # Make sure that the destination directory exists.
! # Skip lots of stat calls in the usual case.
! if test ! -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@/@address@hidden' -e
'address@hidden@/@'`
! IFS=$oIFS
! pathcomp=
! while test $# -ne 0 ; do
! pathcomp=$pathcomp$1
! shift
! test -d "$pathcomp" || $mkdirprog "$pathcomp"
! pathcomp=$pathcomp/
! done
! fi
! if test -n "$dir_arg"; then
! $doit $instcmd "$dst" \
! && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
! && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
! && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
! && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
else
! # If we're going to rename the final executable, determine the name now.
! if test -z "$transformarg"; then
! dstfile=`basename "$dst"`
! else
! dstfile=`basename "$dst" $transformbasename \
! | sed $transformarg`$transformbasename
! fi
! # don't allow the sed command to completely eliminate the filename.
! test -z "$dstfile" && dstfile=`basename "$dst"`
! # Make a couple of temp file names in the proper directory.
! dsttmp=$dstdir/_inst.$$_
! rmtmp=$dstdir/_rm.$$_
! # Trap to clean up those 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.
! #
! # If any of these fail, we abort the whole thing. If we want to
! # ignore errors from any of these, just make sure not to ignore
! # errors from the above "$doit $instcmd $src $dsttmp" command.
! #
! { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
! && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
! && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
! && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
! # 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 test -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 || { (exit 1); exit; }
! done
# The final little trick to "correctly" pass the exit status to the exit trap.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- texinfo install-sh,1.1.1.1,1.2,
karl <=
- Prev by Date:
texinfo/makeinfo xml.c,1.12,1.13 xml.h,1.6,1.7 cmds.c,1.18,1.19
- Next by Date:
texinfo/makeinfo html.c,1.6,1.7
- Previous by thread:
texinfo/makeinfo xml.c,1.12,1.13 xml.h,1.6,1.7 cmds.c,1.18,1.19
- Next by thread:
texinfo/makeinfo html.c,1.6,1.7
- Index(es):