Das FreeBSD Porter-Handbuch
Zurück | Kapitel 12. Was man machen respektive vermeiden sollte | Weiter

# 12.15. Einen Port durch `BROKEN`, `FORBIDDEN` oder `IGNORE` als nicht installierbar markieren

In manchen Fällen sollten Benutzer davon abgehalten werden einen Port zu installieren. Um einem Benutzer mitzuteilen, dass ein Port nicht installiert werden sollte, gibt es mehrere Variablen für `make`, die im `Makefile` des Ports genutzt werden können. Der Wert der folgenden `make`-Variablen wird dem Benutzer als Grund für die Ablehnung der Installation des Ports zurückgegeben. Bitte benutzen Sie die richtige `make`-Variable, denn jede enthält eine völlig andere Bedeutung für den Benutzer und das automatische System, das von dem `Makefile` abhängt, wie der Ports-Build-Custer, FreshPorts und portsmon.

## 12.15.1. Variablen

- `BROKEN` ist reserviert für Ports, welche momentan nicht korrekt kompiliert, installiert oder deinstalliert werden. Es sollte für Ports benutzt werden, von denen man annimmt, dass dies ein temporäres Problem ist.

  Falls angegeben, wird der Build-Cluster dennoch versuchen den Port zu bauen, um zu sehen, ob das zugrunde liegende Problem behoben wurde (das ist jedoch im Allgemeinen nicht der Fall).

  Benutzen Sie `BROKEN` zum Beispiel, wenn ein Port:

  - nicht kompiliert

  - beim Konfiguration- oder Installation-Prozess scheitert

  - Dateien außerhalb von `${LOCALBASE}` installiert

  - beim Deinstallieren nicht alle seine Dateien sauber entfernt (jedoch kann es akzeptable und wünschenswert sein, Dateien, die vom Nutzer verändert wurden, nicht zu entfernen)

- `FORBIDDEN` wird für Ports verwendet, die Sicherheitslücken enthalten oder die ernste Sicherheitsbedenken für das FreeBSD-System aufwerfen, wenn sie installiert sind (z.B. ein als unsicher bekanntes Programm, oder ein Programm, das einen Dienst zur Verfügung stellt, der leicht kompromittiert werden kann). Ports sollten als `FORBIDDEN` gekennzeichnet werden, sobald ein Programm eine Schwachstelle hat und kein Update veröffentlicht wurde. Idealerweise sollten Ports so bald wie möglich aktualisiert werden wenn eine Sicherheitslücke entdeckt wurde, um die Zahl verwundbarer FreeBSD-Hosts zu verringern (wir schätzen es für unsere Sicherheit bekannt zu sein), obwohl es manchmal einen beachtlichen Zeitabstand zwischen der Bekanntmachung einer Schwachstelle und dem entsprechenden Update gibt. Bitte kennzeichnen Sie einen Port nicht aus irgendeinem Grund außer Sicherheit als `FORBIDDEN`.

- `IGNORE` ist für Ports reserviert, die aus anderen Gründen nicht gebaut werden sollten. Es sollte für Ports verwendet werden, in denen ein strukturelles Problem vermutet wird. Der Build-Cluster wird unter keinen Umständen Ports, die mit `IGNORE` markiert sind, erstellen. Verwenden Sie `IGNORE` zum Beispiel, wenn ein Port:

  - kompiliert, aber nicht richtig läuft

  - nicht auf der installierten Version von FreeBSD läuft

  - FreeBSD Kernelquelltext zum Bauen benötigt, aber der Benutzer diese nicht installiert hat

  - ein Distfile benötigt, welches aufgrund von Lizenzbeschränkungen nicht automatisch abgerufen werden kann

  - nicht korrekt mit einem momentan installiertem Port arbeitet (der Port hängt zum Beispiel von `www/apache21` ab, aber `www/apache13` ist installiert)

  > Anmerkung: Wenn ein Port mit einem momentan installiertem Port kollidiert (zum Beispiel, wenn beide eine Datei an die selbe Stelle installieren, diese aber eine andere Funktion hat), benutzen Sie stattdessen `CONFLICTS`. `CONFLICTS` setzt `IGNORE` dann selbstständig.

- Um einen Port nur auf bestimmte Systemarchitekturen mit `IGNORE` zu markieren, gibt es zwei Variablen, die automatisch `IGNORE` für Sie setzen: `ONLY_FOR_ARCHS` und `NOT_FOR_ARCHS`. Beispiele:

      ONLY_FOR_ARCHS= i386 amd64

      NOT_FOR_ARCHS= alpha ia64 sparc64

  Eine eigene `IGNORE`-Ausgabe kann mit `ONLY_FOR_ARCHS_REASON` und `NOT_FOR_ARCHS_REASON` festgelegt werden. Für eine bestimmte Architektur sind Angaben durch `ONLY_FOR_ARCHS_REASON_`ARCH`` und `NOT_FOR_ARCHS_REASON_`ARCH`` möglich.

- Wenn ein Port i386-Binärdateien herunterlädt und installiert, sollte `IA32_BINARY_PORT` gesetzt werden. Wenn die Variable gesetzt ist, wird überprüft, ob das Verzeichnis `/usr/lib32` für IA32-Versionen der Bibliotheken vorhanden ist, und ob der Kernel mit IA32-Kompatibilität gebaut wurde. Wenn eine dieser zwei Voraussetzungen nicht erfüllt ist, wird `IGNORE` automatisch gesetzt.

## 12.15.2. Anmerkungen zur Implementierung

Zeichenketten sollten nicht in Anführungszeichen gesetzt werden. Auch die Wortwahl der Zeichenketten sollte die Art und Weise beachten, wie die Informationen dem Nutzer angezeigt werden. Beispiele:

    BROKEN= this port is unsupported on FreeBSD 5.x

    IGNORE= is unsupported on FreeBSD 5.x

resultieren in den folgenden Ausgaben von `make describe`:

    ===>  foobar-0.1 is marked as broken: this port is unsupported on FreeBSD 5.x.

    ===>  foobar-0.1 is unsupported on FreeBSD 5.x.

Zurück | Zum Anfang | Weiter
`README.html` | Nach oben | Kennzeichnen eines Ports zur Entfernung durch `DEPRECATED` oder `EXPIRATION_DATE`

Fragen zum FreeBSD Ports-System richten Sie bitte an <ports@FreeBSD.org>, Fragen zu diesem Dokument hingegen an <de-bsd-translators@de.FreeBSD.org>.