[med-svn] r13476 - in trunk/packages/gnuhealth/trunk/debian: . database-scripts database-scripts/install database-scripts/upgrade

Emilien Klein e2jk-guest at alioth.debian.org
Fri May 3 21:10:48 UTC 2013


Author: e2jk-guest
Date: 2013-05-03 21:10:48 +0000 (Fri, 03 May 2013)
New Revision: 13476

Added:
   trunk/packages/gnuhealth/trunk/debian/database-scripts/
   trunk/packages/gnuhealth/trunk/debian/database-scripts/install/
   trunk/packages/gnuhealth/trunk/debian/database-scripts/install/pgsql
   trunk/packages/gnuhealth/trunk/debian/database-scripts/upgrade/
   trunk/packages/gnuhealth/trunk/debian/database-scripts/upgrade/pgsql
   trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.install
Modified:
   trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.config
   trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.postinst
   trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.postrm
   trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.prerm
Log:
Use dbconfig-common to handle the database tasks. Create system user.


Added: trunk/packages/gnuhealth/trunk/debian/database-scripts/install/pgsql
===================================================================
--- trunk/packages/gnuhealth/trunk/debian/database-scripts/install/pgsql	                        (rev 0)
+++ trunk/packages/gnuhealth/trunk/debian/database-scripts/install/pgsql	2013-05-03 21:10:48 UTC (rev 13476)
@@ -0,0 +1,32 @@
+#!/bin/sh
+# database creation script for gnuhealth-server
+
+set -e
+
+# Source the config file from dbconfig-common
+. /etc/dbconfig-common/gnuhealth-server.conf
+
+GNUHEALTH_USER="gnuhealth"
+GNUHEALTH_HOMEDIR="/var/lib/gnuhealth"
+GNUHEALTH_CONFFILE="/etc/gnuhealth/gnuhealth-server.conf"
+
+# Start printing output on a new line
+echo
+
+# Create system user
+adduser --home ${GNUHEALTH_HOMEDIR} --quiet --system --group ${GNUHEALTH_USER}
+
+tf=`sudo -u ${GNUHEALTH_USER} tempfile 2>/dev/null`
+# Use the same password for the Tryton admin as for the database
+echo $dbc_dbpass > $tf
+# Initialize the gnuhealth database
+sudo -u ${GNUHEALTH_USER} TRYTONPASSFILE=$tf trytond --database=gnuhealth \
+       --init=all --config=${GNUHEALTH_CONFFILE}
+rm -f $tf
+
+# Change database owner (needs to be run as postgres user, as PostgreSQL's
+# default authentication is set to peer method)
+sudo -u postgres psql -U postgres -c 'ALTER DATABASE gnuhealth OWNER TO gnuhealth'
+
+exit 0
+


Property changes on: trunk/packages/gnuhealth/trunk/debian/database-scripts/install/pgsql
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/packages/gnuhealth/trunk/debian/database-scripts/upgrade/pgsql
===================================================================
--- trunk/packages/gnuhealth/trunk/debian/database-scripts/upgrade/pgsql	                        (rev 0)
+++ trunk/packages/gnuhealth/trunk/debian/database-scripts/upgrade/pgsql	2013-05-03 21:10:48 UTC (rev 13476)
@@ -0,0 +1,21 @@
+#!/bin/sh
+# database upgrade script for gnuhealth-server
+
+set -e
+
+# Source the config file from dbconfig-common
+. /etc/dbconfig-common/gnuhealth-server.conf
+
+GNUHEALTH_USER="gnuhealth"
+GNUHEALTH_CONFFILE="/etc/gnuhealth/gnuhealth-server.conf"
+
+# Start printing output on a new line
+echo
+
+#TODO: this has not yet been tested. Will be done when packaging the version
+# after 1.8.1
+# Upgrade the gnuhealth database
+sudo -u ${GNUHEALTH_USER} trytond --database=gnuhealth --update=all --config=${GNUHEALTH_CONFFILE}
+
+exit 0
+


Property changes on: trunk/packages/gnuhealth/trunk/debian/database-scripts/upgrade/pgsql
___________________________________________________________________
Added: svn:executable
   + *

Modified: trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.config
===================================================================
--- trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.config	2013-05-03 21:09:10 UTC (rev 13475)
+++ trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.config	2013-05-03 21:10:48 UTC (rev 13476)
@@ -1,5 +1,5 @@
 #!/bin/sh
-# config maintainer script for gnuhealth
+# config maintainer script for gnuhealth-server
 
 set -e
 
