Generate pg_hba.conf and install postgresql.conf
[invirt/packages/invirt-database.git] / debian / sipb-xen-database-server.postinst
index ef5e29e..faae517 100644 (file)
@@ -17,31 +17,27 @@ set -e
 # for details, see http://www.debian.org/doc/debian-policy/ or
 # the debian-policy package
 
 # for details, see http://www.debian.org/doc/debian-policy/ or
 # the debian-policy package
 
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+# Note that by moving this above our generated code we could run into significant problems
+# if we happened to start a daemon, and use debconf
+# We move this up here because we need the diversion of postgresql.conf to happen before we create tables
+
+#DEBHELPER#
+
 
 case "$1" in
     configure)
 
 case "$1" in
     configure)
-        # Don't fail if the user/database already exists
-        su postgres -c 'createuser sipb-xen -S -d -R'    || true
-        su postgres -c 'createdb sipb_xen -O sipb-xen'   || true
-        PG_HBA=/etc/postgresql/8.1/main/pg_hba.conf
-        perl -ni -e 'print unless /^# ===BEGIN ADDED BY sipb-xen-dabase server$/ ..
-                                  /^# ===END ADDED BY sipb-xen-dabase server$/' \
-                                  "$PG_HBA"
-        cat<<EOF >> "$PG_HBA"
-# ===BEGIN ADDED BY sipb-xen-dabase server
-# DO NOT EDIT
-host    sipb_xen    sipb-xen    127.0.0.1/32          trust
-local   sipb_xen    sipb-xen                          trust
-# ===END ADDED BY sipb-xen-dabase server
-EOF
-
-        if hash invoke-rc.d; then
-            invoke-rc.d postgresql-8.1 restart
-        else
-            /etc/init.d/postgresql-8.1 restart
+        #Don't create users on upgrade
+        if [ -z "$2" ]; then
+            # Don't fail if the user/database already exists
+            su postgres -c 'createuser sipb-xen -S -d -R'    || true
+            su postgres -c 'createdb sipb_xen -O sipb-xen'   || true
+            adduser --system sipb-xen
         fi
         fi
-
-        sipb-xen-database-tables create
+       mako-render /etc/postgresql/8.1/main/pg_hba.conf.mako >/etc/postgresql/8.1/main/pg_hba.conf
+       /etc/init.d/postgresql-8.1 restart
+        su sipb-xen -s /bin/sh -c 'sipb-xen-database-tables create'
     ;;
 
     abort-upgrade|abort-remove|abort-deconfigure)
     ;;
 
     abort-upgrade|abort-remove|abort-deconfigure)
@@ -53,11 +49,6 @@ EOF
     ;;
 esac
 
     ;;
 esac
 
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
 exit 0
 
 
 exit 0