# # # patch "dbrotate.sh" # from [bf27ecc964991c40d1beac0cbb8eedf5cd4ddd91] # to [6ef7c7dafab781a45934f4971adfa32856045999] # # patch "skel/monotonerc" # from [059e15b2af7679b844df659b330b539d6c66d9cf] # to [e06142b15f04777fd4ef76fc52ab6586f6a87807] # ============================================================ --- dbrotate.sh bf27ecc964991c40d1beac0cbb8eedf5cd4ddd91 +++ dbrotate.sh 6ef7c7dafab781a45934f4971adfa32856045999 @@ -1,27 +1,31 @@ #!/bin/sh queue() { - if ln -s x rotate_is_queued; then - echo $0 run $1 | at now + 5 minutes - fi + ln -s x rotate_is_queued 2>/dev/null + $0 run $1 & } run() { - rm rotate_is_queued - PROJ=$(basename $1) - HOST=$(grep '^hostname' ../../hostconfig \ + if ln -s x rotate_is_running; then + while [ -L rotate_is_queued ]; do + rm rotate_is_queued + PROJ=$(basename $1) + HOST=$(grep '^hostname' CONFDIR/hostconfig \ | sed 's/^[^"]*"\([^"]*\)"[^"]*$/\1/g') - HOSTNAME=$PROJ.$HOST - MONOTONE=$(grep '^monotone' ../../hostconfig \ + HOSTNAME=$PROJ.$HOST + MONOTONE=$(grep '^monotone' CONFDIR/hostconfig \ | sed 's/^[^"]*"\([^"]*\)"[^"]*$/\1/g') - $MONOTONE pull -d database.transfer $HOSTNAME \* - ln database.viewmtn database.temp - mv database.transfer database.viewmtn - mv database.temp database.transfer + $MONOTONE pull -d database.transfer --norc $HOSTNAME \* + ln database.viewmtn database.temp + mv database.transfer database.viewmtn + mv database.temp database.transfer + done + rm rotate_is_running + fi } cd $2 if [ "$1" == "queue" ] || [ "$1" == "run" ]; then - $@ >/dev/null 2>&1 + $@; : >/dev/null 2>&1 fi ============================================================ --- skel/monotonerc 059e15b2af7679b844df659b330b539d6c66d9cf +++ skel/monotonerc e06142b15f04777fd4ef76fc52ab6586f6a87807 @@ -46,6 +46,6 @@ return true end -function note_netsync_revision_received(revid, rdat, rcerts) +function note_netsync_end() execute("DBROTATE", "queue", get_confdir()) end