summaryrefslogtreecommitdiff
path: root/repo/processincoming
blob: 222a9574fa132e9534d169638c7f9b8348c49632 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash

set -eu

QUEUE="${1:-incoming}"
case $QUEUE in
  incoming|snapshot) ;;
  *) exit 0 ;;
esac
REPREPRO_BASE_DIR="/srv/apt/repo"

# on error, move debris away
trap "mv -v /srv/apt/$QUEUE/* /srv/apt/failed" ERR

# test new .deb files for correct components
for deb in /srv/apt/$QUEUE/*.deb; do
  test -f "$deb" || continue
  dpkg-deb -I "$deb" | /srv/apt/repo/bin/validate-component
done

flock "$REPREPRO_BASE_DIR/db/.lock" \
/usr/bin/reprepro -b "$REPREPRO_BASE_DIR" --morguedir "$REPREPRO_BASE_DIR/morgue" --verbose processincoming $QUEUE