diff options
| author | Christophe Simonis <chs@odoo.com> | 2014-09-03 20:05:37 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2014-09-04 16:27:58 +0200 |
| commit | 80a932479b8a49ca716f017f80fdb0984b10adb3 (patch) | |
| tree | ea0fcddf2f37a10b31e0cbff9ce4561fdbd81cf3 /setup | |
| parent | 22324537602888143c0efae672deac0ec3f6d369 (diff) | |
FIX] packaging: odoo-ification
Diffstat (limited to 'setup')
| -rwxr-xr-x | setup/package.py | 20 | ||||
| -rw-r--r-- | setup/redhat/postinstall.sh | 131 |
2 files changed, 83 insertions, 68 deletions
diff --git a/setup/package.py b/setup/package.py index 9bcf321fc81..1e8b9efb310 100755 --- a/setup/package.py +++ b/setup/package.py @@ -266,13 +266,13 @@ def test_tgz(o): wheezy.system('su postgres -s /bin/bash -c "pg_createcluster --start -e UTF-8 9.1 main"') wheezy.system('pip install -r /opt/release/requirements.txt') wheezy.system('/usr/local/bin/pip install /opt/release/%s' % wheezy.release) - wheezy.system("useradd --system --no-create-home openerp") - wheezy.system('su postgres -s /bin/bash -c "createuser -s openerp"') + wheezy.system("useradd --system --no-create-home odoo") + wheezy.system('su postgres -s /bin/bash -c "createuser -s odoo"') wheezy.system('su postgres -s /bin/bash -c "createdb mycompany"') - wheezy.system('mkdir /var/lib/openerp') - wheezy.system('chown openerp:openerp /var/lib/openerp') - wheezy.system('su openerp -s /bin/bash -c "odoo.py --addons-path=/usr/local/lib/python2.7/dist-packages/openerp/addons -d mycompany -i base --stop-after-init"') - wheezy.system('su openerp -s /bin/bash -c "odoo.py --addons-path=/usr/local/lib/python2.7/dist-packages/openerp/addons -d mycompany &"') + wheezy.system('mkdir /var/lib/odoo') + wheezy.system('chown odoo:odoo /var/lib/odoo') + wheezy.system('su odoo -s /bin/bash -c "odoo.py --addons-path=/usr/local/lib/python2.7/dist-packages/openerp/addons -d mycompany -i base --stop-after-init"') + wheezy.system('su odoo -s /bin/bash -c "odoo.py --addons-path=/usr/local/lib/python2.7/dist-packages/openerp/addons -d mycompany &"') def test_deb(o): with docker('debian:stable', o.build_dir, o.pub) as wheezy: @@ -285,8 +285,8 @@ def test_deb(o): wheezy.system('su postgres -s /bin/bash -c "createdb mycompany"') wheezy.system('/usr/bin/dpkg -i /opt/release/%s' % wheezy.release) wheezy.system('/usr/bin/apt-get install -f -y') - wheezy.system('su openerp -s /bin/bash -c "odoo.py -c /etc/openerp/openerp-server.conf -d mycompany -i base --stop-after-init"') - wheezy.system('su openerp -s /bin/bash -c "odoo.py -c /etc/openerp/openerp-server.conf -d mycompany &"') + wheezy.system('su odoo -s /bin/bash -c "odoo.py -c /etc/odoo/openerp-server.conf -d mycompany -i base --stop-after-init"') + wheezy.system('su odoo -s /bin/bash -c "odoo.py -c /etc/odoo/openerp-server.conf -d mycompany &"') def test_rpm(o): with docker('centos:centos7', o.build_dir, o.pub) as centos7: @@ -306,8 +306,8 @@ def test_rpm(o): centos7.system('export PYTHONPATH=${PYTHONPATH}:/usr/local/lib/python2.7/dist-packages') centos7.system('su postgres -c "createdb mycompany"') centos7.system('yum install /opt/release/%s -y' % centos7.release) - centos7.system('su openerp -s /bin/bash -c "openerp-server -c /etc/openerp/openerp-server.conf -d mycompany -i base --stop-after-init"') - centos7.system('su openerp -s /bin/bash -c "openerp-server -c /etc/openerp/openerp-server.conf -d mycompany &"') + centos7.system('su odoo -s /bin/bash -c "openerp-server -c /etc/odoo/openerp-server.conf -d mycompany -i base --stop-after-init"') + centos7.system('su odoo -s /bin/bash -c "openerp-server -c /etc/odoo/openerp-server.conf -d mycompany &"') def test_exe(o): KVMWinTestExe(o, o.vm_winxp_image, o.vm_winxp_ssh_key, o.vm_winxp_login).start() diff --git a/setup/redhat/postinstall.sh b/setup/redhat/postinstall.sh index bde7db493bc..437fdcec426 100644 --- a/setup/redhat/postinstall.sh +++ b/setup/redhat/postinstall.sh @@ -1,28 +1,29 @@ -#!/bin/sh +#!/bin/bash set -e -ODOO_CONFIGURATION_FILE=/etc/openerp/openerp-server.conf -ODOO_CONFIGURATION_DIR=/etc/openerp -ODOO_DATA_DIR=/var/lib/openerp -ODOO_GROUP="openerp" -ODOO_LOG_DIR=/var/log/openerp -ODOO_USER="openerp" +ODOO_CONFIGURATION_DIR=/etc/odoo +ODOO_CONFIGURATION_FILE=$ODOO_CONFIGURATION_DIR/openerp-server.conf +ODOO_DATA_DIR=/var/lib/odoo +ODOO_GROUP="odoo" +ODOO_LOG_DIR=/var/log/odoo +ODOO_USER="odoo" -if ! getent passwd | grep -q "^openerp:"; then +if ! getent passwd | grep -q "^odoo:"; then groupadd $ODOO_GROUP adduser --system --no-create-home $ODOO_USER -g $ODOO_GROUP fi -# Register "openerp" as a postgres superuser -su - postgres -c "createuser -s openerp" 2> /dev/null || true +# Register "$ODOO_USER" as a postgres superuser +su - postgres -c "createuser -s $ODOO_USER" 2> /dev/null || true # Configuration file mkdir -p $ODOO_CONFIGURATION_DIR +# can't copy debian config-file as addons_path is not the same echo "[options] ; This is the password that allows database operations: ; admin_passwd = admin db_host = False db_port = False -db_user = openerp +db_user = $ODOO_USER db_password = False addons_path = /usr/local/lib/python2.7/dist-packages/openerp/addons " > $ODOO_CONFIGURATION_FILE @@ -36,67 +37,81 @@ chmod 0750 $ODOO_LOG_DIR mkdir -p $ODOO_DATA_DIR chown $ODOO_USER:$ODOO_GROUP $ODOO_DATA_DIR -echo '#!/bin/sh - +INIT_FILE=/etc/init.d/openerp +touch $INIT_FILE +chmod 0700 $INIT_FILE +# FIXME this is a copy of debian/init file. +# If anyone know how to tell bdist_rpm to use this file directly... +cat << 'EOF' > $INIT_FILE +#!/bin/bash ### 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. +# Provides: openerp-server +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start openerp daemon at boot time +# Description: Enable service provided by daemon. +# X-Interactive: true ### END INIT INFO +## more info: http://wiki.debian.org/LSBInitScripts PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin DAEMON=/usr/bin/openerp-server -NAME=openerp-server -DESC=openerp-server -CONFIG=/etc/openerp/openerp-server.conf -LOGFILE=/var/log/openerp/openerp-server.log -USER=openerp - -test -x ${DAEMON} || exit 0 +NAME=openerp +DESC=openerp +CONFIG=/etc/odoo/openerp-server.conf +LOGFILE=/var/log/odoo/openerp-server.log +PIDFILE=/var/run/${NAME}.pid +USER=odoo +export LOGNAME=$USER +test -x $DAEMON || exit 0 set -e -do_start () { - echo -n "Starting ${DESC}: " - start-stop-daemon --start --quiet --pidfile /var/run/${NAME}.pid --chuid ${USER} --background --make-pidfile --exec ${DAEMON} -- --config=${CONFIG} --logfile=${LOGFILE} - echo "${NAME}." +function _start() { + start-stop-daemon --start --quiet --pidfile $PIDFILE --chuid $USER:$USER --background --make-pidfile --exec $DAEMON -- --config $CONFIG --logfile $LOGFILE } -do_stop () { - echo -n "Stopping ${DESC}: " - start-stop-daemon --stop --quiet --pidfile /var/run/${NAME}.pid --oknodo - echo "${NAME}." +function _stop() { + start-stop-daemon --stop --quiet --pidfile $PIDFILE --oknodo --retry 3 + rm -f $PIDFILE } -case "${1}" in - start) - do_start - ;; - - stop) - do_stop - ;; +function _status() { + start-stop-daemon --status --quiet --pidfile $PIDFILE + return $? +} - restart|force-reload) - echo -n "Restarting ${DESC}: " - do_stop - sleep 1 - do_start - ;; - *) - N=/etc/init.d/${NAME} - echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2 - exit 1 - ;; +case "$1" in + start) + echo -n "Starting $DESC: " + _start + echo "ok" + ;; + stop) + echo -n "Stopping $DESC: " + _stop + echo "ok" + ;; + restart|force-reload) + echo -n "Restarting $DESC: " + _stop + sleep 1 + _start + echo "ok" + ;; + status) + echo -n "Status of $DESC: " + _status && echo "running" || echo "stopped" + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 + exit 1 + ;; esac exit 0 -' > /etc/init.d/openerp -chmod 700 /etc/init.d/openerp
\ No newline at end of file +EOF |
