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)


_______________________________________________
debian-med-commit mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/debian-med-commit

Reply via email to