X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=debian%2Fpostinst;h=40d0d5f9f28289d271a43b9dc9c2243a6bc370dd;hb=4127b47cd6603d328e540f4f69f66fad9b303fa7;hp=c34d68e8e84f91854317bd19eca8e0ede57c7678;hpb=cd4738e8f5ede42cba925b58a84c61e22bab8e8f;p=onak.git diff --git a/debian/postinst b/debian/postinst index c34d68e..40d0d5f 100644 --- a/debian/postinst +++ b/debian/postinst @@ -7,8 +7,24 @@ if [ "$1" = "configure" ]; then # Add the onak user adduser --system --home /var/lib/onak --no-create-home --disabled-login onak - # Take ownership of the database directory + # + # If we're using a default config and there's no onak database, create it + # by adding my key. + # + if grep -q "^db_dir /var/lib/onak" /etc/onak.conf && + grep -q "^db_backend db4" /etc/onak.conf && + [ ! -e /var/lib/onak/num_keydb -a \ + -e /usr/share/doc/onak/noodles.key.gz ]; then + zcat /usr/share/doc/onak/noodles.key | onak -b add + fi + + # Take ownership of the database and spool directory chown -R onak /var/lib/onak + chown -R onak /var/spool/onak + + # Create our logfile + touch /var/log/onak.log + chown onak /var/log/onak.log # Make the CGI tools setuid onak for i in /usr/lib/cgi-bin/pks/* @@ -18,4 +34,30 @@ if [ "$1" = "configure" ]; then dpkg-statoverride --update --add onak root 4755 $i fi done + + # If we don't have a DB backend defined, then add appropriate config + if ! grep -q db_backend /etc/onak.conf; then + echo "# Auto added on package update" >> /etc/onak.conf + echo "backends_dir /usr/lib/onak/backends" >> /etc/onak.conf + echo "db_backend db4" >> /etc/onak.conf + fi + + # If we still have the old default mail_dir setting, fix it + if grep -q "mail_dir /community/pgp-keyserver/incoming" /etc/onak.conf; then + sed -i.bak "s/community\/pgp-keyserver\/incoming/var\/spool\/onak/" \ + /etc/onak.conf + fi + +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.conf; then + invoke-rc.d onak start || exit $? fi