[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