Date: Thu, 07 Jan 2010 22:51:12 -0800 From: Doug Barton <dougb@FreeBSD.org> To: Jean-Yves Boisiaud - Osiell <jean-yves.boisiaud@osiell.com> Cc: wen@FreeBSD.org, ports@FreeBSD.org Subject: Re: FreeBSD Port: openerp-server-5.0.6_1 Message-ID: <4B46D5E0.5080102@FreeBSD.org> In-Reply-To: <4B45AAF5.50905@osiell.com> References: <4B45AAF5.50905@osiell.com>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------020309050504060302010304 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Jean-Yves Boisiaud - Osiell wrote: > Hello, > > Here is a rc.d script to start/stop/restart the OpenERP server. Overall this is very nice work. :) I've attached a version with some changes that I will detail below. > openerp-server default configuration file (-c option) should give the > same PID file that the rc script : > > pidfile = /var/run/openerp/server.pid > > The installation script should create a user with no password used to > run the OpenERP server. Here, I used terp. > > <<<<<<<<<<<<<<<<<<<<< > #!/bin/sh I added a $FreeBSD$ > # > # PROVIDE: openerp_server > # REQUIRE: postgresql Since this is running as a user other than root it also has to REQUIRE: LOGIN > # KEYWORD: shutdown > # > # Add the following line to /etc/rc.conf to enable OpenERP server: > # > # openerp_server_enable="YES" > # # optional > # openerp_server_flags="-c /usr/local/etc/openerp-server.conf" > # openerp_server_user="terp" > # > # Do not forget to define the same PID file in the OpenERP configuration > # file (see the variable $pidfile defined below). > # > # This scripts takes one of the following commands: > # > # start stop restart status > # > > : ${openerp_server_enable="NO"} > : ${openerp_server_flags="-c /usr/local/etc/openerp-server.conf"} > : ${openerp_server_user="terp"} Default variable assignments should happen after load_rc_config. > . /etc/rc.subr I added a little whitespace below to ease readability. > name="openerp_server" > rcvar=${name}_enable > command_args=" >/dev/null 2>&1 &" > pidfile="/var/run/openerp/server.pid" > start_precmd="${name}_prestart" > command=/usr/local/bin/openerp-server > procname=/usr/local/bin/python2.6 You probably want to use command_interpreter here instead of procname, but I didn't test it. > openerp_server_prestart() { > # PID file should be not empty. > [ x"$pidfile" = x ] && err 1 "variable pidfile should not be empty" This isn't needed, you define pidfile in the script. > # Check PID directory exists. > d=$(dirname "$pidfile") Also not needed. You are hard-coding pidfile (which is fine) so no need for pointless indirection. > if [ ! -d "$d" ]; then No need to do this, mkdir -p will not fail if the directory exists, and even if it exists you want to be sure that the permissions are correct. For example, the user could change the value of openerp_server_user then run the script again and it should still work. > # Create PID directory. > mkdir -p "$d" || return 1 If it's necessary to do this, then if it fails it should be an error. hth, Doug -- Improve the effectiveness of your Internet presence with a domain name makeover! http://SupersetSolutions.com/ Computers are useless. They can only give you answers. -- Pablo Picasso --------------020309050504060302010304 Content-Type: text/plain; name="openerp-rcd" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="openerp-rcd" #!/bin/sh # $FreeBSD$ # # PROVIDE: openerp_server # REQUIRE: postgresql LOGIN # KEYWORD: shutdown # # Add the following line to /etc/rc.conf to enable OpenERP server: # # openerp_server_enable="YES" # # optional # openerp_server_flags="-c /usr/local/etc/openerp-server.conf" # openerp_server_user="terp" # # Do not forget to define the same PID file in the OpenERP configuration # file (see the variable $pidfile defined below). # # This scripts takes one of the following commands: # # start stop restart status # . /etc/rc.subr name="openerp_server" rcvar=${name}_enable command=/usr/local/bin/openerp-server command_args=" >/dev/null 2>&1 &" command_interpreter=/usr/local/bin/python2.6 pidfile="/var/run/openerp/server.pid" start_precmd="${name}_prestart" openerp_server_prestart() { # Create PID directory. mkdir -p /var/run/openerp || err 1 "Cannot mkdir /var/run/openerp" chmod 750 /var/run/openerp || err 1 "Cannot chmod /var/run/openerp" chown "${openerp_server_user}:wheel" /var/run/openerp || err 1 "Cannot chown /var/run/openerp" } load_rc_config $name : ${openerp_server_enable="NO"} : ${openerp_server_flags="-c /usr/local/etc/openerp-server.conf"} : ${openerp_server_user="terp"} run_rc_command "$1" --------------020309050504060302010304--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B46D5E0.5080102>