aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Elkins <melkins@tislabs.com>2011-11-10 05:55:19 +0000
committerMichael Elkins <melkins@tislabs.com>2011-11-10 05:55:19 +0000
commit82cdb46860033738cff0ebc77ea6af75fd66fbb5 (patch)
tree9f865e7019ff5f325361fc7285b49ea822d51533
parentebe3f9b8e6c12a578a5c8a62d60f10fa1b3b411b (diff)
move settings.py for portal gui django app to ${sysconfdir}/rpki since it really is a configuration file
svn path=/branches/tk103/; revision=4078
-rw-r--r--buildtools/make-django-script.py37
-rw-r--r--rpkid/Makefile.in25
-rw-r--r--rpkid/portal-gui/Makefile.in11
-rw-r--r--rpkid/portal-gui/apache/rpki.wsgi.in (renamed from rpkid/portal-gui/apache/rpki.wsgi)4
-rw-r--r--rpkid/portal-gui/manage.py (renamed from rpkid/rpki/gui/manage.py)0
-rw-r--r--rpkid/portal-gui/scripts/adduser.py5
-rwxr-xr-xrpkid/portal-gui/scripts/load_csv.py3
-rw-r--r--rpkid/portal-gui/scripts/rpkigui-rcynic.py4
-rw-r--r--rpkid/portal-gui/settings.py.in (renamed from rpkid/rpki/gui/settings.py.in)0
9 files changed, 65 insertions, 24 deletions
diff --git a/buildtools/make-django-script.py b/buildtools/make-django-script.py
new file mode 100644
index 00000000..67dd8ed3
--- /dev/null
+++ b/buildtools/make-django-script.py
@@ -0,0 +1,37 @@
+"""
+Convert a Python script into an executable Python script. Mostly this
+means constructing a header based on a few parameters supplied by
+autoconf.
+
+$Id$
+
+Copyright (C) 2011 Internet Systems Consortium ("ISC")
+
+Permission to use, copy, modify, and distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+"""
+
+import os, sys
+
+sys.stdout.write('''\
+#!%(AC_PYTHON_INTERPRETER)s
+# Automatically constructed script header
+
+import sys, os
+sys.path.append('%(AC_PYTHONPATH)s')
+os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
+
+# Original script starts here
+
+''' % os.environ)
+
+sys.stdout.write(sys.stdin.read())
diff --git a/rpkid/Makefile.in b/rpkid/Makefile.in
index ab2f2772..1ce31177 100644
--- a/rpkid/Makefile.in
+++ b/rpkid/Makefile.in
@@ -21,6 +21,7 @@ sysconfdir = @sysconfdir@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
+sysconfdir = @sysconfdir@
abs_builddir = @abs_builddir@
abs_top_srcdir = @abs_top_srcdir@
@@ -47,7 +48,7 @@ SCRIPTS = rpki-sql-backup rpki-sql-setup rpki-start-servers irbe_cli irdbd myrpk
AUX_SCRIPTS =
-SETTINGS = rpki/gui/settings.py rpki/gui/app/settings.py
+SETTINGS = portal-gui/settings.py rpki/gui/app/settings.py portal-gui/apache/rpki.wsgi
all:: ${POW_SO} rpki/relaxng.py myrpki.rng rpki/sql_schemas.py ${SCRIPTS} ${AUX_SCRIPTS} ${SETTINGS}
@@ -190,15 +191,22 @@ COMPILE_PYTHON = \
${PYTHON} ${abs_top_srcdir}/buildtools/make-python-executable.py <$? >$@; \
chmod 555 $@
+COMPILE_DJANGO = \
+ rm -f $@; \
+ AC_PYTHON_INTERPRETER='${PYTHON}' \
+ AC_PYTHONPATH='${DESTDIR}${sysconfdir}/rpki' \
+ ${PYTHON} ${abs_top_srcdir}/buildtools/make-django-script.py <$? >$@; \
+ chmod 555 $@
+
COMPILE_SETTINGS = \
rm -f $@; \
AC_DATABASE_PATH='${DESTDIR}${localstatedir}/rpki/gui.db' \
AC_SECRET_KEY='${SECRET_KEY}' \
- AC_MYRPKI='${DESTDIR}${sbindir}/myrpki' \
AC_LOCALSTATEDIR='${DESTDIR}${localstatedir}' \
AC_WEBUSER='${WEBUSER}' \
AC_DATAROOTDIR='${DESTDIR}${datarootdir}' \
AC_DJANGO_DIR='${DJANGO_DIR}' \
+ AC_SYSCONFDIR='${DESTDIR}${sysconfdir}' \
${PYTHON} ${abs_top_srcdir}/buildtools/subst-vars.py <$? >$@
rpki-sql-backup: rpki-sql-backup.py
@@ -229,18 +237,21 @@ rpkid: rpkid.py
${COMPILE_PYTHON}
portal-gui/scripts/rpkigui-load-csv: portal-gui/scripts/load_csv.py
- ${COMPILE_PYTHON}
+ ${COMPILE_DJANGO}
portal-gui/scripts/rpkigui-add-user: portal-gui/scripts/adduser.py
- ${COMPILE_PYTHON}
+ ${COMPILE_DJANGO}
portal-gui/scripts/rpkigui-rcynic: portal-gui/scripts/rpkigui-rcynic.py
- ${COMPILE_PYTHON}
+ ${COMPILE_DJANGO}
portal-gui/scripts/rpkigui-response: portal-gui/scripts/rpkigui-response.py
- ${COMPILE_PYTHON}
+ ${COMPILE_DJANGO}
+
+portal-gui/apache/rpki.wsgi: ${srcdir}/portal-gui/apache/rpki.wsgi.in
+ ${COMPILE_DJANGO}
-rpki/gui/settings.py: ${srcdir}/rpki/gui/settings.py.in
+portal-gui/settings.py: ${srcdir}/portal-gui/settings.py.in
${COMPILE_SETTINGS}
rpki/gui/app/settings.py: ${srcdir}/rpki/gui/app/settings.py.in
diff --git a/rpkid/portal-gui/Makefile.in b/rpkid/portal-gui/Makefile.in
index 946e877c..24341ed4 100644
--- a/rpkid/portal-gui/Makefile.in
+++ b/rpkid/portal-gui/Makefile.in
@@ -14,6 +14,7 @@ sharedstatedir=@sharedstatedir@
bindir=@bindir@
sbindir=@sbindir@
libexecdir=@libexecdir@
+sysconfdir=@sysconfdir@
WEBUSER=@WEBUSER@
DJANGO_ADMIN=@DJANGO_ADMIN@
@@ -26,6 +27,7 @@ CONFDIR=${DESTDIR}$(localstatedir)/rpki/conf
DATABASE_PATH=${DESTDIR}$(localstatedir)/rpki/gui.db
INSTDIR=${DESTDIR}$(datarootdir)/rpki/gui
STATIC_DIR=${INSTDIR}/static
+PYTHONPATH=${DESTDIR}${sysconfdir}/rpki
# automatically built sources
BUILD=apache/rpki.conf
@@ -62,8 +64,13 @@ install-apache:
install-data: $(BUILD) install-apache
mkdir -p `dirname $(DATABASE_PATH)`
- $(DJANGO_ADMIN) syncdb --settings rpki.gui.settings
- $(DJANGO_ADMIN) collectstatic --settings rpki.gui.settings --noinput
+ mkdir -p ${PYTHONPATH}
+ # FIXME should eventually try to merge new settings?
+ if [ ! -f ${PYTHONPATH}/settings.py ]; then \
+ ${INSTALL} -m 644 settings.py ${PYTHONPATH}; \
+ fi
+ $(DJANGO_ADMIN) syncdb --pythonpath ${PYTHONPATH} --settings settings
+ $(DJANGO_ADMIN) collectstatic --noinput --pythonpath ${PYTHONPATH} --settings settings
if [ ! -f $(INSTDIR)/rpki.conf.template ]; then ${INSTALL} -m 644 ../examples/rpki.conf $(INSTDIR)/rpki.conf.template; fi
install: install-data install-perms
diff --git a/rpkid/portal-gui/apache/rpki.wsgi b/rpkid/portal-gui/apache/rpki.wsgi.in
index 0a7797a7..8cddef95 100644
--- a/rpkid/portal-gui/apache/rpki.wsgi
+++ b/rpkid/portal-gui/apache/rpki.wsgi.in
@@ -19,9 +19,5 @@ This is an example wsgi application for use with mod_wsgi and apache.
"""
-import os
-
-os.environ['DJANGO_SETTINGS_MODULE'] = 'rpki.gui.settings'
-
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
diff --git a/rpkid/rpki/gui/manage.py b/rpkid/portal-gui/manage.py
index 5e78ea97..5e78ea97 100644
--- a/rpkid/rpki/gui/manage.py
+++ b/rpkid/portal-gui/manage.py
diff --git a/rpkid/portal-gui/scripts/adduser.py b/rpkid/portal-gui/scripts/adduser.py
index 5ce8ab76..b06c6bc4 100644
--- a/rpkid/portal-gui/scripts/adduser.py
+++ b/rpkid/portal-gui/scripts/adduser.py
@@ -20,15 +20,10 @@
#
# DO NOT EDIT! This script is automatically generated from adduser.py
-import os
-os.environ['DJANGO_SETTINGS_MODULE'] = 'rpki.gui.settings'
-
from django.contrib.auth.models import User
from rpki.gui.app import settings
from rpki.gui.app.models import Conf
-import os
-import sys
import getpass
import pwd
diff --git a/rpkid/portal-gui/scripts/load_csv.py b/rpkid/portal-gui/scripts/load_csv.py
index 44d08829..9d4fc1ac 100755
--- a/rpkid/portal-gui/scripts/load_csv.py
+++ b/rpkid/portal-gui/scripts/load_csv.py
@@ -23,9 +23,6 @@
# for the handle you are loading data
#
-import os
-os.environ['DJANGO_SETTINGS_MODULE'] = 'rpki.gui.settings'
-
import csv
import socket # for socket.error
diff --git a/rpkid/portal-gui/scripts/rpkigui-rcynic.py b/rpkid/portal-gui/scripts/rpkigui-rcynic.py
index c7a0136e..3dc0d9bd 100644
--- a/rpkid/portal-gui/scripts/rpkigui-rcynic.py
+++ b/rpkid/portal-gui/scripts/rpkigui-rcynic.py
@@ -17,9 +17,7 @@
default_logfile = '/var/rcynic/data/summary.xml'
default_root = '/var/rcynic/data'
-import os, sys, time, vobject
-os.environ['DJANGO_SETTINGS_MODULE'] = 'rpki.gui.settings'
-
+import time, vobject
from rpki.gui.cacheview import models
from rpki.rcynic import rcynic_xml_iterator, label_iterator
from rpki.sundial import datetime
diff --git a/rpkid/rpki/gui/settings.py.in b/rpkid/portal-gui/settings.py.in
index 243cef56..243cef56 100644
--- a/rpkid/rpki/gui/settings.py.in
+++ b/rpkid/portal-gui/settings.py.in