New port: finance/openerp-web

Francisco de Borja López Río borja at pexego.es
Tue Jan 26 16:47:34 UTC 2010


On Sat, 23 Jan 2010 22:50:25 -0800
Doug Barton <dougb at freebsd.org> wrote:

> On 01/21/10 00:51, Francisco de Borja López Río wrote:
> > 
> > Sorry, I forgot to add the attachments in my previous email.
> > 
> > These are both the rc.d script and the default configuration file I've
> > been using with the current openerp-server port for some time.
> 
> A few notes on the rc.d script.
> 
> 1. The name of the file, PROVIDE, and $name should all match. Perhaps
> openerpd, or even erpd?

If there is no limitation on that, it should be
openerp-web/openerp-server (for the web and server scripts
respectively). Let me try if it works with the -

> 2. There are quite a few examples of "/usr/local" in there (which is
> fine for a running script), please remember to s#/usr/local#%%PREFIX%%#g
> for the port.

mmm, I've been taking a look at the rc.d scripts in my servers, and all
of them have those absolute paths.

Did you mean to set %%PREFIX%% in the rc file, or did you mean to
generate the rc.d script dinamically when installing the port?

> 3. The pidfile= should come after load_rc_config, and should look like
> this:
> pidfile="${<name>_pidfile:-/var/run/openerp-server/openerp-server.pid}"
> (substitute <name> of course). Or, consider not allowing the user to
> change the location of the pidfile unless there is a good reason to do so.

mmm I do something similar to that, first, before load_rc_config, I set
pidfile:

pidfile="${openerpserver_pidfile}"

Then I set openerpserver_pidfile, after the load_rc_config:

openerpserver_pidfile= ${openerpserver_pidfile:-"/var/run/openerp-server/openerp-server.pid"}

I don't remember exactly where (probably somewhere in the porters
handbook), but I've read that the order is not a problem (using
openerpserver_pidfile before setting it) (IIRC)

> 4. I'm not quite sure what eval "${rcvar}=\${${rcvar}:-'NO'}" is
> supposed to accomplish, but if it's "set ${name}_enable to NO by
> default" it's too clever by half. :)  Take a look at
> http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/rc-scripts.html
> for other ways to simplify the default variable assignments (as well as
> some other pointers).

I got that from this article:

http://www.freebsd.org/doc/en_US.ISO8859-1/articles/rc-scripting/rcng-confdummy.html

(check point 3) Perhaps it is not needed tough.

> 5. Just doing 'touch foo' is always cheaper than testing its existence
> first (although it's a micro-optimization) and there is no reason to
> test existence anyway. Same goes with the 'mkdir -p'.

mmm, you are right, but if you try to create a directory that already
exist, a message about the already-existing directory will appear
(blabla File exists). IMHO it is always better to check before
proceed :)

> 6. Instead of `dirname blah` you should use ${blah%/*} for two reasons,
> first dirname(1) is in /usr/bin, and may not be available at boot, and
> two there is no reason to use it in a shell script when the variable
> substitution is cheaper and easier.

I got the dirname idea from the milter-bogom port rc.d script. It
seemed reasonable for me ;).

Anyway, with variable substitution you meant, for example, setting a
variable for the directory where the pidfile will be saved, then use
that variable when creating the pidfile variable?

I mean, instead of:

openerpweb_pidfile= ${openerpweb_pidfile:-"/var/run/openerp-web/openerp-web.pid"}

doing something like:

piddir="/var/run/openerp-web/"
openerpweb_pidfile=${openerpweb_pidfile:-"${piddir}openerp-web.pid"}

Then, instead of `dirname ${openerpweb_pidfile}` the script could check
only for ${piddir}

Was this the idea?

> 7. You named your substitute stop_cmd "${name}_poststop" which is
> confusing, and I'm not sure why it's necessary. If you're afraid that
> rc.d isn't going to actually stop the process for some reason we should
> address that. If you feel that you absolutely must have a safety belt
> for this make it a real stop_postcmd.

Typo, it should be _stop (will be fixed in just a matter of minutes :D,
thnx for the report)

> I realize that these are a lot of notes, but don't worry ... it's easy
> to see that a lot of thought and creativity went into this, which is why
> I'm taking the time to try and help improve it.

That's exactly what I want, I'm working in more scripts and stuff, so
learning some basic stuff before going any further is always a good
thing.

I've found some more issues while using more and more the port and the
scripts, for example, the openerp-server port should create a new
account _openerp (to use my rc.d script properly) and the openerp-web
port should check if the user exist and, if not, create it (useful for
servers that will serve the web client, connecting to a remote openerp
server).

I'm working on improved versions of the script, will send them soon to
the list.

Thnk you a lot Doug

(And thnx for the portmaster tool too! ;D)

> 
> 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
> 
> _______________________________________________
> freebsd-ports at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"


-- 

"Do nothing which is of no use." - Miyamoto Musashi
---------------------------------------------------------------------
Francisco de Borja Lopez Rio (borja at pexego.es)
Pexego Sistemas Informaticos S.L.
http://www.pexego.es



More information about the freebsd-ports mailing list