[Bese-devel] Re: Load a custom ucwctl.conf
    Luca Capello 
    luca at pca.it
       
    Sun Apr 16 23:16:45 UTC 2006
    
    
  
Hello!
On Sat, 15 Apr 2006 00:29:22 +0200, Luca Capello wrote:
> Actually, it's quite complex to have a custom ucwctl.conf.
[...]
> 3) allow -u and all the other command line options.  This will be
>    really a pain to be coded: you must set the command line options
>    as temp (something like CONFIGFILE_TMP), at the end of the parse
>    run you read the ucwctl.conf (if present, fallback is solution 1)
>    and finally "fix" the temp variables.  Feasible, but not my
>    preferred...
I implemented this solution and at the end it's not so complex (but I
hope I considered all the possible scenarios).  I made some tests
(just echoing the variables) and it seems OK.  What happens, in order:
  1. /etc/ucw/ucwctl.conf is included (if present)
  2. $HOME/.ucw/ucwctl.conf is included (if present)
  3. if the option -u is used, the file specified is included if
     readable, otherwise exit with an error (you specify a file that
     doesn't exist or you cannot read?)
  4. all the variables specified via command line options overwrite the
     values in one of the three ucwctl config files
Nathan, I think this was what you asked for, right?  Do you (or other)
want to test the patch before inclusion?
Now, there're still some problems about the default values of 4
variables: $CONFIGFILE, $STARTFILE, $STOPFILE and $VARROOT.  These
should have a default value, because you should be able to call ucwctl
without any argument.  The possible options are:
  a) always default to the more general situation, i.e. /etc/ucw/files
     for the first three and /var for the last one.  If you want
     different locations, just customize $HOME/.ucw/ucwctl.conf.
  b) default to $HOME/.ucw/files and $HOME/var when $USER != root.  I
     don't understand why a root user wouldn't use the general
     /etc/ucw/files and /var.  If you develop your applications as
     root, you should seriously think to change ;-)
  c) a better solution than b) is to default to $HOME/.ucw/files only
     if these files exist, otherwise default to /etc/ucw/files.  For
     $VARROOT, the situation is the same as b), so default to
     $HOME/var if $USER != root (mostly because a normal user usually
     cannot create folder on /var).
I prefer solution a), but I'd like some comments before.
Thx, bye,
Gismo / Luca
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/bese-devel/attachments/20060417/c0d767d4/attachment.sig>
    
    
More information about the bese-devel
mailing list