Login
Newsletter
Werbung

Mi, 14. Juni 2017, 14:35

Software::Entwicklung

Elixir Cross Referencer für den Linux-Kernel vorgestellt

Die umfassende Code-Referenz für den Linux-Kernel auf Free Electrons wurde auf eine komplett neue Engine umgestellt. Sie ist wie ihr ziemlich alter Vorgänger freie Software, bietet aber mehr Möglichkeiten und bezieht auch weitere Projekte mit ein.

Weboberfläche von Elixir

Hans-Joachim Baader

Weboberfläche von Elixir

Free Electrons, ein französisches Open-Source-Unternehmen, das sich auf eingebettete Systeme spezialisiert hat, hat bereits 2006 ein Online-Werkzeug bereitgestellt, das den ganzen Linux-Quellcode mit Kreuzreferenzen einsehbar machte. Diese Referenz beruhte auf dem in Perl geschriebenen LXR (Linux Cross Referencer), der im Ursprung vielleicht bereits auf das Jahr 1994 zurückgeht. In den ersten Jahren setzte Free Electrons die Version 0.9.5 ein, um Anfang 2009 zur Version 0.3.1 von 1999 zu wechseln, die sich als einfacher und effizienter erwies, da sie noch auf Dateien und nicht auf einer SQL-Datenbank beruhte. LXR 0.9.5 wurde mit zunehmender Zahl der Kernel-Versionen immer langsamer.

Über acht Jahre lang tat LXR 0.3.1 dann seinen Dienst. Doch in den letzten Monaten fasste Free Electrons den Plan, das System zu modernisieren. Mehrere bestehende Optionen wie LXR 2.2 und OpenGrok wurden evaluiert und schließlich verworfen. Stattdessen wurde als Nachfolger das Programm Elixir in Python entwickelt. Elixir unterscheidet sich grundlegend von den anderen Programmen. Der Kerngedanke ist, ein Git-Repositorium direkt zu indizieren. Damit ist es möglich, sämtliche Versionen aller Dateien zu erfassen, ohne viel Platz zu benötigen. Denn Git macht es sich zunutze, dass jede Version einer Datei nur einmal unter ihrem Hashwert gespeichert werden muss. Lediglich die Metadaten wachsen mit der Zeit.

Durch den Umstieg auf Elixir ergab sich außerdem der Vorteil, dass die URLs, die auf die Dateiversionen verlinken, nun unveränderlich sind. Referenzen von externen Seiten verlieren somit nie ihre Gültigkeit. Die Oberfläche des neuen Elixir wurde ähnlich gestaltet wie die frühere, so dass sich die Benutzer leicht zurechtfinden. Durch das modernere Design passt sich die Webseite aber automatisch kleineren Bildschirmen wie denen von Tablets an.

Der Kreuzrefernzdienst umfasst nun neben Linux auch Busybox und U-Boot. Jedes Tag in jedem Projekt-Git wird nun automatisch indiziert. In der nächsten Zeit soll die Unterstützung der verschiedenen Nutzungsweisen von Git in den unterschiedlichen Projekten verbessert werden. Die Suche nach Bezeichnern soll durch eine automatische Ergänzung oder gar eine unscharfe Suche komfortabler werden. Elixir ist derzeit mehr oder weniger noch ein Prototyp, bei dem auch die Geschwindigkeit des Indizierens und Suchens wohl noch verbesserungsfähig ist. Elixir selbst ist freie Software und steht auf Github bereit.

Werbung
Kommentare (Insgesamt: 9 || Alle anzeigen )
Re: Linux istobsolete (john doe, Fr, 16. Juni 2017)
Re: Linux istobsolete (tbol.inq, Fr, 16. Juni 2017)
Re: Und wozu braucht mand as nun? (Pommierer, Fr, 16. Juni 2017)
Re: Elixir in Python (blablabla233, Do, 15. Juni 2017)
Re: Linux istobsolete (Chef, Do, 15. Juni 2017)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung