summaryrefslogtreecommitdiff
path: root/setup
diff options
context:
space:
mode:
Diffstat (limited to 'setup')
-rwxr-xr-xsetup/package.py20
-rw-r--r--setup/redhat/postinstall.sh131
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