Руководство FreeBSD по созданию портов
Пред. |  | След.

# Глава 14. Тестирование вашего порта

# 14.1. Запуск `make describe`

Некоторые утилиты FreeBSD для сопровождения портов, например, portupgrade(1), опираются на базу данных с именем `/usr/ports/INDEX`, в которой отслеживаются такие характеристики портов, как их зависимости. Файл `INDEX` создаётся при помощи `ports/Makefile` верхнего уровня по команде `make index`, спускающейся в подкаталог каждого порта и выполняющей в нём `make describe`. Таким образом, если выполнение `make describe` с каким-либо портом завершится неудачно, то никому не удастся создать `INDEX`, при этом много людей вскоре станут несчастны.

> Замечание: Возможность генерировать этот файл очень важна вне зависимости от того, какие параметры присутствуют в `make.conf`, поэтому, пожалуйста, избегайте, таких вещей, как использование декларации `.error`, когда (к примеру) требования к зависимость не было удовлетворено.

Пример 14-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

Если команда `make describe` выдаёт строчку, а не ошибку, то для вас это пройдёт безболезненно. Обратитесь к файлу `bsd.port.mk`, чтобы выяснить значение выдаваемых строк.

Заметьте также, что запуск последней версии `portlint` (как указано в следующем разделе) приведёт к автоматическому запуску команды `make describe`.

Пред. | Начало | След.
Изменение имён файлов `pkg-`*`` |  | Portlint

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