summaryrefslogtreecommitdiff
path: root/~lukeshu/parabolaweb-git/parabolaweb.update.sh.in
diff options
context:
space:
mode:
Diffstat (limited to '~lukeshu/parabolaweb-git/parabolaweb.update.sh.in')
-rw-r--r--~lukeshu/parabolaweb-git/parabolaweb.update.sh.in59
1 files changed, 59 insertions, 0 deletions
diff --git a/~lukeshu/parabolaweb-git/parabolaweb.update.sh.in b/~lukeshu/parabolaweb-git/parabolaweb.update.sh.in
new file mode 100644
index 000000000..8c3aef0f0
--- /dev/null
+++ b/~lukeshu/parabolaweb-git/parabolaweb.update.sh.in
@@ -0,0 +1,59 @@
+#!/bin/sh
+set -e
+
+_install_dir=@INSTALL_DIR@
+_gitname=@GIT_NAME@
+
+_gitroot=@GITROOT@
+_gitbranch=@GITBRANCH@
+
+. /usr/bin/libremessages
+
+if [ ! -d "$_install_dir" ]; then
+ mkdir "$_install_dir"
+fi
+cd "$_install_dir"
+
+msg "Connecting to GIT server...."
+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"
+
+msg "Purging old .pyc files...."
+find . -name '*.pyc' -delete
+
+msg "Checking configuration...."
+if [ ! -f local_settings.py ]; then
+ cp local_settings.py.example local_settings.tmp.$$.py
+ if ${EDITOR:-xdg-open} 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
+ msg "Creating database...."
+ ./manage.py syncdb
+fi
+
+msg "Purging old .pyc files...."
+find . -name '*.pyc' -delete
+
+msg "Updating database...."
+msg2 "Running migrations...."
+./manage.py migrate
+msg2 "Loading fixtures...."
+./manage.py loaddata */fixtures/*.json
+
+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