From acf31d3f7569b7db4c14a6011aab88b0ce48a696 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 21 Oct 2012 01:07:09 -0400 Subject: improve libre/parabolaweb-utils meta: * add `python2-flup` as a dependency (needed for fcgi) filesystem: * mv `/usr/sbin/{update-parabolaweb,parabolaweb-update}` * pull `/usr/sbin/parabolaweb-fgci` out of `/etc/rc.d/parabolaweb` * pull `/etc/conf.d/parabolaweb` out of `/etc/rc.d/parabolaweb` * add `/usr/lib/systemd/system/parabolaweb.service` --- libre/parabolaweb-utils/parabolaweb-update | 81 ++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 libre/parabolaweb-utils/parabolaweb-update (limited to 'libre/parabolaweb-utils/parabolaweb-update') diff --git a/libre/parabolaweb-utils/parabolaweb-update b/libre/parabolaweb-utils/parabolaweb-update new file mode 100644 index 000000000..e4d65c2d9 --- /dev/null +++ b/libre/parabolaweb-utils/parabolaweb-update @@ -0,0 +1,81 @@ +#!/bin/bash +set -e + +_install_dir=/srv/http +_gitname=web +_gitroot=git://parabolagnulinux.org/parabolaweb.git +_gitbranch=master + +. /usr/bin/libremessages + +download() { + msg "Connecting to GIT server...." + cd "$_install_dir" + if [[ -d ${_gitname} ]]; then + msg2 "Updating existing tree" + cd ${_gitname} && git pull ${_gitroot} + else + msg2 "Cloning tree" + git clone ${_gitroot} ${_gitname} + cd ${_gitname} + fi + git checkout ${_gitbranch} + msg "GIT checkout done or server timeout" +} + +clean() { + msg "Purging old .pyc files...." + cd "$_install_dir/$_gitname" + find . -name '*.pyc' -delete +} + +configure() { + msg "Checking configuration...." + cd "$_install_dir/$_gitname" + if [[ ! -f local_settings.py ]]; then + msg2 "Configuration file missing, opening editor..." + cp local_settings.py.example local_settings.tmp.$$.py + if "$EDITOR" local_settings.tmp.$$.py; then + mv local_settings.tmp.$$.py local_settings.py + else + rm local_settings.tmp.$$.py + msg "Failed to configure, exiting" + exit 1 + fi + msg2 "Creating database...." + ./manage.py syncdb + else + msg2 "Current configuration checks out" + fi +} + +migrate() { + msg "Updating database...." + msg2 "Running migrations...." + ./manage.py migrate + msg2 "Loading fixtures...." + ./manage.py loaddata */fixtures/*.json +} + +main() { + if [[ -z "$EDITOR" ]]; then + error 'Please set the $EDITOR variable' + exit 1 + fi + + [[ ! -d "$_install_dir" ]] && mkdir "$_install_dir" + + download + clean + configure + clean + migrate + + msg "Checking media/admin_media symlink...." + if [ ! -e media/admin-media ]; then + rm media/admin_media + ln -s /usr/lib/python2.7/site-packages/django/contrib/admin/media media/admin_media + fi +} + +main "$@" -- cgit v1.2.3-2-g168b