]> the.earth.li Git - onak.git/blobdiff - debian/postinst
Enable use of systemd + socket activation support for Debian package
[onak.git] / debian / postinst
index a1de8b8d6b61568fcd8240a519f62c11ae3563b2..40d0d5f9f28289d271a43b9dc9c2243a6bc370dd 100644 (file)
@@ -7,10 +7,14 @@ if [ "$1" = "configure" ]; then
     # 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 "^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
 
@@ -45,3 +49,15 @@ if [ "$1" = "configure" ]; then
     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