#!/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 "$@"