[med-svn] r2515 - trunk/packages/agdbnet/trunk/debian

tille at alioth.debian.org tille at alioth.debian.org
Fri Sep 19 13:45:00 UTC 2008


Author: tille
Date: 2008-09-19 13:44:59 +0000 (Fri, 19 Sep 2008)
New Revision: 2515

Added:
   trunk/packages/agdbnet/trunk/debian/agdbnet_xml2sql
Modified:
   trunk/packages/agdbnet/trunk/debian/postinst
Log:
Provide a script to enable users to populate the agdbnet database after finishing configuration.


Added: trunk/packages/agdbnet/trunk/debian/agdbnet_xml2sql
===================================================================
--- trunk/packages/agdbnet/trunk/debian/agdbnet_xml2sql	                        (rev 0)
+++ trunk/packages/agdbnet/trunk/debian/agdbnet_xml2sql	2008-09-19 13:44:59 UTC (rev 2515)
@@ -0,0 +1,50 @@
+#!/bin/sh
+pkg=agdbnet
+SQLDIR="/var/lib/${pkg}"
+
+if [ "$1" != "" ] ; then
+    XML="/etc/${pkg}/$1"
+    if [ ! -s "$XML" ] ; then
+	XML="/etc/${pkg}/$1.xml"
+	if [ ! -s "$XML" ] ; then
+	    echo "$0: File /etc/${pkg}/$1 or $XML not found."
+	    exit 66 # EX_NOINPUT
+	fi
+    fi
+else
+    if [ `grep -c "<agdb>" /etc/${pkg}/*.xml` -eq 1 ] ; then
+	XML=`grep -l "<agdb>" /etc/agdbnet/*.xml`
+    else
+        if [ `grep -c "<agdb>" /etc/${pkg}/*.xml` -eq 0 ] ; then
+    	    echo "$0: There are no valid XML configuration files for agdbnet available in /etc/${pkg}"
+	    exit 66 # EX_NOINPUT
+	else
+	    cat <<EOT
+Usage: $0 [agdbnet.xml]
+       There are more than one XML files available.
+       You need to specify the one which should be used to create the database.
+EOT
+	    grep -l "<agdb>" /etc/agdbnet/*.xml
+	    exit 64 # EX_USAGE
+	fi
+    fi
+fi
+
+XMLNAME=`basename $XML .xml`
+
+if [ -e "$SQLDIR"/"$XMLNAME".sql ] ; then
+    mv "$SQLDIR"/"$XMLNAME".sql "$SQLDIR"/"$XMLNAME".sql~
+fi
+/usr/share/${pkg}/xml2sql.pl -u '"www-data"' "$XML" > "$SQLDIR"/"$XMLNAME".sql
+
+if psql -l | grep -wq "$XMLNAME" ; then
+    cat <<EOT
+$0: The database $XMLNAME just exists.
+    You might like to manually drop this database and populate a newly created
+    one with the data in "$SQLDIR"/"$XMLNAME".sql.
+EOT
+    exit 0
+fi
+
+createdb "$XMLNAME"
+psql "$XMLNAME" < "$SQLDIR"/"$XMLNAME".sql


Property changes on: trunk/packages/agdbnet/trunk/debian/agdbnet_xml2sql
___________________________________________________________________
Name: svn:executable
   + *

Modified: trunk/packages/agdbnet/trunk/debian/postinst
===================================================================
--- trunk/packages/agdbnet/trunk/debian/postinst	2008-09-19 13:01:48 UTC (rev 2514)
+++ trunk/packages/agdbnet/trunk/debian/postinst	2008-09-19 13:44:59 UTC (rev 2515)
@@ -91,7 +91,13 @@
 	
 	# create SQL script from config file
 	mkdir -p $SQLDIR
+	# Here the SQL code which is created by xml2sql.pl from config
+	# file is stored.  It is world writable because a normal user
+	# with proper postgresql permissions should be enabled to create the
+	# database.
+	chmod 777 ${SQLDIR}
 	/usr/share/${pkg}/xml2sql.pl -u '"www-data"' "$XMLOUT" > "$SQLDIR"/"$XMLNAME".sql
+	chmod 666 "$SQLDIR"/"$XMLNAME".sql
     ;;
 
     abort-upgrade|abort-remove|abort-deconfigure)




More information about the debian-med-commit mailing list