Elektra 0.7.0
- From: Markus Raab <usenet@xxxxxxxxxxxxxxx>
- Date: Fri, 17 Oct 2008 20:06:25 +0200
In mehreren Diskussionen hier ging es um verschiedene Konfigurations-
libraries[0]. Ich möchte hier keine Weitere vorstellen sondern in diesem
Projekt geht es um eine API und Datenstrukturen um alle anderen Libraries
und natürlich auch eigenen Parser und Generatorcode mittels Backends
einbinden zu können.
Der erste Schritt war die Festlegung der API, welches jetzt in der Version
0.7.0 [1] auch erledigt wurde. Es gibt jetzt keine direkten Abhängigkeiten
zu einer bestimmten Art und Weise Konfiguration zu speichern. Damit sind
unglaublich viele verschiedene Ansätze möglich[2].
Die KDB Datenstruktur (ein Trie) ermöglicht oben genannte Backends in
sogenannten Mountpoints in einer hierarchische Struktur einzubinden [3].
Dadurch ist gewährleistet dass die verschiedenen Backends gleichzeitig
verwendet werden können. Ein Administrator kann entscheiden für welche
Pfade (Applikationen) welches Backend zum Einsatz kommen soll. [4]
Der wichtigste Nebeneffekt einer solchen Abstraktion (das Programme
programmatisch auf Konfiguration ohne systemabhängige Pfade zugreifen) ist
dass unterschiedliche Programme sich Konfiguration teilen können und damit
eine bessere Integration möglich wird.
C-Programme können jetzt sofort diese API verwenden und holen sich damit nur
eine zusätzliche Abhängigkeit (Elektra selber benötigt nur libc). Hier eine
kurze Anleitung wie die API aussieht und verwendet wird [5].
Das Backend Interface wird in einer kommenden Version noch geändert,
Backends sollten derzeit nur geschrieben werden wenn möglicher
Anpassungsaufwand und Pionierdasein nicht gescheut wird. Die API und ABI
für Programme hingegen bleibt für 0.7.x mindestens ein Jahr unterstützt und
komplett kompatibel.
Obwohl Elektra 0.7.0 erst heute erschienen ist, wird es bereits durch
Oyranos[6] verwendet. Beispiele sind direkt in der Distribution, ein
riesiges Testingframework ist unter tests, kleine Qt3-basierte Programme
gibt es hier [7].
Allgemeine Informationen siehe: http://www.libelektra.org
mfg Markus
[0] msgid: <jdg0pnbctr.fsf@xxxxxxxxxxxxxxxxxxxxxx>
[1] https://svn.libelektra.org/svn/elektra/tags/0.7.0/
[2] http://www.libelektra.org/Backends
[3] http://www.markus-raab.org/ftp/elektra.pdf
[4] http://www.libelektra.org/GetStartedMounting
[5] http://www.libelektra.org/Tutorial
[6] http://www.oyranos.org/
[7] http://www.markus-raab.org/ftp/oel-elektra.tar.gz
http://www.markus-raab.org/ftp/waldbrand-elektra.tar.gz
.
- Follow-Ups:
- Re: Elektra 0.7.0
- From: Rainer Weikusat
- Re: Elektra 0.7.0
- Prev by Date: Re: gcc vs gcc-4
- Next by Date: Re: Elektra 0.7.0
- Previous by thread: gcc vs gcc-4
- Next by thread: Re: Elektra 0.7.0
- Index(es):
Relevant Pages
|