summaryrefslogtreecommitdiff
path: root/libre/parabolaweb-git/parabolaweb.update.sh.in
blob: 8c3aef0f075547e3d63a502466f5fcb529d53050 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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