Factory/Paketbau
aus openSUSE, der freien Wissensdatenbank
Inhaltsverzeichnis |
Worum es in diesem Artikel geht
Dieser Artikel wird ihnen einen Blick auf Factory aus der Paketbauersicht geben. Konzepte, Kommandos, Diskussionspartner und so weiter. Er ist als Startpunkt für Factory-Paketbauer gedacht. Er wird keine grundlegende Dokumentation zu Dingen wie dem openSUSE Build Service, seinen Schnittstellen und dem RPM-Paketbau und ähnlichem ersetzen. Es wird davon ausgegangen, dass Sie sich damit bereits auskennen.
Arbeitsablauf
Factory wird im openSUSE Build Service gebaut. Es hat sein eigenes Projekt openSUSE:Factory. Wie Sie sehen können, ist es lediglich ein riesiges Paketdepot. Die Entwicklung passiert nicht direkt in openSUSE:Factory, sondern in den sogenannten devel projects (Entwicklungsprojekte). Devel projects sind, wie der Name schon sagt, Projekte in denen die Entwicklung für ein bestimmtes Thema passiert, wie Multimedia oder GNOME oder Kernel. Die Verbindung zwischen einem Paket in openSUSE:Factory und seinem devel project wird in den Metadaten des Pakets in openSUSE:Factory angegeben. Ein Paket, das Sie in Factory sehen, hat immer den folgenden Weg genommen:
Veränderung => Devel Project => Factory
Veränderungen
Wie Sie sich vorstellen können, ist der erste Teil für alle offen. Jeder kann Paketa aus den devel projects auschecken und lokal Veränderungen vornehmen. Und jeder kann seine Änderungen als submitrequest über den Build Service-Kommandozeilenklient osc in das devel project übertragen. Wie dies im Allgemeinen abläuft, wird auf der Seite Build Service/Zusammenarbeit beschrieben.
Devel Projects
Berechtigungen und Abläufe kommen ins Spiel, sobald Sie die Verantwortung für ein Paket in der Distribution übernehmen wollen. Wie oben schon erwähnt, arbeiten openSUSE-Paketbetreuer devel projects zusammen. Jedes devel project hat seinen eigenen Satz von Abläufen, Regeln und Kommunikationskanälen, die am Besten zu ihm passen. Der Ausgangspunkt für die Informationen ist die Projektbeschreibung im jeweiligen Build Service-Projekt. Wenn Sie also Teil eines devel project werden wollen, sollten Sie das Sie interessierende openSUSE Build Service-Projekt besuchen, um herauszufinden, wie Sie mitmachen können. Wenn Sie herausfinden wollen, zu welchem devel project ein Paket gehört, nutzen Sie das folgende Kommando:
Devel Projects könne sich immer mal wieder ändern, da die Welt der freien Software nie still steht. Software entwickelt sich, wird überflüssig oder Standards ändern sich, und so weiter. Deshalb können sich die Namen devel projects ändern, sie können, aufgegeben oder neu erstellt werden, ihr Inhalt und ihre Ausrichtung können sich ändern. Genauso wie es bei den Paketen in den devel projects der Fall ist.
Erstellen eines neuen Devel Project
Als erstes müssen Sie ein neues devel project auf opensuse-factory@opensuse.org vorschlagen. Auf dieser Liste finden Sie außerdem Leute, die Projekte auf der obersten Ebene im Build Service erstellen können. Wenn Sie sich über das neue devel project einig geworden sind, gibt es einige Dinge, auf die Sie achten sollten.
Kommunikationskanal
Als erstes sollten Sie die Kommunikation zwischen den Betreuern ermöglichen. Ich schlage ihnen entweder die Nutzung der opensuse-factory@opensuse.org-Mailingliste mit einem bestimmten Betreff wie dem folgenden vor
Subject: [YOUR DEVEL PROJECT] Update to FOO 2.0
oder Sie schreiben an ml-admin@opensuse.org und er erstellt ihnen eine eigene Liste wie
opensuse-factory-YOUR-DEVEL-PROJECT@opensuse.org
Devel Project-Regeln
Nachdem sie miteinander kommunizieren können, sollten sie über Regeln für die Verwaltung des Projekts nachdenken. Sie sind dabei in der Ausgestaltung vollkommen frei. Sie können eine Zuordnung Betreuer<->Paket nutzen oder es weniger strikt handhaben und als Gruppe arbeiten.
Pakete kopieren
Es ist ratsam, osc linkpac zu nutzen, um ihre Pakete aus openSUSE:Factory in ihr devel project zu verknüpfen. Auf diese Weise funktionieren ein paar Funktionen wie osc branch oder osc submitrequest am Besten. Sie können natürlich auch osc copypack nutzen, um ein Paket von anderen Projekten zu kopieren.
Dokumentieren Sie ihr Projekt
Sobald Sie diese Dinge erledigt haben, müssen Sie sie in ihrer Projektbeschreibung im Build Service dokumentieren. Sie können dafür diese Vorlage nutzen:
<title>YOUR DEVEL PROJECT</title> <description> This is the FOOBAR project. Its main purpose is to serve as development project for packages around the topic of FOOBAR in the openSUSE:Factory distribution. If you want to participate you can contact us individually or use our mailinglist opensuse-factory-foobar@opensuse.org. Please report bugs to the respective bugowners as set. </description>
Factory
openSUSE:Factory fungiert als Hauptprojekt für alle devel projects. Daten in openSUSE:Factory sind verbdindlich. Da Sie in openSUSE:Factory nichts direkt ändern können, funktioniert alles über Anfragen mit osc.
Ändern der Quelle eines Pakets
Um die Quellen eines Pakets zu ändern, müssen Sie die Änderung im devel project vornehmen und sie dann mit dem Kommando osc submitreq einreichen.
Löschen eines Pakets
Wenn Sie ein Paket aus der Distribution openSUSE:Factory löschen wollen, müssen Sie mit osc eine Löschanfrage einreichen.
Wenn Sie ein Paket umbenennen wollen, würden Sie zurerst eine Löschanfrage stellen und dann für das neue Paket ein submitreq absetzen.
Ändern des devel project eines Pakets
Wenn Sie ein einzelnes Paket oder ein Gruppe von Paketen in ein anderes devel project verschieben wollen, können Sie eine change devel-Anfage absetzen.
Factory-Betreuung
Factory wird vom openSUSE-Distributionsprojektverwalter betreut. Zur Zeit ist dies Stephan Kulow. Der Projektverwalter hat das letzte Wort bei technischen Änderungen an der openSUSE-Distribution.
Die Anfragen, Dinge in Factory zu ändern, wie das Ändern der Quellen eines Pakets oder das Aussondern eines Pakets, werden von der Factory Cabal behandel. Diese Gruppe besteht zur Zeit ausschließlich aus Markus Rueckert.

