]> the.earth.li Git - onak.git/commitdiff
Update Debian packaging to cope with onak.conf -> onak.ini change
authorJonathan McDowell <noodles@earth.li>
Tue, 7 Jun 2016 15:11:04 +0000 (16:11 +0100)
committerJonathan McDowell <noodles@earth.li>
Tue, 7 Jun 2016 15:11:04 +0000 (16:11 +0100)
Use the "onak dumpconfig" utility to provide a smooth upgrade path for
previous versions of onak, and notify the user that the change has taken
place.

debian/NEWS.Debian [new file with mode: 0644]
debian/README.Debian
debian/onak.init
debian/onak.install
debian/onak.maintscript [new file with mode: 0644]
debian/postinst
debian/prerm

diff --git a/debian/NEWS.Debian b/debian/NEWS.Debian
new file mode 100644 (file)
index 0000000..60b3af0
--- /dev/null
@@ -0,0 +1,14 @@
+onak (0.4.6-1+git) UNRELEASED; urgency=low
+
+ Upstream onak has migrated to a new .ini style configuration file,
+ referred to as onak.ini instead of onak.conf. If you had local modifications
+ to /etc/onak.conf they have been retained in /etc/onak.conf.dpkg-bak and
+ automatically migrated to the new style in /etc/onak.ini. If you have any
+ other copies of the configuration (e.g. store in home directories) then
+ the "onak dumpconfig" utility can upgrade them for you. onak is still
+ capable of reading old style configurations but this is expected to go away
+ in a future release and no new configuration options will be available in
+ the old config file format.
+
+ -- Jonathan McDowell <noodles@earth.li>  Tue, 07 Jun 2016 16:05:43 +0100
+
index 98a37856fd3a38575cdbe32eaba81a10693befc3..2088f6da4e22d63bc11c8242a93c9e3ee23e9247 100644 (file)
@@ -1,7 +1,7 @@
 onak for Debian
 ---------------
 
-Before using onak you will want to edit /etc/onak.conf and set 'this_site' as
+Before using onak you will want to edit /etc/onak.ini and set 'this_site' as
 appropriate.
 
 The OpenPGP Key Server specification uses host:11371/pks/lookup etc as the URLs,
index e61d6031472773c5e97929eaafe2e26b76e90e3e..110099c3ac57b6cf1d9d5fd06d0d4f5dd61132d9 100644 (file)
@@ -32,7 +32,7 @@ SCRIPTNAME=/etc/init.d/onak
 # and status_of_proc is working.
 . /lib/lsb/init-functions
 
-if ! grep -q -E '^use_keyd *(true|yes|1)$' /etc/onak.conf; then
+if ! grep -q -E '^use_keyd=*(true|yes|1)$' /etc/onak.ini; then
        exit 0
 fi
 
index 2e70627d68be1bca8125cbcfa432185715f99998..9935e4c977a28814b5499f2cc4b403169fe37760 100644 (file)
@@ -1,2 +1,2 @@
-onak.conf                   etc
+onak.ini                    etc
 add lookup gpgwww hashquery usr/lib/cgi-bin/pks
diff --git a/debian/onak.maintscript b/debian/onak.maintscript
new file mode 100644 (file)
index 0000000..30dc7a4
--- /dev/null
@@ -0,0 +1 @@
+rm_conffile /etc/onak.conf 0.4.6-1 onak
index 40d0d5f9f28289d271a43b9dc9c2243a6bc370dd..da6c3eb29a1e4809d008ddcde9bcc4722de7a0a8 100644 (file)
@@ -3,6 +3,18 @@
 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
@@ -11,8 +23,8 @@ if [ "$1" = "configure" ]; 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 &&
+    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
@@ -34,20 +46,6 @@ 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#
@@ -58,6 +56,6 @@ fi
 # 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
+if grep -q -E '^use_keyd=*(true|yes|1)$' /etc/onak.ini; then
     invoke-rc.d onak start || exit $?
 fi
index e3b75c4c29f7857eea3ad3af2d5bd1813cd3c89f..aa3c2a7f312423ec4297090911cb3184ee31fff9 100644 (file)
@@ -3,7 +3,7 @@
 set -e
 
 # If keyd was enabled then make sure to stop it.
-if grep -q -E '^use_keyd *(true|yes|1)$' /etc/onak.conf; then
+if grep -q -E '^use_keyd=*(true|yes|1)$' /etc/onak.ini; then
     invoke-rc.d onak stop || exit $?
 fi