В некоторых случаях пользователи не должны допускаться к установке порта. Для того, чтобы сообщить пользователю, что порт не следует устанавливать, имеется несколько make-переменных, которые могут быть использованы в файле Makefile порта. Значения следующих make-переменных будут причиной, возвращаемой пользователям, по которой порт отказывает в установке. Пожалуйста, используйте корректные make-переменные, так как каждая переменная make передает абсолютно различный смысл как для пользователей, так и для автоматизированных систем, которые полагаются на файлы Makefile, таких как кластер построения портов, FreshPorts и portsmon.
BROKEN предназначена для портов, которые в настоящее время не компилируются, не устанавливаются или не удаляются правильно. Следует использовать для портов, когда проблема считается временной.
В особых случаях кластер построения будет продолжать попытки собрать их, чтобы показать, решена ли основная проблема. (Однако, как правило, кластер запускается без этой возможности.)
В частности, используйте BROKEN, когда порт:
не компилируется
не выполняет процесс своей конфигурации или установки
устанавливает файлы вовне ${LOCALBASE}
не удаляет полностью все свои файлы при деинсталляции (тем не менее, это может быть допустимо, и подходит для портов, оставляющих после себя файлы, измененные пользователем)
FORBIDDEN используется для портов, которые содержат уязвимости в информационной безопасности или являются потенциально вредными в плане обеспечения информационной безопасности системы FreeBSD при установке данного порта (например: заведомо небезопасная программа или программа, которая предоставляет легко взламываемые сервисы). Порты должны помечаться как FORBIDDEN, как только в конкретном программном обеспечении обнаружилась уязвимость, но обновление выпущено не было. В идеальном случае порты должны обновляться максимально быстро после обнаружения уязвимости, чтобы уменьшить число уязвимых хостов FreeBSD (нам нравится иметь репутацию безопасной системы), однако иногда случается значительный временной разрыв между обнаружением уязвимости и выходом обновлённого релиза уязвимого программного обеспечения. Не помечайте порт как FORBIDDEN, если причина не вызвана соображениями информационной безопасности.
IGNORE предназначена для портов, которые не должны строиться по какой-либо другой причине. Следует использовать для портов, в случае когда проблема считает конструктивной. Кластер построения ни при каких условиях не будет строить порты, помеченные как IGNORE. В частности, используйте IGNORE, когда порт:
компилируется, но работает неправильно
не работает на установленной версии FreeBSD
требует для построения исходные тексты ядра FreeBSD, но у пользователя в установленном виде они отсутствуют
имеет distfile, который не может быть автоматически извлечен из-за лицензионных ограничений
не работает с каким-либо другим портом, установленным в настоящее время (например, порт зависит от www/apache20, но установлен www/apache22)
Замечание: Если порт будет конфликтовать с уже установленным портом, (например, если они устанавливают файл в то же место, но с иным функциональным назначением), то используйте вместо этого CONFLICTS. CONFLICTS сам установит значение IGNORE.
Если порт нужно пометить как IGNORE только на некоторых архитектурах, для этого есть две другие удобные переменные, которые автоматически установят для вас значения: ONLY_FOR_ARCHS и NOT_FOR_ARCHS. Примеры:
ONLY_FOR_ARCHS= i386 amd64
NOT_FOR_ARCHS= ia64 sparc64
Собственное сообщение IGNORE можно задать с использованием ONLY_FOR_ARCHS_REASON и NOT_FOR_ARCHS_REASON. Отдельно для каждой архитектуры это возможно с использованием ONLY_FOR_ARCHS_REASON_ARCH и NOT_FOR_ARCHS_REASON_ARCH.
Если порт загружает и устанавливает исполняемые файлы i386, то следует установить IA32_BINARY_PORT. Если эта переменная установлена, будет выполнена проверка доступности каталога /usr/lib32 для библиотек версии IA32 и поддержки IA32 в ядре. При невыполнении любого из этих условий будет автоматически установлена переменная IGNORE.
Строки не следует брать в кавычки. Также построение строки должно несколько различаться из-за способа отображения информации пользователю. Примеры:
BROKEN= this port is unsupported on FreeBSD 5.x
IGNORE= is unsupported on FreeBSD 5.x
получаемые в результате следующего вывода 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.
Пред. | Начало | След. |
README.html | Уровень выше | Пометка порта на удаление с DEPRECATED или EXPIRATION_DATE |