Date: Tue, 26 Jan 2010 17:49:03 +0100 From: Francisco de Borja =?ISO-8859-1?Q?L=F3pez_R=EDo?= <borja@pexego.es> To: Doug Barton <dougb@freebsd.org> Cc: ports@freebsd.org Subject: Re: New port: finance/openerp-web Message-ID: <20100126174903.b144472f.borja@pexego.es> In-Reply-To: <4B5BEDB1.8080308@FreeBSD.org> References: <20100120165147.666592ef.borja@pexego.es> <20100120212640.GE6618@lonesome.com> <7be7a2801001201600j5c772267na6dea944334618be@mail.gmail.com> <20100121093649.7867d810.borja@pexego.es> <20100121095114.12bab6af.borja@pexego.es> <4B5BEDB1.8080308@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 23 Jan 2010 22:50:25 -0800 Doug Barton <dougb@freebsd.org> wrote: > On 01/21/10 00:51, Francisco de Borja L=F3pez R=EDo wrote: > >=20 > > Sorry, I forgot to add the attachments in my previous email. > >=20 > > 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. >=20 > A few notes on the rc.d script. >=20 > 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=3D should come after load_rc_config, and should look like > this: > pidfile=3D"${<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=3D"${openerpserver_pidfile}" Then I set openerpserver_pidfile, after the load_rc_config: openerpserver_pidfile=3D ${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}=3D\${${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-scri= pts.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-confd= ummy.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=3D ${openerpweb_pidfile:-"/var/run/openerp-web/openerp-w= eb.pid"} doing something like: piddir=3D"/var/run/openerp-web/" openerpweb_pidfile=3D${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) >=20 > Doug >=20 > --=20 >=20 > Improve the effectiveness of your Internet presence with > a domain name makeover! http://SupersetSolutions.com/ >=20 > Computers are useless. They can only give you answers. > -- Pablo Picasso >=20 > _______________________________________________ > freebsd-ports@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-ports > To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org" --=20 "Do nothing which is of no use." - Miyamoto Musashi --------------------------------------------------------------------- Francisco de Borja Lopez Rio (borja@pexego.es) Pexego Sistemas Informaticos S.L. http://www.pexego.es
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100126174903.b144472f.borja>