ports/166534: finance/openerp-server, finance/openerp-web: OpenERP misconfiguration
Laurent Berthelet
laurent at ospowa.com
Mon May 7 06:50:07 UTC 2012
The following reply was made to PR ports/166534; it has been noted by GNATS.
From: Laurent Berthelet <laurent at ospowa.com>
To: bug-followup at FreeBSD.org, franck.porcher at gmail.com
Cc:
Subject: Re: ports/166534: finance/openerp-server, finance/openerp-web: OpenERP
misconfiguration
Date: Mon, 07 May 2012 08:38:14 +0200
This is a multi-part message in MIME format.
--------------010402080906070900010303
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Hi,
Here is the patch.
I can't have the submited version to work so I changed the way pidfile
and logfile
are set up.
For the postgresql part, I have just added a message in pkg-message as it
can be installed on another computer.
Cheers.
Laurent
--------------010402080906070900010303
Content-Type: text/plain; charset=UTF-8;
name="openerp-server.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="openerp-server.diff"
Index: files/openerp-server.conf.in
===================================================================
RCS file: /home/ncvs/ports/finance/openerp-server/files/openerp-server.conf.in,v
retrieving revision 1.1
diff -u -r1.1 openerp-server.conf.in
--- files/openerp-server.conf.in 8 Mar 2010 06:26:53 -0000 1.1
+++ files/openerp-server.conf.in 7 May 2012 06:35:49 -0000
@@ -2,6 +2,8 @@
#
# This is an example configuration file, just copy it
# to openerp-server.conf and edit it to suit your needs.
+#
+# Patch submitted by (c) Franck Porcher, Ph.D, to smooth some default values
[options]
# Basic daemon configuration options ##################
@@ -18,7 +20,7 @@
netrpc = True
secure = False
cache_timeout = 100000
-pidfile = /var/run/openerp-server/openerp-server.pid
+pidfile = /var/run/openerp/openerp-server.pid
reportgz = False
admin_passwd = admin
login_message = False
@@ -27,15 +29,15 @@
translate_modules = ['all']
# Logging options #####################################
-syslog = False
+syslog = True
log_level = info
-logfile = /var/log/openerp-server.log
+logfile = /var/log/openerp/openerp-server.log
assert_exit_level = warn
# Database options ####################################
-db_name = openerp-server
-db_user = openerp-server
-db_password = openerp-server
+db_name = openerp
+db_user = openerp
+db_password = openerp
db_host = localhost
db_maxconn = 64
pg_path = /usr/local/bin
@@ -52,4 +54,3 @@
# Use demo files? #####################################
# without_demo = True
# demo = {}
-
Index: files/openerpd.in
===================================================================
RCS file: /home/ncvs/ports/finance/openerp-server/files/openerpd.in,v
retrieving revision 1.5
diff -u -r1.5 openerpd.in
--- files/openerpd.in 14 Jan 2012 08:55:42 -0000 1.5
+++ files/openerpd.in 7 May 2012 06:35:49 -0000
@@ -1,73 +1,115 @@
#!/bin/sh
-
+#
# PROVIDE: openerpd
# REQUIRE: postgresql LOGIN
#
-# Add the following lines to /etc/rc.conf
-# to enable this service:
+# Add the following lines to /etc/rc.conf to enable openerp-server
+#
#
-# openerpd_enable (bool): Set to NO by default.
-# Set it to YES to enable mongod.
+# openerpd_enable (bool): Set to "NO" by default,
+# Set it to "YES" to enable openerp-server
#
-# Additional configurable variables:
-# openerpd_config (path): Set to %%PREFIX%%/etc/openerp-server.conf
-# by default. Additional configuration. You
-# can also use openerpd_flags for additional
-# command line arguments.
+# openerpd_config (str): The path to the openerp-server configuration file
+# (defaults to /usr/local/etc/openerp-server.conf)
+#
+# openerpd_flags (str): Extra arguments to be used when invoking
+# the openerp-server daemon.
+#
+# Patch submitted by (c) Franck Porcher, Ph.D, to fix some issues regarding
+# pidfile, log files, and discrepencies with the main configuration file.
+
+# getval varname file [default_value] [separator_char]
+# - Discard comment lines (any text leading with blanks then #)
+# - Retain only the last value set
+
+name=openerpd
+command=/usr/local/bin/openerp-server
. /etc/rc.subr
-name="openerpd"
rcvar=openerpd_enable
+load_rc_config "${name}"
-command=%%PREFIX%%/bin/openerp-server
-
-load_rc_config $name
+openerpd_enable="${openerpd_enable-"NO"}"
+openerpd_config="${openerpd_config-"/usr/local/etc/openerp-server.conf"}"
+openerpd_user="${openerpd_user-"openerpd"}"
+openerpd_pidfile="${openerpd_pidfile:-"$(grep pidfile /usr/local/etc/openerp-server.conf | awk -F "=" ' { print $2 } ' |sed 's/[ ]//g' )"}"
+openerpd_logdir="${openerpd_logdir:-"$(dirname `grep logfile /usr/local/etc/openerp-server.conf | awk -F "=" ' { print $2 } ' `)"}"
+openerpd_flags="${openerpd_flags:-"--config=${openerpd_config}"}"
-: ${openerpd_enable="NO"}
-: ${openerpd_config="%%PREFIX%%/etc/openerp-server.conf"}
-: ${openerpd_user="openerpd"}
-
-openerpd_pidfile=${openerpd_pidfile:-"/var/run/openerp-server/openerpd.pid"}
-openerpd_config=${openerpd_config:-"/usr/local/etc/openerpd.conf"}
-openerpd_flags=${openerpd_flags:-"--config=${openerpd_config}"}
+# /etc/rc.subr use $pidfile (not ${name}_pidfile)
+pidfile="${openerpd_pidfile}"
-required_files="$openerpd_config"
+required_files="${openerpd_config}"
start_precmd="${name}_prestart"
stop_cmd="${name}_stop"
+status_cmd="${name}_status"
+getval_cmd="${name}_getval"
openerpd_prestart()
{
- if [ ! -d `dirname ${openerpd_pidfile}` ]
+ local d
+
+ d="$(dirname "${openerpd_pidfile}")"
+ if [ ! -d "${d}" ]
+ then
+ mkdir -p "${d}"
+ fi
+ chown "${openerpd_user}" "${d}"
+
+ d="$openerpd_logdir"
+ if [ ! -d "${d}" ]
then
- mkdir -p `dirname ${openerpweb_pidfile}`
+ mkdir -p "${d}"
fi
- chown ${openerpd_user} `dirname ${openerpd_pidfile}`
+ chown "${openerpd_user}" "${d}"
}
openerpd_stop()
{
- # ensure the server is stopped
- if [ -f ${openerpd_pidfile} ]
+ # Try its best to stop the service
+ if [ -f "${openerpd_pidfile}" ]
then
echo "Stopping ${name}."
- kill -15 `cat ${openerpd_pidfile}`
+ kill -15 "$(cat "${openerpd_pidfile}")"
else
- openerpd_pid=`pgrep -f "openerp-server.py ${openerpd_flags}"`
- if [ ${openerpd_pid} ]
+ # echo "Looking for (openerp-server.py ${openerpd_flags})"
+ openerpd_pid=$(pgrep -f "openerp-server.py ${openerpd_flags}")
+ if [ -n "${openerpd_pid}" ]
then
echo "Stopping ${name}."
- kill -15 ${openerpd_pid}
+ kill -15 "${openerpd_pid}"
else
echo "${name} not running? (pidfile not found)"
fi
fi
}
+openerpd_status()
+{
+ # Try its best to find the service's status
+ if [ -f "${openerpd_pidfile}" ]
+ then
+ openerpd_pid="$(cat "${openerpd_pidfile}")"
+ fi
+
+ if [ -z "${openerpd_pid}" ]
+ then
+ openerpd_pid=$(pgrep -f "openerp-server.py ${openerpd_flags}")
+ [ -n "${openerpd_pid}" ] && echo "${openerpd_pid}" > "${openerpd_pidfile}"
+ fi
+
+ if [ -n "${openerpd_pid}" ]
+ then
+ echo "${name} running with pid: $openerpd_pid"
+ else
+ echo "${name} not running? (pid not found)"
+ fi
+}
-command_args="-c $openerpd_config >/dev/null 2>&1 &"
+command_args=" >/dev/null 2>&1 &"
load_rc_config $name
run_rc_command "$1"
Index: files/pkg-message.in
===================================================================
RCS file: /home/ncvs/ports/finance/openerp-server/files/pkg-message.in,v
retrieving revision 1.1
diff -u -r1.1 pkg-message.in
--- files/pkg-message.in 8 Mar 2010 06:26:53 -0000 1.1
+++ files/pkg-message.in 7 May 2012 06:35:49 -0000
@@ -7,4 +7,13 @@
to your /etc/rc.conf:
openerpd_enable="YES"
+If postgresql is not configured, openerp-server will not start.
+You can try something like this :
+
+[root] # su - <PGSQL>
+[PGSQL] $ openerp_dbuser=db_user #look in /usr/local/etc/openerp-server.conf
+[PGSQL] $ openerp_dbname=db_name #look in /usr/local/etc/openerp-server.conf
+[PGSQL] $ createuser $openerp_dbuser
+[PGSQL] $ createdb --owner=${openerp_dbuser} --encoding=UTF-8 --locale=en_EN.UTF-8 ${openerp_dbname} "OpenERP initial database"
+
************************************************************************
--------------010402080906070900010303--
More information about the freebsd-ports-bugs
mailing list