Skip to content

Commit

Permalink
FIX] packaging: odoo-ification
Browse files Browse the repository at this point in the history
  • Loading branch information
KangOl committed Sep 4, 2014
1 parent 2232453 commit 80a9324
Show file tree
Hide file tree
Showing 10 changed files with 160 additions and 135 deletions.
103 changes: 56 additions & 47 deletions debian/init
Original file line number Diff line number Diff line change
@@ -1,62 +1,71 @@
#!/bin/sh

#!/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
;;

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
;;
function _status() {
start-stop-daemon --status --quiet --pidfile $PIDFILE
return $?
}


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
4 changes: 2 additions & 2 deletions debian/install
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
debian/openerp-server.conf /etc/openerp
README.md /usr/share/doc/openerp
debian/openerp-server.conf /etc/odoo
README.md /usr/share/doc/odoo
2 changes: 1 addition & 1 deletion debian/logrotate
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/var/log/openerp/*.log {
/var/log/odoo/*.log {
copytruncate
missingok
notifempty
Expand Down
4 changes: 2 additions & 2 deletions debian/openerp-server.conf
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
; admin_passwd = admin
db_host = False
db_port = False
db_user = openerp
db_user = odoo
db_password = False
addons_path = /usr/lib/python2.7/dist-packages/openerp/addons
addons_path = /usr/lib/python2.7/dist-packages/openerp/addons
16 changes: 8 additions & 8 deletions debian/postinst
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@

set -e

ODOO_CONFIGURATION_FILE=/etc/openerp/openerp-server.conf
ODOO_GROUP="openerp"
ODOO_DATA_DIR=/var/lib/openerp
ODOO_LOG_DIR=/var/log/openerp
ODOO_USER="openerp"
ODOO_CONFIGURATION_FILE=/etc/odoo/openerp-server.conf
ODOO_GROUP="odoo"
ODOO_DATA_DIR=/var/lib/odoo
ODOO_LOG_DIR=/var/log/odoo
ODOO_USER="odoo"

case "${1}" in
configure)
if ! getent passwd | grep -q "^openerp:"; then
if ! getent passwd | grep -q "^odoo:"; then
adduser --system --no-create-home --quiet --group $ODOO_USER
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
chown $ODOO_USER:$ODOO_GROUP $ODOO_CONFIGURATION_FILE
chmod 0640 $ODOO_CONFIGURATION_FILE
Expand Down
6 changes: 3 additions & 3 deletions debian/postrm
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

set -e

ODOO_LIB_DIR=/var/lib/openerp
ODOO_USER="openerp"
ODOO_GROUP="openerp"
ODOO_LIB_DIR=/var/lib/odoo
ODOO_USER="odoo"
ODOO_GROUP="odoo"

case "${1}" in
remove)
Expand Down
5 changes: 3 additions & 2 deletions openerp/release.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
version = '.'.join(map(str, version_info[:2])) + RELEASE_LEVELS_DISPLAY[version_info[3]] + str(version_info[4] or '')
series = serie = major_version = '.'.join(map(str, version_info[:2]))

product_name = 'Odoo'
description = 'Odoo Server'
long_desc = '''Odoo is a complete ERP and CRM. The main features are accounting (analytic
and financial), stock management, sales and purchases management, tasks
Expand All @@ -45,9 +46,9 @@
License :: OSI Approved :: GNU Affero General Public License v3
Programming Language :: Python
"""
url = 'http://www.openerp.com'
url = 'https://www.odoo.com'
author = 'OpenERP S.A.'
author_email = 'info@openerp.com'
author_email = 'info@odoo.com'
license = 'AGPL-3'

nt_service_name = "openerp-server-" + series
Expand Down
4 changes: 2 additions & 2 deletions openerp/tools/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,9 @@ def _get_default_datadir():
if sys.platform in ['win32', 'darwin']:
func = appdirs.site_data_dir
else:
func = lambda **kwarg: "/var/lib/%s" % kwarg['appname']
func = lambda **kwarg: "/var/lib/%s" % kwarg['appname'].lower()
# No "version" kwarg as session and filestore paths are shared against series
return func(appname='openerp', appauthor=release.author)
return func(appname=release.product_name, appauthor=release.author)

class configmanager(object):
def __init__(self, fname=None):
Expand Down
20 changes: 10 additions & 10 deletions setup/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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:
Expand All @@ -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()
Expand Down
Loading

0 comments on commit 80a9324

Please sign in to comment.