>>>>> On Mon, 28 Mar 2011, Aaron W Swenson wrote:

> This module is to replace the existing one that is shipped with
> <app-admin/eselect-postgresql-1.0.3. It is an entire rewrite.

Some remarks:

- Global scope code is a no-no in eselect modules, especially if it
  calls external programs or accesses external files. Your module
  will be sourced for commands like "eselect modules list" and there
  shouldn't be any global scope code being run on such occasions.

- Don't use eval. It's almost always an indication that you're doing
  something wrong.

- For tests, please use [[ ]] rather than [ ] throughout.

- "output" and "path-manipulation" libraries are always loaded, so you
  need not (and in fact, you shouldn't) inherit them.

- Don't hardcode terminal specific escape sequences (like "\033[1m").
  Use the highlighting functions of the output library instead (which
  in turn use tput).

- Suppressing stdout of commands like "do_action env update" is fine,
  but why suppress stderr?

- Please avoid lines wider than 79 positions.

See also eselect's README and the developer guide:
<http://sources.gentoo.org/cgi-bin/viewvc.cgi/eselect/trunk/README>
<http://www.gentoo.org/proj/en/eselect/dev-guide.xml>

Ulrich

Reply via email to