#!/bin/sh # postinst script for rpki-ca # # see: dh_installdeb(1) set -e setup_directories() { install -o rpki -g rpki -d /usr/share/rpki/bpki /usr/share/rpki/publication /usr/share/rpki/rrdp-publication } setup_apache() { /usr/lib/rpki/rpkigui-apache-conf-gen --install --verbose } setup_config() { rpki-confgen --read-xml /etc/rpki/rpki.rp.xml \ --set myrpki::run_rpkid=yes \ --set myrpki::run_pubd=yes \ --write-xml /etc/rpki/rpki.ca.xml \ --write-conf /etc/rpki/rpki.ca.conf.sample if test ! -f /etc/rpki.conf || cmp -s /etc/rpki.conf /etc/rpki/rpki.rp.conf.sample then cp -p /etc/rpki/rpki.ca.conf.sample /etc/rpki.conf fi } setup_sql() { rpki-sql-setup --debug --verbose --postgresql-root-username postgres create sudo -u rpki rpki-manage migrate rpkidb --settings rpki.django_settings.rpkid sudo -u rpki rpki-manage migrate pubdb --settings rpki.django_settings.pubd sudo -u rpki rpki-manage migrate irdb --settings rpki.django_settings.irdb sudo -u rpki rpki-manage migrate --settings rpki.django_settings.gui --fake-initial } setup_bpki() { rpkic initialize_server_bpki } setup_cron() { t=$(( $(hexdump -n 1 -e '"%u"' /dev/urandom) % 60 )) || exit echo "$t */2 * * * rpki /usr/lib/rpki/rpkigui-import-routes" > /etc/cron.d/rpkigui-routeviews echo "@daily rpki /usr/lib/rpki/rpkigui-check-expired" > /etc/cron.d/rpkigui-check-expired echo "30 3 * * * rpki /usr/sbin/rpkic update_bpki" > /etc/cron.d/rpki-update-bpki chmod 644 /etc/cron.d/rpkigui-routeviews /etc/cron.d/rpkigui-check-expired /etc/cron.d/rpki-update-bpki } # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-remove' # * `abort-deconfigure' `in-favour' # `removing' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in configure) setup_directories setup_apache setup_config setup_sql setup_bpki setup_cron ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0