В процессе создания пакаджа он помещается в каталог /usr/ports/packages/All, а в одном или более подкаталогов из /usr/ports/packages создаются на него ссылки. Имена этих подкаталогов определяются переменной CATEGORIES. Такая схема нужна для облегчения жизни пользователя, когда он сталкивается с массой пакаджей на FTP-сервере или компакт-диске. Пожалуйста, посмотрите на список существующих категорий и выберите те из них, которые более всего подходят к вашему порту.
Этот список также определяет, куда в дереве портов будет помещен порт. Если вы укажете здесь более одной категории, то предполагается, что файлы порта будут помещены в подкаталог с именем первой категории. Посмотрите раздел о категориях для получения подробной информации о том, как правильно выбрать категории.
Если ваш порт действительно относится к чему-то, что абсолютно не имеет отношения ни к одной из существующих категорий, вы можете даже создать новую категорию. В этом случае, пожалуйста, пошлите письмо с вашим предложением на адрес Список рассылки, посвящённый Портам FreeBSD <freebsd-ports@FreeBSD.org>.
Во-первых, это текущий список категорий. Те, которые отмечены звёздочкой (*), являются виртуальными категориями--они не имеют собственного подкаталога в дереве портов.
Note: Для каждой виртуальной категории имеется файл pkg/COMMENT с ее однострочным описанием в соответствующем подкаталоге (например, archivers/pkg/COMMENT).
Категория | Описание |
---|---|
accessibility* | Порты для помощи пользователям-инвалидам. |
afterstep* | Порты, поддерживающие менеджер окон AfterStep. |
archivers | Инструменты для работы с архивами. |
astro | Приложения, связанные с астрономией. |
audio | Поддержка работы со звуком. |
benchmarks | Утилиты для измерения производительности системы. |
biology | Программное обеспечение, связанное с биологией. |
cad | Инструменты Систем Автоматизированного Проектирования. |
chinese | Поддержка китайского языка. |
comms | Коммуникационное программное обеспечение. В основном программы для работы с последовательным портом. |
converters | Утилиты для преобразования символьных форматов. |
databases | Базы данных. |
deskutils | То, что было на столе до изобретения компьютеров. |
devel | Утилиты для разработки программного обеспечения. Не помещайте сюда библиотеки просто потому что это библиотеки--если они подпадают под какую-то другую категорию, то их быть здесь не должно. |
dns | Программное обеспечение для работы с DNS. |
editors | Редакторы общего назначения. Специализированные редакторы относят к разделу для соответствующих инструментов (например, редактор математических формул попадает в категорию math). |
elisp* | Порты для Emacs lisp. |
emulators | Эмуляторы других операционных систем. Эмуляторы терминалов сюда не относятся--те, которые разработаны для X, должны быть в категории x11, а текстовые в comms или misc, в зависимости от конкретного их предназначения. |
finance | Приложения для работы с деньгами, финансами и всем, что с этим связано. |
french | Поддержка французского языка. |
ftp | Клиенты и серверы FTP. Если ваш порт понимает как FTP, так и HTTP, поместите его в категорию ftp и укажите вторичную категорию www. |
games | Игры. |
german | Поддержка немецкого языка. |
gnome* | Порты проекта GNU Object Model Environment (GNOME) Project. |
graphics | Графические утилиты. |
haskell* | Программное обеспечение, связанное с языком Haskell. |
hebrew | Поддержка иврита. |
hungarian | Поддержка венгерского языка. |
ipv6* | Программное обеспечение, связанное с IPv6. |
irc | Утилиты для работы с Internet Relay Chat. |
japanese | Поддержка японского языка. |
java | Программное обеспечение, связанное с языком Java. |
kde* | Порты проекта K Desktop Environment (KDE). |
korean | Поддержка корейского языка. |
lang | Языки программирования. |
linux* | Linux приложения и утилиты. |
Программы для работы с электронной почтой.. | |
math | Программное обеспечение для численных вычислений и другие утилиты, связанные с математикой. |
mbone | Приложения для MBone. |
misc | Различные утилиты--в основном то, что не попадает в другие категории. Это единственная категория, которая не должна указываться вместе с любой другой невиртуальной категорией. Если вы указываете misc вместе с чем-то ещё в строке CATEGORIES, это значит, что вы можете спокойно удалить misc и просто поместить порт в этот другой подкаталог! |
multimedia | Программное обеспечение для работы с мультимедиа. |
net | Различное сетевое программное обеспечение. |
news | Программное обеспечение для работы с конференциями USENET. |
offix* | Порты из набора OffiX. |
palm | Программная поддержка Palm(tm). |
parallel* | Приложения, связанные с параллельными вычислениями. |
perl5* | Порты, которым для работы требуется perl версии 5. |
picobsd | Порты для поддержки PicoBSD. |
plan9* | Различные программы из plan9. |
polish | Поддержка польского языка. |
portuguese | Поддержка португальского языка. |
Программное обеспечение для печати. Инструменты для вёрстки (просмотрщики и тому подобное) тоже относятся сюда. | |
python* | Программное обеспечение, связанное с языком Python. |
ruby* | Программное обеспечение, связанное с языком Ruby. |
russian | Поддержка русского языка. |
science | Научные программы, которые не подпадают под другие категории, скажем, astro, biology или math. |
security | Программы, обеспечивающие безопасность системы. |
shells | Различные командные процессоры. |
sysutils | Системные утилиты. |
tcl76* | Порты, которым для работы нужен Tcl версии 7.6. |
tcl80* | Порты, которым для работы нужен Tcl версии 8.0. |
tcl81* | Порты, которым для работы нужен Tcl версии 8.1. |
tcl82* | Порты, которым для работы нужен Tcl версии 8.2. |
tcl83* | Порты, которым для работы нужен Tcl версии 8.3. |
textproc | Утилиты для обработки текстов. Инструменты для вёрстки помещаются в print, а не сюда. |
tk42* | Порты, которым для работы нужен Tk версии 4.2. |
tk80* | Порты, которым для работы нужен Tk версии 8.0. |
tk81* | Порты, которым для работы нужен Tk версии 8.1. |
tk82* | Порты, которым для работы нужен Tk версии 8.2. |
tk83* | Порты, которым для работы нужен Tk версии 8.3. |
tkstep80* | Порты, которым для работы нужен TkSTEP версии 8.0. |
ukrainian | Поддержка украинского языка. |
vietnamese | Поддержка вьетнамского языка. |
windowmaker* | Порты, поддерживающие менеджер окон WindowMaker |
www | Программное обеспечение, связанное с World Wide Web. Поддержка языка HTML относится сюда же. |
x11 | X Window System и иже с ними. Эта категория предназначена только для программного обеспечения, которое поддерживает саму оконную систему. Не помещайте сюда обычные приложения X. Если ваш порт является приложением для X, задайте USE_XLIB (что подразумевается при использовании USE_IMAKE) и укажите подходящую категорию. Кроме того, многие такие приложения относятся к категориям x11-* (смотрите ниже). |
x11-clocks | Часы для X11. |
x11-fm | Менеджеры файлов для X11. |
x11-fonts | Шрифты для X11 и утилиты для работы с ними. |
x11-servers | Серверы для X11. |
x11-toolkits | Пакеты разработчика для X11. |
x11-wm | Оконные менеджеры для X11. |
zope* | Поддержка zope. |
Так как многие категории перекрываются, вам часто необходимо будет выбирать, какая их них должна быть основной для вашего порта. Есть несколько правил, по которым можно решить этот вопрос. Вот список приоритетов, в уменьшающейся степени предпочтения:
Сначала всегда идут категории, специфичные для языков. Например, если ваш порт устанавливает японские шрифты для X11, то строчка CATEGORIES должна иметь вид japanese x11-fonts.
Более конкретные категории предпочтительней перед более общими. В частности, редактор HTML должен быть описан как www editors, а не наоборот. Кроме того, вам не нужно указывать категорию net, если порт относится к одной из категорий irc, mail, mbone, news, security или www.
x11 используется как вторичная категория только в случае, если в качестве основной категории указан естественный язык. В частности, вам не нужно указывать x11 в качестве категории для приложений X.
Режимы для редактора Emacs должны помещаться в ту же категорию, что и приложение, которое поддерживается этим режимом, а не в editors. Например, режим Emacs для редактирования исходного кода некоторого языка программирования должен быть помещен в категорию lang.
Если ваш порт решительным образом не подпадает ни под какую категорию, поместите его в misc.
Если вы не уверены в правильности выбора категории, пожалуйста, отметьте это в вашем сообщении через send-pr(1), чтобы мы могли обсудить это до того, как включить порт в Коллекцию. Если вы являетесь коммиттером, пошлите замечание на адрес Список рассылки, посвящённый Портам FreeBSD <freebsd-ports@FreeBSD.org>, чтобы мы могли обсудить это--зачастую новые порты помещаются не в ту категорию только для того, чтобы их оттуда сразу же удалили.