From 95e2312d56fae1d93269f1714a31bcefdf9c312a Mon Sep 17 00:00:00 2001 From: Valentin Lab Date: Wed, 21 Jan 2015 14:47:48 +0700 Subject: [PATCH] new: [0k-openerp] charm intelligence is now migrated in ``0k-oe``. This will allow much better integration with different version. --- precise/0k-odoo-light/hooks/install | 2 +- precise/0k-openerp/etc/default/openerp-server | 7 - precise/0k-openerp/etc/init.d/openerp-server | 81 ----- precise/0k-openerp/etc/openerp-server.conf | 67 ---- precise/0k-openerp/hooks/install | 299 ++---------------- precise/0k-openerp/revision | 2 +- 6 files changed, 25 insertions(+), 433 deletions(-) delete mode 100644 precise/0k-openerp/etc/default/openerp-server delete mode 100755 precise/0k-openerp/etc/init.d/openerp-server delete mode 100644 precise/0k-openerp/etc/openerp-server.conf diff --git a/precise/0k-odoo-light/hooks/install b/precise/0k-odoo-light/hooks/install index b89041e2..eae1954e 100755 --- a/precise/0k-odoo-light/hooks/install +++ b/precise/0k-odoo-light/hooks/install @@ -68,7 +68,7 @@ fi ## ===================== END OF DUPLICATE CODE =========== (cd ../0k-openerp -RELEASE=jessie NO_VIRTUALENV=1 hooks/install +RELEASE=jessie VIRTUALENV= hooks/install ) apt-get remove -y --force-yes $DEPS_TO_REMOVE diff --git a/precise/0k-openerp/etc/default/openerp-server b/precise/0k-openerp/etc/default/openerp-server deleted file mode 100644 index ee5b5991..00000000 --- a/precise/0k-openerp/etc/default/openerp-server +++ /dev/null @@ -1,7 +0,0 @@ -DBFILTER="[ -# ('^(?P[a-zA-Z0-9]+)\.(simplee\.fr|0k\.io|txs\.fr)$', '^%(dbprefix)s.*$'), -# ('^(tuxservices|172\.16\.[0-9]+\.[0-9]+)(:[0-9]+)?$', '^tuxservices.*\$'), ## All database will be shown -# (None, '^$') ## Default: no database will be shown - (None, '^.*$') ## All database will be shown - ]" - diff --git a/precise/0k-openerp/etc/init.d/openerp-server b/precise/0k-openerp/etc/init.d/openerp-server deleted file mode 100755 index e4c34361..00000000 --- a/precise/0k-openerp/etc/init.d/openerp-server +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/sh - -### BEGIN INIT INFO -# Provides: openerp-server -# Required-Start: $remote_fs $syslog -# Required-Stop: $remote_fs $syslog -# Should-Start: $network -# Should-Stop: $network -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Enterprise Resource Management software -# Description: Open ERP is a complete ERP and CRM software. -### END INIT INFO - -PATH=/sbin:/bin:/usr/sbin:/usr/bin -PYTHON=/srv/virtualenv/default/bin/python -DAEMON=/opt/apps/0k-oe/openobject-server/openerp-server -NAME=openerp-server -DESC=openerp-server - -DEFAULT_FILE=/etc/default/openerp-server - -DBFILTER="'.*'" -[ -e "$DEFAULT_FILE" ] && . "$DEFAULT_FILE" - - -USER=openerp - -test -x ${DAEMON} || exit 0 - -set -e - -case "${1}" in - start) - echo -n "Starting ${DESC}: " - - start-stop-daemon --start --quiet --pidfile /var/run/${NAME}.pid \ - --chuid ${USER} --background --make-pidfile \ - --exec ${PYTHON} -- ${DAEMON} --config=/etc/openerp-server.conf \ - --logfile=/var/log/openerp/openerp-server.log \ - --db-filter="$DBFILTER" - - - echo "${NAME}." - ;; - - stop) - echo -n "Stopping ${DESC}: " - - start-stop-daemon --stop --quiet --pidfile /var/run/${NAME}.pid \ - --oknodo - - echo "${NAME}." - ;; - - restart|force-reload) - echo -n "Restarting ${DESC}: " - - start-stop-daemon --stop --quiet --pidfile /var/run/${NAME}.pid \ - --oknodo - - sleep 1 - - start-stop-daemon --start --quiet --pidfile /var/run/${NAME}.pid \ - --chuid ${USER} --background --make-pidfile \ - --exec ${PYTHON} -- ${DAEMON} --config=/etc/openerp-server.conf \ - --logfile=/var/log/openerp/openerp-server.log \ - --db-filter="$DBFILTER" - - - echo "${NAME}." - ;; - - *) - N=/etc/init.d/${NAME} - echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2 - exit 1 - ;; -esac - -exit 0 diff --git a/precise/0k-openerp/etc/openerp-server.conf b/precise/0k-openerp/etc/openerp-server.conf deleted file mode 100644 index cd41fc1c..00000000 --- a/precise/0k-openerp/etc/openerp-server.conf +++ /dev/null @@ -1,67 +0,0 @@ - -[options] -; This is the password that allows database operations -; Will be written to by the server when password is changed -; !! Keep this file secure !! -admin_passwd = %%PASSWORD%% - -root_path = /opt/apps/0k-oe/openobject-server/bin - -without_demo = False -verbose = False - -; Database settings -db_user = %%OPENERP_USERNAME%% -db_password = %%OPENERP_PASSWOR%% -; Please uncomment the following line *after* you have created the -; database. It activates the auto module check on startup. -; db_name = False -db_port = 5432 -db_host = localhost -db_maxconn = 64 - -; Networking Settings -xmlrpc = True -xmlrpc_interface = -xmlrpc_port = 8069 - -proxy_mode = True - -netrpc = True -netrpc_interface = -netrpc_port = 8070 - -; Uncomment these for xml-rpc over SSL -;xmlrpcs = True -;xmlrpcs_interface = -;xmlrpcs_port = 8071 -;secure_pkey_file = /etc/ssl/openerp/server.pkey -;secure_cert_file = /etc/ssl/openerp/server.crt - -; Log settings -;logfile = /var/log/openerp/openerp-server.log -syslog = False -logrotate = True -log_level = info - -; False prevents the client displaying the list of databases -list_db = True -addons_path = /opt/apps/0k-oe/openobject-server/openerp/addons,/opt/apps/0k-oe/addons,/opt/apps/0k-oe/openerp-web/addons -demo = {} -soap = False -reportgz = False -translate_modules = ['all'] - -; Static http parameters -static_http_enable = False -static_http_document_root = /var/www/html -static_http_url_prefix = / - -; Outbound email configuration -;smtp_user = info@example.com -;email_from = "OpenERP Support" -;smtp_port = 25 -;smtp_password = ******** -;smtp_ssl = True -;smtp_server = mail.example.com - diff --git a/precise/0k-openerp/hooks/install b/precise/0k-openerp/hooks/install index a45550a8..5eb9d0bc 100755 --- a/precise/0k-openerp/hooks/install +++ b/precise/0k-openerp/hooks/install @@ -7,308 +7,55 @@ set -ex # -x for verbose logging to juju debug-log ## Options (changeable thanks to ``/etc/charm/openerp.conf``) ## -OPENERP_PASSWORD=${OPENERP_PASSWORD:-openerp_password} +export OPENERP_PASSWORD=${OPENERP_PASSWORD:-openerp_password} ## 0k git remote path -GIT_0K_BASE=${GIT_0K_BASE:-"git.0k.io:/var/git"} +export GIT_0K_BASE=${GIT_0K_BASE:-"git.0k.io:/var/git"} ## 0k git remote options -GIT_0K_CLONE_OPTIONS=${GIT_0K_CLONE_OPTIONS:-""} +export GIT_0K_CLONE_OPTIONS=${GIT_0K_CLONE_OPTIONS:-""} ## 0k git-sub setup options -GIT_0K_SUB_CLONE_OPTIONS=${GIT_0K_SUB_CLONE_OPTIONS:-""} +export GIT_0K_SUB_CLONE_OPTIONS=${GIT_0K_SUB_CLONE_OPTIONS:-""} ## 0k git default checkout reference (for 0k-oe root package) -GIT_0K_CHECKOUT_REF=${GIT_0K_CHECKOUT_REF:-"8.0/0k/dev/master"} +export GIT_0K_CHECKOUT_REF=${GIT_0K_CHECKOUT_REF:-"8.0/0k/dev/master"} -RELEASE=${RELEASE:-} - -test -z "$RELEASE" && RELEASE=$(lsb_release -c -s) - -## -## Code -## - -if [ -z "$NO_VIRTUALENV" ]; then - set +ex - source /srv/virtualenv/default/bin/activate - set -ex -fi - - - -if [ "$NO_VIRTUALENV" ]; then - - apt-get install -y --no-install-recommends python-geoip python-gevent \ - python-ldap python-lxml python-markupsafe python-pip \ - python-psutil python-psycopg2 python-pychart python-pydot \ - python-reportlab python-simplejson python-yaml wget wkhtmltopdf \ - python-mysqldb - -fi +## set only if not already set: +export VIRTUALENV=${VIRTUALENV-/srv/virtualenv/default} -if [ "$RELEASE" == "wheezy" ]; then - ( - cd /tmp - wget http://downloads.sourceforge.net/project/wkhtmltopdf/0.12.1/wkhtmltox-0.12.1_linux-precise-amd64.deb - dpkg -i wkhtmltox-0.12.1_linux-precise-amd64.deb - rm -f wkhtmltox-0.12.1_linux-precise-amd64.deb - ) -fi - - -pip install sact.epoch shyaml - - -## Install OOOP... from our git repo as: -## we have some bug correction and custom features -PYTHON_LIB_DEST=/usr/lib/python2.7 -if [ -z "$NO_VIRTUALENV" ]; then - PYTHON_LIB_DEST=/srv/virtualenv/default/lib/python2.7 -fi - -mkdir -p /opt/apps -if ! [ -d "/opt/apps/ooop" ]; then - ( - cd /opt/apps && - git clone $GIT_0K_CLONE_OPTIONS "$GIT_0K_BASE/0k/ooop.git" && - cd /opt/apps/ooop && - git checkout 0k/prod/master && - - ## beurk - - ln -sf /opt/apps/ooop/ooop.py $PYTHON_LIB_DEST/ooop.py - ) -fi - -## Install aerolib... from our git repo as: - -if ! [ -d "/opt/apps/aeroolib" ]; then - ( - cd /opt/apps && - git clone $GIT_0K_CLONE_OPTIONS "$GIT_0K_BASE/0k/aeroolib.git" && - cd /opt/apps/aeroolib && - git checkout master && - - ## beurk - ln -sf /opt/apps/aeroolib/aeroolib/aeroolib $PYTHON_LIB_DEST/aeroolib - ) -fi +RELEASE=${RELEASE:-} -## 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 && - cd /tmp && - rm -rf werkzeug -) +test -z "$RELEASE" && export RELEASE=$(lsb_release -c -s) ## -## Install 0k-oe +## Code ## - -AVOID_INSTALL="pil pillow" -if [ "$NO_VIRTUALENV" ]; then - ## These are provided in the system already our by our means - AVOID_INSTALL="$AVOID_INSTALL psycopg2 lxml gevent python-ldap MarkupSafe - psutil http://download.gna.org/pychart/PyChart-1.39.tar.gz - pydot reportlab simplejson PyYAML" -fi - - ( + 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 && - ( - [ -e odoo/requirements.txt ] && cat odoo/requirements.txt - for req in addons/*/requirements.txt; do - if [ -r "$req" ]; then - cat "$req" + 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 - ) | sort -u > /tmp/requirements.txt - for pack in $AVOID_INSTALL; do - sed -ri "s%^($pack.*)$%#\1%g" /tmp/requirements.txt - done ) || exit 1 - - -## -## Install PIL/Pillow if in Virtualenv or if Pillow is needed -## - -NEED_PILLOW=$(cat /tmp/requirements.txt | grep -i "^pillow") - -if [ -z "$NO_VIRTUALENV" -o "$NEED_PILLOW" ]; then - - ## - ## Installing PIL/Pillow - ## - - - if [ "$NEED_PILLOW" ]; then - DEV="$DEV build-essential libtiff5-dev libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev - tcl8.5-dev tk8.5-dev python-dev" - LIB="$LIB python-tk libjpeg62 libtiff5" - else - ## from http://www.sandersnewmedia.com/why/2012/04/16/installing-pil-virtualenv-ubuntu-1204 - - DEV="$DEV libxml2-dev libxslt-dev libpq-dev libyaml-dev - zlib1g-dev libfreetype6-dev - libsasl2-dev libjpeg-dev libmysqlclient-dev" - - LIB="libxslt1.1 libpq5 libjpeg62 libtiff5 libmysqlclient18" - - fi - - - ## install deps for PIL compilations - - apt-get install $DEV $LIB \ - -y --force-yes --no-install-recommends - - if ! [ -e "/usr/lib/libjpeg.so" ]; then - if [ "$RELEASE" == "trusty" ]; then - ## for some reason /etc/apt/sources.list can be WITHOUT deb-src lines - apt-cache policy python-imaging | tail -n 1 | \ - while read code url distrib arch type; do - echo deb-src $url $(echo "$distrib" | tr "/" " "); - done >> /etc/apt/sources.list && - apt-get update - fi - if ! [ -d "/usr/include/freetype2/freetype" ]; then - (cd /usr/include/freetype2 && - ln -sf . freetype) - fi - - 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 - - if [ "$NEED_PILLOW" ]; then - pip install "$NEED_PILLOW" - else - ## Installing PIL with our archive is safer. - #pip install pil - ( - cd /tmp && - scp "$GIT_0K_BASE"/archives/PIL-1.1.7.tar.gz . && - tar xvzf PIL-1.1.7.tar.gz && - cd PIL-1.1.7 && - python setup.py install - - cd /tmp - rm -rf /tmp/PIL-1.1.7 - ) - fi - -fi - -if [ -z "$NO_VIRTUALENV" ]; then - - ## Install pychart... from our repo as : - ## download link in PyPi is dead, - ## and gna.org was down recently - ( - scp "$GIT_0K_BASE/archives/PyChart-1.39.tar.gz" /tmp && - cd /tmp && tar xvzf PyChart*.tar.gz && - cd PyChart* && - python setup.py install && - cd /tmp && - rm -rf /tmp/PyChart* - ) - - ## should be in connectors requirements. - pip install mysql-python - -fi - - -pip install -r /tmp/requirements.txt || exit 1 -rm /tmp/requirements.txt - - -## System user - -adduser --system --home=/var/lib/openerp --group openerp - - -## /etc/init.d - -if [ -z "$DOCKER" ]; then - cp -i etc/init.d/openerp-server /etc/init.d/ - chown openerp /etc/init.d/openerp-server - update-rc.d openerp-server defaults -fi - - -## /etc/openerp-server.conf - -cp -i etc/openerp-server.conf /etc/ -sed -ri "s/%%PASSWORD%%/$OPENERP_PASSWORD/g" /etc/openerp-server.conf -chown openerp /etc/openerp-server.conf -chmod 600 /etc/openerp-server.conf - - -## Log dir - -mkdir -p /var/log/openerp -touch /var/log/openerp/openerp-server.log -chown openerp /var/log/openerp -R - -cp -i etc/default/openerp-server /etc/default/openerp-server - - -## -## Linking with external filestore ! -## - -( - ## keeping for compatibility with older version - cd /opt/apps/0k-oe/odoo/openerp && - mkdir -p /var/openerp-filestore && - ln -sf /var/openerp-filestore filestore && - cd /var/openerp-filestore && - chown openerp . -) - -ln -sf "/opt/apps/0k-oe/bin/oe" "/usr/local/bin/oe" - - -## -## Remove all unwanted libs -## - -if [ -z "$NO_VIRTUALENV" -o "$NEED_PILLOW" ]; then - - if [ "$NEED_PILLOW" ]; then - ## it won't work for pillow as we didn't use any Build-Depends - BUILD_DEPS= - else - BUILD_DEPS="python-imaging" - fi - - for dep in $BUILD_DEPS; do - apt-get autoremove -y --force-yes $(apt-cache showsrc "$dep" | - sed -e '/Build-Depends/!d;s/Build-Depends: \|,\|([^)]*),*\|\[[^]]*\]//g') - done -fi - -apt-get autoremove $DEV -y --force-yes diff --git a/precise/0k-openerp/revision b/precise/0k-openerp/revision index 573541ac..d00491fd 100644 --- a/precise/0k-openerp/revision +++ b/precise/0k-openerp/revision @@ -1 +1 @@ -0 +1