diff options
Diffstat (limited to '~lukeshu/parabolaweb-git/parabolaweb.update.sh.in')
-rw-r--r-- | ~lukeshu/parabolaweb-git/parabolaweb.update.sh.in | 59 |
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 |