linux registry (no, not that again!)

David Malcolm dmalcolm at redhat.com
Thu Jul 29 01:32:49 UTC 2004


On Wed, 2004-07-28 at 17:48 +0100, Jonathan Andrews wrote:
> On Wed, 2004-07-28 at 17:33, Felipe Alfaro Solana wrote:
> > On Wed, 2004-07-28 at 15:38 +0100, Jonathan Andrews wrote:
> > > If it cant be edited by a text editor its a bad idea.
> > 
> > No, it's not... If something is damaged, broken or corrupted, it can be
> > easily fixed by using a simple line or text editor. You can even boot
> > from a bootable recue CD and fix the problem. Can you do that with
> > Windoze propietary, binary, monolithic registry? No.
> 
> 
> Errrrr .... so like I said
> 
> "If it CANT be edited by a text editor its a BAD idea" ???
> 
> You have just argued that you agree with that I said ? My original post
> was poor English, I apologise - but I think you have miss understood. Im
> pushing for plain text - but with an API for manipulating text. My key
> point is that the API should be common to all Linux, not left for people
> to write the same code over and over again ....
> 
> 1)	reading VARIABLE=value pairs and  
> 2)	writing VARIABLE=value pairs.
> 
> 
> So the plain text file with this 
> 
> DEVICE=eth0
> BOOTPROTO=none
> ONBOOT=yes
> IPADDR=10.10.10.5
> NETMASK=255.255.255.0
> USERCTL=no
> PEERDNS=no
> GATEWAY=10.10.10.1
> TYPE=Ethernet
> 
> could be altered with a function like this
> 
> result=write_configfile("/etc/sysconfig/networking/ifcfg-eth0","ONBOOT","no");
> 
> and 
> 
> result=read_configfile("/etc/sysconfig/networking/ifcfg-eth0","ONBOOT",&mystring);
> 
> See ... simple for programmer - and all plain text. 

This is probably a perverse viewpoint (I'm an XML junkie), but I don't
think this is simple.  Some awkward questions:
- What encoding are the names? the values?
- What if a name or a value needs to contain an equals sign, a carriage
return, or a line feed?  (What about DOS vs UNIX linefeeds for that
matter?)
- How long can a name be?
- How long can a value be?
- Is case significant?
- What happens if a text file contains multiple lines with the same
VARIABLE name?
- What happens if a text file contains multiple lines with variables
that map to the same unicode string after canonicalisation, but which
are different before canonicalisation?
- Do you canonicalise variable names when testing for equality?
- Does ordering matter?  How is this expressed in the API?
- What whitespace (if any) are you allowed in the file?  Can this be
represented/manipulated within the API?
- Can the text file contain comments?  Can it contain blank lines?  Can
these be represented/manipulated within the API?


> 
> Jon
> 
> 
> 





More information about the fedora-devel-list mailing list