Руководство FreeBSD по созданию портов
Пред. | Глава 12. Что делать нужно, и что делать нельзя | След.

# 12.16. Избегайте использования конструкции `.error`

Правильным способом подать сигнал для `Makefile` о том, что порт не может быть установлен из-за какого-то внешнего фактора (например, пользователь указал недопустимую комбинацию опций построения), является установка непустого значения для `IGNORE`. Это значение будет сформатировано и показано пользователю во время `make install`.

Использование для этих целей `.error` является распространенной ошибкой. Проблема в том, что в этой ситуации будут повреждены многие инструменты автоматизации, работающие с деревом портов. Наибольшим образом это распространено при попытке построить `/usr/ports/INDEX` (смотрите Разд. 9.1). Тем не менее, даже более простые команды, такие как `make maintainer`, в этом случае также вернут ошибку. Это не является приемлемым.

Пример 12-1. Как избегать использование `.error`

Предположим, что кто-то поместил строку

    USE_POINTYHAT=yes

в `make.conf`. Первый из последующих двух вариантов строк файла `Makefile` приведёт к неудачному завершению работы `make index`, а второй - нет:

    .if USE_POINTYHAT
    .error "POINTYHAT is not supported"
    .endif

    .if USE_POINTYHAT
    IGNORE=POINTYHAT is not supported
    .endif

Пред. | Начало | След.
Пометка порта на удаление с `DEPRECATED` или `EXPIRATION_DATE` | Уровень выше | Использование `sysctl`

По вопросам связанным с системой портов для FreeBSD, пишите по адресу <ports@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите по адресу <doc@FreeBSD.org>.