#!/bin/bash set -eux # -x for verbose logging to juju debug-log cat <> /etc/fstab lxc-nfs-datastore:/srv/lxc-datastore/data/git/var/git /var/git nfs4 timeo=14,intr,bootwait,auto 0 0 EOF mkdir -p /var/git mount /var/git || exit 1 [ -d "/var/git/0k" ] || exit 1 apt-get install sudo libxml2-dev libxslt-dev libpq-dev libyaml-dev \ zlib1g-dev libfreetype6-dev \ libjpeg-dev libmysqlclient-dev -y --force-yes set +eux source /srv/virtualenv/default/bin/activate set -eux ## install deps for PIL compilations ## from http://www.sandersnewmedia.com/why/2012/04/16/installing-pil-virtualenv-ubuntu-1204 if ! [ -e "/usr/lib/libjpeg.so" ]; then apt-get build-dep python-imaging -y --force-yes ln -s /usr/lib/`uname -i`-linux-gnu/libfreetype.so /usr/lib/ ln -s /usr/lib/`uname -i`-linux-gnu/libjpeg.so /usr/lib/ ln -s /usr/lib/`uname -i`-linux-gnu/libz.so /usr/lib/ fi ## Installing PIL with our archive is safer. #pip install pil (cd /tmp && cp /var/git/archives/PIL-1.1.7.tar.gz . && tar xvzf PIL-1.1.7.tar.gz && cd PIL-1.1.7 && python setup.py install ) pip install lxml pyparsing==1.5.7 psycopg2 pyyaml reportlab mako \ pywebdav==0.9.4 feedparser caldav pytz pydot \ python-dateutil==1.5 cherrypy==3.1.2 formencode==1.2.2 \ babel simplejson==2.0.9 python-openid mysql-python vatnumber \ mock unittest2 fudge docutils jinja2 gdata ## Install pychart... from our repo as : ## download link in PyPi is dead, ## and gna.org was down recently cp /var/git/archives/PyChart-1.39.tar.gz /tmp (cd /tmp ; tar xvzf PyChart*.tar.gz cd PyChart* python setup.py install ) ## Install OOOP... from our git repo as: ## we have some bug correction and custom features if ! [ -d "/opt/apps/ooop" ]; then ( cd /opt/apps && git clone -s /var/git/0k/ooop.git && cd /opt/apps/ooop && git checkout 0k/prod/master && ## beurk ln -sf /opt/apps/ooop/ooop.py /srv/virtualenv/default/lib/python2.7/ooop.py ) fi ## ## Install openobject-server from 0k GIT version ## ( cd /opt/apps git clone -s /var/git/0k/openobject-server.git cd /opt/apps/openobject-server git checkout 6.1/0k/prod/master ) adduser --system --home=/var/lib/openerp --group openerp ## XXXvlab: warning password in charm !! cp -i etc/openerp-server.conf /etc/ cp -i etc/init.d/openerp-server /etc/init.d/ chown openerp /etc/openerp-server.conf chmod 600 /etc/openerp-server.conf chown openerp /etc/init.d/openerp-server update-rc.d openerp-server defaults mkdir /var/log/openerp touch /var/log/openerp/openerp-server.log chown openerp /var/log/openerp -R ## Install add-ons ## make a better way for installing add-ons #addons_path=/opt/apps/openobject-addons/0k #if ! [ -d "$addons_path" ]; then # mkdir -p $addons_path # for addons in $(/var/git/list-addons 0k/dev/master | grep ^0k); do # git clone -s /var/git/$addons /opt/apps/openobject-addons/${addons%.git} # (cd /opt/apps/openobject-addons/${addons%.git} # git checkout 6.1/0k/prod/master || # git checkout 0k/prod/master || # git checkout 0k/dev/master || # git checkout 6.1/simplee/prod/master || # git checkout simplee/prod/master || # git checkout simplee/dev/master || # git checkout master # ) # done #else # echo 'WARNING: skipping modules installation as directory was already existent !' #fi ## install addons ( mkdir -p /opt/apps/openobject-addons/ && cd /opt/apps/openobject-addons/ && git clone -s /var/git/0k/openobject-addons legacy && cd /opt/apps/openobject-addons/legacy && git checkout 6.1/0k/dev/master ) ## Install from 0k GIT version ## because we have bug corrections and new features ( cd /opt/apps && git clone -s /var/git/0k/openerp-web.git && cd /opt/apps/openerp-web && git checkout 6.1/0k/dev/master ) ## Install werkzeug from github last version ## because last PyPi version is 8.4 and we need the 9.0+ ( cd /tmp && git clone https://github.com/mitsuhiko/werkzeug.git && cd werkzeug && python setup.py install ) ## ## Linking with external filestore ! ## ( cd /opt/apps/openobject-server/openerp && ln -sf /var/openerp-filestore filestore && cd /var/openerp-filestore && chown openerp . )