Warum?
CDBS ist eine Sammlung von Makefiles Regeln, welche erfahrenen Paketierern dabei hilft, kleine debian Regel zu erstellen und einige versteckte Dinge im Hintergrund durchzuführen. Stelle dir CDBS als ein Paket vor, das von Voldemort [2] geschrieben wurde. Es verbirgt viele Dinge vor dem Paketierer.
Also wennn du Paketieren lernen willst, und du nicht weisst was während der Paketbildung durch debuild oder dpkg-buildpackeg genau passiert - bitte lerne zuerst wie das Ganze richtig funktioniert. Wenn du debian Regel selbst schreibt und die Ziele mit Shellskripts oder anderen kleinen Funktionen ebenfalls selbst formulierst, dann hilft es dir zu verstehen was wirklich passiert wenn du ein Paket erstellst.
Wir glauben, dass es ein Bedürfnis gibt, dir eine gute Übersicht zu geben, wie Debian Paketierung von Grund auf funktioniert. Um dieses Ziel zu erreichen haben wir es geschafft Andrew Mitchell (ajmitch) davon zu überzeugen eine Lektion zu diesem Thema abzuhalten.
Andrew Mitchell (ajmitch) ist nicht nur ein MOTU, er ist ebenfalls sehr engagiert in der Debian Welt. Er durchlief den New Maintainer (Neuer Paketierer) Prozess [3] und er hat es letztendlich geschafft ein Debian Enwickler (DD) zu werden.
Andrew hat seine Lektion am 10. Dezember präsentiert. In den nächsten Tagen wird es eine Zusammenfassung zu diesem Thema geben.
Bitte prüft die Überschrift des #ubuntu-motu-school Channels regelmässig oder lest unsere Ankündigungen auf der ubuntu-motu Mailingliste.
geschrieben von Stephan aka \sh
Abschliessend möchte ich euch eine Anmerkung von Jeff Bailey vom 3. Dezember nicht vorenthalten. Damit will ich aufzeigen, dass manche Paketierer ihre Bedenken über dieses Vorgehen äussern.
Offensichtlich muss ich meine Befangenheit kundtun, aber ich bin mit der obigen Logik nicht einverstanden.
Es wäre so als würde man einen Anwender darum bitten mit der Befehlszeile zu arbeiten bevor er mit der graphischen Oberfläche starten kann oder als würde man mit der Assambler Programmierung als erste Programmiersprache anfangen. Natürlich würdest du eine grundlegendere Kenntniss des Systems haben, aber jedesmal wenn der Prozess komplexer wird, wirst du interessierte Menschen davon abhalten diesen Weg zu beschreiten.
Frage dich selbst: Wieviele Menschen könnten ohne die Hilfe von debhelper oder dphkg-deb paketieren? Ein paar. Warum fällt CDBS in eine andere Kategorie als die eben genannten?
Das Argument für CDBS ist, dass CDBS die gebräuchlichsten Bestandteile der Paketierung abdeckt. Wenn du eine Paketierungsklasse verwendest, erklärst du dass dein Paket den Regeln insoweit genug folgt - dass dein Paket laufen sollte.
In Fällen wo die Paketierung fehlerhaft ist (der Autor der Anwendung versteht z.B nicht die richtige Anwendung von Autotools oder Pythons Distutils), lautet manchmal die richtige Antwort ein Patch für die Anwendung einzureichen. Auf diese Art werden die Vorteile überall verteilt.
Ich wäre daran interessiert irgendwann eine CDBS Anleitung umzusetzen.
[1] http://linux.blogweb.de/archives/146-Debian-Packaging-Why-you-shouldnt-use-CDBS-in-the-first-place!.html
[2] http://en.wikipedia.org/wiki/Voldemort
[3] http://www.debian.org/devel/join/newmaint
weitere Links:
[4] http://ikhaya.ubuntuusers.de/archives/27-Ubuntus-MOTU-Schule.html
[5] http://wiki.ubuntuusers.de/Mark_Shuttleworth
Über Kommentare zu diesem Thema würde ich mich diesmal besonders freuen.