"Рашид Ачилов. Создаем порт для FreeBSD своими руками (Часть I) " - читать интересную книгу автора

добавим в Makefile следующий код:

.if defined(WITHOUT_NLS)
PLIST_SUB+= NLS="@comment "
.else
USE_GETTEXT= yes


PLIST_SUB+= NLS=""

.endif

а в файле pkg-plist изменим строки, описывающие файлы языковой
поддержки таким образом:

%%NLS%%share/locale/bg/LC_MESSAGES/libkickermenu_contactsmenu. mo
%%NLS%%share/locale/br/LC_MESSAGES/libkickermenu_contactsmenu. mo
%%NLS%%share/locale/da/LC_MESSAGES/libkickermenu_contactsmenu. mo
%%NLS%%share/locale/de/LC_MESSAGES/libkickermenu_contactsmenu. mo
%%NLS%%share/locale/ga/LC_MESSAGES/libkickermenu_contactsmenu. mo
%%NLS%%share/locale/fr/LC_MESSAGES/libkickermenu_contactsmenu. mo
%%NLS%%share/locale/pt/LC_MESSAGES/libkickermenu_contactsmenu. mo
%%NLS%%share/locale/sv/LC_MESSAGES/libkickermenu_contactsmenu. mo

Как это будет работать? Параметр PLIST_SUB содержит список подстановок,
которые выполняются, когда система обрабатывает файл pkg-plist. Если при
сборке порта будет задан параметр "WITHOUT_NLS=yes", то в pkg-plist будет
подставлено значение, превращающее строки с "%%NLS%%" в строки комментария.
Обратите внимание, что в этом случае зависимость от devel/gettext не
вставляется. В противном случае NLS принимает значение пустой строки, и
зависимость от devel/gettext вставляется. Этот прием (модификация pkg-plist
в зависимости от параметров сборки порта) является очень широко
распространенным.
Запускаем portlint еще раз, получаем одно замечание про MASTER_SITES,
которое игнорируем. Осталось создать файл distinfo. Это просто. Система сама
его создаст, если ее об этом попросить:

# make makesum

Созданный файл имеет следующий вид:

MD5 (34479-contactsmenu-0.3.4b.tar.bz2) =
65af4e3103c906edl3508bflb2dd217a
SHA256 (34479-contactsmenu-0.3.4b.tar.bz2) =
88e05096b2f9C8d659be61daed5e6da977a056033a52c79789dade217709afee
SIZE (34479-contactsmenu-0.3.4b.tar.bz2) = 457076

Теперь пробуем собрать программу, используя порт. Для проверки
правильности составления файла pkg-plist в качестве корневого каталога
сборки назначим /tmp/1 (после деинсталляции программы не должно оставаться