"Создаем порт для FreeBSD своими руками. Часть II" - читать интересную книгу автора (Ачилов Рашид)Некоторые переменные USE_*Здесь описаны некоторые наиболее часто используемые переменные USE_*, не упомянутые до сих пор. Полный список их значительно больше, смотреть его нужно в bsd.port.mk. • IGNOREFILES= lt;список файловgt; — задает список файлов, для которых не выполняется проверка контрольной суммы из distinfo. • EXTRACT_ONLY=yes — только распаковать файлы дистрибутива, не выполнять никакой работы по сборке. Как правило, в таком порту применяется заменяющая подмишень do-install. • RESTRICTED=yes — запрещает помещать собранный пакет на FTP или распространять на CD-ROM. Как правило вследствие лицензионных ограничений. Это не такая уже редкость, например такое ограничение имеет виртуальная машина Java. • NO_CDROM=yes — почти то же самое, только разрешает помещение на FTP. • FORBIDDEN=yes — запрещает сборку из-за уязвимостей программы. • IGNORE=yes — запрещает сборку из-за грубых ошибок при сборке программы. Фактически используется для прекращения работы системы по каким-либо причинам (например, неподдерживаемая версия FreeBSD). • BROKEN=yes — запрещает сборку из-за различных ошибок. • USE_ZIP=yes — для распаковки использовать zip. • USE_DOS2UNIX=yes — все тексты перекодировать таким образом, чтобы преобразовать переводы строк из вида DOS в вид UNIX. • USE_GCC=lt;номерgt; — задает номер версии компилятора GCC. Я помню только один порт, использовавший эту USE_* — editors/openoffice на 4.х, имевший по умолчанию GCC 2.95.4. • USE_GETOPT_LONG=yes — для 4.х добавляет зависимость от libgnugetopt. Для 5.х и выше уже неактуально — libgnugeopt перенесена в базовую систему. • USE_PERL=yes, USE_JAVA=yes, USE_PYTHON=yes, USE_RUBY=yes — добавляют соответствующие зависимости от интерпретатора соответствующего языка. • USE_AUTOTOOLS=lt;toolgt;:lt;versiongt; — добавляет зависимость от некоторой программы из GNU Autotools. Если задана и программа и версия, задает зависимость от конкретной версии, если версия опущена, то задает зависимость от программы без номера в имени. Например: «USE_AUTOTOOLS=libtool:15» задает зависимость от devel/libtool15, но «USE_AUTOTOOLS=libtool» задает зависимость от devel/libtool, что может быть совсем не одно и то же! • USE_GNOME=lt;список компонентов через пробелgt; — задает зависимости от перечисленного списка компонентов GNOME. Например, приведенная выше строка: «USE_GNOME+= orbit gtk12» задает зависимости от компонентов devel/orbit и x11-toolkits/gtk12. При задании зависимостей следует придерживаться разумного минимума — указывать только те компоненты, которые действительно нужны для работы. Помните, что подключенные компоненты тоже имеют свои зависимости, которые могут иметь свои зависимости и т. д. — глубина вложенности неограничена. • USE_QT_VER=3 — добавляет зависимость от библиотеки x11-toolkits/qt33 и неявно подключает файл bsd.kde.mk. • USE_LINUX={yes|lt;числоgt;} — добавляет зависимость от порта emulators/linux-base-8, если не указано lt;числоgt;. Если lt;числоgt; указано, то добавляется зависимость от порта emulators/linux-base-lt;числоgt;. • CONFLICTS=lt;список портовgt; — содержит список портов, с которыми может конфликтовать данный порт. Конфликт может выражаться в совпадающих именах каталогов для установки, совпадающих именах файлов, одинаковых TCP/UDP-портах, невозможность сборки одного порта при наличии другого и прочих причинах. Выражение для списка портов может содержать мета-символы «*?[]!». Например, «apache*-1.3.[012345]». |
||
|