@@ -9,6 +9,9 @@
 # source dbconfig-common shell library, and call the hook function
 if [ -f /usr/share/dbconfig-common/dpkg/config.pgsql ]; then
     . /usr/share/dbconfig-common/dpkg/config.pgsql
-    dbc_go gnuhealth $@
+	# Both the PostgreSQL role and database are to be called gnuhealth
+	dbc_dbuser="gnuhealth"
+	dbc_dbname="gnuhealth"
+    dbc_go gnuhealth-server $@
 fi
 

Added: trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.install
===================================================================
--- trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.install	                        (rev 0)
+++ trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.install	2013-05-03 21:10:48 UTC (rev 13476)
@@ -0,0 +1,4 @@
+debian/gnuhealth-server.conf etc/gnuhealth
+debian/database-scripts/install usr/share/dbconfig-common/scripts/gnuhealth-server
+debian/database-scripts/upgrade usr/share/dbconfig-common/scripts/gnuhealth-server
+

Modified: trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.postinst
===================================================================
--- trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.postinst	2013-05-03 21:09:10 UTC (rev 13475)
+++ trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.postinst	2013-05-03 21:10:48 UTC (rev 13476)
@@ -1,19 +1,10 @@
 #!/bin/sh
-# postinst script for gnuhealth
+# postinst script for gnuhealth-server
 #
 # see: dh_installdeb(1)
 
 set -e
 
-# Source debconf library.
-. /usr/share/debconf/confmodule
-
-# source dbconfig-common shell library, and call the hook function
-if [ -f /usr/share/dbconfig-common/dpkg/postinst.pgsql ]; then
-    . /usr/share/dbconfig-common/dpkg/postinst.pgsql
-    dbc_go gnuhealth $@
-fi
-
 # summary of how this script can be called:
 #        * <postinst> `configure' <most-recently-configured-version>
 #        * <old-postinst> `abort-upgrade' <new version>
@@ -27,46 +18,30 @@
 # the debian-policy package
 
 
+# Source debconf library.
+. /usr/share/debconf/confmodule
+
+# source dbconfig-common shell library, and call the hook function
+if [ -f /usr/share/dbconfig-common/dpkg/postinst.pgsql ]; then
+    . /usr/share/dbconfig-common/dpkg/postinst.pgsql
+    dbc_go gnuhealth-server $@
+fi
+
 GNUHEALTH_USER="gnuhealth"
+GNUHEALTH_HOMEDIR="/var/lib/gnuhealth"
 GNUHEALTH_LOGDIR="/var/log/gnuhealth"
 
 case "$1" in
     configure)
-		# Creating system user
-		adduser --no-create-home --quiet --system --group ${GNUHEALTH_USER}
+        # Create system user
+        adduser --home ${GNUHEALTH_HOMEDIR} --quiet --system --group ${GNUHEALTH_USER}
         
-		# Creating log directory
-		mkdir -p ${GNUHEALTH_LOGDIR}
-		chown ${GNUHEALTH_USER}:adm ${GNUHEALTH_LOGDIR}
-		chmod 0750 ${GNUHEALTH_LOGDIR}
-		
-        # TODO: needs to be reworked
-        ## Check if the gnuhealth database role already exists
-        #role=`psql -U postgres -c "\du" 2>/dev/null | grep gnuhealth | wc -l`
-        #if [ $role -eq 0 ]; then
-        #    echo "not here"
-        #    # Create the PostgreSQL database role
-        #else
-        #    # Check if the gnuhealth database exists
-        #    db=`psql -U postgres -l 2>/dev/null | grep gnuhealth | wc -l`
-        #    if [ $db -eq 1 ]; then
-        #        # Update the gnuhealth database
-        #        trytond --database=gnuhealth --update=all
-        #    else
-        #        # The user has probably set up it's own database, prompt her
-        #        # to manually upgrade its database
-        #        db_reset gnuhealth/manualupgrade
-        #        db_input high gnuhealth/manualupgrade || true
-        #        db_go
-        #    fi
-        #fi
-        #
-        ## Start the Tryton server
-        #if which invoke-rc.d >/dev/null 2>&1; then
-        #    invoke-rc.d tryton-server start
-        #else
-        #    /etc/init.d/tryton-server start
-        #fi
+		# Create log directory
+        if [ ! -d ${GNUHEALTH_LOGDIR} ]; then
+		    mkdir -p ${GNUHEALTH_LOGDIR}
+		    chown ${GNUHEALTH_USER}:adm ${GNUHEALTH_LOGDIR}
+		    chmod 0750 ${GNUHEALTH_LOGDIR}
+		fi
     ;;
 
     abort-upgrade|abort-remove|abort-deconfigure)
