Make invirt-database-server.postinst check whether the invirt user actually exists
authorGreg Brockman <gdb@mit.edu>
Fri, 25 Dec 2009 00:00:01 +0000 (19:00 -0500)
committerGreg Brockman <gdb@mit.edu>
Fri, 25 Dec 2009 00:00:01 +0000 (19:00 -0500)
svn path=/trunk/packages/invirt-database/; revision=2781

debian/changelog
debian/invirt-database-server.postinst

index 51abf14..dde051e 100644 (file)
@@ -1,3 +1,9 @@
+invirt-database (0.2.3) unstable; urgency=low
+
+  * Test whether invirt user exists in postinst
+
+ -- Greg Brockman <gdb@mit.edu>  Thu, 24 Dec 2009 18:58:32 -0500
+
 invirt-database (0.2.2) unstable; urgency=low
 
   * Add builds table for storing build history.
index 79fe70c..86bc5d8 100644 (file)
@@ -28,13 +28,18 @@ set -e
 
 case "$1" in
     configure)
+       echo "$2"
         #Don't create users on upgrade
         if [ -z "$2" ]; then
             # Don't fail if the user/database already exists
             su postgres -c 'createuser invirt -S -d -R'    || true
             su postgres -c 'createdb invirt -O invirt'   || true
-            adduser --system invirt
         fi
+
+       # The invirt user *must* exist
+       if [ -z `getent passwd invirt` ]; then
+           adduser --system invirt
+       fi
        invoke-rc.d postgresql-8.3 restart
         su invirt -s /bin/sh -c 'invirt-database-tables create'
     ;;