63 lines
1.6 KiB
63 lines
1.6 KiB
#!/bin/bash
|
|
|
|
set -ex # -x for verbose logging to juju debug-log
|
|
|
|
|
|
##
|
|
## Options (changeable thanks to ``/etc/charm/openerp.conf``)
|
|
##
|
|
|
|
export OPENERP_PASSWORD=${OPENERP_PASSWORD:-admin}
|
|
|
|
## 0k git remote path
|
|
export GIT_0K_BASE=${GIT_0K_BASE:-"git.0k.io:/var/git"}
|
|
|
|
## 0k git remote options
|
|
export GIT_0K_CLONE_OPTIONS=${GIT_0K_CLONE_OPTIONS:-""}
|
|
|
|
## 0k git-sub setup options
|
|
export GIT_0K_SUB_CLONE_OPTIONS=${GIT_0K_SUB_CLONE_OPTIONS:-""}
|
|
|
|
## 0k git default checkout reference (for 0k-oe root package)
|
|
export GIT_0K_CHECKOUT_REF=${GIT_0K_CHECKOUT_REF:-"8.0/0k/dev/master"}
|
|
|
|
|
|
## set only if not already set:
|
|
export VIRTUALENV=${VIRTUALENV-/srv/virtualenv/default}
|
|
|
|
RELEASE=${RELEASE:-}
|
|
|
|
|
|
## debian does not include lsb_release, but it is ok since
|
|
## it receives its release info from 0k-odoo-light. But, herk.
|
|
test -z "$RELEASE" && export RELEASE=$(lsb_release -c -s)
|
|
|
|
|
|
##
|
|
## Code
|
|
##
|
|
|
|
(
|
|
mkdir -p /opt/apps
|
|
cd /opt/apps || exit 1
|
|
if ! [ -d /opt/apps/0k-oe ]; then
|
|
if [ "$ODOO_CP_FROM_DIR" ]; then
|
|
cp -a "$ODOO_CP_FROM_DIR" "/opt/apps/0k-oe"
|
|
else
|
|
apt-get install -y python-pip && pip install shyaml
|
|
git sub clone $GIT_0K_CLONE_OPTIONS $GIT_0K_SUB_CLONE_OPTIONS -b "$GIT_0K_CHECKOUT_REF" \
|
|
"$GIT_0K_BASE"/0k/0k-oe
|
|
fi
|
|
fi &&
|
|
cd 0k-oe/charm &&
|
|
find install.d/ -mindepth 1 -maxdepth 1 -executable -regex 'install.d/[0-9]+-.*' | sort -n |
|
|
while read script; do
|
|
echo "=== LAUNCHING SCRIPT: $script"
|
|
"$script"
|
|
errlvl=$?
|
|
echo "=== EXIT OF SCRIPT: $script, ERRLVL: $errlvl"
|
|
if [ "$errlvl" != 0 ]; then
|
|
exit 1
|
|
fi
|
|
done
|
|
) || exit 1
|