add DESTDIR install to prospero
This commit is contained in:
132
release/scripts/rotate
Executable file
132
release/scripts/rotate
Executable file
@@ -0,0 +1,132 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Make backup copies of a specified file ( arg. 1 ). A second argument, <n>
|
||||
# is optional and specifies that you want to keep <file>.0 through <file>.<n>
|
||||
# as backups. If no number is given then the default, 6, will be used.
|
||||
#
|
||||
# - wheelan
|
||||
#
|
||||
# Heavily Modified by lucb for compression and presentation. Backwards
|
||||
# compatible to Bill's version
|
||||
#
|
||||
usage () {
|
||||
cat <<EOC
|
||||
|
||||
Usage: $0 [-v] [-d directory] [-c] [-n] file [number]
|
||||
|
||||
$0 makes backup copies of a specified file. A second argument,
|
||||
\`number' is optional and specifies that you want to keep \`file.0'
|
||||
through \`file.n' as backups. If no number is given then the default
|
||||
\`9' will be used.
|
||||
|
||||
Compressed files [files ending in .Z or .gz] are checked for and moved
|
||||
appropriately. In addition, if a compressed file is found, the newly
|
||||
moved file will be compressed. The appropriate compression program is
|
||||
used.
|
||||
|
||||
EOC
|
||||
exit 2
|
||||
}
|
||||
|
||||
#
|
||||
# parse the command line arguments:
|
||||
#
|
||||
while [ $# -gt 1 ] ; do
|
||||
case $1 in
|
||||
-d) shift; directory=$1;;
|
||||
-c) compression="y";;
|
||||
-n) compression="n";;
|
||||
-v) verbose="y" ;;
|
||||
-x) set -x ;;
|
||||
-h) usage;; # call the usage funtion
|
||||
[a-zA-Z0-9]*) break;;
|
||||
*) # Catch anything that doesn't match the
|
||||
# previous flags
|
||||
echo "Unknown option [$1]";
|
||||
usage;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ $# -lt 1 -o $# -gt 2 ] ; then
|
||||
usage;
|
||||
fi
|
||||
|
||||
if [ ! -f $1 ] ; then
|
||||
echo "File $1 does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
debug()
|
||||
{
|
||||
if [ x$verbose = xy ] ; then
|
||||
echo "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
index()
|
||||
{
|
||||
i=1;
|
||||
while [ $i -le ${1:-$MIDX} ] ; do
|
||||
echo -n "$i ";
|
||||
i=`expr $i + 1`;
|
||||
done
|
||||
}
|
||||
|
||||
rindex()
|
||||
{
|
||||
i=${1:-$MIDX};
|
||||
while [ $i -gt 0 ] ; do
|
||||
echo -n "$i ";
|
||||
i=`expr $i - 1`;
|
||||
done
|
||||
}
|
||||
|
||||
directory=${directory:-.}
|
||||
if [ "${directory}" != "." ] ; then
|
||||
if [ ! -d $directory ] ; then
|
||||
echo "Can't find directory [$directory]"
|
||||
exit 2
|
||||
fi
|
||||
fi
|
||||
|
||||
umask 000
|
||||
compress=none
|
||||
for n in `rindex ${2:-9}` ; do
|
||||
src=${directory}/$1.`expr $n - 1`
|
||||
dst=${directory}/$1.$n
|
||||
if [ -d $src -o -f $src ] ; then
|
||||
/bin/mv -f $src $dst && debug "/bin/mv -f $src $dst"
|
||||
compress=none
|
||||
elif [ -f $src.Z ] ; then
|
||||
/bin/mv -f $src.Z $dst.Z && debug "/bin/mv -f $src.Z $dst.Z"
|
||||
compress=compress
|
||||
elif [ -f $src.gz ] ; then
|
||||
/bin/mv -f $src.gz $dst.gz && debug "/bin/mv -f $src.gz $dst.gz"
|
||||
compress=gzip
|
||||
fi
|
||||
done
|
||||
|
||||
# A copy would keep the file permissions the same, but will fill in "holes"
|
||||
# in the file.
|
||||
|
||||
dst=$directory/$1.0
|
||||
perm=`perl -e '$mode=((stat("'$1'"))[2] & 07777); printf ("%o\n", $mode)'`
|
||||
mv $1 $dst && debug "mv $1 $dst"
|
||||
cat /dev/null > $1
|
||||
chmod $perm $1 && debug "chmod $perm $1"
|
||||
|
||||
if [ x${compression:-} = xn ] ; then
|
||||
debug "No compression requested";
|
||||
elif [ x${compression:-} = xy ] ; then
|
||||
gzip $dst && debug "gzip $dst (explicitely)" ;
|
||||
else
|
||||
case "$compress" in
|
||||
"none")
|
||||
debug "No compression";;
|
||||
"compress")
|
||||
compress $dst && debug "compress $dst" ;;
|
||||
"gzip")
|
||||
gzip $dst && debug "gzip $dst" ;;
|
||||
esac
|
||||
fi
|
||||
Reference in New Issue
Block a user