blob: 5f9e9747ad85451da1a9651fbbf1260b1d810d72 [file] [log] [blame]
Richard Felkl5ab623d2017-11-22 16:35:53 +01001#!/bin/bash
2CLEANUP_SNAPSHOTS=0
3RECREATE=0
4FORCE_OVERWRITE=0
5PUBLISHER_OPTIONS=""
6while getopts "c?f?r?" option
7do
8 case "${option}"
9 in
10 c|\?) CLEANUP_SNAPSHOTS=1;;
11 f|\?) FORCE_OVERWRITE=1;;
12 r|\?) RECREATE=1;;
13 esac
14done
15if [ $CLEANUP_SNAPSHOTS -eq 1 ]; then
16 echo "Cleanup"
17 PUBLISH_LIST="$(aptly publish list --raw)"
18 if [ "$PUBLISH_LIST" != "" ]; then
19 echo "===> Deleting all publishes"
20 echo $PUBLISH_LIST | awk '{print $2, $1}' | xargs -n2 aptly publish drop
21 fi
22 SNAPSHOT_LIST="$(aptly snapshot list --raw)"
23 if [ "$SNAPSHOT_LIST" != "" ]; then
24 echo "===> Deleting all snapshots"
25 echo $SNAPSHOT_LIST | grep -E '*' | xargs -n 1 aptly snapshot drop
26 fi
27fi
28aptly_mirror_update.sh -v -s
29if [[ $? -ne 0 ]]; then
30 echo "Aptly mirror update failed."
31 exit 1
32fi
33nohup aptly api serve --no-lock > /dev/null 2>&1 </dev/null &
34if [ $RECREATE -eq 1 ]; then
35 echo "Recreate"
36 PUBLISHER_OPTIONS+=" --recreate"
37fi
38if [ $FORCE_OVERWRITE -eq 1 ]; then
39 PUBLISHER_OPTIONS+=" --force-overwrite"
40fi
41 echo "aptly-publisher --timeout=1200 publish -v -c /etc/aptly-publisher.yaml --url http://127.0.0.1:8080 $PUBLISHER_OPTIONS"
42 if [[ $? -ne 0 ]]; then
43 echo "Aptly Publisher failed."
44 exit 1
45 fi
46ps aux | grep -i "aptly api serve" | awk '{print $2}' | xargs kill -9
47aptly db cleanup
48exit 0