@@ -84,3 +59,4 @@
 #DEBHELPER#
 
 exit 0
+

Modified: trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.postrm
===================================================================
--- trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.postrm	2013-05-03 21:09:10 UTC (rev 13475)
+++ trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.postrm	2013-05-03 21:10:48 UTC (rev 13476)
@@ -1,19 +1,10 @@
 #!/bin/sh
-# postrm script for gnuhealth
+# postrm script for gnuhealth-server
 #
 # see: dh_installdeb(1)
 
 set -e
 
-# Source debconf library.
-. /usr/share/debconf/confmodule
-
-# source dbconfig-common shell library, and call the hook function
-if [ -f /usr/share/dbconfig-common/dpkg/postrm.pgsql ]; then
-    . /usr/share/dbconfig-common/dpkg/postrm.pgsql
-    dbc_go gnuhealth $@
-fi
-
 # summary of how this script can be called:
 #        * <postrm> `remove'
 #        * <postrm> `purge'
@@ -28,28 +19,32 @@
 # the debian-policy package
 
 
+# Source debconf library.
+. /usr/share/debconf/confmodule
+
+# source dbconfig-common shell library, and call the hook function
+if [ -f /usr/share/dbconfig-common/dpkg/postrm.pgsql ]; then
+    . /usr/share/dbconfig-common/dpkg/postrm.pgsql
+    dbc_go gnuhealth-server $@
+fi
+
 GNUHEALTH_USER="gnuhealth"
+GNUHEALTH_HOMEDIR="/var/lib/gnuhealth"
 GNUHEALTH_LOGDIR="/var/log/gnuhealth"
 
 case "$1" in
     purge)
 		# Remove system user
+		#TODO: maybe the system user should just be frozen? See #678099 and #621833
 		if [ -x /usr/sbin/deluser ]; then
 			deluser --quiet --system ${GNUHEALTH_USER}
 		fi
 
-		# Remove log directory
-		rmdir --ignore-fail-on-non-empty ${GNUHEALTH_LOGDIR} > /dev/null 2>&1 || true
-		;;
+		# Remove log directory and user's home directory
+		rm -rf ${GNUHEALTH_HOMEDIR} ${GNUHEALTH_LOGDIR} > /dev/null 2>&1 || true
+	;;
 	
     remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
-        # TODO: needs to be reworked
-        ## Start the Tryton server
-        #if which invoke-rc.d >/dev/null 2>&1; then
-        #    invoke-rc.d tryton-server start
-        #else
-        #    /etc/init.d/tryton-server start
-        #fi
     ;;
 
     *)
@@ -64,3 +59,4 @@
 #DEBHELPER#
 
 exit 0
+

Modified: trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.prerm
===================================================================
--- trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.prerm	2013-05-03 21:09:10 UTC (rev 13475)
+++ trunk/packages/gnuhealth/trunk/debian/gnuhealth-server.prerm	2013-05-03 21:10:48 UTC (rev 13476)
@@ -1,19 +1,10 @@
 #!/bin/sh
-# prerm script for gnuhealth
+# prerm script for gnuhealth-server
 #
 # see: dh_installdeb(1)
 
 set -e
 
-# Source debconf library.
-. /usr/share/debconf/confmodule
-
-# source dbconfig-common shell library, and call the hook function
-if [ -f /usr/share/dbconfig-common/dpkg/prerm.pgsql ]; then
-    . /usr/share/dbconfig-common/dpkg/prerm.pgsql
-    dbc_go gnuhealth $@
-fi
-
 # summary of how this script can be called:
 #        * <prerm> `remove'
 #        * <old-prerm> `upgrade' <new-version>
@@ -26,15 +17,17 @@
 # the debian-policy package
 
 
+# Source debconf library.
+. /usr/share/debconf/confmodule
+
+# source dbconfig-common shell library, and call the hook function
+if [ -f /usr/share/dbconfig-common/dpkg/prerm.pgsql ]; then
+    . /usr/share/dbconfig-common/dpkg/prerm.pgsql
+    dbc_go gnuhealth-server $@
+fi
+
 case "$1" in
     remove|upgrade|deconfigure)
-        # TODO: needs to be reworked
-        ## Stop the Tryton server
-        #if which invoke-rc.d >/dev/null 2>&1; then
-        #    invoke-rc.d tryton-server stop
-        #else
-        #    /etc/init.d/tryton-server stop
-        #fi
     ;;
 
     failed-upgrade)
@@ -52,3 +45,4 @@
 #DEBHELPER#
 
 exit 0
+




More information about the debian-med-commit mailing list