set -e
if [ "$1" = "configure" ]; then
+ if dpkg --compare-versions -- "$2" le "0.4.6-1"; then
+ echo "Upgrading from old onak.conf version"
+ if [ -e /etc/onak.conf.dpkg-backup -a ! -e /etc/onak.conf ]; then
+ echo "Migrating onak.conf to onak.ini"
+ # Old config file was modified; generate a new style
+ # file. onak will use the file extension to determine it's
+ # an old style config, so we need the symlink.
+ ln -s /etc/onak.conf.dpkg-backup /etc/onak.conf
+ onak -c /etc/onak.conf dumpconfig /etc/onak.ini
+ rm /etc/onak.conf
+ fi
+ fi
# Add the onak user
adduser --system --home /var/lib/onak --no-create-home --disabled-login onak
- #
- # If there's no onak database, create it by adding my key.
- #
- if [ ! -e /var/lib/onak/num_keydb ]; then
- zcat /usr/share/doc/onak/noodles.key | onak -b add
- fi
-
- # Take ownership of the database directory
- chown -R onak /var/lib/onak
+ # Take ownership of the database and spool directory
+ chown onak /var/lib/onak
+ chown onak /var/spool/onak
# Create our logfile
touch /var/log/onak.log
chown onak /var/log/onak.log
+ #
+ # If we're using a default config and there's no onak database, create it
+ # by adding my key.
+ #
+ if grep -q "^backend=defaultdb4" /etc/onak.ini &&
+ grep -q "^location=/var/lib/onak" /etc/onak.ini &&
+ [ ! -e /var/lib/onak/num_keydb -a \
+ -e /usr/share/doc/onak/noodles.key.gz ]; then
+ zcat /usr/share/doc/onak/noodles.key | runuser -u onak -- onak -b add
+ fi
+
# Make the CGI tools setuid onak
for i in /usr/lib/cgi-bin/pks/*
do
fi
done
fi
+
+#DEBHELPER#
+
+#
+# With the move to systemd this will force systemd to start keyd even if it's
+# disabled in the onak config file; the systemd service file can't check the
+# way the init script does. Work around this by doing the check here and
+# only calling invoke-rc.d if it's actually enabled.
+#
+if grep -q -E '^use_keyd=*(true|yes|1)$' /etc/onak.ini; then
+ invoke-rc.d onak start || exit $?
+fi