diff --git a/ru_RU.KOI8-R/books/porters-handbook/book.sgml b/ru_RU.KOI8-R/books/porters-handbook/book.sgml
index 3f539f5ad1..951eef1e45 100644
--- a/ru_RU.KOI8-R/books/porters-handbook/book.sgml
+++ b/ru_RU.KOI8-R/books/porters-handbook/book.sgml
@@ -4,7 +4,7 @@
$FreeBSD$
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/porters-handbook/book.sgml,v 1.136 2006/10/20 09:25:00 marck Exp $
- Original revision: r38283
+ Original revision: r39245
-->
Посмотрим, сможете ли вы его понять. Не обращайте внимание на
содержимое строчки $FreeBSD$, она
- будет заполнена автоматически системой CVS, когда порт будет
+ будет заполнена автоматически системой SVN, когда порт будет
импортирован в наше дерево портов. Вы можете найти более подробный
пример в разделе пример
Makefile.
@@ -198,8 +198,8 @@ WWW: http://www.oneko.org/
также называют списком для упаковки, потому что
пакет генерируется упаковкой файлов, которые здесь указаны.
Имена путей указываются относительно установочного префикса
- (обычно /usr/local или
- /usr/X11R6). Если вы используете переменные
+ (обычно /usr/local).
+ Если вы используете переменные
MANn (а вы должны
это делать), то указывать страницы справочника здесь не
нужно. Если порт во время установки создает каталоги, убедитесь,
@@ -346,6 +346,10 @@ PLIST_DIRS= lib/X11/oneko
make package
+
+
+ make readme
+ Проверьте, что ни на шаге package, ни на
@@ -573,7 +577,9 @@ PLIST_DIRS= lib/X11/oneko
вызывают настоящие цели или скрипты, и их не нужно менять. Если
вам нужно изменить распаковку, исправляйте
do-extract, но никогда не меняйте способ
- работы extract!
+ работы extract! Кроме того, цель
+ post-deinstall является недействительной
+ и не выполняется инфраструктурой портов.
Теперь вы представляете, что происходит, когда пользователь
@@ -587,7 +593,7 @@ PLIST_DIRS= lib/X11/oneko
Получите оригинальные исходные тексты (обычно) в виде
упакованного tar-архива
(foo.tar.gz или
- foo.tar.Z)
+ foo.tar.bz2)
и скопируйте его в каталог DISTDIR. Всегда
используйте исходные тексты основной ветки
разработки везде, где это возможно.
@@ -708,7 +714,7 @@ PLIST_DIRS= lib/X11/oneko
так далее, всегда ссылайтесь на путь и название файла в названиях
патчей.
- Не помещайте строки RCS в патчи. CVS будет изменять их при
+ Не помещайте строки RCS в патчи. SVN будет изменять их при
помещении файлов в дерево портов, и когда мы будем их оттуда
извлекать, они будут уже другие, поэтому применение патчей
окончится неудачей. Строчки RCS предваряются знаком доллара
@@ -739,7 +745,7 @@ PLIST_DIRS= lib/X11/oneko
часть из одного проекта для исправления похожей области в другом,
то будьте аккуратны, пожалуйста: получаемый однострочный патч
может быть полон нефункциональных изменений. Это не только
- увеличивает размер репозитория CVS, но также усложняет поиск того,
+ увеличивает размер репозитория SVN, но также усложняет поиск того,
что конкретно вызвало проблему и что вы вообще изменили.Если вам нужно удалить файл, то вы можете сделать это при
@@ -846,11 +852,8 @@ DOS2UNIX_REGEX= .*\.(c|cpp|h)
EXTRACT_BEFORE_ARGS,
EXTRACT_AFTER_ARGS,
EXTRACT_SUFX или DISTFILES в
- зависимости от того, насколько необычен формат дистрибутивного файла.
- (Самый распространённый случай - это
- EXTRACT_SUFX=.tar.Z, когда tar-файл упакован
- обычной утилитой compress, а не архиватором
- gzip.)
+ зависимости от того, насколько необычен формат дистрибутивного
+ файла.В худшем случае вы можете просто определить свою собственную цель
do-extract для переопределения действий по
@@ -1706,8 +1709,8 @@ PORTEPOCH= 1
javaПрограммное обеспечение, связанное с языком
Java™.
- Категория java не должна быть
- единственной для порта. Оставьте для портов,
+ Категория java ни в коем случае
+ не должна быть единственной для порта. Оставьте для портов,
непосредственно имеющих отношение к языку Java, портерам
также рекомендуется не использовать
java как основную категорию
@@ -1716,8 +1719,8 @@ PORTEPOCH= 1
kde*
- Порты проекта K Desktop
- Environment (KDE).
+ Порты проекта
+ KDE.
@@ -2405,11 +2408,15 @@ MASTER_SITE_SUBDIR= make
MASTER_SITES= SF
- Если попытка угадать не удалась, что это может быть переписано
+ Если попытка угадать не удалась, то это может быть переписано
следующим образом.
- MASTER_SITES= SF/stardict/WyabdcRealPeopleTTS/${PORTVE
-RSION}
+ MASTER_SITES= SF/stardict/WyabdcRealPeopleTTS/${PORTVERSION}
+
+ Что также можно записать в таком виде:
+
+ MASTER_SITES= SF
+MASTER_SITE_SUBDIR= stardict/WyabdcRealPeopleTTS/${PORTVERSION}
Популярные магические макросы для
@@ -2515,11 +2522,12 @@ RSION}
DISTNAME= foo
EXTRACT_SUFX= .tgz
- Переменные USE_BZIP2 и
+ Переменные USE_BZIP2,
+ USE_XZ и
USE_ZIP при необходимости автоматически
устанавливают значение EXTRACT_SUFX в
- .tar.bz2 или .zip.
- Если ни одна из этих
+ .tar.bz2, .tar.xz или
+ .zip. Если ни одна из этих
переменных не задана, то значение EXTRACT_SUFX
по умолчанию устанавливается в .tar.gz.
@@ -3376,9 +3384,9 @@ ALWAYS_KEEP_DISTFILES= yes
target - это цель, которую нужно вызвать
в этом каталоге. Например,
- LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg
+ LIB_DEPENDS= jpeg:${PORTSDIR}/graphics/jpeg
- проверит наличие библиотеки jpeg со старшим номером версии 9 и
+ проверит наличие библиотеки jpeg с любым номером версии и
перейдет в подкаталог graphics/jpeg вашего
дерева портов для ее построения и установки, если библиотека
отсутствует. Часть target может быть
@@ -3389,11 +3397,11 @@ ALWAYS_KEEP_DISTFILES= yes
Часть lib является регулярным
выражением, которое вызывается для вывода, полученного из
ldconfig -r. Разрешаются такие значения, как
- intl.[5-7] и intl.
- Первые шаблон, intl.[5-7], совпадет с любым
- из: intl.5, intl.6 или
- intl.7. Второй шаблон, intl,
- совпадет с любой версией библиотеки intl.
+ intl.9 и intl.[5-7].
+ Первый шаблон, intl.9, совпадает только с
+ intl версии 9, в то время как intl.[5-7]
+ совпадает с любым из: intl.5,
+ intl.6 и intl.7.Зависимость проверяется дважды, один раз внутри цели
@@ -3423,14 +3431,15 @@ ALWAYS_KEEP_DISTFILES= yes
Например,
- RUN_DEPENDS= ${LOCALBASE}/etc/innd:${PORTSDIR}/news/inn \
+ RUN_DEPENDS= ${LOCALBASE}/news/bin/innd:${PORTSDIR}/news/inn \
xmlcatmgr:${PORTSDIR}/textproc/xmlcatmgr
- проверит, существует ли файл или каталог
- /usr/local/etc/innd и построит и установит его
- из подкаталога news/inn дерева портов, если он
- не будет найден. Он также проверит, имеется ли выполнимый файл с
- именем xmlcatmgr в пути поиска, и перейдет в
+ проверит существование файла или каталога
+ /usr/local/news/bin/innd, и если ничего
+ не будет найдено, то построит и установит порт из подкаталога
+ news/inn дерева портов. Также будет
+ выполнена проверка, присутствует ли в пути поиска исполняемый
+ файл с именем xmlcatmgr, и перейдет в
подкаталог textproc/xmlcatmgr вашего дерева
портов для его построения и установки, если он не будет
найден.
@@ -3446,7 +3455,7 @@ ALWAYS_KEEP_DISTFILES= yes
Официальным значением переменной поиска PATH,
используемым в кластере построения портов является
- /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin
+ /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/binЗависимость проверяется внутри цели
@@ -3589,16 +3598,16 @@ ALWAYS_KEEP_DISTFILES= yes
USE_*
- Для объединения нескольких зависимостей, которые есть во многих
- портах, предназначено несколько переменных. Хотя их использование
- является необязательным, они могут упростить избыточность файлов
- Makefile порта. Каждый из них оформляется как
- USE_*. Использование
- этих переменных ограничено Makefile'ом порта
- и ports/Mk/bsd.*.mk и не рассчитано на
- вложенность указываемых пользователями опция — используйте
- для этих целей WITH_*
- и WITHOUT_*.
+ Для определения общих зависимостей, совместно используемых
+ многими портами, предназначено несколько переменных. Их
+ использование является необязательным, но помогает упростить
+ избыточность файлов Makefile порта.
+ Каждый из них оформляется как
+ USE_*. Эти
+ переменные можно использовать только в Makefile
+ порта и ports/Mk/bsd.*.mk. Они не
+ предназначены для установки пользователями параметров —
+ используйте для этих целей PORT_OPTIONS.Установка любых USE_*
@@ -3766,7 +3775,95 @@ ALWAYS_KEEP_DISTFILES= yes
людей—включая себя—от грядущих бед.
-
+
+ Автоматические зависимости и проблемы, которые они
+ вызывают
+
+ Зависимости должны быть указаны либо явно, либо с
+ использованием фреймворка
+ OPTIONS. Использование прочих методов, таких как
+ автоматическое обнаружение зависимостей, усложняет индексирование,
+ что вызывает проблемы в управлении портами и пакетами.
+
+
+ Некорректное объявление необязательной зависимости
+
+ .include <bsd.port.pre.mk>
+
+.if exists(${LOCALBASE}/bin/foo)
+LIB_DEPENDS= bar:${PORTSDIR}/foo/bar
+.endif
+
+
+ Проблема автоматического добавления зависимостей
+ заключается в том, что файлы и настройки за пределами порта
+ могут произвольно меняться. Пример: после построения
+ индекса устанавливается набор портов. При этом один из
+ них устанавливает проверяемый файл. На этом этапе индекс
+ будет неправильным, потому что установленный порт неожиданно
+ получит новую зависимость. Индекс может быть по прежнему
+ неправильным даже после его перестроения, в случае если
+ другие порты также определят дополнительные зависимости,
+ основываясь на существовании других файлов.
+
+
+ Корректное объявление необязательной зависимости
+
+ OPTIONS_DEFINE= BAR
+BAR_DESC= Enable bar support
+
+.include <bsd.port.options.mk>
+
+.if ${PORTOPTIONS:MBAR}
+LIB_DEPENDS= bar:${PORTSDIR}/foo/bar
+.endif
+
+
+ Правильным способом является проверка переменных параметров.
+ Этот способ не приводит к несоответствиям в индексе набора
+ портов, поскольку параметры определены до построения индекса.
+ При этом можно использовать простые скрипты для автоматизации
+ построения, установки и обновления этих портов и соответствующих
+ им пакетов.
+
+
+
+ USE_ и
+ WANT_
+
+ Переменные USE_ задаются мейнтейнером
+ порта для определения программного обеспечения, от которого
+ этот порт зависит. Порт, для которого нужен Firefox,
+ укажет
+
+ USE_FIREFOX= yes
+
+ Некоторые переменные USE_ могут
+ принимать номера версий или другие параметры. Например,
+ порт, который требует Apache 2.2, укажет
+
+ USE_APACHE= 22
+
+ В некоторых случаях для большего контроля над
+ зависимостями используются переменные WANT_,
+ которые позволяют указывать требования в более точной форме.
+ Например, взгляните на порт mail/squirrelmail. Этому порту
+ нужны несколько модулей PHP, которые перечислены в переменной
+ USE_PHP:
+
+ USE_PHP= session mhash gettext mbstring pcre openssl xml
+
+ Эти модули доступны в версиях CLI и web, поэтому версия
+ web выбрана с переменной WANT_:
+
+ WANT_PHP_WEB= yes
+
+ Имеющиеся переменные USE_ и
+ WANT_ определены в файлах
+ /usr/ports/Mk.
+
+
MASTERDIR
@@ -3960,27 +4057,28 @@ ${MANPREFIX}/man/de/man3/baz.3.gzОпции для Makefile
- Некоторые большие приложения могут быть построены в различных
- конфигурациях, с дополнительной функциональностью, зависящей от
- наличия в системе определённых библиотек или приложений. Например,
+ Многие приложения могут быть построены в различных
+ конфигурациях и с дополнительной функциональностью. Например,
выбор естественного (человеческого) языка, GUI против командной
- строки или типа используемой базы данных. Так как не
- всем пользователям требуются эти библиотеки или приложения, то в
- системе портов предусмотрен механизм, позволяющий автору порта
- принимать решение о конфигурации, которая будет строиться. Полная
- поддержка этого механизма облегчает пользователям жизнь и даёт два
- или более порта ценой создания одного.
+ строки или типа используемой базы данных. Пользователи могут
+ нуждаться в различных конфигурациях, отличных от используемой по
+ умолчанию, поэтому в системе портов предусмотрен механизм,
+ позволяющий автору порта управлять сборкой того или иного
+ варианта конфигурации.
+ Правильная поддержка этих необязательных параметров облегчает
+ пользователям жизнь и даёт два или более порта по цене одного.
- Knobs
+ Knobs
- WITH_* и
+ WITH_*
+ и
WITHOUT_*Эти переменные предназначены для установки системным
администратором. Многие из них стандартизованы в файле
- ports/KNOBS.
+ ports/KNOBS.При создании порта не давайте имя для knob, специфичное
для данного приложения. На примере порта Avahi, используйте
@@ -3998,7 +4096,7 @@ ${MANPREFIX}/man/de/man3/baz.3.gz
Если обратное не указано, то проверяется только факт
- установки самих переменных, но не их значение типа
+ установки самих переменных, но не их конкретное значение типа
YES или NO.
@@ -4042,10 +4140,10 @@ ${MANPREFIX}/man/de/man3/baz.3.gz
WITHOUT_X11
- Если порт может быть собран с поддержкой или без
- поддержки X, то, как правило, обычно порт собирается
- с поддержкой X. Если эта переменная определена, то
- будет собрана версия без поддержки X.
+ Порты, которые могут быть собраны с поддержкой
+ или без поддержки X, обычно собираются с поддержкой
+ X. Если эта переменная определена, то будет собрана
+ версия без поддержки X.
@@ -4055,11 +4153,11 @@ ${MANPREFIX}/man/de/man3/baz.3.gz
Наименование KNOBS
- Рекомендуется, чтобы портеры использовали так называемые
+ Портеры должны использовать так называемые
knobs для помощи конечным пользователям и для поддержания
количества наименований knobs в небольшом количестве.
Список популярных названий knobs можно найти в файле KNOBS
+ url="http://svn.FreeBSD.org/ports/head/KNOBS?view=markup">KNOBSНазвания knobs должны отражать, что это такое и что
@@ -4074,78 +4172,185 @@ ${MANPREFIX}/man/de/man3/baz.3.gz
Описание
- При установке порта переменная OPTIONS
- предоставляет пользователю окно диалога с доступными
- параметрами и сохраняет их в файл
- /var/db/ports/portname/options.
- Эти опции будут повторно использованы при следующем
- перестроении порта. Вам больше никогда не понадобится
- запоминать все двадцать опций
- WITH_* и
- WITHOUT_*,
- используемых вами при построении этого порта!
+ При установке порта переменные OPTIONS_*
+ предоставляют пользователю окно диалога с отображением
+ доступных параметров, с записью выбранных параметров в файл
+ /var/db/ports/${UNIQUENAME}/options.
+ Эти опции повторно используются при следующем построении
+ порта.Когда пользователь запускает make config
(или запускает впервые make build),
- инфраструктура выполнит проверку существования файла
- /var/db/ports/portname
- /options. Если этот файл не существует, то при
- создании диалогового окна будут использованы значения
- OPTIONS, в котором их можно переключить.
- Затем сохраняется файл опций, и выбранные переменные
- используются при построении порта.
+ инфраструктура выполняет проверку существования файла
+ /var/db/ports/${UNIQUENAME}/options.
+ Если этот файл не существует, то используются значения
+ OPTIONS_* и отображается диалоговое окно,
+ в котором эти параметры можно включить или выключить.
+ Затем сохраняется файл опций options,
+ и выбранные переменные используются при построении порта.Если новая версия порта добавляет новые значения
OPTIONS, то пользователю будет представлено
окно диалога с сохраненными заполненными значениями старых
OPTIONS.
- Для просмотра сохраненной конфигурации используйте
- make showconfig. Для удаления
+ make showconfig отображает
+ сохраненную конфигурацию. Для удаления
сохраненной конфигурации используйте
make rmconfig.Синтаксис
- Синтаксис переменной OPTIONS:
- OPTIONS= OPTION "descriptive text" default ...
+ OPTIONS_DEFINE содержит список
+ используемых OPTIONS. Они независимы
+ друг от друга и не сгруппированы:
- Значением по умолчанию является или ON,
- или OFF. Разрешаются множественные
- повторы всех трех полей.
+ OPTIONS_DEFINE= OPT1 OPT2
- Определение OPTIONS обязано появиться
+ Далее после определения следует описание
+ OPTIONS (не является обязательным,
+ но настоятельно рекомендуется):
+
+ OPT1_DESC= Describe OPT1
+OPT2_DESC= Describe OPT2
+OPT3_DESC= Describe OPT3
+OPT4_DESC= Describe OPT4
+OPT5_DESC= Describe OPT5
+OPT6_DESC= Describe OPT6
+
+
+ ports/Mk/bsd.options.desc.mk
+ содержит описание множества наиболее используемых
+ OPTIONS; переопределять их, как
+ правило, не нужно.
+
+
+
+ При описании параметров старайтесь представить себя
+ на месте пользователя: Что это делает?
+ и Для чего бы я захотел включить это?
+ Не делайте простое повторение названия. Например,
+ описание параметра NLS как
+ include NLS support (включить
+ поддержку NLS) не поможет пользователю, который
+ уже видит название параметра, но может не знать, что
+ это означает. Описав его как Native Language
+ Support via gettext utilities (Поддержка
+ национального языка через утилиты gettext),
+ вы поможете пользователю гораздо больше.
+
+
+ OPTIONS можно группировать в виде
+ переключателей, для которых разрешен выбор единственного
+ варианта в каждой группе:
+
+ OPTIONS_SINGLE= SG1
+OPTIONS_SINGLE_SG1= OPT3 OPT4
+
+ OPTIONS также можно группировать
+ в виде списков со множественным выбором, для которых
+ обязан быть включен по крайней мере
+ один из параметров:
+
+ OPTIONS_MULTI= MG1
+OPTIONS_MULTI_MG1= OPT5 OPT6
+
+ OPTIONS_MULTI и
+ OPTIONS_SINGLE также допускают
+ отсутствие выбора путём включения группы в
+ OPTIONS_DEFINE:
+
+ OPTIONS_DEFINE= MG1
+OPTIONS_MULTI= MG1
+OPTIONS_MULTI_MG1= OPT5 OPT6
+
+ После этого группа требует по крайней мере один
+ OPTION из MG1,
+ только если выбран новый MG1
+ OPTION. Рекомендуется
+ поэкспериментировать, чтобы улучшить понимание.
+
+ По умолчанию OPTIONS находится в
+ выключенном положении, если при этом оно также отсутствует
+ в списке OPTIONS_DEFAULT:
+
+ OPTIONS_DEFAULT= OPT1 OPT3 OPT6
+
+ Определения OPTIONS обязаны появиться
до подключения bsd.port.options.mk.
- Переменные WITH_* и
- WITHOUT_* могут быть проверены только после
+ Переменные PORT_OPTIONS
+ могут быть проверены только после
подключения bsd.port.options.mk.
Вместо этого также можно использовать подключение
bsd.port.pre.mk, что все еще широко
используется в портах, написанных до появления
bsd.port.options.mk. Но имейте в виду,
- что некоторые переменные, обычно флаги USE_*,
+ что некоторые переменные, обычно, это некоторые флаги
+ USE_*,
после подключения bsd.port.pre.mk будут
- работать не так, как это от них ожидается.
+ работать не так, как этого от них ожидают.Простое использование OPTIONS
- OPTIONS= FOO "Enable option foo" On \
- BAR "Support feature bar" Off
+
+ OPTIONS_DEFINE= FOO BAR
+FOO_DESC= Enable option foo
+BAR_DESC= Support feature bar
.include <bsd.port.options.mk>
-.if defined(WITHOUT_FOO)
-CONFIGURE_ARGS+= --without-foo
+.if ${PORT_OPTIONS:MFOO}
+CONFIGURE_ARGS+=--with-foo
.else
-CONFIGURE_ARGS+= --witht-foo
+CONFIGURE_ARGS+=--without-foo
.endif
-.if defined(WITH_BAR)
+.if ${PORT_OPTIONS:MBAR}
RUN_DEPENDS+= bar:${PORTSDIR}/bar/bar
.endif
+.include <bsd.port.mk>
+
+
+
+ Пример реального использования
+ OPTIONS
+
+ OPTIONS_DEFINE= EXAMPLES
+
+OPTIONS_SINGLE= BACKEND
+OPTIONS_SINGLE_BACKEND= MYSQL PGSQL BDB
+
+OPTIONS_MULTI= AUTH
+OPTIONS_MULTI_AUTH= LDAP PAM SSL
+
+EXAMPLES_DESC= Install extra examples
+MYSQL_DESC= Use MySQL as backend
+PGSQL_DESC= Use PostgreSQL as backend
+BDB_DESC= Use Berkeley DB as backend
+LDAP_DESC= Build with LDAP authentication support
+PAM_DESC= Build with PAM support
+SSL_DESC= Build with OpenSSL support
+
+OPTIONS_DEFAULT= PGSQL LDAP SSL
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MPGSQL}
+USE_PGSQL= yes
+CONFIGURE_ARGS+= --with-postgres
+.else
+CONFIGURE_ARGS+= --without-postgres
+.endif
+
+.if ${PORT_OPTIONS:MICU}
+LIB_DEPENDS+= icuuc:${PORTSDIR}/devel/icu
+.endif
+
+# Check other OPTIONS
+
.include <bsd.port.mk>
@@ -4164,6 +4369,12 @@ CONFIGURE_ARGS+= --with-foo
.include <bsd.port.post.mk>
+
+
+ Такой способ использования OPTIONS
+ является устаревшим, и в будущем его поддержка будет
+ удалёна. Не используйте этот способ для новых портов.
+
@@ -4180,8 +4391,9 @@ CONFIGURE_ARGS+= --with-foo
Неправильное управление опцией
- .if defined(WITH_FOO)
-LIB_DEPENDS+= foo.0:${PORTSDIR}/devel/foo
+
+ .if ${PORT_OPTIONS:MFOO}
+LIB_DEPENDS+= foo:${PORTSDIR}/devel/foo
CONFIGURE_ARGS+= --enable-foo
.endif
@@ -4198,8 +4410,9 @@ CONFIGURE_ARGS+= --enable-foo
Правильное управление опцией
- .if defined(WITH_FOO)
-LIB_DEPENDS+= foo.0:${PORTSDIR}/devel/foo
+
+ .if ${PORT_OPTIONS:MFOO}
+LIB_DEPENDS+= foo:${PORTSDIR}/devel/foo
CONFIGURE_ARGS+= --enable-foo
.else
CONFIGURE_ARGS+= --disable-foo
@@ -5317,7 +5530,7 @@ PLIST_SUB+= NLS="@comment "
- Использование perl
+ Использование PerlЕсли MASTER_SITES установлена в значение
MASTER_SITE_PERL_CPAN, то предпочтительным
@@ -5334,12 +5547,12 @@ PLIST_SUB+= NLS="@comment "
в качестве MASTER_SITE_SUBDIR разрешается
использовать id автора.
- Все из настраиваемых knobs ниже принимают и YES,
- и строку с версией, вида 5.8.0+. Использование
+ Все из настраиваемых knobs ниже принимают либо YES,
+ либо строку с версией вида 5.8.0+.
YES означает, что данный порт можно использовать
- со всеми поддерживаемыми версиями Perl.
+ с любой из поддерживаемых версий Perl.
Если порт работает только с некоторыми версиями
- Perl, то это можно обозначить при помощи
+ Perl, то это можно обозначить при помощи
строки с версией, указывающей на минимальную версию (пример:
5.7.3+), максимальную версию (пример:
5.8.0-) или точную версию (пример:
@@ -5347,14 +5560,14 @@ PLIST_SUB+= NLS="@comment "
Переменные для портов, использующих
- perl
+ PerlПеременная
- Смысл
+ Значение
@@ -5362,29 +5575,26 @@ PLIST_SUB+= NLS="@comment "
USE_PERL5
- Указывает на то, что порт использует perl
- 5 для своего построения и работы.
+ Perl 5 используется для построения и работы.USE_PERL5_BUILD
- Указывает на то, что для построения порт
- использует perl 5.
+ Perl 5 используется для построения.USE_PERL5_RUN
- Указывает на то, что для работы порт использует
- perl 5.
+ Perl 5 используется во время работы.PERL
- Полный маршрут к perl 5, либо в
- системе, либо установленного из портов, но без номера версии.
+ Полный путь к интерпретатору Perl 5, либо в
+ системе, либо установленному из портов, но без номера версии.
Используйте это, если вам нужно заменить строки
#! в скриптах.
@@ -5417,14 +5627,14 @@ PLIST_SUB+= NLS="@comment "
PERL_VERSION
- Полная версия установленного perl
+ Полная версия установленного Perl
(например, 5.8.9).PERL_LEVEL
- Версия установленного perl в форме
+ Установленная версия Perl в форме
целого числа вида MNNNPP (например,
500809).
@@ -5432,7 +5642,7 @@ PLIST_SUB+= NLS="@comment "
PERL_ARCH
- Место, где perl хранит
+ Место, в котором Perl хранит
архитектурно-зависимые библиотеки. По умолчанию
это ${ARCH}-freebsd.
@@ -5440,7 +5650,7 @@ PLIST_SUB+= NLS="@comment "
PERL_PORT
- Название установленного порта perl,
+ Название установленного порта Perl,
(к примеру, perl5).
@@ -5448,8 +5658,8 @@ PLIST_SUB+= NLS="@comment "
SITE_PERLИмя каталога, куда помещаются специфичные для сайта
- пакеты perl. Это значение добавляется к
- PLIST_SUB.
+ пакеты Perl. Это значение добавляется к
+ PLIST_SUB.
@@ -5462,6 +5672,23 @@ PLIST_SUB+= NLS="@comment "
http://search.cpan.org/dist/Module-Name/
(включая завершающий слэш).
+
+
+ Не используйте ${SITE_PERL} в объявлении
+ зависимостей. Использование этой конструкции подразумевает
+ наличие подключенного bsd.perl.mk, что
+ не всегда так. Порты, зависимые от этого порта, получат
+ неправильные зависимости, если файлы этого порта будут
+ перемещены при последующем обновлении. Правильный способ
+ объявления зависимостей для модулей Perl показан в примере
+ ниже.
+
+
+
+ Пример зависимости Perl
+
+ p5-IO-Tee>=0.64:${PORTSDIR}/devel/p5-IO-Tee
+
@@ -5476,17 +5703,19 @@ PLIST_SUB+= NLS="@comment "
компонентов. К настоящему времени доступными компонентами
являются:
- bigreqsproto compositeproto damageproto dmx dmxproto
- evieproto fixesproto fontcacheproto fontenc fontsproto fontutil
- glproto ice inputproto kbproto libfs oldx printproto randrproto
- recordproto renderproto resourceproto scrnsaverproto sm trapproto
- videoproto x11 xau xaw xaw6 xaw7 xaw8 xbitmaps xcmiscproto xcomposite
- xcursor xdamage xdmcp xevie xext xextproto xf86bigfontproto
- xf86dgaproto xf86driproto xf86miscproto xf86rushproto
- xf86vidmodeproto xfixes xfont xfontcache xft xi xinerama
- xineramaproto xkbfile xkbui xmu xmuu xorg-server xp xpm xprintapputil
- xprintutil xpr oto xproxymngproto xrandr xrender xres xscrnsaver xt
- xtrans xtrap xtst xv xvmc xxf86dga xxf86misc xxf86vm.
+ bigreqsproto compositeproto damageproto dmx
+ dmxproto dri2proto evieproto fixesproto fontcacheproto
+ fontenc fontsproto fontutil glproto ice inputproto kbproto
+ libfs oldx pciaccess pixman printproto randrproto
+ recordproto renderproto resourceproto scrnsaverproto sm
+ trapproto videoproto x11 xau xaw xaw6 xaw7 xbitmaps
+ xcmiscproto xcomposite xcursor xdamage xdmcp xevie xext
+ xextproto xf86bigfontproto xf86dgaproto xf86driproto
+ xf86miscproto xf86rushproto xf86vidmodeproto xfixes xfont
+ xfontcache xft xi xinerama xineramaproto xkbfile xkbui
+ xmu xmuu xorg-server xp xpm xprintapputil xprintutil
+ xproto xproxymngproto xrandr xrender xres xscrnsaver xt
+ xtrans xtrap xtst xv xvmc xxf86dga xxf86misc xxf86vm.Всегда актуальный перечень можно найти в
/usr/ports/Mk/bsd.xorg.mk.
@@ -5504,7 +5733,7 @@ PLIST_SUB+= NLS="@comment "
USE_GL= glu
- Многие порты определяют USE_XLIB, которая
+ Некоторые порты определяют USE_XLIB, которая
делает порт зависимым ото всех 50 или около того библиотек. Эта
переменная существует для обратной совместимости, т.к. предшествует
модульному X.Org, и не должна использоваться в новых портах.
@@ -5528,14 +5757,6 @@ USE_GL= glu
Порт использует imake.
-
- USE_X_PREFIX
-
- Является устаревшим. Сейчас это эквивалентно
- USE_XLIB и может быть свободно им
- заменено.
-
-
XMKMF
@@ -5706,8 +5927,8 @@ USE_XORG= x11 xpm
Заметьте, что переменная MOTIFLIB (как
- правило) раскрывается в -L/usr/X11R6/lib -lXm или
- /usr/X11R6/lib/libXm.a, так что нет нужды впереди
+ правило) раскрывается в -L/usr/local/lib -lXm или
+ /usr/local/lib/libXm.a, так что нет нужды впереди
добавлять -L или -l.
@@ -5877,7 +6098,8 @@ USE_XORG= x11 xpm
QTNONSTANDARDПодавляет изменение CONFIGURE_ENV,
- CONFIGURE_ARGS и
+ CONFIGURE_ARGS,
+ CPPFLAGS и
MAKE_ENV.
@@ -5895,36 +6117,29 @@ USE_XORG= x11 xpm
QT_COMPONENTSУказывает инструменты и библиотеки в качестве
- зависимостей для Qt4. Смотрите подробнее ниже.
+ зависимостей для Qt 4. Смотрите подробнее ниже.
UICУстанавливает путь к uic
- (переменная только для чтения). По умолчанию
- устанавливается в соответствии с переменной
- USE_QT_VER.
+ (переменная только для чтения).
QMAKEУстанавливает путь к qmake
- (переменная только для чтения). По умолчанию
- устанавливается в соответствии с переменной
- USE_QT_VER.
+ (переменная только для чтения).
QMAKESPECУстанавливает путь к конфигурационному файлу для
- qmake (переменная только для чтения).
- По умолчанию устанавливается в соответствии с переменной
- USE_QT_VER.
+ qmake (переменная только для чтения).
-
@@ -5937,8 +6152,9 @@ USE_XORG= x11 xpm
--with-qt-libraries=${QT_PREFIX}/lib \
--with-extra-libs=${LOCALBASE}/lib \
--with-extra-includes=${LOCALBASE}/include
-CONFIGURE_ENV+= MOC="${MOC}" CPPFLAGS="${CPPFLAGS} ${QTCPPFLAGS}" LIBS="${QTCFGLIBS}" \
- QTDIR="${QT_PREFIX}" KDEDIR="${KDE_PREFIX}"
+CONFIGURE_ENV+= MOC="${MOC}" LIBS="${QTCFGLIBS}" \
+ QTDIR="${QT_PREFIX}" KDEDIR="${KDE_PREFIX}"
+CPPFLAGS+= ${QTCPPFLAGS}
Если переменная USE_QT_VER установлена в
значение 4, то также разворачиваются следующие
@@ -5952,9 +6168,10 @@ MAKE_ENV+= QMAKESPEC="${QMAKESPEC}"
Выбор компонентов (только для Qt 4.x)
- Если USE_QT_VER установлена в 4, то в
+ Если USE_QT_VER установлена в
+ значение 4, то в
переменной QT_COMPONENTS можно указать
- зависимость от отдельных инструментов и библиотек Qt4. К каждому
+ зависимость от отдельных инструментов и библиотек Qt 4. К каждому
компоненту можно добавить суффикс, _build
или _run, отражающий, когда должна быть применена
зависимость, во время сборки или выполнения, соответственно. Если
@@ -5968,7 +6185,7 @@ MAKE_ENV+= QMAKESPEC="${QMAKESPEC}"
/usr/ports/Mk/bsd.qt.mk):
- Доступные библиотечные компоненты Qt4
+ Доступные библиотечные компоненты Qt 4
@@ -6003,7 +6220,7 @@ MAKE_ENV+= QMAKESPEC="${QMAKESPEC}"
qt3support
- библиотека совместимости с Qt3
+ библиотека совместимости с Qt 3
@@ -6035,7 +6252,7 @@ MAKE_ENV+= QMAKESPEC="${QMAKESPEC}"
после успешной компиляции.
- Выбор компонентов Qt4
+ Выбор компонентов Qt 4В этом примере портированное приложение использует библиотеку
- графического пользовательского интерфейса Qt4, основную библиотеку
- Qt4, все инструменты генерации кода Qt4 и генератор Makefile Qt4.
- Поскольку библиотека GUI подразумевает зависимость от основной
- библиотеки, указывать corelib нет необходимости. Инструменты
- генерации кода Qt4 moc, uic и rcc, а также генератор Makefile
- qmake нужны только для времени построения, поэтому они указаны
- с суффиксом _build:
+ графического пользовательского интерфейса Qt 4, основную библиотеку
+ Qt 4, все инструменты генерации кода Qt 4 и генератор Makefile Qt 4.
+ Поскольку библиотека gui подразумевает
+ зависимость от основной библиотеки, указывать
+ corelib нет необходимости. Инструменты
+ генерации кода Qt 4 moc, uic
+ и rcc, а также генератор Makefile
+ qmake нужны только для времени построения,
+ поэтому они указаны с суффиксом _build:
USE_QT_VER= 4
QT_COMPONENTS= gui moc_build qmake_build rcc_build uic_build
@@ -6132,7 +6351,7 @@ QT_COMPONENTS= gui moc_build qmake_build rcc_build uic_build
do-configure:
@cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \
- ${QMAKE} -unix PREFIX=${PREFIX} texmaker.pro
+ ${QMAKE} PREFIX=${PREFIX} texmaker.pro
Обратите внимание на сходство со строкой qmake
из прилагаемого сценария BUILD.sh. Передача
@@ -6158,7 +6377,7 @@ do-configure:
добавила каталоги в пути поиска заголовочных файлов и библиотек
через командную строку. К примеру:
- ${QMAKE} -unix PREFIX=${PREFIX} INCLUDEPATH+=${LOCALBASE}/include \
+ ${QMAKE} PREFIX=${PREFIX} INCLUDEPATH+=${LOCALBASE}/include \
LIBS+=-L${LOCALBASE}/lib sillyapp.pro
@@ -6171,7 +6390,7 @@ do-configure:
взгляните на patch-texmaker.pro из каталога
files этого порта, который можно взять
в качестве шаблона исправления этого непосредственно в файле
- проекта Qmake.
+ проекта qmake.
@@ -6218,13 +6437,20 @@ do-configure:
Задание переменных KDE 4Если ваше приложение зависит от KDE 4.x, присвойте
- USE_KDE4 список требуемых компонентов. Наиболее
- используемые основные компоненты перечислены ниже (актуальные
- компоненты перечислены в _USE_KDE4_ALL в
+ USE_KDE4 список требуемых компонентов.
+ Для переопределения типа зависимости компонента могут быть
+ использованы суффиксы _build и
+ _run (например, baseapps_run).
+ Если суффикс не задан, будет использован тип зависимости по
+ умолчанию. Если вы хотите использовать оба типа, добавьте
+ компонент дважды с обоими суффиксами (например,
+ automoc4_build automoc4_run). Основные
+ наиболее используемые компоненты перечислены ниже (актуальные
+ компоненты задокументированы в начале файла
/usr/ports/Mk/bsd.kde4.mk):
- Доступные компоненты KDE4
+ Доступные компоненты KDE 4
@@ -6236,35 +6462,18 @@ do-configure:
- akonadi
- Служба хранения управления личной информацией (PIM)
-
-
-
- automoc4
- Задает использование портом инструмента построения
- automoc4
-
-
-
- kdebase
- Основные приложения KDE (Konqueror, Dolphin,
- Konsole)
-
-
-
- kdeexp
- Экспериментальные библиотеки KDE (с нестабильным API)
+ baseapps
+ Основные приложения KDE Desktopkdehier
- Обеспечивает общие каталоги KDE
+ Иерархия основных каталогов KDEkdelibs
- Основной набор библиотек KDE
+ KDE Developer Platform
@@ -6276,60 +6485,56 @@ do-configure:
pimlibs
- Библиотеки PIM
+ Библиотеки KDE-Pimworkspace
- Приложения и библиотеки, формирующие рабочий
- стол (Plasma, KWin)
+ Пользовательские окружения KDE
+
+ akonadi
+ Сервер хранения KDE-Pim
+
+
+
+ automoc4
+ automoc для пакетов Qt 4
+
Для избежания конфликтов с портами KDE 3.x, порты KDE 4.x
- устанавливаются в ${KDE4_PREFIX}, что в
+ устанавливаются в KDE4_PREFIX, что в
настоящее время соответствует /usr/local/kde4.
Это достигается путем указания компонента kdeprefix,
который определяет значение по умолчанию для PREFIX.
Тем не менее, порты учитывают любые PREFIX,
установленные через переменную окружения MAKEFLAGS
- и/или параметр make.
-
- Порты KDE 4.x могут конфликтовать с портами KDE 3.x, поэтому,
- когда включен компонент kdeprefix, они
- устанавливаются в ${KDE4_PREFIX}.
- В настоящее время значением по умолчанию для
- KDE4_PREFIX является
- /usr/local/kde4. Также возможна установка
- портов KDE 4.x с собственным PREFIX. Если
- PREFIX установлен через переменную окружения
- MAKEFLAGS или через опцию
- make, то это переопределяет значение,
- сконфигурированное при помощи kdeprefix.
+ и/или параметры make.
Пример USE_KDE4Это простой пример для порта KDE 4.
- USE_CMAKE указывает порту использовать
- CMake — конфигурационный инструмент,
- широко распространенный среди проектов KDE 4.
- USE_KDE4 добавляет зависимость от библиотек KDE
- и заставляет порты использовать automoc4
- во время сборки. Требуемые компоненты KDE и другие зависимости
- можно определить в журнале configure. USE_KDE4
- не подразумевает USE_QT_VER. Если порт требует
- какой-либо из компонентов Qt4, то следует установить
- USE_QT_VER, а затем можно указать необходимые
- компоненты.
+ USE_CMAKE указывает порту использовать
+ CMake — конфигурационный
+ инструмент, широко распространенный среди проектов KDE 4.
+ USE_KDE4 добавляет зависимость от библиотек KDE
+ и заставляет порты использовать automoc4
+ во время сборки. Требуемые компоненты KDE и другие зависимости
+ можно определить в журнале configure. USE_KDE4
+ не подразумевает USE_QT_VER. Если порт требует
+ какой-либо из компонентов Qt 4, то следует установить
+ USE_QT_VER, а затем можно указать необходимые
+ компоненты.
USE_CMAKE= yes
-USE_KDE4= automoc4 kdelibs kdeprefix
+USE_KDE4= kdelibs kdeprefix automoc4
USE_QT_VER= 4
-QT_COMPONENTS= qmake_build moc_build rcc_build uic_build
+QT_COMPONENTS= moc_build qmake_build rcc_build uic_build
@@ -6440,7 +6645,7 @@ QT_COMPONENTS= qmake_build moc_build rcc_build uic_build
JAVA_PORTНазвание порта JDK (к примеру,
- 'java/diablo-jdk16').
+ 'java/openjdk6').
@@ -6460,7 +6665,7 @@ QT_COMPONENTS= qmake_build moc_build rcc_build uic_build
JAVA_PORT_VENDORРазработчик порта JDK (к примеру,
- 'freebsd').
+ 'openjdk').
@@ -6472,26 +6677,26 @@ QT_COMPONENTS= qmake_build moc_build rcc_build uic_build
JAVA_PORT_VENDOR_DESCRIPTIONОписание разработчика порта JDK (к примеру,
- 'FreeBSD Foundation').
+ 'OpenJDK BSD Porting Team').
JAVA_HOMEМаршрут к установочному каталогу JDK (к примеру,
- '/usr/local/diablo-jdk1.6.0').
+ '/usr/local/openjdk6').
JAVACМаршрут к используемому компилятору Java (к примеру,
- '/usr/local/diablo-jdk1.6.0/bin/javac'.
+ '/usr/local/openjdk6/bin/javac'.
JARМаршрут к используемой утилите jar (к
- примеру, '/usr/local/diablo-jdk1.6.0/bin/jar'
+ примеру, '/usr/local/openjdk6/bin/jar'
или '/usr/local/bin/fastjar').
@@ -6499,7 +6704,7 @@ QT_COMPONENTS= qmake_build moc_build rcc_build uic_build
APPLETVIEWERМаршрут к утилите appletviewer (к
примеру,
- '/usr/local/diablo-jdk1.6.0/bin/appletviewer').
+ '/usr/local/openjdk6/bin/appletviewer').
@@ -6507,7 +6712,7 @@ QT_COMPONENTS= qmake_build moc_build rcc_build uic_build
JAVAМаршрут к выполняемому файлу java.
Используйте его для запуска Java-программ (к примеру,
- '/usr/local/diablo-jdk1.6.0/bin/java').
+ '/usr/local/openjdk6/bin/java').
@@ -6704,8 +6909,8 @@ QT_COMPONENTS= qmake_build moc_build rcc_build uic_build
в файле bsd.java.mk. Если вы предположите, что
вашему порту требуется менее тривиальная поддержка Java, пожалуйста,
взгляните сначала на
- журнал изменений bsd.java.mk в CVS, так как для
+ url="http://svn.FreeBSD.org/ports/head/Mk/bsd.java.mk?view=markup">журнал
+ изменений bsd.java.mk в SVN, так как для
документирования последних изменений требуется какое-то время.
Затем, если вы думаете, что не хватающая вам поддержка окажется
полезной для многих других портов Java, обсудите ваш вопрос в
@@ -6742,17 +6947,20 @@ QT_COMPONENTS= qmake_build moc_build rcc_build uic_build
Порт требует Apache. Возможные значения:
yes (берёт любую версию),
- 1.3, 2.0,
- 2.2, 2.0+
- и так далее. По умолчанию зависимость от
- 1.3.
+ 20, 22,
+ 20-22, 20+
+ и так далее. Версия по умолчанию
+ 22. Более подробная информация
+ содержится в файле
+ ports/Mk/bsd.apache.mk и на
+ странице
+ wiki.freebsd.org/Apache/.
WITH_APACHE2
- Порт требует Apache 2.0. Без этой переменной порт
- будет зависеть от Apache 1.3. Эта переменная является
+ Эта переменная является
устаревшей и не должна больше использоваться.
@@ -6776,29 +6984,29 @@ QT_COMPONENTS= qmake_build moc_build rcc_build uic_build
Версия установленного Apache (переменная только для
чтения). Эта переменная доступна только после подключения
bsd.port.pre.mk. Возможные значения:
- 13, 20,
- 22.
+ 20, 22.
APACHEMODDIRКаталог для модулей Apache. Значение переменной
- автоматически подставляется в pkg-plist.
+ автоматически подставляется в pkg-plist.
APACHEINCLUDEDIRКаталог для заголовков Apache. Значение переменной
- автоматически подставляется в pkg-plist.
+ автоматически подставляется в pkg-plist.
APACHEETCDIRКаталог для конфигурационных файлов Apache. Значение
- переменной автоматически подставляется в pkg-plist.
+ переменной автоматически подставляется в
+ pkg-plist.
@@ -6917,7 +7125,7 @@ QT_COMPONENTS= qmake_build moc_build rcc_build uic_build
Выбирает старший номер версии, с которым будет
установлен PHP как зависимость в случае, когда PHP еще
- не установлен. По умолчанию 4.
+ не установлен. По умолчанию 5.
Возможные значения: 4,
5
@@ -7011,7 +7219,7 @@ MAINTAINER= example@domain.com
COMMENT= PEAR Date and Time Zone Classes
BUILD_DEPENDS= ${PEARDIR}/PEAR.php:${PORTSDIR}/devel/pear-PEAR
-RUN_DEPENDS= ${BUILD_DEPENDS}
+RUN_DEPENDS:= ${BUILD_DEPENDS}
FILES= Date.php Date/Calc.php Date/Human.php Date/Span.php \
Date/TimeZone.php
@@ -7062,9 +7270,9 @@ _DOCSDIR= .
Для этого порта нужен Python. Минимальная требуемая
версия может быть указана с таким значением как
- 2.3+. Также можно указан диапазон
+ 2.6+. Также можно указан диапазон
версий с разделением двух версий через ‐, например:
- 2.1-2.3
+ 2.6-2.7
@@ -7148,7 +7356,7 @@ _DOCSDIR= .
USE_ZOPEДобавить зависимость от Zope, платформы веб приложений.
- Изменяет зависимость от Python на Python 2.3. Переменная
+ Изменяет зависимость от Python на Python 2.7. Переменная
ZOPEBASEDIR содержит директорию с
установленным Zope.
@@ -7966,7 +8174,7 @@ WX_COMPS= wx contrib
.include <bsd.port.pre.mk>
-.if defined(WITH_WX) || ${HAVE_WX:Mwx-2.4} != ""
+.if defined(WITH_WX) || !empty(PORT_OPTIONS:MWX) || !empty(HAVE_WX:Mwx-2.4)
USE_WX= 2.4
CONFIGURE_ARGS+=--enable-wx
.endif
@@ -7983,7 +8191,7 @@ WANT_WX= 2.6
.include <bsd.port.pre.mk>
-.if defined(WITH_WXPYTHON) || ${HAVE_WX:Mpython} != ""
+.if defined(WITH_WXPYTHON) || !empty(PORT_OPTIONS:MWXPYTHON) || !empty(HAVE_WX:Mpython)
WX_COMPS+= python
CONFIGURE_ARGS+=--enable-wxpython
.endif
@@ -8496,7 +8704,7 @@ LUA_COMPS= lua ruby
.include <bsd.port.pre.mk>
-.if defined(WITH_LUA5) || ${HAVE_LUA:Mlua-5.[01]} != ""
+.if defined(WITH_LUA5) || !empty(PORT_OPTIONS:MLUA5) || !empty(HAVE_LUA:Mlua-5.[01])
USE_LUA= 5.0-5.1
CONFIGURE_ARGS+=--enable-lua5
.endif
@@ -8513,7 +8721,7 @@ WANT_LUA= 4.0
.include <bsd.port.pre.mk>
-.if defined(WITH_TOLUA) || ${HAVE_LUA:Mtolua} != ""
+.if defined(WITH_TOLUA) || !empty(PORT_OPTIONS:MTOLUA) || !empty(HAVE_LUA:Mtolua)
LUA_COMPS+= tolua
CONFIGURE_ARGS+=--enable-tolua
.endif
@@ -8891,7 +9099,7 @@ CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}"
Если переменная установлена в yes,
добавляет зависимость от порта
- databases/mysql55-server.
+ databases/mysql55-client.
Как связанная переменная,
WANT_MYSQL_VER может быть установлена
в значение 323, 40, 41, 50, 51, 52, 55 или 60.
@@ -8901,21 +9109,31 @@ CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}"
USE_PGSQLЕсли установлена в yes, добавляет
- зависимость от порта
- databases/postgresql84.
+ зависимость от порта databases/postgresql90-client.
Как связанная переменная,
WANT_PGSQL_VER может быть установлена
- в значение 73, 74, 80, 81, 82, 83 или 90.
+ в значение 83, 84, 90, 91 или 92. Вы можете указать
+ максимальное и минимальное значения;
+ WANT_PGSQL_VER=
+ 90+ сделает порт зависимым от
+ минимальной версии 9.0.
+
+ USE_SQLITE
+
+ Если переменная имеет значение yes,
+ добавляет зависимость от порта databases/sqlite3.
+ Переменная может принимать значения: 3, 2.
+
- Подробнее смотрите в
-
- bsd.database.mk.
-
+ Подробнее смотрите в bsd.database.mk.
@@ -9419,17 +9637,41 @@ lib/X11/oneko/sounds/cat.au
${CP} -p ${PREFIX}/etc/orbit.conf.sample ${PREFIX}/etc/orbit.conf ; \
fi
- Пример части pkg-plist:
+ Добавьте по три строки в pkg-plist для
+ каждого конфигурационного файла, как показано ниже:@unexec if cmp -s %D/etc/orbit.conf.sample %D/etc/orbit.conf; then rm -f %D/etc/orbit.conf; fi
etc/orbit.conf.sample
@exec if [ ! -f %D/etc/orbit.conf ] ; then cp -p %D/%F %B/orbit.conf; fi
+ Данные строки являются упорядоченными. На этапе удаления
+ файл с примером сравнивается с рабочим конфигурационным файлом.
+ Полное совпадение означает отсутствие каких-либо изменений в
+ рабочем файле со стороны пользователя, и следовательно этот файл
+ может быть безопасно удалён. Так как файл с примером всё ещё
+ должен существовать для сравнения, строка @unexec
+ следует перед именем файла с примером конфигурации. На этапе
+ установки, если рабочий файл конфигурации отсутствует, он
+ копируется из файла с примером. Файл с примером обязательно
+ должен быть установлен до операции копирования, поэтому строка
+ @exec следует после имени файла с примером
+ конфигурации.
+
+ Для получения дополнительного отладочного вывода на экран
+ можно временно удалить параметр -s из команды
+ &man.cmp.1;.
+
+ Для получения дополнительной инфорации по использованию
+ %D и прочих маркеров подстановки обратитесь
+ к странице Справочника &man.pkg.create.1;.
+
Если существует действительно стоящая причина не устанавливать
- рабочий файл конфигурации по умолчанию, то выведите сообщение, указывающее на то, чтобы
- пользователь скопировал и отредактировал файл перед тем, как работать
- с программным обеспечением.
+ рабочий файл конфигурации по умолчанию, уберите строку
+ @exec из pkg-plist и
+ добавьте сообщение,
+ указывающее на то, что пользователь обязан скопировать и
+ отредактировать этот файл перед тем, как программное обеспечение
+ начнёт работать.
@@ -9576,10 +9818,7 @@ etc/orbit.conf.sample
pkg-message только для послеустановочных шагов.
Также следует иметь в виду различие между ECHO_MSG
и ECHO_CMD. Первое предназначено для вывода на
- экран информационного текста, а второе для конвейера команд.
-
- Хороший пример для обоих можно найти в
- shells/bash2/Makefile:
+ экран информационного текста, а второе для конвейера команд:update-etc-shells:
@${ECHO_MSG} "updating /etc/shells"
@@ -10009,8 +10248,8 @@ as .putsy.conf and edit it.В противном случае, вам следует воспользоваться методом
- cvs diff (), либо
- скопировать содержимое порта в другой
+ svn diff (), либо
+ скопировать содержимое порта в
отдельный каталог и применить результат рекурсивной команды &man.diff.1;
между новым и старым каталогами порта (например, если каталог с
модифицированным портом называется superedit,
@@ -10049,7 +10288,7 @@ as .putsy.conf and edit it.
В противном случае в поле Class вашего PR должно быть
указано change-request. Будьте добры, в сообщении
отметьте все добавленные или удалённые файлы, так как они будут
- непосредственно указаны &man.cvs.1; при выполнении операции коммита.
+ непосредственно указаны &man.svn.1; при выполнении операции коммита.
Если diff-файл имеет размер, превышающий 20КБ, сожмите его и обработайте
утилитой uuencode; в противном случае просто включите его как есть
в PR.
@@ -10080,10 +10319,10 @@ as .putsy.conf and edit it.
прочесть о том, как поддерживать актуальное состояние, в .
-
- Использование CVS для создания патчей
+
+ Использование SVN для создания патчей
- По возможности присылайте исправления в формате &man.cvs.1; diff;
+ По возможности присылайте исправления в формате &man.svn.1; diff;
в таком виде их проще использовать по сравнению с разницей между
старым и новым каталогами. К тому же, вам проще
увидеть ваши изменения и обновить их в случае, если что-нибудь
@@ -10092,7 +10331,7 @@ as .putsy.conf and edit it.
исправить что-то еще.&prompt.user; cd ~/my_wrkdir
-&prompt.user; cvs -d R_CVSROOT co pdnsd
+&prompt.user; svn co svn://svn.FreeBSD.org/ports/head/dns/pdnsd
&prompt.user; cd ~/my_wrkdir/pdnsd
@@ -10102,52 +10341,39 @@ as .putsy.conf and edit it.
/usr/ports/.
-
- R_CVSROOT - это общедоступный cvs сервер, выберите нужный из
- списка согласно Руководству &os;.
-
-
-
-
- pdnsd - это название модуля для данного порта; как правило,
- это соответствует названию порта, хотя есть и некоторые исключения,
- в частности для языковых категорий (для german/selfhtml это модуль с названием
- de-selfhtml); вы можете узнать название модуля через интерфейс cvsweb,
- либо используя путь целиком, в данном случае это
- ports/dns/pdnsd.
+
+ svn.FreeBSD.org
+ — это общедоступный SVN сервер.Находясь в рабочем каталоге, вносите любые изменения, которые
обычно делают для порта. При добавлении или удалении файла
- используйте cvs, для того чтобы отслеживать эти
- изменения:
+ используйте svn для отслеживания этих
+ изменений:
- &prompt.user; cvs add new_file
-&prompt.user; cvs remove deleted_file
+ &prompt.user; svn add new_file
+&prompt.user; svn remove deleted_fileУбедитесь, что вы проверяете порт в соответствии с рекомендуемым
порядком проверки, описанным в и
.
- &prompt.user; cvs status
-&prompt.user; cvs update
+ &prompt.user; svn status
+&prompt.user; svn update
-
+ Эта команда попытается выполнить слияние различий между
- вашим патчем и текущим содержимым в CVS; внимательно проверьте
+ вашим патчем и текущим содержимым в SVN; внимательно проверьте
полученный вывод. Буква перед названием каждого файла означает
тип изменения, сделанного с этим файлом. Для получения полного
- списка смотрите .
+ списка смотрите .
-
- Префиксы файлов для CVS update
+
+ Префиксы файлов для SVN update
@@ -10158,7 +10384,7 @@ as .putsy.conf and edit it.
- P
+ GФайл обновлен без проблем (вы увидите это только
при работе с удаленным репозиторием).
@@ -10181,26 +10407,24 @@ as .putsy.conf and edit it.
- Если в результате выполнения cvs update вы
- получили C, то это означает, что что-то изменилось
- в CVS и &man.cvs.1; не смогла выполнить слияние ваших локальных
- изменений с полученными из CVS. Это всегда хорошая идея - в любом
- случае просматривать изменения, поскольку команда cvs
- ничего не знает о том, каким должен быть порт, поэтому она может
- (и, вероятно, будет) делать слияние тех изменений, которые не имеют
- смысла.
+ Если в результате выполнения svn update
+ вы получили C, то это означает, что что-то
+ изменилось в репозитории SVN и &man.svn.1; не смогла выполнить
+ слияние ваших локальных изменений с полученными из репозитория.
+ В любом случае никогда не помешает просмотреть изменения,
+ поскольку &man.svn.1; ничего не знает о том, каким должен быть
+ порт, поэтому эта команда может (и, вероятно, будет) делать
+ слияние тех изменений, которые не имеют смысла.Последним шагом является создание унифицированного &man.diff.1;
- для файлов относительно CVS:
+ для файлов относительно SVN:
- &prompt.user; cvs diff -uN > ../`basename ${PWD}`.diff
+ &prompt.user; svn diff > ../`basename ${PWD}`.diff
- Важно использовать , чтобы убедиться, что
- добавленные или удаленные вами файлы включены в патч. Патч будет
- включать в себя любые удаленные файлы, но после наложения патча их
- содержимое будет пустым, поэтому не забывайте добавить это в PR,
- так чтобы коммиттер знал о том, что их надо удалить.
+ Информация о любых удаляемых файлов должна быть явным
+ образом указана в PR, поскольку необходимость в удалении
+ файла для коммиттера может быть неочевидна.Присылайте свои патчи в соответствии с руководством, описанном в
@@ -10214,8 +10438,8 @@ as .putsy.conf and edit it.
Если при обновлении порта требуются специальные шаги, такие как
изменение файлов конфигурации или запуск специальной программы,
то вам следует это задокументировать в файле
- /usr/ports/UPDATING. Формат записи в этом файле
- как показано ниже:
+ /usr/ports/UPDATING. Формат записи в этом
+ файле приводится ниже:YYYYMMDD:
AFFECTS: users of portcategory/portname
@@ -10227,11 +10451,26 @@ as .putsy.conf and edit it.
пожалуйста, убедитесь в правильном экранировании символов внутри
командной оболочки.
- Если ваш порт удален или переименован, то вам следует добавить
- запись в /usr/ports/MOVED. Записи в этом файле
- используют следующий формат:
+ Файл /usr/ports/MOVED содержит записи
+ об удалённых или перемещённых портах. Каждая строка в этом
+ файле состоит из полей: название порта, место, куда он был
+ перемещён, дата и причина перемещения. Если порт был удалён,
+ то поле, указывающее новое место, может оставаться незаполненным.
+ Поля должны разделяться символом | (pipe),
+ как это показано ниже:old name|new name (blank for deleted)|date of move|reason
+
+ Дату следует вводить в формате YYYY-MM-DD.
+ Новые записи следует добавлять в конец файла в хронологическом
+ порядке.
+
+ Если порт был перемещён, но в дальнейшем восстановлен на
+ прежнем месте, удалите в этом файле строку, содержащую
+ информацию о перемещении.
+
+ Полученные изменения можно проверить командой
+ Tools/scripts/MOVEDlint.awk.
@@ -10352,8 +10591,7 @@ as .putsy.conf and edit it.
url="http://www.freebsd.org/security/#how">информационной
безопасности FreeBSD.
- Как это может быть очевидно
- из самого названия, база данных VuXML является
+ База данных VuXML является
документом XML. Его исходный файл vuln.xml
содержится прямо внутри порта security/vuxml. Поэтому полное имя
@@ -10508,7 +10746,7 @@ as .putsy.conf and edit it.
<ge>2.*</ge><lt>3.*</lt>
выборочно совпадет с версией 2.x, а
<ge>2.0</ge><lt>3.0</lt>
- - очевидно нет, поскольку последнее не включает
+ - нет, поскольку последнее не включает
2.r3 и совпадает с 3.b.
@@ -10654,13 +10892,14 @@ as .putsy.conf and edit it.
&prompt.user; portaudit clamav-0.65_6Если ничего не найдено, значит вы получили зеленый свет для
- добавления новой записи для этой уязвимости. Теперь вы можете
- сгенерировать новенький UUID (предположим, что это будет
- 74a9541d-5d6c-11d8-80e3-0020ed76ef5a) и
- добавить вашу новую запись в базу данных VuXML. Пожалуйста,
- проверьте после этого синтаксис записи следующим образом:
+ добавления новой записи для этой уязвимости.
- &prompt.user; cd ${PORTSDIR}/security/vuxml && make validate
+ &prompt.user; cd ${PORTSDIR}/security/vuxml
+&prompt.user; make newentry
+
+ Когда вы закончите, проверьте синтаксис и форматирование.
+
+ &prompt.user; make validateВам понадобится установить по крайней мере один из следующих
@@ -10677,7 +10916,7 @@ as .putsy.conf and edit it.
в вашей записи совпадает с правильными пакетами, выполните
следующую команду:
- &prompt.user; portaudit -f /usr/ports/INDEX -r 74a9541d-5d6c-11d8-80e3-0020ed76ef5a
+ &prompt.user; portaudit -f /usr/ports/INDEX -r uuidДля лучшего понимания синтаксиса этой команды обращайтесь
@@ -10697,7 +10936,7 @@ Reference: <http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
1 problem(s) found.
- Очевидно, что первая версия должна совпасть, а последняя
+ Первая версия должна совпасть, а последняя
нет.В заключение проверьте, что веб-страница, сформированная из
@@ -10776,7 +11015,7 @@ Reference: <http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
Предпочтительным способом отделения кода для 4.3BSD/Reno (1990) и
и более новых версий BSD является использование макроса
BSD, определенного в файле sys/param.h.
+ url="http://svnweb.freebsd.org/base/head/sys/sys/param.h?view=markup">sys/param.h.
Хорошо, если этот файл уже
включен; если это не так, то добавьте такой код:
@@ -10889,7 +11128,8 @@ Reference: <http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
Ниже для справки приводится перечень значений
__FreeBSD_version в виде, который определён в
- sys/param.h:
+ sys/param.h:
Значения __FreeBSD_version
@@ -14520,6 +14760,24 @@ Reference: <http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
8.2-STABLE после обратного портирования
gperf 3.0.3.
+
+ 802517
+ 15 февраля 2012
+ 8.2-STABLE после появления нового расширяемого
+ интерфейса sysctl(3) NET_RT_IFLISTL для получения списка
+ адресов (рев. 231769).
+
+
+ 803000
+ 3 марта 2012
+ 8.3-RELEASE.
+
+
+ 803500
+ 3 марта 2012
+ 8.3-STABLE после отделения ветки releng/8.3
+ (RELENG_8_3).
+ 90000022 августа 2009
@@ -14829,6 +15087,26 @@ Reference: <http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
9.0-STABLE после обратного портирования
gperf 3.0.3.
+
+ 900503
+ 15 февраля 2012
+ 9.0-STABLE после появления нового расширяемого
+ интерфейса sysctl(3) NET_RT_IFLISTL для получения списка
+ адресов (рев. 231768).
+
+
+ 900504
+ 3 марта 2012
+ 9.0-STABLE после изменения механизма монтирования
+ файловых систем в jail (рев. 232728).
+
+
+ 900503
+ 13 марта 2012
+ 9.0-STABLE после появления новых параметров сокета
+ tcp(4): TCP_KEEPINIT, TCP_KEEPIDLE, TCP_KEEPINTVL и
+ TCP_KEEPCNT (рев. 232945).
+ 100000026 сентября 2011
@@ -14869,6 +15147,69 @@ Reference: <http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
SIOCSIFADDR, SIOCSIFNETMASK, SIOCSIFBRDADDR, SIOCSIFDSTADDR
(рев. 230207).
+
+ 1000006
+ 26 января 2012
+ 10.0-CURRENT после появления асинхронных уведомлений
+ о наличии входных данных в уровне cam(4)
+ (рев. 230590).
+
+
+ 1000007
+ 5 февраля 2012
+ 10.0-CURRENT после появления новых параметров сокета
+ tcp(4): TCP_KEEPINIT, TCP_KEEPIDLE, TCP_KEEPINTVL и
+ TCP_KEEPCNT (рев. 231025).
+
+
+ 1000008
+ 11 февраля 2012
+ 10.0-CURRENT после появления нового расширяемого
+ интерфейса sysctl(3) NET_RT_IFLISTL для получения списка
+ адресов (рев. 231505).
+
+
+ 1000010
+ 31 марта 2012
+ 10.0-CURRENT после исправлений в xlocale
+ (рев. 233757).
+
+
+ 1000011
+ 16 апреля 2012
+ 10.0-CURRENT после импорта LLVM/Clang 3.1 trunk
+ r154661 (рев. 234353).
+
+
+ 1000012
+ 2 мая 2012
+ 10.0-CURRENT после импорта jemalloc
+ (рев. 234924).
+
+
+ 1000013
+ 22 мая 2012
+ 10.0-CURRENT после импорта byacc
+ (рев. 235788).
+
+
+ 1000014
+ 27 июня 2012
+ 10.0-CURRENT после изменения sort по умолчанию
+ на BSD sort (рев. 237629).
+
+
+ 1000015
+ 12 июля 2012
+ 10.0-CURRENT после импорта OpenSSL 1.0.1c
+ (рев. 238405).
+
+
+ (не изменено)
+ 13 июля 2012
+ 10-CURRENT после исправления регрессии в
+ LLVM/Clang 3.1 (рев. 238429).
+
@@ -14952,15 +15293,6 @@ Reference: <http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
__FreeBSD_version.
-
- PORTOBJFORMAT
-
- Формат объектных файлов, используемых в системе
- (elf или aout);
- заметьте, что для современных версий FreeBSD
- aout не используется.)
-
-
LOCALBASEКорень дерева local (например,
@@ -14978,10 +15310,9 @@ Reference: <http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
- Если вы задаете переменные USE_IMAKE,
- USE_X_PREFIX, или MASTERDIR,
- то делайте это перед тем, как включать
- bsd.port.pre.mk.
+ Если вы задаете переменные USE_IMAKE
+ или MASTERDIR, то делайте это до
+ подключения bsd.port.pre.mk.Вот несколько примеров того, что вы можете написать после
@@ -15060,14 +15391,13 @@ exec %%LOCALBASE%%/bin/java -jar %%DATADIR%%/foo.jar "$@"
CC, так и CXX.
Под этим мы подразумеваем, что порт ни в коем случае не должен
устанавливать значения этих переменных, переопределяя имеющиеся
- значения; вместо этого от должен добавлять те значения, которые
- нужны, к имеющимся. Это нужно для того, чтобы параметры построения,
+ значения; вместо этого можно добавлять нужные значения к уже
+ имеющимся. Это связано с тем, что параметры построения,
относящиеся ко всем портам, могут быть заданы глобально.
- Если порты не принимают во внимание значения этих переменных,
- пожалуйста, добавьте строку NO_PACKAGE=ignores
- either cc or cxx в файл
- Makefile.
+ Если порты не учитывают значения этих переменных, добавьте
+ строку NO_PACKAGE=ignores either cc or cxx
+ в файл Makefile.Далее следует пример файла Makefile,
использующего как переменную CC, так и
@@ -15101,17 +15431,17 @@ exec %%LOCALBASE%%/bin/java -jar %%DATADIR%%/foo.jar "$@"
CFLAGS.
Под этим мы подразумеваем, что порт ни в коем случае не должен
устанавливать значения этих переменных, переопределяя имеющиеся
- значения; вместо этого от должен добавлять те значения, которые
- нужны, к имеющимся. Это нужно для того, чтобы параметры построения,
+ значения; вместо этого можно добавлять нужные значения к уже
+ имеющимся. Это связано с тем, что параметры построения,
относящиеся ко всем портам, могут быть заданы глобально.
- Если он этого не делает, то, пожалуйста,
- добавьте в файл Makefile строчку
- NO_PACKAGE=ignores cflags.
+ Если порты не учитывают значения этой переменной, добавьте
+ строку NO_PACKAGE=ignores cflags в файл
+ Makefile.
- Пример файла Makefile, в котором принимается
- во внимание переменная CFLAGS, приводится далее.
- Отметьте употребление символов +=:
+ Далее следует пример файла Makefile,
+ использующего переменную CFLAGS. Обратите
+ внимание на использование символов +=:
CFLAGS+= -Wall -Werror
@@ -15185,7 +15515,7 @@ CFLAGS= -Wall -Werror
README.htmlНе включайте сюда файл README.html. Этот файл
- не является частью дерева cvs, и он генерируется при помощи команды
+ не является частью дерева SVN, и он генерируется при помощи команды
make readme.
@@ -15307,8 +15637,8 @@ CFLAGS= -Wall -Werror
не работает с каким-либо другим портом, установленным
в настоящее время (например, порт зависит от www/apache21, но установлен
- www/apache13)
+ role="package">www/apache20, но установлен
+ www/apache22)
@@ -15333,7 +15663,7 @@ CFLAGS= -Wall -Werror
ONLY_FOR_ARCHS= i386 amd64
- NOT_FOR_ARCHS= alpha ia64 sparc64
+ NOT_FOR_ARCHS= ia64 sparc64Собственное сообщение IGNORE можно задать
с использованием ONLY_FOR_ARCHS_REASON и
@@ -15481,6 +15811,81 @@ IGNORE=POINTYHAT is not supported
обеспечения для подтверждения изменений.
+
+ Избегание линуксизмов
+
+ Не используйте /proc, если доступны
+ любые другие источники получения информации, например,
+ setprogname(argv[0]) в
+ main() и &man.getprogname.3;, в случае
+ если вы хотите знать своё имя.
+
+ Не полагайтесь на поведение, не регламентированное
+ POSIX.
+
+ Не выполняйте запись временных меток в критических путях
+ выполнения приложения, если можно обойтись без этого. Получение
+ временных меток может быть медленным, в зависимости от степени
+ точности используемых часов в операционной системе. Если
+ временные метки действительно нужны, определите степень
+ требуемой точности и используйте тот API,
+ в котором документируется получение достаточной точности.
+
+ Ряд простых системных вызовов (например, &man.gettimeofday.2;,
+ &man.getpid.2;) работают намного быстрее в &linux; по сравнению
+ с любой другой операционной системой из-за кеширования и
+ используемой оптимизации vsyscall. Не полагайтесь на их
+ дешевизну в критичных к производительности приложениях. В
+ целом, старайтесь избегать системных вызовов там, где это
+ возможно.
+
+ Не полагайтесь на специфичное для &linux; поведение сокета.
+ В частности, отличаются размеры буфера сокета по умолчанию
+ (выполните вызов &man.setsockopt.2; с SO_SNDBUF
+ и SO_RCVBUF, и в то время как в &linux;
+ при заполнении буфера сокета &man.send.2; блокируется, &os;
+ возвращает ошибку и устанавливает ENOBUFS
+ в качестве значения errno.
+
+ Если требуется рассчитывать на нестандартное поведение,
+ инкапсулируйте это должным образом в общий для всех
+ API с проверкой поведения на этапе
+ конфигурации, и если требуемое поведение не найдено,
+ прекращайте выполнение.
+
+ Используйте страницы
+ справочника для проверки, относится ли функция к
+ интерфейсу POSIX (ищите раздел
+ STANDARDS на странице справочника).
+
+ Не рассчитывайте на то, что в качестве
+ /bin/sh используется
+ bash. Убедитесь, что командная
+ строка, переданная в &man.system.3;, будет работать в
+ POSIX-совместимой оболочке.
+
+ Список основных bash-измов
+ расположен здесь.
+
+ Не используйте #include
+ <stdint.h>, если
+ достаточно подключить inttypes.h. Это
+ позволит убедиться, что программное обеспечение собирается на
+ более старых версиях &os;.
+
+ Проверьте, что используемые заголовочные файлы включены в
+ POSIX или список, рекомендуемый страницей
+ справочника, т.к. например, забыть подключить
+ sys/types.h — не такая уж проблема
+ в &linux;, однако это не так во &os;.
+
+ Компилируйте многопоточные приложения с ключом
+ -pthread, а не -lpthread или
+ как-либо ещё.
+
+
Разное
@@ -15525,9 +15930,9 @@ PORTVERSION
#
# $FreeBSD$
[ ^^^^^^^^^ Эта строка будет автоматически заменена со строчкой RCS ID
-системой CVS при выполнении операции коммита в наше хранилище. При
+системой SVN при выполнении операции коммита в наше хранилище. При
обновлении порта не приводите эту строку обратно к виду
-"$FreeBSD$". CVS сделает все автоматически.]
+"$FreeBSD$". SVN сделает это автоматически.]
#
[секция описания собственно порта и основного сервера - сначала всегда
@@ -15563,7 +15968,7 @@ COMMENT= A DVI Previewer for the X Window System
[зависимости -- могут быть пустыми]
RUN_DEPENDS= gs:${PORTSDIR}/print/ghostscript
-LIB_DEPENDS= Xpm.5:${PORTSDIR}/graphics/xpm
+LIB_DEPENDS= Xpm:${PORTSDIR}/graphics/xpm
[этот раздел для остальных стандартных переменных из bsd.port.mk, кроме
тех, что перечислены выше]
@@ -15644,20 +16049,20 @@ pre-install:
внесённых вами изменений.
-
+ Web-интерфейс к хранилищу исходных текстовФайлы в хранилище исходных текстов можно просматривать при помощи
Web-интерфейса. Изменения, которые касаются в целом всей системы
- портов, теперь документируются в файле
-
- CHANGES. Изменения, касающиеся отдельных портов, отражаются
- теперь в файле
- UPDATING. Однако однозначный ответ на любой вопрос можно
- найти, только прочитав исходных код
- bsd.port.mk и связанных с ним файлов.
+ портов, теперь документируются в файле CHANGES.
+ Изменения, касающиеся отдельных портов, отражаются теперь в
+ файле UPDATING.
+ Однако однозначный ответ на любой вопрос можно найти, только
+ прочитав исходных код bsd.port.mk
+ и связанных с ним файлов.
@@ -15689,20 +16094,39 @@ pre-install:
- Сканер дистрибутивных файлов портов &os;
+ Portscout: сканер дистрибутивных файлов портов &os;Кластер построения выделен для выполнения самого последнего
- релиза каждого из портов, дистрибутивный файл которых уже был
- сгружен. Однако из-за постоянных изменений в Internet,
- дистрибутивные файлы быстро исчезают. Средство сканирования дистрибутивных файлов
- FreeBSD пытается
- опросить каждый из сайтов, доступный для сгрузки каждого из портов
+ релиза каждого из портов, дистрибутивные файлы которых уже были
+ сгружены. Однако из-за постоянных изменений в Internet
+ дистрибутивные файлы могут быстро исчезать. Portscout, средство
+ сканирования дистрибутивных файлов &os; пытается опросить
+ каждый из сайтов, доступных для сгрузки каждого из портов,
для определения того, доступны ли ещё дистрибутивные файлы.
- Мейнтейнеры должны периодически просматривать этот протокол, и не
- только для ускорения процесса построения пользователем, но и для
- избежания траты пропускной способности сайтов, на которых все эти
- дистрибутивные файлы размещаются на добровольной основе.
+ Portscout может готовить отчёты
+ в HTML и рассылать электронные письма об
+ имеющихся обновлениях для портов тем, кто это запрашивает.
+ Мейнтейнеры периодически запрашивают наличие изменений, либо
+ вручную, либо используя ленту RSS.
+
+ Главная страница Portscout
+ отображает email мейнтейнера порта, количество портов, за
+ которые ответственен мейнтейнер, количество портов с новыми
+ дистрибутивными файлами и процент устаревших портов. Функция
+ поиска выполняет поиск мейнтейнера по адресу электронной почты
+ и позволяет выбирать между всеми портами или только
+ устаревшими.
+
+ При щелчке по адресу электронной почты мейнтейнера
+ отображается список всех его портов, разделённых по категориям,
+ вместе с текущим номером версии, информацией о наличии новой
+ версии, временем последнего обновления порта и временем его
+ последней проверки. Функция поиска на этой странице позволяет
+ пользователю выполнять поиск конкретного порта.
+
+ По щелчку на название порта в списке отображается информация
+ о порте FreshPorts.