diff --git a/ChangeLog b/ChangeLog index 9cc1ffb057486674423103a32e6e409b95c2ff67..f1a90b63b9845b037cd1e1fddd100a8ed29184e9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -34,6 +34,7 @@ version 0.9.9 -- UNRELEASED rsync: . Fix long rotation. . Make units clearer (Closes Redmine bug #2737) + . Do arithmetic using bash rather than bc (Closes: #603173) helper changes dup: . Fix separate signing key usecase. Thanks to Ian Beckwith for diff --git a/handlers/rsync.in b/handlers/rsync.in index d35445e524999e08c9fef3c99787d1eff440cc8c..d93411a7cdd7255578529a96cf08aff629c2f435 100644 --- a/handlers/rsync.in +++ b/handlers/rsync.in @@ -253,7 +253,7 @@ function eval_config { if [ -z "$days" ]; then keep="4" else - keep="`echo $days - 1 | bc -l`" + keep=$[$days - 1] fi fi @@ -302,9 +302,9 @@ function rotate_short { $nice $mv /$folder.$keep /$folder.tmp fi - for ((n=`echo "$keep - 1" | bc`; n >= 0; n--)); do + for ((n=$[$keep - 1]; n >= 0; n--)); do if [ -d $folder.$n ]; then - dest=`echo "$n + 1" | bc` + dest=$[$n + 1] $nice $mv /$folder.$n /$folder.$dest $touch /$folder.$dest mkdir -p $metadata/`basename $folder`.$dest diff --git a/handlers/wget b/handlers/wget index ebb391e92e8c54f08053bab84a45c03bbe0ca48b..67425fc209e56233e152ebce95d452b10a1a8370 100644 --- a/handlers/wget +++ b/handlers/wget @@ -88,9 +88,9 @@ function rotate { $nice $mv /$1.$2 /$1.tmp fi - for ((n=`echo "$2 - 1" | bc`; n >= 0; n--)); do + for ((n=$[$2 - 1]; n >= 0; n--)); do if [ -d $1.$n ]; then - dest=`echo "$n + 1" | bc` + dest=$[$n + 1] $nice $mv /$1.$n /$1.$dest $touch /$1.$dest fi @@ -128,7 +128,7 @@ fi if [ -z "$days" ]; then keep="4" else - keep="`echo $days - 1 | bc -l`" + keep=$[$days - 1] fi # lockfile setup