Далее описаны некоторые соглашения, которым вы должны следовать в именовании ваших пакаджей. Они были разработаны для облегчения просмотра каталога, так как пакаджей уже имеется достаточно много и еще больше их появляется, а пользователи отвернутся от нас, если список не понравится их взору!
Имя пакаджа должно иметь вид [language[_region]]-name[[-]compiled.specifics]-version.numbers.
Имя пакаджа определяется как ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}. Вы должны задавать значения переменных в соответствии с этим форматом.
FreeBSD пытается поддерживать языки, на которых разговаривают ее пользователи. Часть language- должна быть двухсимвольным сокращением от названия языка по стандарту ISO-639, если порт специфичен для конкретного языка. Примерами являются ja для японского, ru для русского, vi для вьетнамского, zh для китайского, ko для корейского и de для немецкого языков.
Если ваш порт специфичен для конкретного региона внутри области использования языка, добавьте также двухсимвольный код страны. Примерами являются en_US для US English и fr_CH для Swiss French.
Часть language- должна задаваться в переменной PKGNAMEPREFIX.
Первая буква части name должна быть в нижнем регистре. (Оставшаяся часть названия может содержать буквы в верхнем регистре, так что принимайте решение сами, когда преобразуете имя программного пакета, содержащего в имени некоторое количество заглавных букв.) Существует традиция именовать модули для Perl 5, добавляя впереди p5- и преобразуя пару двоеточий в дефис; например, модуль Data::Dumper будет именоваться p5-Data-Dumper. Если программное обеспечение содержит в имени числа, дефисы или подчеркивания, то вы можете включить также и их (например, kinput2).
Если порт может быть построен с различными статически заданными значениями по умолчанию (обычно это часть имени каталога в семействе портов), то часть -compiled.specifics должна определять вкомпилированные значения по умолчанию (дефис не обязателен). Примерами являются размеры бумаги и шрифтов.
Часть compiled.specifics должна задаваться в переменной PKGNAMESUFFIX.
Строка с номером версии должна следовать за дефисом (-) и являться списком разделенных двоеточием чисел и букв в нижнем регистре. В частности, не разрешается иметь еще один дефис внутри строки с обозначением номера версии. Единственным исключением является строчка pl (означающая `уровень патчей'), которая может использоваться только тогда, когда у программного обеспечения нет старшего и младшего номера версии. Если в номер версии программного обеспечения включена строчка типа "alpha", "beta" или "pre", возьмите из неё первую букву и поставьте её непосредственно после точки. Если после таких строк номер версии ещё продолжается, то после буквы должно следовать число без дополнительной разделяющей точки.
Смысл такого формата заключается в удобстве сортировки портов по номеру версии. В частности, следите за тем, чтобы компоненты номера версии разделялись точкой, и если там присутствует дата, то используйте формат yyyy.mm.dd, но не dd.mm.yyyy или не совместимый с проблемой Г2000 yy.mm.dd.
Вот несколько (реальных) примеров того, как преобразовать имя из оригинального, придуманного авторами, к подходящему для имени пакаджа:
Имя дистрибутива | PKGNAMEPREFIX | PORTNAME | PKGNAMESUFFIX | PORTVERSION | Обоснование |
---|---|---|---|---|---|
mule-2.2.2 | (пусто) | mule | (пусто) | 2.2.2 | Изменений не потребовалось |
XFree86-3.3.6 | (пусто) | XFree86 | (пусто) | 3.3.6 | Изменений не потребовалось |
EmiClock-1.0.2 | (пусто) | emiclock | (пусто) | 1.0.2 | Для отдельных программ имена с заглавными буквами запрещены |
rdist-1.3alpha | (пусто) | rdist | (пусто) | 1.3.a | Строчки типа alpha запрещены |
es-0.9-beta1 | (пусто) | es | (пусто) | 0.9.b1 | Строчки типа beta запрещены |
v3.3beta021.src | (пусто) | tiff | (пусто) | 3.3 | Что это такое было вообще? |
tvtwm | (пусто) | tvtwm | (пусто) | pl11 | Всегда требуется указание номера версии |
piewm | (пусто) | piewm | (пусто) | 1.0 | Всегда требуется указание номера версии |
xvgr-2.10pl1 | (пусто) | xvgr | (пусто) | 2.10.1 | pl разрешено только при отсутствии старшего/младшего номера версии |
gawk-2.15.6 | ja- | gawk | (пусто) | 2.15.6 | Версия на японском языке |
psutils-1.13 | (пусто) | psutils | -letter | 1.13 | Размер бумаги задается статически во время построения пакаджа |
pkfonts | (пусто) | pkfonts | 300 | 1.0 | Пакадж для шрифтов 300dpi |
Если в исходном коде абсолютно нет информации о номере версии и не похоже, что автор собирается выпускать другую версию, то в качестве номера версии задайте просто 1.0 (как в примере с piewm выше). В противном случае спросите автора программы или используйте дату (yyyy.mm.dd) в качестве номера версии.
По вопросам связанным с системой
портов для FreeBSD, пишите по адресу <ports@freebsd.org>.
По вопросам связанным с этом документацией, пишите по адресу
<doc@freebsd.org>.