X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=infra%2Fdgit-mirror-rsync;h=2858047b57f85307085c1df13f0448d69e29473e;hp=5b54d16cc0f9a1cdbf0be5251d1943b5f5d3d535;hb=86a8ff1a0f02829b07bf7cd2fdd198ce612b37d4;hpb=f7724dce721e5c2c04e9e2b73e15effa5a675a55 diff --git a/infra/dgit-mirror-rsync b/infra/dgit-mirror-rsync index 5b54d16c..2858047b 100755 --- a/infra/dgit-mirror-rsync +++ b/infra/dgit-mirror-rsync @@ -37,6 +37,13 @@ fail () { if [ $# -lt 2 ]; then fail "too few arguments"; fi self=$0 + +case "$self" in +/*) ;; +*/*) self="$PWD/$self" ;; +*) ;; +esac + distrodir=$1; shift action=$1; shift package=$1 @@ -79,7 +86,7 @@ reinvoke () { exec \ "$@" \ - "$0" "$distrodir" "reinvoke$newaction" "$package" + "$self" "$distrodir" "reinvoke$newaction" "$package" } check-package-mirrorable () { @@ -100,7 +107,7 @@ lock-and-process () { attempt () { exec >"$queue/$package.err" 2>&1 if actually; then - rm "$queue/$package.a" + rm -f "$queue/$package.a" mv -f "$queue/$package.err" "$queue/$package.log" rm "$queue/$package.lock" else