chiark / gitweb /
cope with running in a bzr checkout
[bin.git] / bsmtp-pull-server
1 #! /bin/sh
2 set -e
3
4 DIR="$HOME/bsmtp"
5 FILE="riva.debian.net"
6 TRANSIT="$FILE.transit"
7
8 cd "$DIR" || exit 0
9
10 # Is there anything to send?
11 [ -s "$FILE" ] || exit 0
12
13 lockfile-create "$FILE"
14 lockfile-touch "$FILE" &
15 TOUCH="$!"
16 trap 'kill "$TOUCH"; lockfile-remove "$FILE"' EXIT ERR HUP INT QUIT TERM
17
18 if [ -f "$TRANSIT" ]; then
19     cat "$FILE" >> "$TRANSIT" && rm -f "$FILE"
20 else
21     mv -f "$FILE" "$TRANSIT"
22 fi
23
24 cat "$TRANSIT"
25 rm -f "$TRANSIT"
26
27 exit 0