ports/sysutils/rdup/files/patch-sh__rdup-simple.in
Dmitry Marakasov c5deaaea38 - Update to 1.1.4
PR:		145588
Submitted by:	Charlie Kester <corky1951@comcast.net> (maintainer)
2010-04-14 00:42:07 +00:00

195 lines
4.8 KiB
Text

--- ./sh/rdup-simple.in.orig 2010-04-04 13:23:22.000000000 -0700
+++ ./sh/rdup-simple.in 2010-04-08 20:34:49.000000000 -0700
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
# updates a hardlinked backup
# licensed under the GPL version 3
@@ -31,23 +31,24 @@
TOPDIR="$1"
if $dry; then exit 1; fi
- [[ -z $TOPDIR ]] && exit 2
- [[ -d $TOPDIR/$TODAY ]] && exit 0
+ [ -z "$TOPDIR" ] && exit 2
+ [ -d $TOPDIR/$TODAY ] && exit 0
if ! mkdir -p $TOPDIR/$TODAY; then
exit 2
fi
- let i=1
- while [[ $i -le $LOOKBACK ]]; do
- D=$(date $DATESTR --date "$i days ago")
- if [[ -d $TOPDIR/$D ]]; then
- if ! cp -plr $TOPDIR/$D/* $TOPDIR/$TODAY; then
+ i=1
+ while [ $i -le $LOOKBACK ]; do
+ adjust=$(printf %dd $i)
+ D=$(date -v-$adjust $DATESTR)
+ if [ -d $TOPDIR/$D ]; then
+ if ! cp -plR $TOPDIR/$D/* $TOPDIR/$TODAY; then
exit 2
fi
exit 0
fi
- let i=i+1
+ i=$((i+1))
done
exit 1
}
@@ -86,7 +87,7 @@
}
PROGNAME=$0
-NOW=`date +%Y%m/%d`
+NOW=$(date +%Y%m/%d)
DAYS=8
OPT_DRY=
ssh=
@@ -105,7 +106,7 @@
case $o in
a) atime=" -a " ;;
E)
- if [[ -z "$OPTARG" ]]; then
+ if [ -z "$OPTARG" ]; then
echo2 "-E needs an argument"
exit 1
fi
@@ -116,12 +117,12 @@
pathtrans="-$o $OPTARG";
;;
k)
- if [[ -z "$OPTARG" ]]; then
+ if [ -z "$OPTARG" ]; then
echo2 "-k needs an argument"
exit 1
fi
- if [[ ! -r "$OPTARG" ]]; then
- echo2 "Cannot read keyfile \`$OPTARG': failed"
+ if [ ! -r "$OPTARG" ]; then
+ echo2 "Cannot read keyfile \'$OPTARG': failed"
exit 1
fi
trans="$trans -Pmcrypt,-q,-f,$OPTARG"
@@ -144,7 +145,7 @@
exit 1
fi
# if there a no key, this will fail
- if [[ $(gpg --list-keys | wc -l) -eq "0" ]]; then
+ if [ $(gpg --list-keys | wc -l) -eq "0" ]; then
echo2 "No gpg keys found"
exit 1
fi
@@ -163,9 +164,9 @@
done
shift $((OPTIND - 1))
-if [[ ${1:0:1} == "+" ]]; then
- DAYS=${1:1}
- if [[ $DAYS -lt 1 || $DAYS -gt 99 ]]; then
+if [ "${1%${1#?}}" = "+" ]; then
+ DAYS=${1#?}
+ if [ $DAYS -lt 1 ] || [ $DAYS -gt 99 ]; then
echo2 "+N needs to be a number [1..99]"
exit 1
fi
@@ -174,7 +175,7 @@
DAYS=8
fi
-[[ $# -lt 2 ]] && usage && exit
+[ $# -lt 2 ] && usage && exit
if $mcrypt; then
if ! which mcrypt 2>/dev/null 1>&2; then
@@ -184,10 +185,10 @@
fi
i=1; last=$#; DIRS=
-while [[ $i -lt $last ]]; do
+while [ $i -lt $last ]; do
DIRS="$DIRS $1"
shift
- ((i=$i+1))
+ i=$((i+1))
done
# rdup [options] source destination
#dest="ssh://elektron.atoom.net/directory"
@@ -197,50 +198,50 @@
#dest="ssh://miekg@elektron.atoom.net/directory"
dest=$1
-if [[ ${dest:0:6} == "ssh://" ]]; then
- rest=${dest/ssh:\/\//}
+if [ "${dest%${dest#??????}}" = "ssh://" ]; then
+ rest=${dest#ssh://}
u=${rest%%@*}
- if [[ "$u" == "$rest" ]]; then
+ if [ "$u" = "$rest" ]; then
# no @ used, nullify $u
u=
fi
- rest=${rest/$u@/}
- h=`echo $rest | cut -s -f1 -d/`
- BACKUPDIR=${rest/$h/}
+ rest=${rest#$u@}
+ h=$(echo $rest | cut -s -f1 -d/)
+ BACKUPDIR=${rest#$h}
- if [[ -z $u ]]; then
+ if [ -z "$u" ]; then
ssh=" ssh -c blowfish -x $h"
else
ssh=" ssh -c blowfish -x $u@$h"
fi
fi
-if [[ ${dest:0:7} == "file://" ]]; then
- rest=${dest/file:\/\//}
+if [ "${dest%${dest#???????}}" = "file://" ]; then
+ rest=${dest#file://}
BACKUPDIR=$rest
fi
-[[ ${dest:0:1} == "/" ]] && BACKUPDIR=$dest
+[ "${dest%${dest#?}}" = "/" ] && BACKUPDIR=$dest
# no hits above, assume relative filename
-[[ -z $BACKUPDIR ]] && BACKUPDIR=$PWD/$dest
+[ -z "$BACKUPDIR" ] && BACKUPDIR=$PWD/$dest
$link && copy_and_link $DAYS $BACKUPDIR
# change all / to _ to make a valid filename
-STAMP=$etc/timestamp.${HOSTNAME}.${dest//\//_}
-LIST=$etc/list.${HOSTNAME}.${dest//\//_}
+STAMP=$etc/timestamp.${HOSTNAME}.$(echo $dest | tr / _)
+LIST=$etc/list.${HOSTNAME}.$(echo $dest | tr / _)
-[[ ! -d $etc ]] && mkdir $etc
+[ ! -d $etc ] && mkdir $etc
# remote or not
-if [[ -z $ssh ]]; then
+if [ -z "$ssh" ]; then
pipe="rdup-up$OPT $OPT_DRY $STRIP -t $BACKUPDIR/$NOW"
else
pipe="$ssh rdup-up$OPT $OPT_DRY $STRIP -t $BACKUPDIR/$NOW"
fi
# path encryption
-if [[ -n $pathtrans ]]; then
+if [ -n "$pathtrans" ]; then
pipe="rdup-tr $pathtrans | $pipe"
fi
@@ -248,7 +249,7 @@
if ! $force; then
# path is set at the top
- if [[ -z $ssh ]]; then
+ if [ -z "$ssh" ]; then
$PROGNAME $OPT_DRY -L +$DAYS /dev/null $BACKUPDIR
# rdup-ln -l $DAYS $BACKUPDIR
purpose=$?