#!/bin/bash

set -eu

mkdir -p /opt/stack /srv/pypi/web

virtualenv /opt/stack/bandersnatch
/opt/stack/bandersnatch/bin/pip install bandersnatch
ln -s /opt/stack/bandersnatch/bin/bandersnatch /usr/local/bin/bandersnatch
register-state-path --leave-symlink /srv/pypi/web

# Run bandersnatch once to create a config file
/usr/local/bin/bandersnatch mirror || true

# Run bandersnatch every hour
echo "0 * * * * root flock -n /var/run/bandersnatch -c \"/usr/local/bin/bandersnatch mirror >> /var/log/bandersnatch 2>&1\"" > /etc/cron.d/bandersnatch
chmod 755 /etc/cron.d/bandersnatch

HTTPDCONFFILE=/etc/httpd/conf.d/bandersnatch.conf
if [ -d /etc/apache2/sites-enabled ]; then
    HTTPDCONFFILE=/etc/apache2/sites-enabled/bandersnatch.conf
fi

cat > $HTTPDCONFFILE<<'EOF'
Alias /pypi /srv/pypi/web
<Directory "/srv/pypi/web">
    Options Indexes
    AllowOverride None
    Require all granted
</Directory>
EOF
