Freitag, 29. März 2013

Vertragsarbeit an Packagemanager begonnen

Etwas verzögert durch Restarbeiten für ihren letzten Auftraggeber, haben Ingo und Oliver jetzt ihre durch Haiku Inc. gesponserte Arbeit am Packagemanager begonnen. Die letzte große Hürde für Haikus Beta-Phase wird so mit 2 x 320 Stunden angegangen. Da die erwähnten Restarbeiten noch nicht ganz abgeschlossen sind, ist es allerdings möglich, dass diese vereinbarte Vertragszeit etwas länger als die angepeilten 2 Monate gestreckt werden wird.

In einem ersten Blogeintrag gibt Ingo einen groben Überblick über die erste Planung der beiden.

Zuerst werden sie sich auf das Erzeugen von Packages konzentrieren. Dazu müssen die BEP Build-Rezepte so angepasst, dass am Ende die zum Bauen von Haiku benötigten Packages rauspurzeln.
Danach kann Ingo seine Arbeit an libsolv abschließen, mit der Abhängigkeiten unter den Paketen gelöst werden.
Oliver nimmt derweil haikuporter und das BEP-Format unter die Lupe. Haiku soll von den Metadaten anderer opensource Projekte profitieren, um Abhängigkeiten von Paketen, aber auch deren Buildfeatures und Bugs zu erkennen. Nach einer Analyse von MacPorts, pkgsrc, Gentoo-Portage und anderen Kandidaten, lassen sich die Gentoo-Portage EBuild Dateien dafür am einfachsten nutzen.
Ggf. werden die BEP Dateien von Python zu Shellscripts oder C++ umgewandelt. Dadurch kann man sich das Parsen sparen und eleminiert das komplexe Python-System, dass mehr Probleme bereiten kann als es zur Zeit Vorteile bringt.

Wenn haikuporter erstmal anhand eines Packagenamens das Paket komplett mit seinen Abhängigkeiten bauen kann, kann man aus mehreren Paketen auch automatisch ein Repository generieren. Ist das geschafft, gehts an die Repository-Infrastruktur, verbesserte Features zur Laufzeit (z. B. Packages installieren und deinstallieren) und die Anpassungen für die Nutzung des Packagemanagements in Haikus Buildsystem.

Wer stets informiert sein möchte, sollte die Blogs von Ingo und Oliver im Auge behalten, ebenso das PackageManagement Wiki.
Der Code lässt sich in ihren GitHub Repos (Ingo, Oliver) verfolgen und im HaikuPorts Repository befinden sich ebenfalls "package-management" Branches unter "haikuporter" und "haikuports".

Keine Kommentare:

Kommentar veröffentlichen