diff options
author | Michael Elkins <melkins@tislabs.com> | 2013-03-07 18:33:41 +0000 |
---|---|---|
committer | Michael Elkins <melkins@tislabs.com> | 2013-03-07 18:33:41 +0000 |
commit | 353e21c13948820776376e724ade98b408603727 (patch) | |
tree | 296ab2600d2e646659d5ef9f53bcfd18e71e905f | |
parent | b1f54c89953012d98206a566a780f536b5ed6232 (diff) |
move installation of most portal-gui scripts to setup.py (see #373)
add script to be invoked by cron to download routeviews data
add install-linux target for creating cron jobs for some rpki gui tasks
svn path=/trunk/; revision=5119
-rw-r--r-- | rpkid/Makefile.in | 15 | ||||
-rw-r--r-- | rpkid/portal-gui/Makefile.in | 16 | ||||
-rwxr-xr-x | rpkid/portal-gui/routeviews.sh | 12 | ||||
-rw-r--r-- | rpkid/setup.py | 10 |
4 files changed, 44 insertions, 9 deletions
diff --git a/rpkid/Makefile.in b/rpkid/Makefile.in index 5980d6bd..fefb08fb 100644 --- a/rpkid/Makefile.in +++ b/rpkid/Makefile.in @@ -47,9 +47,13 @@ SETUP_PY = \ AC_LIBS='${LIBS}' \ AC_SBINDIR='${sbindir}' \ AC_SCRIPTS='${SCRIPTS}' \ + AC_DATA_FILES='${DATA_FILES}' \ + AC_CONF_FILES='${CONF_FILES}' \ AC_ABS_BUILDDIR='${abs_builddir}' \ AC_LIBEXECDIR='${libexecdir}' \ AC_AUX_SCRIPTS='${AUX_SCRIPTS}' \ + AC_DATAROOTDIR='${datarootdir}/rpki' \ + AC_SYSCONFDIR='${sysconfdir}/rpki' \ ${PYTHON} setup.py SETUP_PY_ROOT = `${PYTHON} -c 'import sys; print "--root " + sys.argv[1] if sys.argv[1] else ""' '${DESTDIR}'` @@ -65,13 +69,16 @@ SCRIPTS = rpki-sql-backup rpki-sql-setup rpki-start-servers irbe_cli irdbd \ # scripts we build, but don't install BUILD_SCRIPTS = portal-gui/scripts/rpkigui-reset-demo \ - portal-gui/scripts/rpkigui-flatten-roas + portal-gui/scripts/rpkigui-flatten-roas \ + portal-gui/rpki.wsgi -AUX_SCRIPTS = +# these files get put in ${datarootdir}/rpki +DATA_FILES = portal-gui/routeviews.sh -SETTINGS = portal-gui/settings.py portal-gui/rpki.wsgi +# these files get put in ${sysconfdir}/rpki +CONF_FILES = portal-gui/settings.py portal-gui/apache.conf -all:: ${POW_SO} rpki/relaxng.py myrpki.rng rpki/sql_schemas.py ${SCRIPTS} ${AUX_SCRIPTS} ${SETTINGS} ${BUILD_SCRIPTS} +all:: ${POW_SO} rpki/relaxng.py myrpki.rng rpki/sql_schemas.py ${SCRIPTS} ${AUX_SCRIPTS} ${CONF_FILES} ${BUILD_SCRIPTS} ${POW_SO}: ext/POW.c setup.py ${SETUP_PY} build_ext --inplace diff --git a/rpkid/portal-gui/Makefile.in b/rpkid/portal-gui/Makefile.in index 7eb2e572..bb5283f2 100644 --- a/rpkid/portal-gui/Makefile.in +++ b/rpkid/portal-gui/Makefile.in @@ -43,25 +43,31 @@ edit = sed \ apache.conf: $(srcdir)/apache.conf.in Makefile $(edit) $@.in > $@ -install: $(BUILD) - if test -d $(SYSCONFDIR); then :; else ${INSTALL} -d $(SYSCONFDIR); fi +install: all install-always + +install-always: if test -d $(INSTDIR)/wsgi; then :; else ${INSTALL} -d $(INSTDIR)/wsgi; fi if test -d $(INSTDIR)/media; then :; else ${INSTALL} -d $(INSTDIR)/media; fi if test -d $(INSTDIR)/media/css; then :; else ${INSTALL} -d $(INSTDIR)/media/css; fi if test -d $(INSTDIR)/media/img; then :; else ${INSTALL} -d $(INSTDIR)/media/img; fi if test -d $(INSTDIR)/media/js; then :; else ${INSTALL} -d $(INSTDIR)/media/js; fi - ${INSTALL} -m 644 apache.conf $(SYSCONFDIR)/apache.conf ${INSTALL} -m 644 rpki.wsgi $(INSTDIR)/wsgi/rpki.wsgi - ${INSTALL} -m 644 settings.py ${SYSCONFDIR} # this would be better handled with "django-admin collectstatic" but makes the install # process harder for the end user. ${INSTALL} -m 644 $(srcdir)/../rpki/gui/app/static/css/* $(INSTDIR)/media/css ${INSTALL} -m 644 $(srcdir)/../rpki/gui/app/static/js/* $(INSTDIR)/media/js ${INSTALL} -m 644 $(srcdir)/../rpki/gui/app/static/img/* $(INSTDIR)/media/img +install-linux: + t=$$(hexdump -n 1 -e '"%u"' /dev/urandom) && echo "$$(($$t % 60)) 0/2 * * * nobody ${datarootdir}/rpki/routeviews.sh" > ${DESTDIR}/etc/cron.d/rpkigui-routeviews + chmod 644 ${DESTDIR}/etc/cron.d/rpkigui-routeviews + ln -sf ${DESTDIR}${sbindir}/rpkigui-check-expired /etc/cron.daily/rpkigui-check-expired + deinstall uninstall: rm -rf $(INSTDIR)/media $(INSTDIR)/wsgi - rm -rf $(SYSCONFDIR)/apache.conf $(SYSCONFDIR)/settings.py $(SYSCONFDIR)/settings.pyc + +deinstall-linux: + rm -f /etc/cron.d/rpkigui-routeviews /etc/cron.daily/rpkigui-check-expired test: @true diff --git a/rpkid/portal-gui/routeviews.sh b/rpkid/portal-gui/routeviews.sh new file mode 100755 index 00000000..ad8f40ba --- /dev/null +++ b/rpkid/portal-gui/routeviews.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +i=oix-full-snapshot-latest.dat.bz2 +o=/tmp/$i + +#curl -s -S -o $o http://archive.routeviews.org/oix-route-views/$i +# wget is stock in Ubuntu so use that instead of curl +wget -q -O $o http://archive.routeviews.org/oix-route-views/$i + +if [ $? -eq 0 ]; then + rpkigui-import-routes -l error $o +fi diff --git a/rpkid/setup.py b/rpkid/setup.py index db7e0135..eded0251 100644 --- a/rpkid/setup.py +++ b/rpkid/setup.py @@ -25,10 +25,14 @@ ac_ldflags = os.getenv("AC_LDFLAGS", "").split() ac_libs = os.getenv("AC_LIBS", "").split() ac_scripts = os.getenv("AC_SCRIPTS", "").split() ac_aux_scripts = os.getenv("AC_AUX_SCRIPTS", "").split() +ac_data_files = os.getenv("AC_DATA_FILES", "").split() +ac_conf_files = os.getenv("AC_CONF_FILES", "").split() ac_sbindir = os.getenv("AC_SBINDIR", "").strip() ac_abs_builddir = os.getenv("AC_ABS_BUILDDIR", "").strip() ac_libexecdir = os.getenv("AC_LIBEXECDIR", "").strip() +ac_datarootdir = os.getenv("AC_DATAROOTDIR", "").strip() +ac_sysconfdir = os.getenv("AC_SYSCONFDIR", "").strip() # Non-standard extension build specification: we need to force # whatever build options our top-level ./configure selected, and we @@ -57,6 +61,12 @@ if ac_sbindir and ac_scripts: if ac_libexecdir and ac_aux_scripts: data_files.append((ac_libexecdir, ["%s/%s" % (ac_abs_builddir, f) for f in ac_aux_scripts])) +if ac_datarootdir and ac_data_files: + data_files.append((ac_datarootdir, + ["%s/%s" % (ac_abs_builddir, f) for f in ac_data_files])) +if ac_sysconfdir and ac_conf_files: + data_files.append((ac_sysconfdir, + ["%s/%s" % (ac_abs_builddir, f) for f in ac_conf_files])) if not data_files: data_files = None |