Der korrekte Weg eines Makefile anzuzeigen, dass der Port aufgrund eines externen Grundes nicht installiert werden kann (zum Beispiel, weil der Benutzer eine ungültige Kombination von Build-Optionen angegeben hat), ist IGNORE auf einen nicht leeren Wert zu setzen. Dieser wird dann formatiert und dem Benutzer von make install ausgegeben.
Es ist ein verbreiteter Fehler .error für diesem Zweck zu verwenden. Das Problem dabei ist, dass viele automatisierte Werkzeuge, die mit dem Ports-Baum arbeiten, in dieser Situation fehlschlagen. Am Häufigsten tritt das Problem beim Versuch /usr/ports/INDEX zu bauen auf (siehe Abschnitt 9.1). Jedoch schlagen auch trivialere Befehle wie make maintainer in diesem Fall fehl. Dies ist nicht akzeptabel!
Beispiel 12-1. Wie vermeidet man die Verwendung von .error
Nehmen Sie an, dass die Zeile
USE_POINTYHAT=yesin make.conf enthalten ist. Der erste der folgenden zwei Makefile-Schnipsel lässt make index fehlschlagen, während der zweite dies nicht tut.
.if USE_POINTYHAT .error "POINTYHAT is not supported" .endif
.if USE_POINTYHAT IGNORE=POINTYHAT is not supported .endif
Zurück | Zum Anfang | Weiter |
Kennzeichnen eines Ports zur Entfernung durch DEPRECATED oder EXPIRATION_DATE | Nach oben | Verwendung von sysctl |