MPorts Richtlinien
Im Folgenden werden Richtlinien für das Verhalten und den Aufbau von Ports aufgeführt. Jedes mal, wenn ein Port erstellt oder aktualisiert wird, sollte er auf die Einhaltung dieser Richtlinien hin überprüft werden. Diese Seite wird ab und zu aktualisiert und sollte daher öfters nachgelesen werden.
LICENSE
Jeder Port sollte eine LICENSE-Variable mit einer gültigen
Lizenz definieren. Eine Liste der gültigen Lizenzen wird
durch Aufruf des Targets license-list angezeigt.
Die LICENSE-Variable sollte unmittelbar hinter der COMMENT-Variable
aufgeführt werden.
INSTALLS_SHLIB
Ports sollten anstatt der INSTALLS_SHLIB-Variable die USE_LDCONFIG-Variable verwenden.
MASTER_SITES
Jeder Port sollte mindestens 2 Hauptbezugsquellen angeben.
OSVERSION
Kein Port sollte die Variable OSVERSION verwenden. Derzeit bezieht sich diese Variable auf die FreeBSD-Version, von der MidnightBSD abstammt. Dies wird nicht immer so sein. Eventuell wird sich diese Variable in Zukunft auf die MidnightBSD-Version beziehen. Um dies zu ermöglichen sollte die alte Verwendung dieser Variable aus den Ports entfernt werden.
SUB_FILES
Falls Dateien wie pkg-message oder pkg-install variable Substitutionen benötigen sollte das SUB_FILES Framework dafür verwendet werden. Selbstgebaute Lösungen sollten vermieden werden.
Fake Cleanups
Ports sollten weder das pkg-install Skript aufrufen, noch die Paketnachricht anzeigen. Diese Aufgaben sollten pkg_add überlassen werden.
pkg-message Format
Die pkg-message-Datei sollte einfach wie möglich aufgebaut sein. Sie sollte keine ascii-Bilder oder Zeilenumbrüche enthalten. Der Inhalt der Datei könnte in einer GUI dargestellt werden und sollte daher nicht auf die Kommandozeile optimiert werden.
OPTIONS
Die Variable OPTIONS sollte verwendet werden, sobald der Port einen oder mehrere Schalter besitzt. Das MPort-Paketsystem kann Optionen nur verwenden, wenn diese auch definiert wurden.
Man Pages
Sehr alte FreeBSD-Ports verwenden die Variable MANX für Manpages nicht. Ein solcher Port sollte so angepasst werden, das er diese Varaible benutzt. Dies ist wichtig da ansonsten beim Entfernen eines installierten Paketes die Manpages nicht mit gelöscht werden.
pre-su-install
Da su im fake-Prozess nicht verwendet wird ist das Target pre-su-install veraltet. Normalerweise können die darin enthaltenen Anweisungen in das pre-install Target verschoben werden. Falls dabei jedoch Veränderungen an der plist-Datei vorgenommen werden muß der Maintainer entscheiden wie das Problem gelöst werden soll.
Veraltete Variablen
Die folgenden Variablen werden nicht mehr verwendet (sie sind entweder völlig veraltet oder werden durch älteren FreeBSD Versionen benötigt):
- USE_GETOPT_LONG
- USE_REINPLACE
Kein Port sollte diese Variablen verwenden.