"Рашид Ачилов. Создаем порт для 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 содержит список подстановок, сборке порта будет задан параметр "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 (после деинсталляции программы не должно оставаться |
|
|