Adding postini and prerm scripts for sipb-xen-database-server sipb-xen-database/1
authorNelson Elhage <nelhage@mit.edu>
Thu, 16 Aug 2007 05:01:56 +0000 (01:01 -0400)
committerNelson Elhage <nelhage@mit.edu>
Thu, 16 Aug 2007 05:01:56 +0000 (01:01 -0400)
svn path=/trunk/packages/sipb-xen-database/sipb-xen-database/; revision=77

debian/sipb-xen-database-server.install
debian/sipb-xen-database-server.postinst [new file with mode: 0644]
debian/sipb-xen-database-server.prerm [new file with mode: 0644]
sipb-xen-database-tables [new file with mode: 0755]
sipb_xen_database/__init__.py
sipb_xen_database/models.py

diff --git a/debian/sipb-xen-database-server.postinst b/debian/sipb-xen-database-server.postinst
new file mode 100644 (file)
index 0000000..ef5e29e
--- /dev/null
@@ -0,0 +1,63 @@
+#!/bin/sh
+# postinst script for #PACKAGE#
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <postinst> `abort-remove'
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    configure)
+        # Don't fail if the user/database already exists
+        su postgres -c 'createuser sipb-xen -S -d -R'    || true
+        su postgres -c 'createdb sipb_xen -O sipb-xen'   || true
+        PG_HBA=/etc/postgresql/8.1/main/pg_hba.conf
+        perl -ni -e 'print unless /^# ===BEGIN ADDED BY sipb-xen-dabase server$/ ..
+                                  /^# ===END ADDED BY sipb-xen-dabase server$/' \
+                                  "$PG_HBA"
+        cat<<EOF >> "$PG_HBA"
+# ===BEGIN ADDED BY sipb-xen-dabase server
+# DO NOT EDIT
+host    sipb_xen    sipb-xen    127.0.0.1/32          trust
+local   sipb_xen    sipb-xen                          trust
+# ===END ADDED BY sipb-xen-dabase server
+EOF
+
+        if hash invoke-rc.d; then
+            invoke-rc.d postgresql-8.1 restart
+        else
+            /etc/init.d/postgresql-8.1 restart
+        fi
+
+        sipb-xen-database-tables create
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/sipb-xen-database-server.prerm b/debian/sipb-xen-database-server.prerm
new file mode 100644 (file)
index 0000000..b2936d4
--- /dev/null
@@ -0,0 +1,54 @@
+#!/bin/sh
+# prerm script for #PACKAGE#
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <prerm> `remove'
+#        * <old-prerm> `upgrade' <new-version>
+#        * <new-prerm> `failed-upgrade' <old-version>
+#        * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+#        * <deconfigured's-prerm> `deconfigure' `in-favour'
+#          <package-being-installed> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    remove|upgrade|deconfigure)
+
+        # This will destroy data -- do we want to do this?
+        # su postgres -c 'dropdb sipb_xen'
+        # su postgres -c 'dropuser sipb-xen'
+        PG_HBA=/etc/postgresql/8.1/main/pg_hba.conf
+        perl -ni -e 'print unless /^# ===BEGIN ADDED BY sipb-xen-dabase server$/ ..
+                                  /^# ===END ADDED BY sipb-xen-dabase server$/' \
+                                  "$PG_HBA"
+
+        if hash invoke-rc.d; then
+            invoke-rc.d postgresql-8.1 restart
+        else
+            /etc/init.d/postgresql-8.1 restart
+        fi
+    ;;
+
+    failed-upgrade)
+    ;;
+
+    *)
+        echo "prerm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/sipb-xen-database-tables b/sipb-xen-database-tables
new file mode 100755 (executable)
index 0000000..f054616
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python
+
+from sipb_xen_database import *
+import sys
+
+def usage():
+    print >>sys.stderr, "Usage: %s [create|drop]" %(sys.argv[0],)
+    sys.exit(-1)
+
+if len(sys.argv) == 1:
+    usage()
+
+connect('postgres://sipb-xen@localhost/sipb_xen')
+
+if sys.argv[1] == "create":
+    meta.create_all()
+else:
+    meta.drop_all()
index e69de29..c247bdf 100644 (file)
@@ -0,0 +1,5 @@
+from models import *
+
+def connect(uri):
+    """ Connect to a given database URI"""
+    meta.connect(uri)
index fdfe84c..cc4a7e9 100644 (file)
@@ -3,6 +3,17 @@ from sqlalchemy import *
 from sqlalchemy.ext.sessioncontext import SessionContext
 from sqlalchemy.ext.assignmapper import assign_mapper
 
+__all__ = ['meta',
+           'ctx',
+           'machine_table',
+           'nic_table',
+           'disk_table',
+           'types_table',
+           'Machine',
+           'NIC',
+           'Disk',
+           'Type']
+
 meta = DynamicMetaData()
 ctx = SessionContext(create_session)