X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=debian%2Fpostinst;h=da6c3eb29a1e4809d008ddcde9bcc4722de7a0a8;hb=95242a64d701a8bc935115c1b9d7db324aef64c5;hp=f821f40ed00cc879ddc3bb9f31ef415b0868632d;hpb=4d1212e60c60d000bc289e197fc0dccf98285bb1;p=onak.git diff --git a/debian/postinst b/debian/postinst index f821f40..da6c3eb 100644 --- a/debian/postinst +++ b/debian/postinst @@ -3,19 +3,36 @@ 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 + /usr/bin/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 + # 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 | onak -b add fi - # Take ownership of the database directory + # 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 @@ -30,3 +47,15 @@ if [ "$1" = "configure" ]; then 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