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

Содержание
14.1. Запуск make describe
14.2. Portlint
14.3. PREFIX

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.

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