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