]> asedeno.scripts.mit.edu Git - sipb-mirrors.git/blob - fetch-hudson
fedora-buffet: exit with status from quick-fedora-mirror
[sipb-mirrors.git] / fetch-hudson
1 #!/bin/bash
2
3 set -e
4
5 . ./OPTIONS.sh
6
7 scriptname=$1
8 shift
9
10 if [ -z "$scriptname" ]; then
11     echo "Run with a fetch script as an argument:"
12     (cd fetch-scripts && ls)
13     exit 1
14 fi
15
16 if ! [ -e fetch-scripts/"$scriptname" ]; then
17     echo "Unknown fetch script $scriptname"
18     exit 1
19 fi
20
21 echo "Logging the rsync version used"
22 rsync --version
23
24 date +"Starting $scriptname: %c"
25
26 # Use flock(1) in exclusive mode, waiting up to 5 minutes.
27 (
28     flock -x -w 300 200 || exit 1
29     date +"Received lock: %c"
30     (. fetch-scripts/"$scriptname") && :
31     exit $?
32 ) 200>"$MIRRORDIR/.locks/$scriptname"
33
34 exitstatus=$?
35 date +"Done: %c"
36 if [[ $exitstatus -eq 25 ]]; then
37     echo "Error code $exitstatus ignored."
38     exit 0
39 fi
40 exit $exitstatus