Ports - Entwicklung und Wartung

Betrifft OS:
FreeBSD

Bei den Ports handelt es sich um Instruktionen für make und andere Tools, wie Sourcen eines Programms konfiguriert, gepatcht, kompiliert und installiert werden müssen, um auf FreeBSD zu funktionieren. Dies ist notwendig, um beispielsweise Programme, die für andere Plattformen entwickelt wurden, lauffähig zu machen. In den Anfangszeiten von FreeBSD (vor den Ports) mussten Programme in mühevoller Arbeit von jedem User eigenhändig an FreeBSD angepasst werden.

Einen Port für eine Anwendung erstellen

Im Handbuch erhält man ausführliche Informationen zur Erstellung von Ports.

Eine eigene Port-Kategorie einrichten

Zu Testzwecken kann es sinnvoll sein, eine eigene, lokale Port-Kategorie einzurichten. Hierzu trägt man in der /etc/make.conf folgendes ein:

VALID_CATEGORIES+= MeinePorts

Es wird dann in /usr/ports der Ordner <MeinePorts> und folgendes Makefile

    COMMENT = MeinePorts

    SUBDIR += <MeinLokalerPort>

.include <bsd.port.subdir.mk>

angelegt. Nun kann unter <MeinLokalerPort> ein eigener Port untergebracht werden.

Patenschaft für einen Port übernehmen

Rund ein Viertel aller Ports werden nicht direkt betreut. Das heisst, sie unterstehen keinem Maintainer. Diese Ports werden demzufolge weniger intensiv betreut. Zwar werden PRs (Problem Reports) eingepflegt, aber es kann unter Umständen bei einer neuen Version der Sourcen sehr lange dauern, bis diese in den Ports verfügbar ist. Daher werden immer Interessierte gesucht, die sich dieser Ports http://portsmon.freebsd.org/portsconcordanceformaintainer.py?maintainer=ports%40FreeBSD.org annehmen.

Fehler in vorhandenen Ports

Leider können Ports nicht immer fehlerfrei sein. Es gibt mehrere automatische Verfahren, die Fehler in den Ports erkennen sollen. Hier eine Übersicht über einige Verfahren:

PointyhatDies ist eine Clusterfarm, die alle verfügbaren Ports regelmäßig baut und die dabei aufgetretenen Fehler in dieser Liste veröffentlicht http://pointyhat.freebsd.org/errorlogs
FreeBSD Ports distfiles surveyDies ist die Liste eines Scripts von Bill Fenner, die die Verfügbarkeit von Distfiles anzeigt http://people.freebsd.org/~fenner/portsurvey
PortscoutEine Liste für Maintainer, die anzeigt, ob für die betreuten Ports neue Distfiles vorliegen http://beta.inerd.com/portscout
FreshportsBei Freshports gibt es die Möglichkeit alle als defekt gekennzeichneten Ports anzeigen zu lassen. Dies sind Ports, bei denen Fehler erkannt, aber noch nicht beseitigt wurden http://www.freshports.org/ports-broken.php

Einen Fehler in einem Port melden

Ein Portmaintainer ist in der Regel nicht in der Lage, den betreuten Port in jeder Lebenslage zu Testen. In sofern sind die Maintainer dringend auf Fehlermeldungen der Benutzer angewiesen. Ein Fehler sollte daher mit einer kurzen Beschreibung in die 'Problem Report Database' http://www.de.freebsd.org/support/bugreports.html eingepflegt werden. Hier werden alle Problem Reports (PRs) gesammelt und verwaltet. Im FreeBSD-Basissystem gibt es den Befehl send-pr|1|FreeBSD, mit dessen Hilfe kann ein PR erstellt werden und per E-Mail an die Problem Report Database geschickt werden.

Werkzeuge für die Port-Erstellung und Wartung

Es gibt einige Werkzeuge für die Erstellung und Wartung von Ports. Dies sind:

Kommunikation mit anderen Portentwicklern

Es gibt eine englischsprachige Mailliste, über die man sich mit anderen Port-Maintainer austauschen kann:

Weiterhin gibt es IRC-Channel:

  • #bsdports auf irc.efnet.net, Port 6667 in englischer Sprache
  • #freebsd-maintainer auf irc.unixfreunde.de, Port 6667 in deutscher Sprache

Siehe auch