aboutsummaryrefslogtreecommitdiff
path: root/ru_RU.KOI8-R/books/porters-handbook/book.xml
diff options
context:
space:
mode:
Diffstat (limited to 'ru_RU.KOI8-R/books/porters-handbook/book.xml')
-rw-r--r--ru_RU.KOI8-R/books/porters-handbook/book.xml3543
1 files changed, 1712 insertions, 1831 deletions
diff --git a/ru_RU.KOI8-R/books/porters-handbook/book.xml b/ru_RU.KOI8-R/books/porters-handbook/book.xml
index 479cdb7d0d..c49b556fd2 100644
--- a/ru_RU.KOI8-R/books/porters-handbook/book.xml
+++ b/ru_RU.KOI8-R/books/porters-handbook/book.xml
@@ -1,10 +1,9 @@
<?xml version="1.0" encoding="koi8-r"?>
-<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook XML V4.5-Based Extension//EN"
- "../../../share/xml/freebsd45.dtd" [
+<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
+ "../../../share/xml/freebsd50.dtd" [
<!ENTITY values.uses SYSTEM "uses.xml">
<!ENTITY values.versions SYSTEM "versions.xml">
]>
-
<!--
The FreeBSD Russian Documentation Project
@@ -13,13 +12,12 @@
Original revision: r42833
-->
-
-<book lang="ru">
- <bookinfo>
- <title>Руководство FreeBSD по созданию портов</title>
+<book xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="ru">
+ <info><title>Руководство FreeBSD по созданию портов</title>
+
<authorgroup>
- <corpauthor>The FreeBSD Documentation Project</corpauthor>
+ <author><orgname>The FreeBSD Documentation Project</orgname></author>
</authorgroup>
<pubdate>$FreeBSD$</pubdate>
@@ -48,9 +46,9 @@
&legalnotice;
<releaseinfo>$FreeBSD$</releaseinfo>
- </bookinfo>
+ </info>
- <chapter id="why-port">
+ <chapter xml:id="why-port">
<title>Введение</title>
<para>Коллекция портов FreeBSD является способом, используемым
@@ -65,7 +63,7 @@
внесение изменений, чтобы это делать.</para>
</chapter>
- <chapter id="own-port">
+ <chapter xml:id="own-port">
<title>Как самому сделать новый порт</title>
<para>Итак, вы интересуетесь, как создать собственный порт или
@@ -84,7 +82,7 @@
<note>
<para>Только часть переменных
- (<makevar><replaceable>VAR</replaceable></makevar>), которые могут быть
+ (<varname><replaceable>VAR</replaceable></varname>), которые могут быть
переопределены, описаны в этом документе. Большинство (если не все)
описаны в начале файла <filename>/usr/ports/Mk/bsd.port.mk</filename>;
остальные, скорее всего, тоже там описаны. Заметьте, что
@@ -97,13 +95,12 @@
</note>
<para>
- Ищете, с чего бы начать попроще? Посмотрите на <ulink
- url="http://wiki.freebsd.org/WantedPorts">перечень запрошенных
- портов</ulink>, есть ли там такие, над которыми вы можете работать.
+ Ищете, с чего бы начать попроще? Посмотрите на <link xlink:href="http://wiki.freebsd.org/WantedPorts">перечень запрошенных
+ портов</link>, есть ли там такие, над которыми вы можете работать.
</para>
</chapter>
- <chapter id="quick-porting">
+ <chapter xml:id="quick-porting">
<title>Быстрое портирование</title>
<para>В этом разделе описано, как создать новый порт на скорую руку.
@@ -111,7 +108,7 @@
прочитать документ дальше.</para>
<para>Во-первых, скачайте оригинальный tar-файл и поместите его в каталог
- <makevar>DISTDIR</makevar>, который по умолчанию есть не что иное, как
+ <varname>DISTDIR</varname>, который по умолчанию есть не что иное, как
<filename>/usr/ports/distfiles</filename>.</para>
<note>
@@ -122,7 +119,7 @@
следующему разделу.</para>
</note>
- <sect1 id="porting-makefile">
+ <sect1 xml:id="porting-makefile">
<title>Создание файла <filename>Makefile</filename></title>
<para>Минимальный <filename>Makefile</filename> будет выглядеть
@@ -159,7 +156,7 @@ MANCOMPRESSED= yes
Makefile</link>.</para>
</sect1>
- <sect1 id="porting-desc">
+ <sect1 xml:id="porting-desc">
<title>Создание информационных файлов</title>
<para>Имеется два информационных файла, которые требуются для любого
@@ -229,7 +226,7 @@ WWW: http://www.oneko.org/</programlisting>
Имена путей указываются относительно установочного префикса
(обычно <filename>/usr/local</filename>).
Если вы используете переменные
- <makevar>MAN<replaceable>n</replaceable></makevar> (а вы должны
+ <varname>MAN<replaceable>n</replaceable></varname> (а вы должны
это делать), то указывать страницы справочника здесь не
нужно. Если порт во время установки создает каталоги, убедитесь,
что добавили строку <literal>@dirrm</literal> для удаления
@@ -257,8 +254,7 @@ lib/X11/oneko/mouse.xpm
<note>
<para>Создание списка упаковки вручную может оказаться весьма
трудоёмкой задачей. Если порт устанавливает большое количество
- файлов, раздел об <link
- linkend="plist-autoplist">автоматическом построении списка
+ файлов, раздел об <link linkend="plist-autoplist">автоматическом построении списка
упаковки</link> может помочь сэкономить время.</para>
</note>
@@ -266,7 +262,7 @@ lib/X11/oneko/mouse.xpm
отсутствовать <filename>pkg-plist</filename>. Если порт
устанавливает лишь несколько файлов, а возможно, и каталогов, то
они могут быть перечислены в переменных
- <makevar>PLIST_FILES</makevar> и <makevar>PLIST_DIRS</makevar>,
+ <varname>PLIST_FILES</varname> и <varname>PLIST_DIRS</varname>,
соответственно, внутри файла <filename>Makefile</filename> порта.
К примеру, мы можем обойтись без файла
<filename>pkg-plist</filename> у приведённого выше порта
@@ -280,16 +276,16 @@ lib/X11/oneko/mouse.xpm
lib/X11/oneko/mouse.xpm
PLIST_DIRS= lib/X11/oneko</programlisting>
- <para>Конечно, переменная <makevar>PLIST_DIRS</makevar> не должна
+ <para>Конечно, переменная <varname>PLIST_DIRS</varname> не должна
задаваться, если порт не устанавливает никаких каталогов.</para>
<note>
<para>Несколько портов могут совместно использовать общий
- каталог. В этом случае <makevar>PLIST_DIRS</makevar>
- следует заменить на <makevar>PLIST_DIRSTRY</makevar>, так
+ каталог. В этом случае <varname>PLIST_DIRS</varname>
+ следует заменить на <varname>PLIST_DIRSTRY</varname>, так
чтобы каталог удалялся только если он пуст, а иначе
- игнорировался. Использование <makevar>PLIST_DIRS</makevar>
- и <makevar>PLIST_DIRSTRY</makevar> аналогично
+ игнорировался. Использование <varname>PLIST_DIRS</varname>
+ и <varname>PLIST_DIRSTRY</varname> аналогично
<literal>@dirrm</literal> и <literal>@dirrmtry</literal>
в <filename>pkg-plist</filename>, описание которых
входит в <xref linkend="plist-dir-cleaning"/>.</para>
@@ -305,13 +301,13 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
<filename>pkg-plist</filename>.</para>
<para>Далее мы увидим, как можно использовать файлы
- <filename>pkg-plist</filename> и <makevar>PLIST_FILES</makevar>
+ <filename>pkg-plist</filename> и <varname>PLIST_FILES</varname>
выполнения <link linkend="plist">более сложных
задач</link>.</para>
</sect2>
</sect1>
- <sect1 id="porting-checksum">
+ <sect1 xml:id="porting-checksum">
<title>Создание файла с контрольной суммой</title>
<para>Просто введите команду <command>make makesum</command>.
@@ -321,13 +317,13 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
<para>Если у извлекаемого файла регулярно меняется контрольная
сумма и вы не сомневаетесь в надежности источника (т.е. он получен
из CD производителя, либо ежедневно обновляется документация), то вы
- должны указать эти файлы в переменной <makevar>IGNOREFILES</makevar>.
+ должны указать эти файлы в переменной <varname>IGNOREFILES</varname>.
Тогда контрольная сумма при выполнении <command>make makesum</command>
для этого файла создаваться не будет, а вместо этого для него будет
установлено значение <literal>IGNORE</literal>.</para>
</sect1>
- <sect1 id="porting-testing">
+ <sect1 xml:id="porting-testing">
<title>Тестирование порта</title>
<para>Вы должны удостовериться, что правила построения порта выполняют
@@ -347,7 +343,7 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
<listitem>
<para>Ваш порт может быть переустановлен множество раз с помощью
- указания цели <maketarget>reinstall</maketarget></para>
+ указания цели <buildtarget>reinstall</buildtarget></para>
</listitem>
<listitem>
@@ -372,7 +368,7 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
</step>
<step>
- <para><command>pkg_add <replaceable>package-name</replaceable>
+ <para><command>pkg_add package-name
</command></para>
</step>
@@ -393,8 +389,8 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
</step>
</procedure>
- <para>Проверьте, что ни на шаге <maketarget>package</maketarget>, ни на
- шаге <maketarget>deinstall</maketarget> не выдается никаких
+ <para>Проверьте, что ни на шаге <buildtarget>package</buildtarget>, ни на
+ шаге <buildtarget>deinstall</buildtarget> не выдается никаких
предупреждений. После выполнения шага 3 проверьте, что все новые
каталоги были успешно удалены. Также попробуйте запустить
программное обеспечение после выполнения шага 4, чтобы убедиться, что
@@ -408,26 +404,24 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
<filename>ports/ports-mgmt/tinderbox</filename>.</para>
</sect1>
- <sect1 id="porting-portlint">
+ <sect1 xml:id="porting-portlint">
<title>Проверка вашего порта утилитой
<command>portlint</command></title>
<para>Будьте добры, пользуйтесь утилитой <command>portlint</command>
для проверки того, что ваш порт соответствует нашим рекомендациям.
- Программа <filename role="package">ports-mgmt/portlint</filename>
+ Программа <package>ports-mgmt/portlint</package>
является частью Коллекции
Портов. В частности, вы можете захотеть проверить, правильно ли
сформирован файл <link linkend="porting-samplem">Makefile</link> и
- соответствующим ли образом именован <link
- linkend="porting-pkgname">пакет</link>.</para>
+ соответствующим ли образом именован <link linkend="porting-pkgname">пакет</link>.</para>
</sect1>
- <sect1 id="porting-submitting">
+ <sect1 xml:id="porting-submitting">
<title>Посылка нового порта</title>
<para>Перед посылкой нового порта удостоверьтесь, что вы прочитали
- раздел о том, что <link
- linkend="porting-dads">можно и нельзя</link> делать.</para>
+ раздел о том, что <link linkend="porting-dads">можно и нельзя</link> делать.</para>
<para>Теперь, когда вы счастливы от своего первого порта, единственное,
что осталось сделать, это включить его в основное дерево портов
@@ -440,16 +434,15 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
<para>Включите ваш файл <literal>oneko.shar</literal>
в сообщение об ошибке и пошлите
- его с помощью программы &man.send-pr.1; (обратитесь к разделу <ulink
- url="&url.articles.contributing;/contrib-how.html#CONTRIB-GENERAL">
- Сообщения об ошибках и общие замечания</ulink> для получения подробной
+ его с помощью программы &man.send-pr.1; (обратитесь к разделу <link xlink:href="&url.articles.contributing;/contrib-how.html#CONTRIB-GENERAL">
+ Сообщения об ошибках и общие замечания</link> для получения подробной
информации о программе &man.send-pr.1;). Не забудьте
указать в сообщении категорию <literal>ports</literal> и класс
<literal>change-request</literal> (Не указывайте, что сообщение
имеет статус <literal>confidential</literal>!). Добавьте также
краткое описание программы, порт которой вы создали, в раздел
<quote>Description</quote> отправляемого PR (например, содержимое
- <makevar>COMMENT</makevar> в сокращенном виде) и сам файл в виде архива
+ <varname>COMMENT</varname> в сокращенном виде) и сам файл в виде архива
shar, поместив его в раздел <quote>Fix</quote>.</para>
<note>
@@ -469,21 +462,19 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
<para>После того как вы послали порт, пожалуйста, потерпите.
Иногда включение нового порта во &os; может занять до нескольких
- месяцев, а иногда всего несколько дней. <ulink
- url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?category=ports">
- Здесь</ulink> вы можете найти список PR для портов ожидающих своей
+ месяцев, а иногда всего несколько дней. <link xlink:href="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?category=ports">
+ Здесь</link> вы можете найти список PR для портов ожидающих своей
очереди для включения во &os;.</para>
<para>Мы рассмотрим ваш порт, при необходимости вернём его обратно, а
затем включим порт в наше дерево. Ваше имя также будет добавлено
- в список <ulink
- url="&url.articles.contributors;/contrib-additional.html">
- Дополнительных контрибуторов проекта FreeBSD</ulink> и другие
+ в список <link xlink:href="&url.articles.contributors;/contrib-additional.html">
+ Дополнительных контрибуторов проекта FreeBSD</link> и другие
файлы.</para>
</sect1>
</chapter>
- <chapter id="slow">
+ <chapter xml:id="slow">
<title>Медленное портирование</title>
<para>Итак, все оказалось не так уж и просто, и порт потребовал
@@ -491,7 +482,7 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
разделе мы расскажем, шаг за шагом, как его модифицировать, чтобы он
работал с нашей системой портов.</para>
- <sect1 id="slow-work">
+ <sect1 xml:id="slow-work">
<title>Как всё это работает</title>
<para>Во-первых, когда пользователь дает в своем каталоге с портом
@@ -506,47 +497,46 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
<procedure>
<step>
- <para>Запускается цель <maketarget>fetch</maketarget>. Цель
- <maketarget>fetch</maketarget> отвечает за то, что архив исходных
+ <para>Запускается цель <buildtarget>fetch</buildtarget>. Цель
+ <buildtarget>fetch</buildtarget> отвечает за то, что архив исходных
текстов имеется в наличии локально в каталоге
- <makevar>DISTDIR</makevar>. Если цель
- <maketarget>fetch</maketarget> не может найти требуемые файлы в
- каталоге <makevar>DISTDIR</makevar>, то он будет искаться по
- указателю URL <makevar>MASTER_SITES</makevar>, который
+ <varname>DISTDIR</varname>. Если цель
+ <buildtarget>fetch</buildtarget> не может найти требуемые файлы в
+ каталоге <varname>DISTDIR</varname>, то он будет искаться по
+ указателю URL <varname>MASTER_SITES</varname>, который
устанавливается в Makefile, а также на нашем основном FTP-сервере
- по адресу <ulink
- url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/"></ulink>,
+ по адресу <uri xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/">ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</uri>,
куда мы по возможности помещаем дистрибутивные файлы для архива.
Затем она попытается сгрузить указанный файл с помощью
- <makevar>FETCH</makevar>, полагая, что запрашивающая машина имеет
+ <varname>FETCH</varname>, полагая, что запрашивающая машина имеет
прямое подключение к Интернет. Если файл скачается удачно, то
- он будет помещен в каталог <makevar>DISTDIR</makevar> для
+ он будет помещен в каталог <varname>DISTDIR</varname> для
последующего использования и обработки.</para>
</step>
<step>
- <para>Выполняется цель <maketarget>extract</maketarget>. Она ищет
+ <para>Выполняется цель <buildtarget>extract</buildtarget>. Она ищет
дистрибутивный файл порта (как правило, tar-архив
<command>gzip</command>) в
- каталоге <makevar>DISTDIR</makevar> и распаковывает его во
+ каталоге <varname>DISTDIR</varname> и распаковывает его во
временный каталог, задаваемый переменной
- <makevar>WRKDIR</makevar> (по умолчанию
+ <varname>WRKDIR</varname> (по умолчанию
<filename>work</filename>).</para>
</step>
<step>
- <para>Выполняется цель <maketarget>patch</maketarget>. Во-первых,
+ <para>Выполняется цель <buildtarget>patch</buildtarget>. Во-первых,
применяются все патчи, заданные переменной
- <makevar>PATCHFILES</makevar>. Во-вторых, если какие-либо файлы с
+ <varname>PATCHFILES</varname>. Во-вторых, если какие-либо файлы с
патчами, носящие имена
- <filename>patch-<replaceable>*</replaceable></filename>, имеются в
- подкаталоге <makevar>PATCHDIR</makevar> (по умолчанию это каталог
+ <filename>patch-*</filename>, имеются в
+ подкаталоге <varname>PATCHDIR</varname> (по умолчанию это каталог
<filename>files</filename>), то они применяются в этот момент в
алфавитном порядке.</para>
</step>
<step>
- <para>Запускается цель <maketarget>configure</maketarget>. Здесь
+ <para>Запускается цель <buildtarget>configure</buildtarget>. Здесь
может выполняться любая из многих различных вещей.</para>
<orderedlist>
@@ -557,19 +547,19 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
</listitem>
<listitem>
- <para>Если задана переменная <makevar>HAS_CONFIGURE</makevar>
- или <makevar>GNU_CONFIGURE</makevar>, то запускается скрипт
- <filename><makevar>WRKSRC</makevar>/configure</filename>.
+ <para>Если задана переменная <varname>HAS_CONFIGURE</varname>
+ или <varname>GNU_CONFIGURE</varname>, то запускается скрипт
+ <filename>WRKSRC/configure</filename>.
</para>
</listitem>
</orderedlist>
</step>
<step>
- <para>Выполняется цель <maketarget>build</maketarget>. Она
+ <para>Выполняется цель <buildtarget>build</buildtarget>. Она
отвечает за переход в собственный рабочий каталог порта
- (<makevar>WRKSRC</makevar>) и его построение. Если задана
- переменная <makevar>USES= gmake</makevar>, будет использоваться
+ (<varname>WRKSRC</varname>) и его построение. Если задана
+ переменная <varname>USES= gmake</varname>, будет использоваться
GNU-версия утилиты <command>make</command>, в противном случае
будет использована системная утилита
<command>make</command>.</para>
@@ -578,18 +568,18 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
<para>Выше перечислены стандартные действия. Кроме того, вы сами
можете определить цели
- <maketarget>pre-<replaceable>что-то</replaceable></maketarget> или
- <maketarget>post-<replaceable>что-то</replaceable></maketarget>,
+ <buildtarget>pre-<replaceable>что-то</replaceable></buildtarget> или
+ <buildtarget>post-<replaceable>что-то</replaceable></buildtarget>,
или создать скрипты с такими именами в подкаталоге
<filename>scripts</filename>, и они будут запущены до или после
выполнения действий по умолчанию.</para>
<para>Например, если у вас есть цель
- <maketarget>post-extract</maketarget>, определённая в вашем файле
+ <buildtarget>post-extract</buildtarget>, определённая в вашем файле
<filename>Makefile</filename> и файл <filename>pre-build</filename> в
подкаталоге
<filename>scripts</filename>, то после выполнения обычных действий по
- распаковке, будет вызвана цель <maketarget>post-extract</maketarget>
+ распаковке, будет вызвана цель <buildtarget>post-extract</buildtarget>
а скрипт <filename>pre-build</filename> будет выполнен перед
запуском стандартных правил построения. Рекомендуется использовать
цели из <filename>Makefile</filename>, если действия достаточно
@@ -597,24 +587,24 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
нестандартные действия требует порт.</para>
<para>Действия по умолчанию выполняются целями
- <maketarget>do-<replaceable>что-то</replaceable></maketarget> из
+ <buildtarget>do-<replaceable>что-то</replaceable></buildtarget> из
<filename>bsd.port.mk</filename>. Например, команды для
распаковки порта находятся в цели
- <maketarget>do-extract</maketarget>. Если вам не хватает цели по
+ <buildtarget>do-extract</buildtarget>. Если вам не хватает цели по
умолчанию, вы можете ее исправить, переопределив цель
- <maketarget>do-<replaceable>something</replaceable></maketarget>
+ <buildtarget>do-<replaceable>something</replaceable></buildtarget>
в вашем файле <filename>Makefile</filename>.</para>
<note>
<para><quote>Основные</quote> цели (к примеру,
- <maketarget>extract</maketarget>, <maketarget>configure</maketarget>
+ <buildtarget>extract</buildtarget>, <buildtarget>configure</buildtarget>
и так далее) не делают ничего больше,
чем проверяют успешность завершения всех предыдущих шагов и
вызывают настоящие цели или скрипты, и их не нужно менять. Если
вам нужно изменить распаковку, исправляйте
- <maketarget>do-extract</maketarget>, но никогда не меняйте способ
- работы <maketarget>extract</maketarget>! Кроме того, цель
- <maketarget>post-deinstall</maketarget> является недействительной
+ <buildtarget>do-extract</buildtarget>, но никогда не меняйте способ
+ работы <buildtarget>extract</buildtarget>! Кроме того, цель
+ <buildtarget>post-deinstall</buildtarget> является недействительной
и не выполняется инфраструктурой портов.</para>
</note>
@@ -623,19 +613,19 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
через шаги, рекомендуемые для создания настоящего порта.</para>
</sect1>
- <sect1 id="slow-sources">
+ <sect1 xml:id="slow-sources">
<title>Получение исходного кода</title>
<para>Получите оригинальные исходные тексты (обычно) в виде
упакованного tar-архива
- (<filename><replaceable>foo</replaceable>.tar.gz</filename> или
- <filename><replaceable>foo</replaceable>.tar.bz2</filename>)
- и скопируйте его в каталог <makevar>DISTDIR</makevar>. Всегда
+ (<filename>foo.tar.gz</filename> или
+ <filename>foo.tar.bz2</filename>)
+ и скопируйте его в каталог <varname>DISTDIR</varname>. Всегда
используйте исходные тексты <emphasis>основной ветки
разработки</emphasis> везде, где это возможно.</para>
<para>Вам потребуется задать значение переменной
- <makevar>MASTER_SITES</makevar> так, чтобы оно указывало на
+ <varname>MASTER_SITES</varname> так, чтобы оно указывало на
местоположение оригинального tar-архива. В файле
<filename>bsd.sites.mk</filename> вы найдёте краткие обозначения
для большинства популярных сайтов. Пожалуйста, используйте эти
@@ -652,20 +642,20 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
<para>Если вы не можете найти доступного и надёжного места для
помещения дистрибутивного файла, то мы сами сможем разместить его на
- сервере <hostid>ftp.FreeBSD.org</hostid>; однако это наименее
+ сервере <systemitem>ftp.FreeBSD.org</systemitem>; однако это наименее
рекомендуемое решение. Дистрибутивный файл должен
быть помещён в каталог <filename>~/public_distfiles/</filename>
- одного из пользователей машины <hostid>freefall</hostid>. Попросите
+ одного из пользователей машины <systemitem>freefall</systemitem>. Попросите
того, кто коммиттил ваш порт, сделать это. Этот человек также задаст
- переменной <makevar>MASTER_SITES</makevar> значение
- <makevar>MASTER_SITE_LOCAL</makevar>, а в переменной
- <makevar>MASTER_SITE_SUBDIR</makevar> укажет своё имя пользователя
- с машины <hostid>freefall</hostid>.</para>
+ переменной <varname>MASTER_SITES</varname> значение
+ <varname>MASTER_SITE_LOCAL</varname>, а в переменной
+ <varname>MASTER_SITE_SUBDIR</varname> укажет своё имя пользователя
+ с машины <systemitem>freefall</systemitem>.</para>
<para>Если дистрибутивные файлы вашего порта постоянно меняются по
неизвестным причинам без изменения версий со стороны автора, остаётся
только поместить дистрибутив на вашу домашнюю Web-страницу и указать
- её первой в списке <makevar>MASTER_SITES</makevar>. Если можете,
+ её первой в списке <varname>MASTER_SITES</varname>. Если можете,
попытайтесь договориться с автором порта об этом; это действительно
помогает в достижении некоторого управления исходным кодом.
Размещение собственной версии поможет избежать появления ошибок у
@@ -673,17 +663,16 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
также уменьшит нагрузку на людей, сопровождающих наш FTP-сервер.
Также, если у порта имеется только один основной сервер, то
рекомендуется поместить архивную копию на свой сайт и указать его в
- списке <makevar>MASTER_SITES</makevar> вторым.</para>
+ списке <varname>MASTER_SITES</varname> вторым.</para>
<para>Если вашему порту требуются дополнительные `патчи', доступные
в Интернет, скачайте также и их, поместив в каталог
- <makevar>DISTDIR</makevar>. Не волнуйтесь, если они находятся не
+ <varname>DISTDIR</varname>. Не волнуйтесь, если они находятся не
на том же сайте, откуда взят дистрибутивный архив, мы умеем
- обрабатывать такие ситуации (смотрите описание <link
- linkend="porting-patchfiles">PATCHFILES</link> ниже).</para>
+ обрабатывать такие ситуации (смотрите описание <link linkend="porting-patchfiles">PATCHFILES</link> ниже).</para>
</sect1>
- <sect1 id="slow-modifying">
+ <sect1 xml:id="slow-modifying">
<title>Модификация порта</title>
<para>Распакуйте копию дистрибутивного файла в отдельный каталог и
@@ -713,7 +702,7 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
</note>
</sect1>
- <sect1 id="slow-patch">
+ <sect1 xml:id="slow-patch">
<title>Создание патчей</title>
<para>Файлы, которые добавлялись или изменялись в процессе создания
@@ -721,21 +710,21 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
а результат работы этой программы может быть в дальнейшем передан
программе &man.patch.1;. Каждый патч, который вы собираетесь
применить, должен быть сохранен в файл с именем
- <filename>patch-<replaceable>*</replaceable></filename>, где
+ <filename>patch-*</filename>, где
<replaceable>*</replaceable> обозначает путь к файлу, к которому
применяется патч, такой как
<filename>patch-Imakefile</filename> или
<filename>patch-src-config.h</filename>. Эти файлы должны находиться в
- каталоге <makevar>PATCHDIR</makevar>
+ каталоге <varname>PATCHDIR</varname>
(как правило, это <filename>files/</filename>),
откуда они будут взяты автоматически. Все патчи обязаны быть сделаны
- относительно каталога <makevar>WRKSRC</makevar> (как правило,
+ относительно каталога <varname>WRKSRC</varname> (как правило,
это каталог, в который распаковывается исходный архив и где будет
выполняться построение). Для упрощения внесения изменений и
обновлений вы должны избегать наличия более чем одного патча для
одного и того же файла (например, патчей
<filename>patch-file</filename> и <filename>patch-file2</filename>,
- оба меняющих файл <filename><makevar>WRKSRC</makevar>/foobar.c</filename>).
+ оба меняющих файл <filename>WRKSRC/foobar.c</filename>).
Обратите внимание, что если путь к изменяемому файлу содержит символ
подчеркивания (<literal>_</literal>), то патч должен содержать в своем
имени два подчеркивания вместо одного. Например, для применения патча
@@ -785,7 +774,7 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
что конкретно вызвало проблему и что вы вообще изменили.</para>
<para>Если вам нужно удалить файл, то вы можете сделать это при
- выполнении цели <maketarget>post-extract</maketarget> вместо того,
+ выполнении цели <buildtarget>post-extract</buildtarget> вместо того,
чтобы оформлять это как часть патча.</para>
<para>Простые перемещения могут быть выполнены непосредственно из
@@ -809,7 +798,7 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
<programlisting>USE_DOS2UNIX= util.c util.h</programlisting>
<para>Если вы хотите преобразовать группу файлов в разных подкаталогах,
- то для этого можно использовать <makevar>DOS2UNIX_REGEX</makevar>.
+ то для этого можно использовать <varname>DOS2UNIX_REGEX</varname>.
Его параметром является регулярное выражение, совместимое с
<command>find</command>. Подробнее о формате в &man.re.format.7;.
Эта опция используется для преобразования всех файлов заданного
@@ -821,12 +810,12 @@ DOS2UNIX_REGEX= .*\.(c|cpp|h)</programlisting>
<para>Если вы хотите создать патч на основе существующего файла, то вы
можете его скопировать с расширением <filename>.orig</filename>, а
- затем изменить исходный. Цель<maketarget>makepatch</maketarget>
+ затем изменить исходный. Цель<buildtarget>makepatch</buildtarget>
запишет соответствующий файл с патчем в каталог
- <filename class="directory">files</filename> данного порта.</para>
+ <filename>files</filename> данного порта.</para>
</sect1>
- <sect1 id="slow-configure">
+ <sect1 xml:id="slow-configure">
<title>Конфигурирование</title>
<para>Поместите все дополнительные команды, требуемые для настройки,
@@ -837,12 +826,12 @@ DOS2UNIX_REGEX= .*\.(c|cpp|h)</programlisting>
<filename>post-configure</filename>.</para>
</sect1>
- <sect1 id="slow-user-input">
+ <sect1 xml:id="slow-user-input">
<title>Обработка пользовательского ввода</title>
<para>Если для построения, конфигурации или установки вашего порта
требуется некоторый ввод со стороны пользователя, то вы должны задать
- переменную <makevar>IS_INTERACTIVE</makevar> в вашем файле
+ переменную <varname>IS_INTERACTIVE</varname> в вашем файле
<filename>Makefile</filename>. В случае <quote>ночного
построения</quote> это позволит пропустить
ваш порт, если пользователь в своем окружении задал переменную
@@ -854,49 +843,48 @@ DOS2UNIX_REGEX= .*\.(c|cpp|h)</programlisting>
<para>При наличии разумных ответов на задаваемые вопросы, подходящих по
умолчанию, также рекомендуется проверять переменную
- <makevar>PACKAGE_BUILDING</makevar> и выключать интерактивный скрипт,
+ <varname>PACKAGE_BUILDING</varname> и выключать интерактивный скрипт,
если он есть. Это позволит нам строить пакеты для помещения на
компакт-диски и FTP-серверы.</para>
</sect1>
</chapter>
- <chapter id="makefile">
+ <chapter xml:id="makefile">
<title>Настройка файла Makefile</title>
<para>Настройка файла <filename>Makefile</filename> достаточно проста, и
мы снова предполагаем, что перед тем, как начать, вы посмотрите на
- существующие примеры. К тому же в этом руководстве имеется <link
- linkend="porting-samplem">примерный Makefile</link>, так что взгляните
+ существующие примеры. К тому же в этом руководстве имеется <link linkend="porting-samplem">примерный Makefile</link>, так что взгляните
на него и, пожалуйста, следуйте порядку переменных и разделов в этом
образце, чтобы облегчить чтение вашего порта другими людьми.</para>
<para>Итак, расположим решаемые задачи в порядке их возникновения при
создании вашего нового файла <filename>Makefile</filename>:</para>
- <sect1 id="makefile-source">
+ <sect1 xml:id="makefile-source">
<title>Оригинальные исходный код</title>
- <para>Находится ли он в каталоге <makevar>DISTDIR</makevar> в виде
+ <para>Находится ли он в каталоге <varname>DISTDIR</varname> в виде
стандартного упакованного архиватором <command>gzip</command>
tar-архива с именем типа
<filename>foozolix-1.2.tar.gz</filename>? Если это так,
можно перейти к следующему шагу. Если нет, то вы должны попытаться
переопределить некоторые из переменных
- <makevar>DISTVERSION</makevar>, <makevar>DISTNAME</makevar>,
- <makevar>EXTRACT_CMD</makevar>,
- <makevar>EXTRACT_BEFORE_ARGS</makevar>,
- <makevar>EXTRACT_AFTER_ARGS</makevar>,
- <makevar>EXTRACT_SUFX</makevar> или <makevar>DISTFILES</makevar> в
+ <varname>DISTVERSION</varname>, <varname>DISTNAME</varname>,
+ <varname>EXTRACT_CMD</varname>,
+ <varname>EXTRACT_BEFORE_ARGS</varname>,
+ <varname>EXTRACT_AFTER_ARGS</varname>,
+ <varname>EXTRACT_SUFX</varname> или <varname>DISTFILES</varname> в
зависимости от того, насколько необычен формат дистрибутивного
файла.</para>
<para>В худшем случае вы можете просто определить свою собственную цель
- <maketarget>do-extract</maketarget> для переопределения действий по
+ <buildtarget>do-extract</buildtarget> для переопределения действий по
умолчанию, хотя к этому нужно будет прибегать в очень редких случаях,
если вообще придётся.</para>
</sect1>
- <sect1 id="makefile-naming">
+ <sect1 xml:id="makefile-naming">
<title>Именование</title>
<para>В первой части <filename>Makefile</filename> порта ему даётся
@@ -904,36 +892,36 @@ DOS2UNIX_REGEX= .*\.(c|cpp|h)</programlisting>
категории.</para>
<sect2>
- <title><makevar>PORTNAME</makevar> и
- <makevar>PORTVERSION</makevar></title>
+ <title><varname>PORTNAME</varname> и
+ <varname>PORTVERSION</varname></title>
- <para>В переменной <makevar>PORTNAME</makevar> вы должны указать
+ <para>В переменной <varname>PORTNAME</varname> вы должны указать
основную часть имени вашего порта, а в переменной
- <makevar>PORTVERSION</makevar> - номер версии.</para>
+ <varname>PORTVERSION</varname> - номер версии.</para>
</sect2>
- <sect2 id="makefile-naming-revepoch">
- <title><makevar>PORTREVISION</makevar> и
- <makevar>PORTEPOCH</makevar></title>
+ <sect2 xml:id="makefile-naming-revepoch">
+ <title><varname>PORTREVISION</varname> и
+ <varname>PORTEPOCH</varname></title>
<sect3>
- <title><makevar>PORTREVISION</makevar></title>
+ <title><varname>PORTREVISION</varname></title>
- <para>Переменная <makevar>PORTREVISION</makevar> представляет собой
+ <para>Переменная <varname>PORTREVISION</varname> представляет собой
монотонно увеличивающееся число, которое обнуляется при каждом
- увеличении значения переменной <makevar>PORTVERSION</makevar> (то
+ увеличении значения переменной <varname>PORTVERSION</varname> (то
есть каждый раз, когда создателями выпускается новый официальный
релиз), и добавляется к имени пакета, если оно не равно нулю.
- Изменения в <makevar>PORTREVISION</makevar> используются
+ Изменения в <varname>PORTREVISION</varname> используются
автоматизированными инструментами (например, &man.pkg.version.1;)
для определения факта появления нового пакета.</para>
- <para>Значение <makevar>PORTREVISION</makevar> должно увеличиваться
+ <para>Значение <varname>PORTREVISION</varname> должно увеличиваться
каждый раз, когда в порте FreeBSD делаются изменения, которые
достаточно сильно затрагивают содержимое или структуру
соответствующего пакета.</para>
- <para>Примеры случаев, когда значение <makevar>PORTREVISION</makevar>
+ <para>Примеры случаев, когда значение <varname>PORTREVISION</varname>
должно быть увеличено:</para>
<itemizedlist>
@@ -968,7 +956,7 @@ DOS2UNIX_REGEX= .*\.(c|cpp|h)</programlisting>
порта, происходящие без объявлений, и приводящие к большим
изменениям, то есть изменения в дистрибутиве требуют
корректировки файла <filename>distinfo</filename> без
- соответствующего изменения <makevar>PORTVERSION</makevar>,
+ соответствующего изменения <varname>PORTVERSION</varname>,
когда как команда <command>diff -ru</command> между новой
и старой версиями показывает нетривиальные изменения в
коде.</para>
@@ -976,7 +964,7 @@ DOS2UNIX_REGEX= .*\.(c|cpp|h)</programlisting>
</itemizedlist>
<para>Примеры изменений, которые не требуют увеличения переменной
- <makevar>PORTREVISION</makevar>:</para>
+ <varname>PORTREVISION</varname>:</para>
<itemizedlist>
<listitem>
@@ -985,7 +973,7 @@ DOS2UNIX_REGEX= .*\.(c|cpp|h)</programlisting>
</listitem>
<listitem>
- <para>Изменения в переменной <makevar>MASTER_SITES</makevar> или
+ <para>Изменения в переменной <varname>MASTER_SITES</varname> или
другие функциональные изменения порта, которые не затрагивают
получающегося пакета.</para>
</listitem>
@@ -1001,9 +989,9 @@ DOS2UNIX_REGEX= .*\.(c|cpp|h)</programlisting>
возможным построение пакета, если ранее это было невозможно
сделать (пока изменения не приводят к изменению работы на любых
других платформах, на которых порт ранее строился). Так как
- <makevar>PORTREVISION</makevar> отражает содержимое пакета,
+ <varname>PORTREVISION</varname> отражает содержимое пакета,
то, если ранее пакет не строился, то нет нужды увеличивать
- <makevar>PORTREVISION</makevar> для отметки изменения.</para>
+ <varname>PORTREVISION</varname> для отметки изменения.</para>
</listitem>
</itemizedlist>
@@ -1014,11 +1002,11 @@ DOS2UNIX_REGEX= .*\.(c|cpp|h)</programlisting>
пакет будет вообще работоспособным), и примите во внимание тот
факт, что при этом все, кто регулярно обновляют своё дерево портов,
будут обязаны это сделать. Если это так, то переменная
- <makevar>PORTREVISION</makevar> должна быть увеличена.</para>
+ <varname>PORTREVISION</varname> должна быть увеличена.</para>
</sect3>
<sect3>
- <title><makevar>PORTEPOCH</makevar></title>
+ <title><varname>PORTEPOCH</varname></title>
<para>Время от времени разработчик программного обеспечения или
создатель порта FreeBSD делают что-то не так и выпускают версию
@@ -1035,12 +1023,12 @@ DOS2UNIX_REGEX= .*\.(c|cpp|h)</programlisting>
<command>pkg version -t</command>. Например:</para>
<screen>&prompt.user; <userinput>pkg_version -t 0.031 0.29</userinput>
-></screen>
+&gt;</screen>
<para>Для пользователей <application>pkgng</application>:</para>
<screen>&prompt.user; <userinput>pkg version -t 0.031 0.29</userinput>
-></screen>
+&gt;</screen>
<para>Строка <literal>&gt;</literal> в выводе команды означает,
что версия 0.031 считается выше, чем версия 0.29, что может
@@ -1048,10 +1036,10 @@ DOS2UNIX_REGEX= .*\.(c|cpp|h)</programlisting>
</tip>
<para>В ситуациях, подобных этой, должно быть увеличено значение
- <makevar>PORTEPOCH</makevar>. Если значение
- <makevar>PORTEPOCH</makevar> не равно нулю, то оно добавляется к
+ <varname>PORTEPOCH</varname>. Если значение
+ <varname>PORTEPOCH</varname> не равно нулю, то оно добавляется к
имени пакета, как описано в разделе выше. Значение
- <makevar>PORTEPOCH</makevar> никогда не должно уменьшаться или
+ <varname>PORTEPOCH</varname> никогда не должно уменьшаться или
сбрасываться в ноль, потому что это приведёт к ошибке сравнения с
пакетом с меньшим номером эпохи (то есть то, что пакет устарел,
обнаружено не будет): номер новой версии (например,
@@ -1062,14 +1050,14 @@ DOS2UNIX_REGEX= .*\.(c|cpp|h)</programlisting>
чем предполагаемый суффикс <literal>,0</literal> более раннего
пакета).</para>
- <para>Некорректное уменьшение или сброс <makevar>PORTEPOCH</makevar>
+ <para>Некорректное уменьшение или сброс <varname>PORTEPOCH</varname>
приводит к печальным последствиям; если вы не поняли, о чём шла
речь ранее, пожалуйста, всё же разберитесь с этим, либо спросите
в списках рассылки.</para>
<para>Предполагается, что в большинстве портов переменная
- <makevar>PORTEPOCH</makevar> использоваться не будет, но при
- корректном использовании <makevar>PORTVERSION</makevar> может
+ <varname>PORTEPOCH</varname> использоваться не будет, но при
+ корректном использовании <varname>PORTVERSION</varname> может
появиться необходимость её иметь, если в будущих релизах
программное обеспечение должно изменить структуру номера версии.
Однако создателям портов нужно быть внимательными, когда
@@ -1082,15 +1070,15 @@ DOS2UNIX_REGEX= .*\.(c|cpp|h)</programlisting>
<para>Например, если промежуточный релиз помечен датой 20000917, а
предыдущая версия программного обеспечения имела номер 1.2, то
промежуточному релизу должно быть поставлено в соответствие
- значение <makevar>PORTVERSION</makevar>, равное 1.2.20000917 или
+ значение <varname>PORTVERSION</varname>, равное 1.2.20000917 или
что-то похожее, но не 20000917, так как последующий релиз, скажем,
1.3, должен иметь численно большее значение.</para>
</sect3>
<sect3>
<title>Пример использования переменных
- <makevar>PORTREVISION</makevar> и
- <makevar>PORTEPOCH</makevar></title>
+ <varname>PORTREVISION</varname> и
+ <varname>PORTEPOCH</varname></title>
<para>Выполнен коммит порта <literal>gtkmumble</literal>, версии
<literal>0.10</literal>, в коллекцию портов.</para>
@@ -1098,19 +1086,19 @@ DOS2UNIX_REGEX= .*\.(c|cpp|h)</programlisting>
<programlisting>PORTNAME= gtkmumble
PORTVERSION= 0.10</programlisting>
- <para>Значение <makevar>PKGNAME</makevar> станет равным
+ <para>Значение <varname>PKGNAME</varname> станет равным
<literal>gtkmumble-0.10</literal>.</para>
<para>Обнаружена брешь в безопасности, исправление которой
потребовало создания
локального патча для FreeBSD. Соответственно было увеличено
- значение переменной <makevar>PORTREVISION</makevar>.</para>
+ значение переменной <varname>PORTREVISION</varname>.</para>
<programlisting>PORTNAME= gtkmumble
PORTVERSION= 0.10
PORTREVISION= 1</programlisting>
- <para><makevar>PKGNAME</makevar> принимает значение
+ <para><varname>PKGNAME</varname> принимает значение
<literal>gtkmumble-0.10_1</literal></para>
<para>Разработчиком выпущена новая версия с номером
@@ -1120,68 +1108,67 @@ PORTREVISION= 1</programlisting>
версии 0.9</quote> - извините, теперь уже поздно). Так как новый
младший номер версии <literal>2</literal> по значению меньше, чем
номер предыдущей версии <literal>10</literal>, то должно быть
- увеличено значение <makevar>PORTEPOCH</makevar> для того, чтобы
+ увеличено значение <varname>PORTEPOCH</varname> для того, чтобы
заставить распознавать вновь создаваемый пакет как <quote>более
новый</quote>. Так как это новый релиз программы, то
- <makevar>PORTREVISION</makevar> обнуляется (или удаляется из
+ <varname>PORTREVISION</varname> обнуляется (или удаляется из
файла <filename>Makefile</filename>).</para>
<programlisting>PORTNAME= gtkmumble
PORTVERSION= 0.2
PORTEPOCH= 1</programlisting>
- <para><makevar>PKGNAME</makevar> принимает значение
+ <para><varname>PKGNAME</varname> принимает значение
<literal>gtkmumble-0.2,1</literal></para>
<para>Следующий релиз имеет номер версии 0.3. Так как значение
- переменной <makevar>PORTEPOCH</makevar> никогда не уменьшается, что
+ переменной <varname>PORTEPOCH</varname> никогда не уменьшается, что
переменные, определяющие версии, теперь выглядят так:</para>
<programlisting>PORTNAME= gtkmumble
PORTVERSION= 0.3
PORTEPOCH= 1</programlisting>
- <para><makevar>PKGNAME</makevar> принимает значение
+ <para><varname>PKGNAME</varname> принимает значение
<literal>gtkmumble-0.3,1</literal></para>
<note>
- <para>Если значение <makevar>PORTEPOCH</makevar> этим обновлением
+ <para>Если значение <varname>PORTEPOCH</varname> этим обновлением
было бы сброшено в <literal>0</literal>, то кто-нибудь, имеющий
установленный пакет <literal>gtkmumble-0.10_1</literal>, не
смог бы опознать пакет <literal>gtkmumble-0.3</literal> как
более новый, так как <literal>3</literal> было бы меньше, чем
<literal>10</literal>. Помните, что в первую очередь это
- касается <makevar>PORTEPOCH</makevar>.</para>
+ касается <varname>PORTEPOCH</varname>.</para>
</note>
</sect3>
</sect2>
<sect2>
- <title>Переменные <makevar>PKGNAMEPREFIX</makevar>
- и <makevar>PKGNAMESUFFIX</makevar></title>
-
- <para>Две необязательные переменные, <makevar>PKGNAMEPREFIX</makevar> и
- <makevar>PKGNAMESUFFIX</makevar>, объединяются со значениями
- <makevar>PORTNAME</makevar> и
- <makevar>PORTVERSION</makevar> для формирования
- <makevar>PKGNAME</makevar> в форме
+ <title>Переменные <varname>PKGNAMEPREFIX</varname>
+ и <varname>PKGNAMESUFFIX</varname></title>
+
+ <para>Две необязательные переменные, <varname>PKGNAMEPREFIX</varname> и
+ <varname>PKGNAMESUFFIX</varname>, объединяются со значениями
+ <varname>PORTNAME</varname> и
+ <varname>PORTVERSION</varname> для формирования
+ <varname>PKGNAME</varname> в форме
<literal>${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}</literal>.
- Добейтесь того, чтобы это соответствовало нашим <link
- linkend="porting-pkgname">рекомендациям по правильному выбору
+ Добейтесь того, чтобы это соответствовало нашим <link linkend="porting-pkgname">рекомендациям по правильному выбору
названий для пакетов</link>. В частности, в переменной
- <makevar>PORTVERSION</makevar> <emphasis>не разрешается</emphasis>
+ <varname>PORTVERSION</varname> <emphasis>не разрешается</emphasis>
использование дефиса (<literal>-</literal>). Кроме того, если в
имени пакета присутствует часть <replaceable>language-</replaceable>
или <replaceable>-compiled.specifics</replaceable> (смотрите ниже),
- то используйте переменные <makevar>PKGNAMEPREFIX</makevar> и
- <makevar>PKGNAMESUFFIX</makevar>, соответственно. Не делайте их
- частью значения переменной <makevar>PORTNAME</makevar>.</para>
+ то используйте переменные <varname>PKGNAMEPREFIX</varname> и
+ <varname>PKGNAMESUFFIX</varname>, соответственно. Не делайте их
+ частью значения переменной <varname>PORTNAME</varname>.</para>
</sect2>
<sect2>
- <title><makevar>LATEST_LINK</makevar></title>
+ <title><varname>LATEST_LINK</varname></title>
- <para><makevar>LATEST_LINK</makevar> задает в процессе построения
+ <para><varname>LATEST_LINK</varname> задает в процессе построения
пакета короткое имя ссылки, которые могут использоваться при
выполнении команды <command>pkg_add -r</command>. Это позволяет,
к примеру, установить последнюю версию perl, используя
@@ -1193,15 +1180,15 @@ PORTEPOCH= 1</programlisting>
несколько версий программы одновременно. Обе системы, построения
индексов и построения пакетов, нуждаются в способности их видеть
как разные, независимые порты, хотя все они могут иметь схожее
- значение для <makevar>PORTNAME</makevar>,
- <makevar>PKGNAMEPREFIX</makevar> и даже
- <makevar>PKGNAMESUFFIX</makevar>. В этих случаях для всех портов
+ значение для <varname>PORTNAME</varname>,
+ <varname>PKGNAMEPREFIX</varname> и даже
+ <varname>PKGNAMESUFFIX</varname>. В этих случаях для всех портов
кроме <quote>главного</quote> следует присвоить различные значения для
- необязательной переменной <makevar>LATEST_LINK</makevar> &mdash;
+ необязательной переменной <varname>LATEST_LINK</varname> &mdash;
чтобы получить пример ее использования, смотрите порты
<filename>lang/gcc46</filename> и <filename>lang/gcc</filename>,
а также семейство <filename>www/apache*</filename>. При установке
- <makevar>NO_LATEST_LINK</makevar> ссылки не создаются; эта
+ <varname>NO_LATEST_LINK</varname> ссылки не создаются; эта
необязательная переменная может быть указана во всех версиях,
кроме <quote>главной</quote>. Обратите
внимание, как выбирать <quote>главную</quote> версию &mdash;
@@ -1212,7 +1199,7 @@ PORTEPOCH= 1</programlisting>
вы выбрали <quote>главный</quote>.</para>
</sect2>
- <sect2 id="porting-pkgname">
+ <sect2 xml:id="porting-pkgname">
<title>Соглашения по именованию пакетов</title>
<para>Далее описаны некоторые соглашения, которым вы должны следовать
@@ -1222,7 +1209,7 @@ PORTEPOCH= 1</programlisting>
взору!</para>
<para>Имя пакета должно иметь вид
- <filename><replaceable><optional>language<optional>_region</optional></optional>-name<optional><optional>-</optional>compiled.specifics</optional>-version.numbers</replaceable></filename>.</para>
+ <filename>language_region-name-compiled.specifics-version.numbers</filename>.</para>
<para>Имя пакета определяется как
<literal>${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}</literal>.
@@ -1247,7 +1234,7 @@ PORTEPOCH= 1</programlisting>
English и <literal>fr_CH</literal> для Swiss French.</para>
<para>Часть <replaceable>language-</replaceable> должна задаваться
- в переменной <makevar>PKGNAMEPREFIX</makevar>.</para>
+ в переменной <varname>PKGNAMEPREFIX</varname>.</para>
</listitem>
<listitem>
@@ -1264,25 +1251,24 @@ PORTEPOCH= 1</programlisting>
<listitem>
<para>Убедитесь, что имя порта и версия четко отделены и
- размещаются в переменных <makevar>PORTNAME</makevar> и
- <makevar>PORTVERSION</makevar>. Единственная причина, по
- которой <makevar>PORTNAME</makevar> содержит версионную часть,
+ размещаются в переменных <varname>PORTNAME</varname> и
+ <varname>PORTVERSION</varname>. Единственная причина, по
+ которой <varname>PORTNAME</varname> содержит версионную часть,
это если полученный дистрибутив сам назван таким образом, как
это сделано для портов <filename>textproc/libxml2</filename>
или <filename>japanese/kinput2-freewnn</filename>. В противном
- случае <makevar>PORTNAME</makevar> не должен содержать никакой
+ случае <varname>PORTNAME</varname> не должен содержать никакой
информации, указывающей на версию. То, что некоторые порты
- имеют одинаковый <makevar>PORTNAME</makevar>, является вполне
+ имеют одинаковый <varname>PORTNAME</varname>, является вполне
нормальным, как для портов <filename>www/apache*</filename>;
в этом случае различные версии (и различные записи в индексе)
- отличаются по значениям <makevar>PKGNAMEPREFIX</makevar>,
- <makevar>PKGNAMESUFFIX</makevar> и
- <makevar>LATEST_LINK</makevar>.</para>
+ отличаются по значениям <varname>PKGNAMEPREFIX</varname>,
+ <varname>PKGNAMESUFFIX</varname> и
+ <varname>LATEST_LINK</varname>.</para>
</listitem>
<listitem>
- <para>Если порт может быть построен с различными <link
- linkend="makefile-masterdir">статически заданными значениями по
+ <para>Если порт может быть построен с различными <link linkend="makefile-masterdir">статически заданными значениями по
умолчанию</link> (обычно это часть имени каталога в семействе
портов), то часть <replaceable>-compiled.specifics</replaceable>
должна определять вкомпилированные значения по умолчанию (дефис
@@ -1290,7 +1276,7 @@ PORTEPOCH= 1</programlisting>
шрифтов.</para>
<para>Часть <replaceable>-compiled.specifics</replaceable> должна
- задаваться в переменной <makevar>PKGNAMESUFFIX</makevar>.</para>
+ задаваться в переменной <varname>PKGNAMESUFFIX</varname>.</para>
</listitem>
<listitem>
@@ -1313,15 +1299,15 @@ PORTEPOCH= 1</programlisting>
по номеру версии. В частности, следите за тем, чтобы компоненты
номера версии разделялись точкой, и если там присутствует дата,
то используйте формат
- <literal>0.0.<replaceable>yyyy</replaceable>.<replaceable>mm</replaceable>.<replaceable>dd</replaceable></literal>, но не
- <literal><replaceable>dd</replaceable>.<replaceable>mm</replaceable>.<replaceable>yyyy</replaceable></literal>
+ <literal>0.0.yyyy.mm.dd</literal>, но не
+ <literal>dd.mm.yyyy</literal>
или не совместимый с проблемой Y2K
- <literal><replaceable>yy</replaceable>.<replaceable>mm</replaceable>.<replaceable>dd</replaceable></literal>.
+ <literal>yy.mm.dd</literal>.
Добавление к версии префикса <literal>0.0.</literal> является
важным, в случае если выпущен релиз с присвоением настоящей
версии, которая в числовом представлении, конечно же, будет
ниже, чем
- <literal><replaceable>yyyy</replaceable></literal>.</para>
+ <literal>yyyy</literal>.</para>
</listitem>
</orderedlist>
@@ -1335,13 +1321,13 @@ PORTEPOCH= 1</programlisting>
<row>
<entry>Имя дистрибутива</entry>
- <entry><makevar>PKGNAMEPREFIX</makevar></entry>
+ <entry><varname>PKGNAMEPREFIX</varname></entry>
- <entry><makevar>PORTNAME</makevar></entry>
+ <entry><varname>PORTNAME</varname></entry>
- <entry><makevar>PKGNAMESUFFIX</makevar></entry>
+ <entry><varname>PKGNAMESUFFIX</varname></entry>
- <entry><makevar>PORTVERSION</makevar></entry>
+ <entry><varname>PORTVERSION</varname></entry>
<entry>Обоснование</entry>
</row>
@@ -1467,22 +1453,22 @@ PORTEPOCH= 1</programlisting>
качестве номера версии задайте просто <literal>1.0</literal> (как в
примере с <literal>piewm</literal> выше). В противном случае
спросите автора программы или используйте дату
- (<literal>0.0.<replaceable>yyyy</replaceable>.<replaceable>mm</replaceable>.<replaceable>dd</replaceable></literal>)
+ (<literal>0.0.yyyy.mm.dd</literal>)
в качестве номера версии.</para>
</sect2>
</sect1>
- <sect1 id="makefile-categories">
+ <sect1 xml:id="makefile-categories">
<title>Разделение по категориям</title>
<sect2>
- <title><makevar>CATEGORIES</makevar></title>
+ <title><varname>CATEGORIES</varname></title>
<para>В процессе создания пакета он помещается в каталог
<filename>/usr/ports/packages/All</filename>, а в одном или более
подкаталогов из <filename>/usr/ports/packages</filename>
создаются на него ссылки. Имена этих подкаталогов определяются
- переменной <makevar>CATEGORIES</makevar>. Такая схема нужна для
+ переменной <varname>CATEGORIES</varname>. Такая схема нужна для
облегчения жизни пользователя, когда он сталкивается с массой
пакетов на FTP-сервере или компакт-диске. Пожалуйста, посмотрите на
<link linkend="porting-categories">текущий список категорий</link>
@@ -1492,12 +1478,11 @@ PORTEPOCH= 1</programlisting>
<para>Этот список также определяет, куда в дереве портов будет помещен
порт. Если вы укажете здесь более одной категории, то
предполагается, что файлы порта будут помещены в подкаталог с именем
- первой категории. Посмотрите <link
- linkend="choosing-categories">ниже</link> для получения
+ первой категории. Посмотрите <link linkend="choosing-categories">ниже</link> для получения
подробной информации о том, как правильно выбрать категории.</para>
</sect2>
- <sect2 id="porting-categories">
+ <sect2 xml:id="porting-categories">
<title>Текущий список категорий</title>
<para>Вот текущий список категорий. Те, которые отмечены
@@ -1508,7 +1493,7 @@ PORTEPOCH= 1</programlisting>
<note>
<para>Для невиртуальных категорий имеется однострочное описание
- в <makevar>COMMENT</makevar> в <filename>Makefile</filename>
+ в <varname>COMMENT</varname> в <filename>Makefile</filename>
соответствующего подкаталога.</para>
</note>
@@ -1529,63 +1514,62 @@ PORTEPOCH= 1</programlisting>
<entry><filename>accessibility</filename></entry>
<entry>Порты для помощи пользователям с ограниченными
возможностями.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>afterstep*</filename></entry>
- <entry>Порты, поддерживающие менеджер окон <ulink
- url="http://www.afterstep.org">AfterStep</ulink>.</entry>
- <entry></entry>
+ <entry>Порты, поддерживающие менеджер окон <link xlink:href="http://www.afterstep.org">AfterStep</link>.</entry>
+ <entry/>
</row>
<row>
<entry><filename>arabic</filename></entry>
<entry>Поддержка арабского языка.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>archivers</filename></entry>
<entry>Инструменты для работы с архивами.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>astro</filename></entry>
<entry>Приложения, связанные с астрономией.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>audio</filename></entry>
<entry>Поддержка работы со звуком.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>benchmarks</filename></entry>
<entry>Утилиты для измерения производительности системы.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>biology</filename></entry>
<entry>Программное обеспечение, связанное с биологией.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>cad</filename></entry>
<entry>Инструменты Систем Автоматизированного
Проектирования.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>chinese</filename></entry>
<entry>Поддержка китайского языка.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
@@ -1598,19 +1582,19 @@ PORTEPOCH= 1</programlisting>
<row>
<entry><filename>converters</filename></entry>
<entry>Утилиты для преобразования символьных форматов.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>databases</filename></entry>
<entry>Базы данных.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>deskutils</filename></entry>
<entry>То, что было на столе до изобретения компьютеров.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
@@ -1624,13 +1608,13 @@ PORTEPOCH= 1</programlisting>
<row>
<entry><filename>dns</filename></entry>
<entry>Программное обеспечение для работы с DNS.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>docs*</filename></entry>
<entry>Мета-порты для документации FreeBSD.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
@@ -1645,7 +1629,7 @@ PORTEPOCH= 1</programlisting>
<row>
<entry><filename>elisp*</filename></entry>
<entry>Порты для Emacs lisp.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
@@ -1662,13 +1646,13 @@ PORTEPOCH= 1</programlisting>
<entry><filename>finance</filename></entry>
<entry>Приложения для работы с деньгами, финансами и всем, что
с этим связано.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>french</filename></entry>
<entry>Поддержка французского языка.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
@@ -1683,82 +1667,81 @@ PORTEPOCH= 1</programlisting>
<row>
<entry><filename>games</filename></entry>
<entry>Игры.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>geography*</filename></entry>
<entry>Программное обеспечение, связанное с географией.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>german</filename></entry>
<entry>Поддержка немецкого языка.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>gnome*</filename></entry>
- <entry>Порты Проекта <ulink
- url="http://www.gnome.org">GNOME</ulink>.</entry>
- <entry></entry>
+ <entry>Порты Проекта <link xlink:href="http://www.gnome.org">GNOME</link>.</entry>
+ <entry/>
</row>
<row>
<entry><filename>gnustep*</filename></entry>
<entry>Программное обеспечение для окружения рабочего
стола GNUstep.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>graphics</filename></entry>
<entry>Графические утилиты.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>hamradio*</filename></entry>
<entry>Программное обеспечение для любительского радио</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>haskell*</filename></entry>
<entry>Программное обеспечение, связанное с языком
Haskell.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>hebrew</filename></entry>
<entry>Поддержка иврита.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>hungarian</filename></entry>
<entry>Поддержка венгерского языка.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>ipv6*</filename></entry>
<entry>Программное обеспечение, связанное с IPv6.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>irc</filename></entry>
<entry>Утилиты для работы с Internet Relay Chat.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>japanese</filename></entry>
<entry>Поддержка японского языка.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
@@ -1776,58 +1759,58 @@ PORTEPOCH= 1</programlisting>
<row>
<entry><filename>kde*</filename></entry>
<entry>Порты проекта
- <ulink url="http://www.kde.org">KDE</ulink>.</entry>
- <entry></entry>
+ <link xlink:href="http://www.kde.org">KDE</link>.</entry>
+ <entry/>
</row>
<row>
<entry><filename>kld*</filename></entry>
<entry>Загружаемые модули ядра.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>korean</filename></entry>
<entry>Поддержка корейского языка.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>lang</filename></entry>
<entry>Языки программирования.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>linux*</filename></entry>
<entry>Linux приложения и утилиты.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>lisp*</filename></entry>
<entry>Программное обеспечение, связанное с языком
Lisp.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>mail</filename></entry>
<entry>Программы для работы с электронной почтой.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>math</filename></entry>
<entry>Программное обеспечение для численных вычислений и
другие утилиты, связанные с математикой.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>mbone*</filename></entry>
<entry>Приложения для MBone.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
@@ -1843,92 +1826,90 @@ PORTEPOCH= 1</programlisting>
<entry><filename>multimedia</filename></entry>
<entry>Программное обеспечение для работы с
мультимедиа.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>net</filename></entry>
<entry>Различное сетевое программное обеспечение.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>net-im</filename></entry>
<entry>Программы мгновенного обмена сообщениями.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>net-mgmt</filename></entry>
<entry>Программное обеспечение для сетевого управления.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>net-p2p</filename></entry>
<entry>Приложения для пиринговых сетей.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>news</filename></entry>
<entry>Программное обеспечение для работы с конференциями
USENET.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>palm</filename></entry>
- <entry>Программная поддержка <ulink
- url="http://www.palm.com/">Palm&trade;</ulink>.</entry>
- <entry></entry>
+ <entry>Программная поддержка <link xlink:href="http://www.palm.com/">Palm&trade;</link>.</entry>
+ <entry/>
</row>
<row>
<entry><filename>parallel*</filename></entry>
<entry>Приложения, связанные с параллельными
вычислениями.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>pear*</filename></entry>
<entry>Порты, относящиеся к технологии Pear PHP.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>perl5*</filename></entry>
<entry>Порты, которым для работы требуется
<application>Perl</application> версии 5.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>plan9*</filename></entry>
- <entry>Различные программы из <ulink
- url="http://www.cs.bell-labs.com/plan9dist/">
- Plan9</ulink>.</entry>
- <entry></entry>
+ <entry>Различные программы из <link xlink:href="http://www.cs.bell-labs.com/plan9dist/">
+ Plan9</link>.</entry>
+ <entry/>
</row>
<row>
<entry><filename>polish</filename></entry>
<entry>Поддержка польского языка.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>ports-mgmt</filename></entry>
<entry>Порты для управления, установки и разработки
портов и пакетов FreeBSD.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>portuguese</filename></entry>
<entry>Поддержка португальского языка.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
@@ -1940,36 +1921,33 @@ PORTEPOCH= 1</programlisting>
<row>
<entry><filename>python*</filename></entry>
- <entry>Программное обеспечение, связанное с языком <ulink
- url="http://www.python.org/">Python</ulink>.</entry>
- <entry></entry>
+ <entry>Программное обеспечение, связанное с языком <link xlink:href="http://www.python.org/">Python</link>.</entry>
+ <entry/>
</row>
<row>
<entry><filename>ruby*</filename></entry>
- <entry>Программное обеспечение, связанное с языком <ulink
- url="http://www.ruby-lang.org/">Ruby</ulink>.</entry>
- <entry></entry>
+ <entry>Программное обеспечение, связанное с языком <link xlink:href="http://www.ruby-lang.org/">Ruby</link>.</entry>
+ <entry/>
</row>
<row>
<entry><filename>rubygems*</filename></entry>
- <entry>Порты для пакетов <ulink
- url="http://www.rubygems.org/">RubyGems</ulink>.</entry>
- <entry></entry>
+ <entry>Порты для пакетов <link xlink:href="http://www.rubygems.org/">RubyGems</link>.</entry>
+ <entry/>
</row>
<row>
<entry><filename>russian</filename></entry>
<entry>Поддержка русского языка.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>scheme*</filename></entry>
<entry>Программное обеспечение, связанное с языком
Scheme.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
@@ -1978,37 +1956,37 @@ PORTEPOCH= 1</programlisting>
категории, скажем, <filename>astro</filename>,
<filename>biology</filename> или
<filename>math</filename>.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>security</filename></entry>
<entry>Программы, обеспечивающие безопасность системы.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>shells</filename></entry>
<entry>Различные командные процессоры.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>sysutils</filename></entry>
<entry>Системные утилиты.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>spanish*</filename></entry>
<entry>Поддержка испанского языка.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>tcl*</filename></entry>
<entry>Порты, для работы которых нужен Tcl.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
@@ -2021,25 +1999,25 @@ PORTEPOCH= 1</programlisting>
<row>
<entry><filename>tk*</filename></entry>
<entry>Порты, для работы которых нужен Tk.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>ukrainian</filename></entry>
<entry>Поддержка украинского языка.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>vietnamese</filename></entry>
<entry>Поддержка вьетнамского языка.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>windowmaker*</filename></entry>
<entry>Порты, поддерживающие менеджер окон WindowMaker.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
@@ -2063,70 +2041,69 @@ PORTEPOCH= 1</programlisting>
<row>
<entry><filename>x11-clocks</filename></entry>
<entry>Часы для X11.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>x11-drivers</filename></entry>
<entry>Драйверы X11.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>x11-fm</filename></entry>
<entry>Менеджеры файлов для X11.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>x11-fonts</filename></entry>
<entry>Шрифты для X11 и утилиты для работы с ними.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>x11-servers</filename></entry>
<entry>Серверы для X11.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>x11-themes</filename></entry>
<entry>Темы для X11.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>x11-toolkits</filename></entry>
<entry>Пакеты разработчика для X11.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>x11-wm</filename></entry>
<entry>Оконные менеджеры для X11.</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><filename>xfce*</filename></entry>
<entry>Порты, связанные с окружением рабочего стола
- <ulink url="http://www.xfce.org/">Xfce</ulink>.</entry>
- <entry></entry>
+ <link xlink:href="http://www.xfce.org/">Xfce</link>.</entry>
+ <entry/>
</row>
<row>
<entry><filename>zope*</filename></entry>
- <entry>Поддержка <ulink
- url="http://www.zope.org/">Zope</ulink>.</entry>
- <entry></entry>
+ <entry>Поддержка <link xlink:href="http://www.zope.org/">Zope</link>.</entry>
+ <entry/>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
- <sect2 id="choosing-categories">
+ <sect2 xml:id="choosing-categories">
<title>Выбор правильной категории</title>
<para>Так как многие категории перекрываются, вам часто необходимо
@@ -2145,7 +2122,7 @@ PORTEPOCH= 1</programlisting>
<listitem>
<para>Сначала всегда идут категории, специфичные для языков.
Например, если ваш порт устанавливает японские шрифты для X11,
- то строчка <makevar>CATEGORIES</makevar> должна иметь вид
+ то строчка <varname>CATEGORIES</varname> должна иметь вид
<filename>japanese x11-fonts</filename>.</para>
</listitem>
@@ -2181,7 +2158,7 @@ PORTEPOCH= 1</programlisting>
<listitem>
<para>Порты, устанавливающие загружаемые модули ядра, должны
содержать виртуальную категорию <filename>kld</filename> в
- строке <makevar>CATEGORIES</makevar>.
+ строке <varname>CATEGORIES</varname>.
</para>
</listitem>
@@ -2189,7 +2166,7 @@ PORTEPOCH= 1</programlisting>
<para><filename>misc</filename>
не должна указываться вместе с любой другой невиртуальной
категорией. Если вы указываете <literal>misc</literal>
- вместе с чем-то ещё в строке <makevar>CATEGORIES</makevar>,
+ вместе с чем-то ещё в строке <varname>CATEGORIES</varname>,
это значит, что вы можете спокойно удалить
<literal>misc</literal> и просто поместить порт в этот
другой подкаталог!</para>
@@ -2211,7 +2188,7 @@ PORTEPOCH= 1</programlisting>
исходных текстов.</para>
</sect2>
- <sect2 id="proposing-categories">
+ <sect2 xml:id="proposing-categories">
<title>Предложение новой категории</title>
<para>Поскольку со временем Коллекция Портов увеличилась, то в связи
@@ -2232,8 +2209,8 @@ PORTEPOCH= 1</programlisting>
выполнение обоих условий.</para>
<para>Основной причиной для этого является то, что такое изменение
- создает <ulink url="&url.articles.committers-guide;/#ports">изрядное
- количество работы</ulink> и для коммиттеров, и для всех тех
+ создает <link xlink:href="&url.articles.committers-guide;/#ports">изрядное
+ количество работы</link> и для коммиттеров, и для всех тех
пользователей, которые отслеживают изменения в Коллекции Портов.
В дополнение, предложенная категория создает естественное
разногласие. (Пожалуй, потому что не существует четкого соглашения,
@@ -2300,9 +2277,8 @@ PORTEPOCH= 1</programlisting>
<step>
<para>Если этот PR одобрен, то коммиттеру нужно продолжить
- остальную часть процедуры, которая <ulink
- url="&url.articles.committers-guide;/article.html#PORTS">
- изложена в Руководстве Коммиттера</ulink>.</para>
+ остальную часть процедуры, которая <link xlink:href="&url.articles.committers-guide;/article.html#PORTS">
+ изложена в Руководстве Коммиттера</link>.</para>
</step>
</procedure>
@@ -2310,11 +2286,11 @@ PORTEPOCH= 1</programlisting>
с вышеизложенным, но при этом затрагивать намного меньше,
поскольку ни один из портов не будет перемещен в действительности.
В этом случае единственными патчами, включенными в PR, будут
- те, что добавляют новую категорию в <makevar>CATEGORIES</makevar>
+ те, что добавляют новую категорию в <varname>CATEGORIES</varname>
каждого из затрагиваемых портов.</para>
</sect2>
- <sect2 id="proposing-reorg">
+ <sect2 xml:id="proposing-reorg">
<title>Предложение реорганизации всех категорий</title>
<para>Время от времени кто-нибудь предлагает произвести реорганизацию
@@ -2329,7 +2305,7 @@ PORTEPOCH= 1</programlisting>
</sect2>
</sect1>
- <sect1 id="makefile-distfiles">
+ <sect1 xml:id="makefile-distfiles">
<title>Дистрибутивные файлы</title>
<para>Во второй части <filename>Makefile</filename> задаётся, какие
@@ -2337,27 +2313,27 @@ PORTEPOCH= 1</programlisting>
порт.</para>
<sect2>
- <title><makevar>DISTVERSION/DISTNAME</makevar></title>
+ <title><varname>DISTVERSION/DISTNAME</varname></title>
- <para>В переменной <makevar>DISTNAME</makevar> указывается имя порта
+ <para>В переменной <varname>DISTNAME</varname> указывается имя порта
так, как назвали его создатели программного обеспечения. Значение
- <makevar>DISTNAME</makevar> по умолчанию совпадает с
+ <varname>DISTNAME</varname> по умолчанию совпадает с
<literal>${PORTNAME}-${PORTVERSION}</literal>, так что
переопределяете её значение только в случае необходимости.
- <makevar>DISTNAME</makevar> используется только в двух местах.
+ <varname>DISTNAME</varname> используется только в двух местах.
Во-первых, список дистрибутивных файлов
- (<makevar>DISTFILES</makevar>) по умолчанию состоит из
- <makevar>${DISTNAME}</makevar><makevar>${EXTRACT_SUFX}</makevar>. И
+ (<varname>DISTFILES</varname>) по умолчанию состоит из
+ <varname>${DISTNAME}</varname><varname>${EXTRACT_SUFX}</varname>. И
во-вторых, предполагается, что дистрибутивный файл будет распакован в
- подкаталог с именем <makevar>WRKSRC</makevar>, значение которого по
+ подкаталог с именем <varname>WRKSRC</varname>, значение которого по
умолчанию есть не что иное, как
- <filename>work/<makevar>${DISTNAME}</makevar></filename>.</para>
+ <filename>work/${DISTNAME}</filename>.</para>
<para>Названия некоторых дистрибутивов, которые не укладываются в
<literal>${PORTNAME}-${PORTVERSION}</literal>-схему, могут быть
автоматически обработаны посредством установки переменной
- <makevar>DISTVERSION</makevar>. <makevar>PORTVERSION</makevar> и
- <makevar>DISTNAME</makevar> будут унаследованы автоматически, но
+ <varname>DISTVERSION</varname>. <varname>PORTVERSION</varname> и
+ <varname>DISTNAME</varname> будут унаследованы автоматически, но
конечно же могут быть переопределены. Следующая таблица
демонстрирует некоторые примеры:</para>
@@ -2365,8 +2341,8 @@ PORTEPOCH= 1</programlisting>
<tgroup cols="2">
<thead>
<row>
- <entry><makevar>DISTVERSION</makevar></entry>
- <entry><makevar>PORTVERSION</makevar></entry>
+ <entry><varname>DISTVERSION</varname></entry>
+ <entry><varname>PORTVERSION</varname></entry>
</row>
</thead>
@@ -2395,31 +2371,31 @@ PORTEPOCH= 1</programlisting>
</informaltable>
<note>
- <para>Значения переменных <makevar>PKGNAMEPREFIX</makevar>
- и <makevar>PKGNAMESUFFIX</makevar> не влияют на значение
- <makevar>DISTNAME</makevar>. Заметьте также, что если значение
- <makevar>WRKSRC</makevar> равно
- <filename>work/<makevar>${PORTNAME}-${PORTVERSION}</makevar></filename>,
+ <para>Значения переменных <varname>PKGNAMEPREFIX</varname>
+ и <varname>PKGNAMESUFFIX</varname> не влияют на значение
+ <varname>DISTNAME</varname>. Заметьте также, что если значение
+ <varname>WRKSRC</varname> равно
+ <filename>work/${PORTNAME}-${PORTVERSION}</filename>,
и в случае, когда оригинальный архив называется по имени, отличном
- от <makevar>${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX}</makevar>,
- скорее всего, вы должны оставить <makevar>DISTNAME</makevar>
- как есть&mdash; лучше переопределить <makevar>DISTFILES</makevar>,
+ от <varname>${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX}</varname>,
+ скорее всего, вы должны оставить <varname>DISTNAME</varname>
+ как есть&mdash; лучше переопределить <varname>DISTFILES</varname>,
чем задавать значения как
- <makevar>DISTNAME</makevar>, так и <makevar>WRKSRC</makevar>
- (и, возможно, ещё и <makevar>EXTRACT_SUFX</makevar>).</para>
+ <varname>DISTNAME</varname>, так и <varname>WRKSRC</varname>
+ (и, возможно, ещё и <varname>EXTRACT_SUFX</varname>).</para>
</note>
</sect2>
<sect2>
- <title><makevar>MASTER_SITES</makevar></title>
+ <title><varname>MASTER_SITES</varname></title>
<para>Содержит часть с каталогом FTP/HTTP-URL, которая указывает на
- оригинальный архив на сервере <makevar>MASTER_SITES</makevar>. Не
+ оригинальный архив на сервере <varname>MASTER_SITES</varname>. Не
забудьте лидирующий слэш (<filename>/</filename>)!</para>
<para>Макрос команды <command>make</command> будет пытаться
воспользоваться этой переменной для получения дистрибутивного файла
- с помощью программы <makevar>FETCH</makevar>, если он не будет найден
+ с помощью программы <varname>FETCH</varname>, если он не будет найден
в системе.</para>
<para>Рекомендуется помещать в список много сайтов, предпочтительно с
@@ -2431,12 +2407,12 @@ PORTEPOCH= 1</programlisting>
<para>Если оригинальный архив находится на одном из таких популярных
серверов, как SourceForge, GNU или Perl CPAN, то указывайте эти
сайты в простой форме при помощи
- <makevar>MASTER_SITE_<replaceable>*</replaceable></makevar>
- (к примеру, <makevar>MASTER_SITE_SOURCEFORGE</makevar>,
- <makevar>MASTER_SITE_GNU</makevar> или
- <makevar>MASTER_SITE_PERL_CPAN</makevar>. Просто укажите в переменной
- <makevar>MASTER_SITES</makevar> одно из этих значений, а в
- переменной <makevar>MASTER_SITE_SUBDIR</makevar> задайте путь к
+ <varname>MASTER_SITE_<replaceable>*</replaceable></varname>
+ (к примеру, <varname>MASTER_SITE_SOURCEFORGE</varname>,
+ <varname>MASTER_SITE_GNU</varname> или
+ <varname>MASTER_SITE_PERL_CPAN</varname>. Просто укажите в переменной
+ <varname>MASTER_SITES</varname> одно из этих значений, а в
+ переменной <varname>MASTER_SITE_SUBDIR</varname> задайте путь к
архиву. Вот пример:</para>
<programlisting>MASTER_SITES= ${MASTER_SITE_GNU}
@@ -2470,7 +2446,7 @@ MASTER_SITE_SUBDIR= stardict/WyabdcRealPeopleTTS/${PORTVERSION}</programlisting>
<table frame="none">
<title>Популярные магические макросы для
- <makevar>MASTER_SITES</makevar></title>
+ <varname>MASTER_SITES</varname></title>
<tgroup cols="2">
<thead>
@@ -2483,75 +2459,75 @@ MASTER_SITE_SUBDIR= stardict/WyabdcRealPeopleTTS/${PORTVERSION}</programlisting>
<tbody>
<row>
- <entry><makevar>BERLIOS</makevar></entry>
+ <entry><varname>BERLIOS</varname></entry>
- <entry><makevar>/${PORTNAME:L}</makevar></entry>
+ <entry><varname>/${PORTNAME:L}</varname></entry>
</row>
<row>
- <entry><makevar>CHEESESHOP</makevar></entry>
+ <entry><varname>CHEESESHOP</varname></entry>
- <entry><makevar>/packages/source/source/${DISTNAME:C/(.).*/\1/}/${DISTNAME:C/(.*)-[0-9].*/\1/}</makevar></entry>
+ <entry><varname>/packages/source/source/${DISTNAME:C/(.).*/\1/}/${DISTNAME:C/(.*)-[0-9].*/\1/}</varname></entry>
</row>
<row>
- <entry><makevar>DEBIAN</makevar></entry>
+ <entry><varname>DEBIAN</varname></entry>
- <entry><makevar>/debian/pool/main/${PORTNAME:C/^((lib)?.).*$/\1/}/${PORTNAME}</makevar></entry>
+ <entry><varname>/debian/pool/main/${PORTNAME:C/^((lib)?.).*$/\1/}/${PORTNAME}</varname></entry>
</row>
<row>
- <entry><makevar>GCC</makevar></entry>
+ <entry><varname>GCC</varname></entry>
- <entry><makevar>/pub/gcc/releases/${DISTNAME}</makevar></entry>
+ <entry><varname>/pub/gcc/releases/${DISTNAME}</varname></entry>
</row>
<row>
- <entry><makevar>GNOME</makevar></entry>
+ <entry><varname>GNOME</varname></entry>
- <entry><makevar>/pub/GNOME/sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}</makevar></entry>
+ <entry><varname>/pub/GNOME/sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}</varname></entry>
</row>
<row>
- <entry><makevar>GNU</makevar></entry>
+ <entry><varname>GNU</varname></entry>
- <entry><makevar>/gnu/${PORTNAME}</makevar></entry>
+ <entry><varname>/gnu/${PORTNAME}</varname></entry>
</row>
<row>
- <entry><makevar>MOZDEV</makevar></entry>
+ <entry><varname>MOZDEV</varname></entry>
- <entry><makevar>/pub/mozdev/${PORTNAME:L}</makevar></entry>
+ <entry><varname>/pub/mozdev/${PORTNAME:L}</varname></entry>
</row>
<row>
- <entry><makevar>PERL_CPAN</makevar></entry>
+ <entry><varname>PERL_CPAN</varname></entry>
- <entry><makevar>/pub/CPAN/modules/by-module/${PORTNAME:C/-.*//}</makevar></entry>
+ <entry><varname>/pub/CPAN/modules/by-module/${PORTNAME:C/-.*//}</varname></entry>
</row>
<row>
- <entry><makevar>PYTHON</makevar></entry>
+ <entry><varname>PYTHON</varname></entry>
- <entry><makevar>/ftp/python/${PYTHON_PORTVERSION:C/rc[0-9]//}</makevar></entry>
+ <entry><varname>/ftp/python/${PYTHON_PORTVERSION:C/rc[0-9]//}</varname></entry>
</row>
<row>
- <entry><makevar>RUBYFORGE</makevar></entry>
+ <entry><varname>RUBYFORGE</varname></entry>
- <entry><makevar>/${PORTNAME:L}</makevar></entry>
+ <entry><varname>/${PORTNAME:L}</varname></entry>
</row>
<row>
- <entry><makevar>SAVANNAH</makevar></entry>
+ <entry><varname>SAVANNAH</varname></entry>
- <entry><makevar>/${PORTNAME:L}</makevar></entry>
+ <entry><varname>/${PORTNAME:L}</varname></entry>
</row>
<row>
- <entry><makevar>SF</makevar></entry>
+ <entry><varname>SF</varname></entry>
- <entry><makevar>/project/${PORTNAME:L}/${PORTNAME:L}/${PORTVERSION}</makevar></entry>
+ <entry><varname>/project/${PORTNAME:L}/${PORTNAME:L}/${PORTVERSION}</varname></entry>
</row>
</tbody>
</tgroup>
@@ -2559,11 +2535,11 @@ MASTER_SITE_SUBDIR= stardict/WyabdcRealPeopleTTS/${PORTVERSION}</programlisting>
</sect2>
<sect2>
- <title><makevar>EXTRACT_SUFX</makevar></title>
+ <title><varname>EXTRACT_SUFX</varname></title>
<para>Если у вас имеется один дистрибутивный файл, и в его имени
используется странное окончание для указания типа сжатия, задайте
- переменную <makevar>EXTRACT_SUFX</makevar>.</para>
+ переменную <varname>EXTRACT_SUFX</varname>.</para>
<para>К примеру, если дистрибутивный файл носит имя
<filename>foo.tgz</filename>, а не более привычное
@@ -2572,23 +2548,23 @@ MASTER_SITE_SUBDIR= stardict/WyabdcRealPeopleTTS/${PORTVERSION}</programlisting>
<programlisting>DISTNAME= foo
EXTRACT_SUFX= .tgz</programlisting>
- <para>Переменные <makevar>USE_BZIP2</makevar>,
- <makevar>USE_XZ</makevar> и
- <makevar>USE_ZIP</makevar> при необходимости автоматически
- устанавливают значение <makevar>EXTRACT_SUFX</makevar> в
+ <para>Переменные <varname>USE_BZIP2</varname>,
+ <varname>USE_XZ</varname> и
+ <varname>USE_ZIP</varname> при необходимости автоматически
+ устанавливают значение <varname>EXTRACT_SUFX</varname> в
<literal>.tar.bz2</literal>, <literal>.tar.xz</literal> или
<literal>.zip</literal>. Если ни одна из этих
- переменных не задана, то значение <makevar>EXTRACT_SUFX</makevar>
+ переменных не задана, то значение <varname>EXTRACT_SUFX</varname>
по умолчанию устанавливается в <literal>.tar.gz</literal>.</para>
<note>
- <para>Вам не нужно задавать значения <makevar>EXTRACT_SUFX</makevar>
- и <makevar>DISTFILES</makevar> одновременно.</para>
+ <para>Вам не нужно задавать значения <varname>EXTRACT_SUFX</varname>
+ и <varname>DISTFILES</varname> одновременно.</para>
</note>
</sect2>
<sect2>
- <title><makevar>DISTFILES</makevar></title>
+ <title><varname>DISTFILES</varname></title>
<para>Иногда имена сгружаемых файлов не соответствуют имени порта. К
примеру, файл может называться <filename>source.tar.gz</filename> или
@@ -2597,49 +2573,49 @@ EXTRACT_SUFX= .tgz</programlisting>
быть сгружены.</para>
<para>Если это ваш случай, то задайте в переменной
- <makevar>DISTFILES</makevar> список разделённых пробелами имён
+ <varname>DISTFILES</varname> список разделённых пробелами имён
файлов, которые нужно сгрузить.</para>
<programlisting>DISTFILES= source1.tar.gz source2.tar.gz</programlisting>
- <para>Если переменная <makevar>DISTFILES</makevar> не задана явно, то
+ <para>Если переменная <varname>DISTFILES</varname> не задана явно, то
её значением по умолчанию будет
<literal>${DISTNAME}${EXTRACT_SUFX}</literal>.</para>
</sect2>
<sect2>
- <title><makevar>EXTRACT_ONLY</makevar></title>
+ <title><varname>EXTRACT_ONLY</varname></title>
- <para>Если только некоторые из <makevar>DISTFILES</makevar> должны быть
+ <para>Если только некоторые из <varname>DISTFILES</varname> должны быть
распакованы&mdash;к примеру, часть из них является исходным кодом, а
другие представляют собой неупакованную
документацию&mdash;перечислите имена файлов, которые должны быть
- распакованы, в <makevar>EXTRACT_ONLY</makevar>.</para>
+ распакованы, в <varname>EXTRACT_ONLY</varname>.</para>
<programlisting>DISTFILES= source.tar.gz manual.html
EXTRACT_ONLY= source.tar.gz</programlisting>
- <para>Если <emphasis>ни один</emphasis> из <makevar>DISTFILES</makevar>
+ <para>Если <emphasis>ни один</emphasis> из <varname>DISTFILES</varname>
не должен распаковываться, то установите пустое значение
- переменной <makevar>EXTRACT_ONLY</makevar>.</para>
+ переменной <varname>EXTRACT_ONLY</varname>.</para>
<programlisting>EXTRACT_ONLY=</programlisting>
</sect2>
- <sect2 id="porting-patchfiles">
- <title><makevar>PATCHFILES</makevar></title>
+ <sect2 xml:id="porting-patchfiles">
+ <title><varname>PATCHFILES</varname></title>
<para>Если вашему порту требуются некоторых дополнительные патчи,
которые доступны по FTP или HTTP, задайте имена этих файлов в
- переменной <makevar>PATCHFILES</makevar>, а в переменной
- <makevar>PATCH_SITES</makevar> укажите URL того каталога, в котором
+ переменной <varname>PATCHFILES</varname>, а в переменной
+ <varname>PATCH_SITES</varname> укажите URL того каталога, в котором
они содержатся (формат такой же, как
- для <makevar>MASTER_SITES</makevar>).</para>
+ для <varname>MASTER_SITES</varname>).</para>
<para>Если патч не относится к самому верху дерева исходных текстов
- (то есть <makevar>WRKSRC</makevar>), потому что он содержит некоторые
+ (то есть <varname>WRKSRC</varname>), потому что он содержит некоторые
дополнительные пути, установите соответственно значение переменной
- <makevar>PATCH_DIST_STRIP</makevar>. В частности, если все имена
+ <varname>PATCH_DIST_STRIP</varname>. В частности, если все имена
путей в патче имеют дополнительный путь
<literal>foozolix-1.0/</literal> перед именем файла, то задайте
<literal>PATCH_DIST_STRIP=-p1</literal>.</para>
@@ -2651,13 +2627,13 @@ EXTRACT_ONLY= source.tar.gz</programlisting>
<para>Если патч распространяется вместе с какими-то другими файлами,
такими, как документация, в виде tar-архива <command>gzip</command>,
вы не можете просто
- использовать <makevar>PATCHFILES</makevar>. Если это ваш случай,
+ использовать <varname>PATCHFILES</varname>. Если это ваш случай,
добавьте имя и местоположение архива с патчем к
- <makevar>DISTFILES</makevar> и <makevar>MASTER_SITES</makevar>.
- Затем воспользуйтесь переменной <makevar>EXTRA_PATCHES</makevar> для
+ <varname>DISTFILES</varname> и <varname>MASTER_SITES</varname>.
+ Затем воспользуйтесь переменной <varname>EXTRA_PATCHES</varname> для
указания этих файлов, и <filename>bsd.port.mk</filename> автоматически
применит эти патчи. В частности, <emphasis>не копируйте</emphasis>
- файлы с патчами в каталог <makevar>PATCHDIR</makevar>&mdash;этот
+ файлы с патчами в каталог <varname>PATCHDIR</varname>&mdash;этот
каталог может быть недоступным для записи.</para>
<note>
@@ -2668,11 +2644,11 @@ EXTRACT_ONLY= source.tar.gz</programlisting>
приложите дополнительные усилия для того, чтобы не перезаписать
что-либо, уже существующее в этом каталоге. Также не забудьте
добавить команду для удаления скопированного патча в цели
- <maketarget>pre-clean</maketarget>.</para>
+ <buildtarget>pre-clean</buildtarget>.</para>
</note>
</sect2>
- <sect2 id="porting-master-sites-n">
+ <sect2 xml:id="porting-master-sites-n">
<title>Несколько дистрибутивных файлов или патчей с различных серверов
и подкаталогов (<literal>MASTER_SITES:n</literal>)</title>
@@ -2686,8 +2662,8 @@ EXTRACT_ONLY= source.tar.gz</programlisting>
механизм <literal>MASTER_SITES:n</literal>.</para>
<para>Сначала немного общей информации. В OpenBSD имеется полезная
- возможность, используемая в переменных <makevar>DISTFILES</makevar> и
- <makevar>PATCHFILES</makevar>, которая позволяет закреплять после
+ возможность, используемая в переменных <varname>DISTFILES</varname> и
+ <varname>PATCHFILES</varname>, которая позволяет закреплять после
имен файлов и патчей идентификаторы типа <literal>:n</literal>. Здесь
<literal>n</literal> может быть из диапазона <literal>[0-9]</literal>
и обозначать закреплённую группу. К примеру:</para>
@@ -2695,25 +2671,25 @@ EXTRACT_ONLY= source.tar.gz</programlisting>
<programlisting>DISTFILES= alpha:0 beta:1</programlisting>
<para>В OpenBSD дистрибутивный файл <filename>alpha</filename> будет
- связан с переменной <makevar>MASTER_SITES0</makevar>, но не с нашей
- общей переменной <makevar>MASTER_SITES</makevar>, а файл
+ связан с переменной <varname>MASTER_SITES0</varname>, но не с нашей
+ общей переменной <varname>MASTER_SITES</varname>, а файл
<filename>beta</filename> с переменной
- <makevar>MASTER_SITES1</makevar>.</para>
+ <varname>MASTER_SITES1</varname>.</para>
<para>Этот очень интересная возможность, которая может уменьшить этот
бесконечный поиск работающего сайта для сгрузки.</para>
- <para>Просто представьте себе 2 файла в <makevar>DISTFILES</makevar> и
- 20 сайтов в <makevar>MASTER_SITES</makevar>; сайты очень медленные,
+ <para>Просто представьте себе 2 файла в <varname>DISTFILES</varname> и
+ 20 сайтов в <varname>MASTER_SITES</varname>; сайты очень медленные,
причём <filename>beta</filename> находится на всех сайтах из
- <makevar>MASTER_SITES</makevar>, а <filename>alpha</filename>
+ <varname>MASTER_SITES</varname>, а <filename>alpha</filename>
может быть найден только на 20-м сайте. Будет неправильно проверять
их все, если создатель знает об этом, не правда ли? Неподходящее
начало для таких прекрасных выходных!</para>
<para>Теперь, когда вы получили общее представление, просто представьте
- ещё большее количество <makevar>DISTFILES</makevar> и
- <makevar>MASTER_SITES</makevar>. Конечно, наш <quote>магистр
+ ещё большее количество <varname>DISTFILES</varname> и
+ <varname>MASTER_SITES</varname>. Конечно, наш <quote>магистр
доступности дистрибутивов</quote> представляет масштабы нагрузки
на сеть, которую это даёт.</para>
@@ -2741,9 +2717,9 @@ EXTRACT_ONLY= source.tar.gz</programlisting>
сайтов.</para>
<para>Чтобы это поддерживать, за каждой записью в
- <makevar>DISTFILES</makevar> может следовать символ двоеточия и
+ <varname>DISTFILES</varname> может следовать символ двоеточия и
<quote>имя метки</quote>. За каждым сайтом, перечисленным в
- <makevar>MASTER_SITES</makevar>, тоже следует двоеточие и метка,
+ <varname>MASTER_SITES</varname>, тоже следует двоеточие и метка,
которая указывает, какие файлы дистрибутива должны быть сгружены
с этого сайта.</para>
@@ -2751,11 +2727,9 @@ EXTRACT_ONLY= source.tar.gz</programlisting>
на две части, <filename>source1.tar.gz</filename> и
<filename>source2.tar.gz</filename>, которые должны быть сгружены с
двух различных источников. Файл <filename>Makefile</filename>
- порта будет содержать строчки типа <xref
- linkend="ports-master-sites-n-example-simple-use-one-file-per-site"/>.</para>
+ порта будет содержать строчки типа <xref linkend="ports-master-sites-n-example-simple-use-one-file-per-site"/>.</para>
- <example
- id="ports-master-sites-n-example-simple-use-one-file-per-site">
+ <example xml:id="ports-master-sites-n-example-simple-use-one-file-per-site">
<title>Упрощённое использование <literal>MASTER_SITES:n</literal>
с 1 файлом на каждом сайте</title>
@@ -2769,12 +2743,10 @@ DISTFILES= source1.tar.gz:source1 \
<para>Несколько дистрибутивных файлов могут иметь одну и ту же метку.
Продолжая предыдущий пример, положим, что имеется и третий
дистрибутивный файл, <filename>source3.tar.gz</filename>, который
- должен быть сгружен с <hostid>ftp.example2.com</hostid>. Тогда
- файл <filename>Makefile</filename> будет написан как <xref
- linkend="ports-master-sites-n-example-simple-use-more-than-one-file-per-site"/>.</para>
+ должен быть сгружен с <systemitem>ftp.example2.com</systemitem>. Тогда
+ файл <filename>Makefile</filename> будет написан как <xref linkend="ports-master-sites-n-example-simple-use-more-than-one-file-per-site"/>.</para>
- <example
- id="ports-master-sites-n-example-simple-use-more-than-one-file-per-site">
+ <example xml:id="ports-master-sites-n-example-simple-use-more-than-one-file-per-site">
<title>Упрощённое использование <literal>MASTER_SITES:n</literal> с
более чем 1 файлом на каждом сервере</title>
@@ -2797,7 +2769,7 @@ DISTFILES= source1.tar.gz:source1 \
<orderedlist>
<listitem>
<para>За элементами могут следовать символы
- <literal>:<replaceable>n</replaceable></literal>, где
+ <literal>:n</literal>, где
<replaceable>n</replaceable> это <literal>[^:,]+</literal>, то
есть <replaceable>n</replaceable> может теоретически быть
любой алфавитно-цифровой строкой, но пока мы будем ограничивать
@@ -2810,11 +2782,9 @@ DISTFILES= source1.tar.gz:source1 \
<para>Однако следующие слова не могут использоваться для этих
нужд, так как они имеют особое значение:
<literal>default</literal>, <literal>all</literal> и
- <literal>ALL</literal> (они используются для своих нужд в <xref
- linkend="porting-master-sites-n-what-changes-in-port-targets"/>).
+ <literal>ALL</literal> (они используются для своих нужд в <xref linkend="porting-master-sites-n-what-changes-in-port-targets"/>).
Кроме того, <literal>DEFAULT</literal> является специальным
- ключевым словом (посмотрите <xref
- linkend="porting-master-sites-n-DEFAULT-group"/>).</para>
+ ключевым словом (посмотрите <xref linkend="porting-master-sites-n-DEFAULT-group"/>).</para>
</listitem>
<listitem>
@@ -2824,15 +2794,14 @@ DISTFILES= source1.tar.gz:source1 \
так далее.</para>
</listitem>
- <listitem id="porting-master-sites-n-DEFAULT-group">
+ <listitem xml:id="porting-master-sites-n-DEFAULT-group">
<para>Элементы без таких суффиксов не относятся ни к какой
группе, то есть они принадлежат к особой группе
<literal>DEFAULT</literal>. Если вы укажете суффиксом любого
элемента <literal>DEFAULT</literal>, вы просто выполните
излишнюю работу, если только вы не хотите отнесения элемента
как к группе <literal>DEFAULT</literal>, так и какой-то другой
- в одно и то же время (посмотрите на пункт <xref
- linkend="porting-master-sites-n-comma-operator"/>).</para>
+ в одно и то же время (посмотрите на пункт <xref linkend="porting-master-sites-n-comma-operator"/>).</para>
<para>Следующие примеры равнозначны, но первый более
предпочтителен:</para>
@@ -2850,7 +2819,7 @@ DISTFILES= source1.tar.gz:source1 \
будут являться просто повторяющимися элементами.</para>
</listitem>
- <listitem id="porting-master-sites-n-comma-operator">
+ <listitem xml:id="porting-master-sites-n-comma-operator">
<para>Если в хотите, чтобы элемент принадлежал к нескольким
группам одновременно, вы можете использовать
запятую (<literal>,</literal>).</para>
@@ -2875,30 +2844,30 @@ DISTFILES= source1.tar.gz:source1 \
<listitem>
<para>Все серверы внутри определённой группы сортируются в
- соответствии с <makevar>MASTER_SORT_AWK</makevar>. Все группы
- в <makevar>MASTER_SITES</makevar> и
- <makevar>PATCH_SITES</makevar> тоже сортируются.</para>
+ соответствии с <varname>MASTER_SORT_AWK</varname>. Все группы
+ в <varname>MASTER_SITES</varname> и
+ <varname>PATCH_SITES</varname> тоже сортируются.</para>
</listitem>
- <listitem id="porting-master-sites-n-group-semantics">
+ <listitem xml:id="porting-master-sites-n-group-semantics">
<para>Семантика групп может использоваться в любой из следующих
- переменных <makevar>MASTER_SITES</makevar>,
- <makevar>PATCH_SITES</makevar>,
- <makevar>MASTER_SITE_SUBDIR</makevar>,
- <makevar>PATCH_SITE_SUBDIR</makevar>,
- <makevar>DISTFILES</makevar> и
- <makevar>PATCHFILES</makevar> в соответствии со следующим
+ переменных <varname>MASTER_SITES</varname>,
+ <varname>PATCH_SITES</varname>,
+ <varname>MASTER_SITE_SUBDIR</varname>,
+ <varname>PATCH_SITE_SUBDIR</varname>,
+ <varname>DISTFILES</varname> и
+ <varname>PATCHFILES</varname> в соответствии со следующим
синтаксисом:</para>
<orderedlist>
<listitem>
- <para>Все элементы <makevar>MASTER_SITES</makevar>,
- <makevar>PATCH_SITES</makevar>,
- <makevar>MASTER_SITE_SUBDIR</makevar> и
- <makevar>PATCH_SITE_SUBDIR</makevar> должны заканчиваться
+ <para>Все элементы <varname>MASTER_SITES</varname>,
+ <varname>PATCH_SITES</varname>,
+ <varname>MASTER_SITE_SUBDIR</varname> и
+ <varname>PATCH_SITE_SUBDIR</varname> должны заканчиваться
символом прямого слэша <literal>/</literal>. Если какие-то
элементы принадлежат каким-то группам, постфикс группы
- <literal>:<replaceable>n</replaceable></literal> должен
+ <literal>:n</literal> должен
следовать сразу после завершающего символа
<literal>/</literal>. Механизм
<literal>MASTER_SITES:n</literal> опирается на наличие
@@ -2909,21 +2878,19 @@ DISTFILES= source1.tar.gz:source1 \
<literal>n</literal>. Для целей совместимости, так как
завершающий символ <literal>/</literal> ранее не
требовался в элементах
- <makevar>MASTER_SITE_SUBDIR</makevar> и
- <makevar>PATCH_SITE_SUBDIR</makevar>, если символ, сразу
+ <varname>MASTER_SITE_SUBDIR</varname> и
+ <varname>PATCH_SITE_SUBDIR</varname>, если символ, сразу
предшествующий постфиксу, не является символом
<literal>/</literal>, то <literal>:n</literal> будет
считаться корректной частью элемента, а не постфиксом
группы, даже если за элементом следует
- <literal>:n</literal>. Посмотрите <xref
- linkend="ports-master-sites-n-example-detailed-use-master-site-subdir"/>
- и <xref
- linkend="ports-master-sites-n-example-detailed-use-complete-example-master-sites"/>.</para>
+ <literal>:n</literal>. Посмотрите <xref linkend="ports-master-sites-n-example-detailed-use-master-site-subdir"/>
+ и <xref linkend="ports-master-sites-n-example-detailed-use-complete-example-master-sites"/>.</para>
- <example id="ports-master-sites-n-example-detailed-use-master-site-subdir">
+ <example xml:id="ports-master-sites-n-example-detailed-use-master-site-subdir">
<title>Подробное использование
<literal>MASTER_SITES:n</literal> в
- <makevar>MASTER_SITE_SUBDIR</makevar></title>
+ <varname>MASTER_SITE_SUBDIR</varname></title>
<programlisting>MASTER_SITE_SUBDIR= old:n new/:NEW</programlisting>
@@ -2940,8 +2907,7 @@ DISTFILES= source1.tar.gz:source1 \
</itemizedlist>
</example>
- <example
- id="ports-master-sites-n-example-detailed-use-complete-example-master-sites">
+ <example xml:id="ports-master-sites-n-example-detailed-use-complete-example-master-sites">
<title>Подробное использование
<literal>MASTER_SITES:n</literal> с запятыми,
несколькими файлами, несколькими серверами и
@@ -2971,7 +2937,7 @@ MASTER_SITE_SUBDIR= directory-trial:1 directory-n/:groupn \
<itemizedlist>
<listitem>
- <para><makevar>MASTER_SITE_OVERRIDE</makevar></para>
+ <para><varname>MASTER_SITE_OVERRIDE</varname></para>
</listitem>
<listitem>
@@ -2995,7 +2961,7 @@ MASTER_SITE_SUBDIR= directory-trial:1 directory-n/:groupn \
</listitem>
<listitem>
- <para><makevar>MASTER_SITE_BACKUP</makevar></para>
+ <para><varname>MASTER_SITE_BACKUP</varname></para>
</listitem>
</itemizedlist>
</listitem>
@@ -3007,7 +2973,7 @@ MASTER_SITE_SUBDIR= directory-trial:1 directory-n/:groupn \
<itemizedlist>
<listitem>
- <para><makevar>MASTER_SITE_OVERRIDE</makevar></para>
+ <para><varname>MASTER_SITE_OVERRIDE</varname></para>
</listitem>
<listitem>
@@ -3031,7 +2997,7 @@ MASTER_SITE_SUBDIR= directory-trial:1 directory-n/:groupn \
</listitem>
<listitem>
- <para><makevar>MASTER_SITE_BACKUP</makevar></para>
+ <para><varname>MASTER_SITE_BACKUP</varname></para>
</listitem>
</itemizedlist>
</listitem>
@@ -3041,7 +3007,7 @@ MASTER_SITE_SUBDIR= directory-trial:1 directory-n/:groupn \
<itemizedlist>
<listitem>
- <para><makevar>MASTER_SITE_OVERRIDE</makevar></para>
+ <para><varname>MASTER_SITE_OVERRIDE</varname></para>
</listitem>
<listitem>
@@ -3049,7 +3015,7 @@ MASTER_SITE_SUBDIR= directory-trial:1 directory-n/:groupn \
</listitem>
<listitem>
- <para><makevar>MASTER_SITE_BACKUP</makevar></para>
+ <para><varname>MASTER_SITE_BACKUP</varname></para>
</listitem>
</itemizedlist>
</listitem>
@@ -3060,7 +3026,7 @@ MASTER_SITE_SUBDIR= directory-trial:1 directory-n/:groupn \
<itemizedlist>
<listitem>
- <para><makevar>MASTER_SITE_OVERRIDE</makevar></para>
+ <para><varname>MASTER_SITE_OVERRIDE</varname></para>
</listitem>
<listitem>
@@ -3084,7 +3050,7 @@ MASTER_SITE_SUBDIR= directory-trial:1 directory-n/:groupn \
</listitem>
<listitem>
- <para><makevar>MASTER_SITE_BACKUP</makevar></para>
+ <para><varname>MASTER_SITE_BACKUP</varname></para>
</listitem>
</itemizedlist>
</listitem>
@@ -3094,11 +3060,11 @@ MASTER_SITE_SUBDIR= directory-trial:1 directory-n/:groupn \
<itemizedlist>
<listitem>
- <para><makevar>MASTER_SITE_OVERRIDE</makevar></para>
+ <para><varname>MASTER_SITE_OVERRIDE</varname></para>
</listitem>
<listitem>
- <para><makevar>MASTER_SITE_BACKUP</makevar></para>
+ <para><varname>MASTER_SITE_BACKUP</varname></para>
</listitem>
</itemizedlist>
</listitem>
@@ -3109,7 +3075,7 @@ MASTER_SITE_SUBDIR= directory-trial:1 directory-n/:groupn \
<itemizedlist>
<listitem>
- <para><makevar>MASTER_SITE_OVERRIDE</makevar></para>
+ <para><varname>MASTER_SITE_OVERRIDE</varname></para>
</listitem>
<listitem>
@@ -3117,7 +3083,7 @@ MASTER_SITE_SUBDIR= directory-trial:1 directory-n/:groupn \
</listitem>
<listitem>
- <para><makevar>MASTER_SITE_BACKUP</makevar></para>
+ <para><varname>MASTER_SITE_BACKUP</varname></para>
</listitem>
</itemizedlist>
</listitem>
@@ -3130,16 +3096,14 @@ MASTER_SITE_SUBDIR= directory-trial:1 directory-n/:groupn \
<listitem>
<para>Как мне сгруппировать одну из специальных переменных из
<filename>bsd.sites.mk</filename>, например,
- <makevar>MASTER_SITE_SOURCEFORGE</makevar>?</para>
+ <varname>MASTER_SITE_SOURCEFORGE</varname>?</para>
- <para>Посмотрите <xref
- linkend="ports-master-sites-n-example-detailed-use-master-site-sourceforge"/>.</para>
+ <para>Посмотрите <xref linkend="ports-master-sites-n-example-detailed-use-master-site-sourceforge"/>.</para>
- <example
- id="ports-master-sites-n-example-detailed-use-master-site-sourceforge">
+ <example xml:id="ports-master-sites-n-example-detailed-use-master-site-sourceforge">
<title>Подробное использование
<literal>MASTER_SITES:n</literal> с
- <makevar>MASTER_SITE_SOURCEFORGE</makevar></title>
+ <varname>MASTER_SITE_SOURCEFORGE</varname></title>
<programlisting>MASTER_SITES= http://site1/ ${MASTER_SITE_SOURCEFORGE:S/$/:sourceforge,TEST/}
DISTFILES= something.tar.gz:sourceforge</programlisting>
@@ -3147,23 +3111,21 @@ DISTFILES= something.tar.gz:sourceforge</programlisting>
<para><filename>something.tar.gz</filename> будет сгружаться со
всех сайтов из
- <makevar>MASTER_SITE_SOURCEFORGE</makevar>.</para>
+ <varname>MASTER_SITE_SOURCEFORGE</varname>.</para>
</listitem>
<listitem>
<para>Как мне использовать это с переменными
- <makevar>PATCH*</makevar>?</para>
+ <varname>PATCH*</varname>?</para>
<para>Все примеры выполнялись с переменными
- <makevar>MASTER*</makevar>, и они работают точно также и для
- <makevar>PATCH*</makevar>, как это можно видеть в <xref
- linkend="ports-master-sites-n-example-detailed-use-patch-sites"/>.</para>
+ <varname>MASTER*</varname>, и они работают точно также и для
+ <varname>PATCH*</varname>, как это можно видеть в <xref linkend="ports-master-sites-n-example-detailed-use-patch-sites"/>.</para>
- <example
- id="ports-master-sites-n-example-detailed-use-patch-sites">
+ <example xml:id="ports-master-sites-n-example-detailed-use-patch-sites">
<title>Упрощённое использование
<literal>MASTER_SITES:n</literal> с
- <makevar>PATCH_SITES</makevar>.</title>
+ <varname>PATCH_SITES</varname>.</title>
<programlisting>PATCH_SITES= http://site1/ http://site2/:test
PATCHFILES= patch1:test</programlisting>
@@ -3180,62 +3142,59 @@ PATCHFILES= patch1:test</programlisting>
<para>Все имеющиеся порты остаются без изменений. Код для
механизма <literal>MASTER_SITES:n</literal> активируется, если
только есть элементы, которые заканчиваются на
- <literal>:<replaceable>n</replaceable></literal>, как и
+ <literal>:n</literal>, как и
элементы в соответствии с вышеописанным синтаксисом, особенно
- как это показано в пункте <xref
- linkend="porting-master-sites-n-group-semantics"/>.</para>
+ как это показано в пункте <xref linkend="porting-master-sites-n-group-semantics"/>.</para>
</listitem>
- <listitem id="porting-master-sites-n-what-changes-in-port-targets">
+ <listitem xml:id="porting-master-sites-n-what-changes-in-port-targets">
<para>Цели порт остаются теми же самыми:
- <maketarget>checksum</maketarget>,
- <maketarget>makesum</maketarget>,
- <maketarget>patch</maketarget>,
- <maketarget>configure</maketarget>,
- <maketarget>build</maketarget> и так далее. С обычными
- исключениями для <maketarget>do-fetch</maketarget>,
- <maketarget>fetch-list</maketarget>,
- <maketarget>master-sites</maketarget> и
- <maketarget>patch-sites</maketarget>.</para>
+ <buildtarget>checksum</buildtarget>,
+ <buildtarget>makesum</buildtarget>,
+ <buildtarget>patch</buildtarget>,
+ <buildtarget>configure</buildtarget>,
+ <buildtarget>build</buildtarget> и так далее. С обычными
+ исключениями для <buildtarget>do-fetch</buildtarget>,
+ <buildtarget>fetch-list</buildtarget>,
+ <buildtarget>master-sites</buildtarget> и
+ <buildtarget>patch-sites</buildtarget>.</para>
<itemizedlist>
<listitem>
- <para><maketarget>do-fetch</maketarget>: использует новую
- группировку с постфиксами в <makevar>DISTFILES</makevar> и
- <makevar>PATCHFILES</makevar> с соответствующими элементами
- групп в <makevar>MASTER_SITES</makevar> и
- <makevar>PATCH_SITES</makevar>, которые используют группы
- из <makevar>MASTER_SITE_SUBDIR</makevar> и
- <makevar>PATCH_SITE_SUBDIR</makevar>. Посмотрите <xref
- linkend="ports-master-sites-n-example-detailed-use-complete-example-master-sites"/>.</para>
+ <para><buildtarget>do-fetch</buildtarget>: использует новую
+ группировку с постфиксами в <varname>DISTFILES</varname> и
+ <varname>PATCHFILES</varname> с соответствующими элементами
+ групп в <varname>MASTER_SITES</varname> и
+ <varname>PATCH_SITES</varname>, которые используют группы
+ из <varname>MASTER_SITE_SUBDIR</varname> и
+ <varname>PATCH_SITE_SUBDIR</varname>. Посмотрите <xref linkend="ports-master-sites-n-example-detailed-use-complete-example-master-sites"/>.</para>
</listitem>
<listitem>
- <para><maketarget>fetch-list</maketarget>: работает также,
- как старая цель <maketarget>fetch-list</maketarget> с тем
+ <para><buildtarget>fetch-list</buildtarget>: работает также,
+ как старая цель <buildtarget>fetch-list</buildtarget> с тем
исключением, что она группирует, как и
- <maketarget>do-fetch</maketarget>.</para>
+ <buildtarget>do-fetch</buildtarget>.</para>
</listitem>
<listitem>
- <para><maketarget>master-sites</maketarget> и
- <maketarget>patch-sites</maketarget>:
+ <para><buildtarget>master-sites</buildtarget> и
+ <buildtarget>patch-sites</buildtarget>:
(несовместимы со старыми версиями) только возвращают
элементы группы <literal>DEFAULT</literal>; на самом деле
они выполняют цели
- <maketarget>master-sites-default</maketarget> и
- <maketarget>patch-sites-default</maketarget>
+ <buildtarget>master-sites-default</buildtarget> и
+ <buildtarget>patch-sites-default</buildtarget>
соответственно.</para>
<para>Более того, использование целей
- <maketarget>master-sites-all</maketarget> или
- <maketarget>patch-sites-all</maketarget> предпочтительно
+ <buildtarget>master-sites-all</buildtarget> или
+ <buildtarget>patch-sites-all</buildtarget> предпочтительно
для непосредственной проверки
- <maketarget>MASTER_SITES</maketarget> или
- <maketarget>PATCH_SITES</maketarget>. Также работа прямой
+ <buildtarget>MASTER_SITES</buildtarget> или
+ <buildtarget>PATCH_SITES</buildtarget>. Также работа прямой
проверки в последующих версиях не гарантируется.
- Посмотрите <xref
- linkend="porting-master-sites-n-new-port-targets-master-sites-all"/>
+ Посмотрите <xref linkend="porting-master-sites-n-new-port-targets-master-sites-all"/>
для получения более дополнительной информации об этих новых
целях.</para>
</listitem>
@@ -3248,35 +3207,35 @@ PATCHFILES= patch1:test</programlisting>
<orderedlist>
<listitem>
<para>Имеются цели
- <maketarget>master-sites-<replaceable>n</replaceable></maketarget>
+ <buildtarget>master-sites-<replaceable>n</replaceable></buildtarget>
и
- <maketarget>patch-sites-<replaceable>n</replaceable></maketarget>,
+ <buildtarget>patch-sites-<replaceable>n</replaceable></buildtarget>,
которые будут перечислять элементы соответствующей группы
<replaceable>n</replaceable> из
- <makevar>MASTER_SITES</makevar> и
- <makevar>PATCH_SITES</makevar> соответственно. К примеру,
- <maketarget>master-sites-DEFAULT</maketarget> и
- <maketarget>patch-sites-DEFAULT</maketarget> обе будут
+ <varname>MASTER_SITES</varname> и
+ <varname>PATCH_SITES</varname> соответственно. К примеру,
+ <buildtarget>master-sites-DEFAULT</buildtarget> и
+ <buildtarget>patch-sites-DEFAULT</buildtarget> обе будут
возвращать элементы группы <literal>DEFAULT</literal>,
- <maketarget>master-sites-test</maketarget> и
- <maketarget>patch-sites-test</maketarget> группы
+ <buildtarget>master-sites-test</buildtarget> и
+ <buildtarget>patch-sites-test</buildtarget> группы
<literal>test</literal> и так далее.</para>
</listitem>
- <listitem id="porting-master-sites-n-new-port-targets-master-sites-all">
+ <listitem xml:id="porting-master-sites-n-new-port-targets-master-sites-all">
<para>Имеются новые цели
- <maketarget>master-sites-all</maketarget> и
- <maketarget>patch-sites-all</maketarget>, которые выполняют
- работу старых <maketarget>master-sites</maketarget> и
- <maketarget>patch-sites</maketarget>. Они возвращают
+ <buildtarget>master-sites-all</buildtarget> и
+ <buildtarget>patch-sites-all</buildtarget>, которые выполняют
+ работу старых <buildtarget>master-sites</buildtarget> и
+ <buildtarget>patch-sites</buildtarget>. Они возвращают
элементы всех групп, как если бы они все принадлежали одной
и той же группе с тем, что она перечисляет ровно столько
- <makevar>MASTER_SITE_BACKUP</makevar> и
- <makevar>MASTER_SITE_OVERRIDE</makevar>, как и группы,
- определённые в <makevar>DISTFILES</makevar> или
- <makevar>PATCHFILES</makevar>; соответственно для
- <maketarget>master-sites-all</maketarget> и
- <maketarget>patch-sites-all</maketarget>.</para>
+ <varname>MASTER_SITE_BACKUP</varname> и
+ <varname>MASTER_SITE_OVERRIDE</varname>, как и группы,
+ определённые в <varname>DISTFILES</varname> или
+ <varname>PATCHFILES</varname>; соответственно для
+ <buildtarget>master-sites-all</buildtarget> и
+ <buildtarget>patch-sites-all</buildtarget>.</para>
</listitem>
</orderedlist>
</listitem>
@@ -3285,73 +3244,73 @@ PATCHFILES= patch1:test</programlisting>
</sect2>
<sect2>
- <title><makevar>DIST_SUBDIR</makevar></title>
+ <title><varname>DIST_SUBDIR</varname></title>
<para>Не позволяйте вашему порту засорять
<filename>/usr/ports/distfiles</filename>. Если вашему порту
требуется сгрузить много файлов, или он содержит имя файла,
могущее вызвать конфликты с другими портами (например,
<filename>Makefile</filename>), то укажите в переменной
- <makevar>DIST_SUBDIR</makevar> имя порта (должны подойти
+ <varname>DIST_SUBDIR</varname> имя порта (должны подойти
<literal>${PORTNAME}</literal> или
<literal>${PKGNAMEPREFIX}${PORTNAME}</literal>). Это изменит
- значение переменной <makevar>DISTDIR</makevar> со значения по
+ значение переменной <varname>DISTDIR</varname> со значения по
умолчанию <filename>/usr/ports/distfiles</filename> к значению
- <filename>/usr/ports/distfiles/<makevar>DIST_SUBDIR</makevar></filename>,
+ <filename>/usr/ports/distfiles/DIST_SUBDIR</filename>,
и в результате всё, что требуется для порта, будет помещено в этот
подкаталог.</para>
<para>Он заглянет также в подкаталог с тем же именем на
основном резервном сервере <filename>ftp.FreeBSD.org</filename>.
- (Явное задание переменной <makevar>DISTDIR</makevar> в вашем файле
- <makevar>Makefile</makevar> этого не сделает, так что, пожалуйста,
- воспользуйтесь <makevar>DIST_SUBDIR</makevar>.)</para>
+ (Явное задание переменной <varname>DISTDIR</varname> в вашем файле
+ <varname>Makefile</varname> этого не сделает, так что, пожалуйста,
+ воспользуйтесь <varname>DIST_SUBDIR</varname>.)</para>
<note>
- <para>Это не коснётся тех сайтов <makevar>MASTER_SITES</makevar>,
+ <para>Это не коснётся тех сайтов <varname>MASTER_SITES</varname>,
которые вы указали в вашем файле
<filename>Makefile</filename>.</para>
</note>
</sect2>
<sect2>
- <title><makevar>ALWAYS_KEEP_DISTFILES</makevar></title>
+ <title><varname>ALWAYS_KEEP_DISTFILES</varname></title>
<para>Если ваш порт использует двоичные дистрибутивные файлы и
обладает лицензией, требующей, чтобы исходный код предоставлялся
вместе с пакетами, распространяемыми в двоичной форме, например
- GPL, то <makevar>ALWAYS_KEEP_DISTFILES</makevar> даст кластеру
+ GPL, то <varname>ALWAYS_KEEP_DISTFILES</varname> даст кластеру
построения &os; указание сохранять копию файлов, указанных в
- <makevar>DISTFILES</makevar>. Пользователям таких портов эти
+ <varname>DISTFILES</varname>. Пользователям таких портов эти
файлы в основном не нужны, поэтому хорошей идеей является
- добавление в <makevar>DISTFILES</makevar> исходных
+ добавление в <varname>DISTFILES</varname> исходных
дистрибутивных файлов, только когда определена переменная
- <makevar>PACKAGE_BUILDING</makevar>.</para>
+ <varname>PACKAGE_BUILDING</varname>.</para>
- <example id="ports-master-sites-n-example-always-keep-distfiles">
- <title>Использование <makevar>ALWAYS_KEEP_DISTFILES</makevar>.</title>
+ <example xml:id="ports-master-sites-n-example-always-keep-distfiles">
+ <title>Использование <varname>ALWAYS_KEEP_DISTFILES</varname>.</title>
<programlisting>.if defined(PACKAGE_BUILDING)
DISTFILES+= <replaceable>foo.tar.gz</replaceable>
ALWAYS_KEEP_DISTFILES= yes
.endif</programlisting>
</example>
- <para>При добавлении дополнительных файлов в <makevar>DISTFILES</makevar>
+ <para>При добавлении дополнительных файлов в <varname>DISTFILES</varname>
убедитесь, что вы их также добавляете в <filename>distinfo</filename>.
Кроме того, дополнительные файлы обычно распаковываются также в
- <makevar>WRKDIR</makevar>, что для некоторых портов может вызывать
+ <varname>WRKDIR</varname>, что для некоторых портов может вызывать
нежелательные подобные эффекты и требовать особую обработку.</para>
</sect2>
</sect1>
- <sect1 id="makefile-maintainer">
- <title><makevar>MAINTAINER</makevar></title>
+ <sect1 xml:id="makefile-maintainer">
+ <title><varname>MAINTAINER</varname></title>
<para>Укажите здесь ваш адрес электронной почты. Пожалуйста.
<!-- smiley --><emphasis>:-)</emphasis></para>
<para>Заметьте, что в качестве значения для
- <makevar>MAINTAINER</makevar> допустимо использование только одного
+ <varname>MAINTAINER</varname> допустимо использование только одного
адреса без поля комментария. Должен использоваться формат
<literal>user@hostname.domain</literal>. Пожалуйста, не включайте
никакого описательного текста, например, вашего настоящего имени в
@@ -3361,8 +3320,8 @@ ALWAYS_KEEP_DISTFILES= yes
<para>Сопровождающий ответственен за поддержание порта в актуальном
состоянии и обеспечение правильной работы порта. За подробным
описанием обязанностей сопровождающего порт обращайтесь к главе
- <ulink url="&url.articles.contributing-ports.en;/maintain-port.html">The
- challenge for port maintainers</ulink>.</para>
+ <link xlink:href="&url.articles.contributing-ports.en;/maintain-port.html">The
+ challenge for port maintainers</link>.</para>
<para>Перед фиксацией в репозитории изменения в порте будут отправлены
сопровождающему для просмотра и одобрения.
@@ -3390,8 +3349,8 @@ ALWAYS_KEEP_DISTFILES= yes
по соображениям информационной безопасности.</para>
</sect1>
- <sect1 id="makefile-comment">
- <title><makevar>COMMENT</makevar></title>
+ <sect1 xml:id="makefile-comment">
+ <title><varname>COMMENT</varname></title>
<para>Содержит однострочное описание порта. Пожалуйста, соблюдайте
следующие правила:</para>
@@ -3443,20 +3402,20 @@ ALWAYS_KEEP_DISTFILES= yes
следовать сразу за переменной MAINTAINER.</para>
</sect1>
- <sect1 id="makefile-portscout">
- <title><makevar>PORTSCOUT</makevar></title>
+ <sect1 xml:id="makefile-portscout">
+ <title><varname>PORTSCOUT</varname></title>
<para><application>Portscout</application> являет собой
автоматизированное средство проверки доступности дистрибутивных
файлов для Коллекции Портов &os;, подробное описание которого
предоставляет <xref linkend="distfile-survey"/>.</para>
- <para>Переменная <makevar>PORTSCOUT</makevar> задаёт специальные
+ <para>Переменная <varname>PORTSCOUT</varname> задаёт специальные
условия, ограничивающие работу <application>Portscout</application>
- сканера дистрибутивных файлов.</para>
<para>Ситуации, при которых следует указывать переменную
- <makevar>PORTSCOUT</makevar>:</para>
+ <varname>PORTSCOUT</varname>:</para>
<itemizedlist>
<listitem>
@@ -3483,7 +3442,7 @@ ALWAYS_KEEP_DISTFILES= yes
<para>Когда URL, в которых указаны доступные версии, отличаются
от URL их загрузки. Например, чтобы привязать проверку новых
версий дистрибутивных файлов к странице загрузки для порта
- <filename role="package">databases/pgtune</filename>,
+ <package>databases/pgtune</package>,
добавьте:</para>
<programlisting>PORTSCOUT= site:http://pgfoundry.org/frs/?group_id=1000416</programlisting>
@@ -3491,7 +3450,7 @@ ALWAYS_KEEP_DISTFILES= yes
</itemizedlist>
</sect1>
- <sect1 id="makefile-depend">
+ <sect1 xml:id="makefile-depend">
<title>Зависимости</title>
<para>Многие порты зависят от других портов. Это очень удобная
@@ -3506,7 +3465,7 @@ ALWAYS_KEEP_DISTFILES= yes
зависимостей.</para>
<sect2>
- <title><makevar>LIB_DEPENDS</makevar></title>
+ <title><varname>LIB_DEPENDS</varname></title>
<para>Эта переменная указывает, от каких совместно используемых
библиотек зависит порт. Это список пар
@@ -3523,19 +3482,19 @@ ALWAYS_KEEP_DISTFILES= yes
отсутствует.</para>
<para>Зависимость проверяется дважды, один раз внутри цели
- <maketarget>extract</maketarget>, а затем из цели
- <maketarget>install</maketarget>. Кроме того, имя зависимости
+ <buildtarget>extract</buildtarget>, а затем из цели
+ <buildtarget>install</buildtarget>. Кроме того, имя зависимости
помещается в пакет, так что &man.pkg.add.1; будет
автоматически её устанавливать, если её нет на пользовательской
системе.</para>
</sect2>
<sect2>
- <title><makevar>RUN_DEPENDS</makevar></title>
+ <title><varname>RUN_DEPENDS</varname></title>
<para>В этой переменной перечисляются выполнимые файлы или файлы, от
которых зависит работа порта. Это список пар вида
- <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional><replaceable>:target</replaceable></optional>
+ <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional>:target</optional>
где <replaceable>path</replaceable> - это имя программы или файла,
а <replaceable>dir</replaceable> - каталог, в котором можно найти
порт в случае, если его нет в системе, и
@@ -3577,16 +3536,16 @@ ALWAYS_KEEP_DISTFILES= yes
</note>
<para>Зависимость проверяется внутри цели
- <maketarget>install</maketarget>. Кроме того, имя зависимости
+ <buildtarget>install</buildtarget>. Кроме того, имя зависимости
помещается в пакет, так что программа &man.pkg.add.1;
будет автоматически его устанавливать, если он не будет найден
в пользовательской системе. Часть
<replaceable>target</replaceable> может быть опущена, если она
- совпадает с <makevar>DEPENDS_TARGET</makevar>.</para>
+ совпадает с <varname>DEPENDS_TARGET</varname>.</para>
<para>Довольно распространенной является ситуация, когда
- <makevar>RUN_DEPENDS</makevar> буквально такая же как
- <makevar>BUILD_DEPENDS</makevar>, особенно если переносимое
+ <varname>RUN_DEPENDS</varname> буквально такая же как
+ <varname>BUILD_DEPENDS</varname>, особенно если переносимое
программное обеспечение написано на языке сценариев, или если
оно требует такое же окружение для исполнения, как и используемое
во время построения. В этом случае, очень заманчивым или довольно
@@ -3596,16 +3555,16 @@ ALWAYS_KEEP_DISTFILES= yes
<para>Тем не менее, подобные присвоения могут загрязнять зависимости
времени исполнения содержимым, не заданным в
- <makevar>BUILD_DEPENDS</makevar> исходного порта.
+ <varname>BUILD_DEPENDS</varname> исходного порта.
Такое случается из-за ленивого вычисления в &man.make.1;
присваиваемых переменных. Представьте <filename>Makefile</filename>
- с переменными <makevar>USE_<replaceable>*</replaceable></makevar>,
+ с переменными <varname>USE_<replaceable>*</replaceable></varname>,
которые обрабатываются в <filename>ports/Mk/bsd.*.mk</filename>
для пополнения первоначальных зависимостей построения. Например,
<literal>USES= gmake</literal> добавляет
- <filename role="package">devel/gmake</filename> в
- <makevar>BUILD_DEPENDS</makevar>. Для предотвращения загрязнения
- <makevar>RUN_DEPENDS</makevar> подобными дополнительными
+ <package>devel/gmake</package> в
+ <varname>BUILD_DEPENDS</varname>. Для предотвращения загрязнения
+ <varname>RUN_DEPENDS</varname> подобными дополнительными
зависимостями проявляйте осторожность с присвоением с раскрытием,
т.е. с раскрытием значения перед его присвоением переменной:</para>
@@ -3613,12 +3572,12 @@ ALWAYS_KEEP_DISTFILES= yes
</sect2>
<sect2>
- <title><makevar>BUILD_DEPENDS</makevar></title>
+ <title><varname>BUILD_DEPENDS</varname></title>
<para>В этой переменной перечисляются выполнимые или обычные файлы,
которые требуются порту для его построения. Как и
- <makevar>RUN_DEPENDS</makevar>, это список пар
- <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional><replaceable>:target</replaceable></optional>
+ <varname>RUN_DEPENDS</varname>, это список пар
+ <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional>:target</optional>
Например,</para>
<programlisting>BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip</programlisting>
@@ -3632,19 +3591,19 @@ ALWAYS_KEEP_DISTFILES= yes
<note>
<para>Под <quote>построением</quote> здесь понимается всё, от
распаковки до компиляции. Зависимость проверяется из цели
- <maketarget>extract</maketarget>. Часть
+ <buildtarget>extract</buildtarget>. Часть
<replaceable>target</replaceable> может быть опущена, если она
- совпадает с <makevar>DEPENDS_TARGET</makevar>.</para>
+ совпадает с <varname>DEPENDS_TARGET</varname>.</para>
</note>
</sect2>
<sect2>
- <title><makevar>FETCH_DEPENDS</makevar></title>
+ <title><varname>FETCH_DEPENDS</varname></title>
<para>В этой переменной перечисляются выполняемые файлы или просто
файлы, которые требуются порту для сгрузки. Как и предыдущие две
переменные, это список пар
- <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional><replaceable>:target</replaceable></optional>
+ <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional>:target</optional>
Например,</para>
<programlisting>FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2</programlisting>
@@ -3656,18 +3615,18 @@ ALWAYS_KEEP_DISTFILES= yes
найден.</para>
<para>Зависимость проверяется при выполнении цели
- <maketarget>fetch</maketarget>. Часть
+ <buildtarget>fetch</buildtarget>. Часть
<replaceable>target</replaceable> может быть опущена, если она
- совпадает с <makevar>DEPENDS_TARGET</makevar>.</para>
+ совпадает с <varname>DEPENDS_TARGET</varname>.</para>
</sect2>
<sect2>
- <title><makevar>EXTRACT_DEPENDS</makevar></title>
+ <title><varname>EXTRACT_DEPENDS</varname></title>
<para>В этой переменной указываются программы или файлы, которые
требуются для распаковки порта. Как и в предыдущих случаях, это
список пар вида
- <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional><replaceable>:target</replaceable></optional>.
+ <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional>:target</optional>.
Например,</para>
<programlisting>EXTRACT_DEPENDS= unzip:${PORTSDIR}/archivers/unzip</programlisting>
@@ -3679,26 +3638,26 @@ ALWAYS_KEEP_DISTFILES= yes
найдено.</para>
<para>Зависимость проверяется внутри цели
- <maketarget>extract</maketarget>. Часть
+ <buildtarget>extract</buildtarget>. Часть
<replaceable>target</replaceable> может быть опущена, если она
- совпадает с <makevar>DEPENDS_TARGET</makevar>.</para>
+ совпадает с <varname>DEPENDS_TARGET</varname>.</para>
<note>
<para>Используйте эту переменную, только если распаковка не
работает (по умолчанию предполагается использование
<command>gzip</command>) и это не исправляется при помощи
- <makevar>USE_ZIP</makevar> или <makevar>USE_BZIP2</makevar>,
+ <varname>USE_ZIP</varname> или <varname>USE_BZIP2</varname>,
которые описаны в <xref linkend="use-vars"/>.</para>
</note>
</sect2>
<sect2>
- <title><makevar>PATCH_DEPENDS</makevar></title>
+ <title><varname>PATCH_DEPENDS</varname></title>
<para>Эта переменная указывает на программы или файлы, которые нужны
порту для применения патчей. Как и в предыдущих случаях, это
список пар вида
- <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional><replaceable>:target</replaceable></optional>.
+ <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional>:target</optional>.
Например,</para>
<programlisting>PATCH_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/java/jfc:extract</programlisting>
@@ -3708,13 +3667,13 @@ ALWAYS_KEEP_DISTFILES= yes
портов для распаковки.</para>
<para>Зависимость проверяется внутри цели
- <maketarget>patch</maketarget>. Часть
+ <buildtarget>patch</buildtarget>. Часть
<replaceable>target</replaceable> может быть опущена, если она
- совпадает с <makevar>DEPENDS_TARGET</makevar>.</para>
+ совпадает с <varname>DEPENDS_TARGET</varname>.</para>
</sect2>
- <sect2 id="uses">
- <title><makevar>USES</makevar></title>
+ <sect2 xml:id="uses">
+ <title><varname>USES</varname></title>
<para>Существует несколько параметров для определения различных
видов характерных особенностей и зависимостей, которыми
@@ -3724,31 +3683,30 @@ ALWAYS_KEEP_DISTFILES= yes
<programlisting>USES= feature[:arguments]</programlisting>
- <para>Для получения полного списка значений смотрите <xref
- linkend="uses-values"/>.</para>
+ <para>Для получения полного списка значений смотрите <xref linkend="uses-values"/>.</para>
<warning>
- <para>Значение <makevar>USES</makevar> нельзя присваивать
+ <para>Значение <varname>USES</varname> нельзя присваивать
после подключения <filename>bsd.port.pre.mk</filename>.</para>
</warning>
</sect2>
- <sect2 id="use-vars">
- <title><makevar>USE_<replaceable>*</replaceable></makevar></title>
+ <sect2 xml:id="use-vars">
+ <title><varname>USE_<replaceable>*</replaceable></varname></title>
<para>Для определения общих зависимостей, совместно используемых
многими портами, предназначено несколько переменных. Их
использование является необязательным, но помогает упростить
избыточность файлов <filename>Makefile</filename> порта.
Каждый из них оформляется как
- <makevar>USE_<replaceable>*</replaceable></makevar>. Эти
+ <varname>USE_<replaceable>*</replaceable></varname>. Эти
переменные можно использовать только в <filename>Makefile</filename>
порта и <filename>ports/Mk/bsd.*.mk</filename>. Они не
предназначены для установки пользователями параметров &mdash;
- используйте для этих целей <makevar>PORT_OPTIONS</makevar>.</para>
+ используйте для этих целей <varname>PORT_OPTIONS</varname>.</para>
<note>
- <para>Установка любых <makevar>USE_<replaceable>*</replaceable></makevar>
+ <para>Установка любых <varname>USE_<replaceable>*</replaceable></varname>
в <filename>/etc/make.conf</filename> <emphasis>всегда</emphasis>
является ошибочным действием. В частности, установка</para>
@@ -3761,7 +3719,7 @@ ALWAYS_KEEP_DISTFILES= yes
<table frame="none">
<title>Переменные
- <makevar>USE_<replaceable>*</replaceable></makevar></title>
+ <varname>USE_<replaceable>*</replaceable></varname></title>
<tgroup cols="2">
<thead>
@@ -3774,21 +3732,21 @@ ALWAYS_KEEP_DISTFILES= yes
<tbody>
<row>
- <entry><makevar>USE_BZIP2</makevar></entry>
+ <entry><varname>USE_BZIP2</varname></entry>
<entry>tar-архивы порта упакованы при помощи
<command>bzip2</command>.</entry>
</row>
<row>
- <entry><makevar>USE_ZIP</makevar></entry>
+ <entry><varname>USE_ZIP</varname></entry>
<entry>tar-архивы порта упакованы при помощи
<command>zip</command>.</entry>
</row>
<row>
- <entry><makevar>USE_GCC</makevar></entry>
+ <entry><varname>USE_GCC</varname></entry>
<entry>Для сборки порта требуется GCC
(<command>gcc</command> или <command>g++</command>).
@@ -3810,7 +3768,7 @@ ALWAYS_KEEP_DISTFILES= yes
его версия удовлетворяет запрошенной, иначе
собирается подходящая версии компилятора из порта с
соответствующей коррекцией переменных
- <makevar>CC</makevar> и <makevar>CXX</makevar>.
+ <varname>CC</varname> и <varname>CXX</varname>.
</entry>
</row>
@@ -3824,12 +3782,9 @@ ALWAYS_KEEP_DISTFILES= yes
<application>automake</application> и
<application>libtool</application> описаны в
<xref linkend="using-autotools"/>. Переменные, связанные с
- <application>Perl</application>, описаны в <xref
- linkend="using-perl"/>. Переменные X11 перечислены в <xref
- linkend="using-x11"/>. <xref linkend="using-gnome"/>
+ <application>Perl</application>, описаны в <xref linkend="using-perl"/>. Переменные X11 перечислены в <xref linkend="using-x11"/>. <xref linkend="using-gnome"/>
работает с переменными GNOME и <xref linkend="using-kde"/> с KDE.
- <xref linkend="using-java"/> описывает переменные Java, а <xref
- linkend="using-php"/> содержит информацию об
+ <xref linkend="using-java"/> описывает переменные Java, а <xref linkend="using-php"/> содержит информацию об
<application>Apache</application>, <application>PHP</application>
и модулях PEAR. <application>Python</application> обсуждается в
<xref linkend="using-python"/>, а <application>Ruby</application>
@@ -3844,11 +3799,11 @@ ALWAYS_KEEP_DISTFILES= yes
<title>Минимальная версия зависимости</title>
<para>Минимальная версия зависимости может быть указана в любой
- переменной <makevar>*_DEPENDS</makevar>, за исключением
- <makevar>LIB_DEPENDS</makevar>, с использованием следующего
+ переменной <varname>*_DEPENDS</varname>, за исключением
+ <varname>LIB_DEPENDS</varname>, с использованием следующего
синтаксиса:</para>
- <programlisting>p5-Spiffy>=0.26:${PORTSDIR}/devel/p5-Spiffy</programlisting>
+ <programlisting>p5-Spiffy&gt;=0.26:${PORTSDIR}/devel/p5-Spiffy</programlisting>
<para>Первое поле содержит название зависимого пакета, которое
обязано совпадать с записью в базе данные пакетов, знак сравнения
@@ -3861,26 +3816,26 @@ ALWAYS_KEEP_DISTFILES= yes
<para>Как уже отмечено выше, целью, которая вызывается по умолчанию
в случае, когда это требует зависимость, является
- <maketarget>DEPENDS_TARGET</maketarget>. Она по умолчанию есть
+ <buildtarget>DEPENDS_TARGET</buildtarget>. Она по умолчанию есть
<literal>install</literal>. Это пользовательская переменная; она
нигде не определена в файле <filename>Makefile</filename> порта.
Если вашему порту требуется особый метод обработки зависимости,
воспользуйтесь частью <literal>:target</literal> переменной
- <makevar>*_DEPENDS</makevar> вместо того, чтобы переопределять
- <makevar>DEPENDS_TARGET</makevar>.</para>
+ <varname>*_DEPENDS</varname> вместо того, чтобы переопределять
+ <varname>DEPENDS_TARGET</varname>.</para>
<para>Когда вы набираете команду <command>make clean</command>,
эта операция также выполняется и над зависимостями этого порта.
Если вы не хотите, чтобы это случилось, определите переменную
- <makevar>NOCLEANDEPENDS</makevar> в вашем окружении.
+ <varname>NOCLEANDEPENDS</varname> в вашем окружении.
Это может быть особенно нужным, если порт имеет нечто, что занимает
много времени на построение, в своём списке зависимостей, например,
KDE, GNOME или Mozilla.</para>
<para>Чтобы безусловно зависеть от другого порта, укажите переменную
- <makevar>${NONEXISTENT}</makevar> в качестве первого поля
- переменной <makevar>BUILD_DEPENDS</makevar> или
- <makevar>RUN_DEPENDS</makevar>. Пользуйтесь этим, только когда вам
+ <varname>${NONEXISTENT}</varname> в качестве первого поля
+ переменной <varname>BUILD_DEPENDS</varname> или
+ <varname>RUN_DEPENDS</varname>. Пользуйтесь этим, только когда вам
нужно иметь исходный код другого порта. Вы можете сэкономить время
на компиляции, указав также и цель. Например,</para>
@@ -3961,46 +3916,45 @@ LIB_DEPENDS= bar:${PORTSDIR}/foo/bar
им пакетов.</para>
</sect2>
- <sect2 id="use-want">
- <title><makevar>USE_</makevar> и
- <makevar>WANT_</makevar></title>
+ <sect2 xml:id="use-want">
+ <title><varname>USE_</varname> и
+ <varname>WANT_</varname></title>
- <para>Переменные <makevar>USE_</makevar> задаются мейнтейнером
+ <para>Переменные <varname>USE_</varname> задаются мейнтейнером
порта для определения программного обеспечения, от которого
этот порт зависит. Порт, для которого нужен Firefox,
укажет</para>
<programlisting>USE_FIREFOX= yes</programlisting>
- <para>Некоторые переменные <makevar>USE_</makevar> могут
+ <para>Некоторые переменные <varname>USE_</varname> могут
принимать номера версий или другие параметры. Например,
порт, который требует Apache 2.2, укажет</para>
<programlisting>USE_APACHE= 22</programlisting>
<para>В некоторых случаях для большего контроля над
- зависимостями используются переменные <makevar>WANT_</makevar>,
+ зависимостями используются переменные <varname>WANT_</varname>,
которые позволяют указывать требования в более точной форме.
- Например, взгляните на порт <filename
- role="package">mail/squirrelmail</filename>. Этому порту
+ Например, взгляните на порт <package>mail/squirrelmail</package>. Этому порту
нужны несколько модулей PHP, которые перечислены в переменной
- <makevar>USE_PHP</makevar>:</para>
+ <varname>USE_PHP</varname>:</para>
<programlisting>USE_PHP= session mhash gettext mbstring pcre openssl xml</programlisting>
<para>Эти модули доступны в версиях CLI и web, поэтому версия
- web выбрана с переменной <makevar>WANT_</makevar>:</para>
+ web выбрана с переменной <varname>WANT_</varname>:</para>
<programlisting>WANT_PHP_WEB= yes</programlisting>
- <para>Имеющиеся переменные <makevar>USE_</makevar> и
- <makevar>WANT_</makevar> определены в файлах
+ <para>Имеющиеся переменные <varname>USE_</varname> и
+ <varname>WANT_</varname> определены в файлах
<filename>/usr/ports/Mk</filename>.</para>
</sect2>
</sect1>
- <sect1 id="makefile-masterdir">
- <title><makevar>MASTERDIR</makevar></title>
+ <sect1 xml:id="makefile-masterdir">
+ <title><varname>MASTERDIR</varname></title>
<para>Если вашему порту требуется построение довольно различающихся
версий пакетов через переменную (задающую, например, разрешение,
@@ -4011,10 +3965,9 @@ LIB_DEPENDS= bar:${PORTSDIR}/foo/bar
потребуются только очень короткие файлы <filename>Makefile</filename>
во всех каталогах, кроме одного, если вы будете использовать переменные
с умом. В отдельных файлах <filename>Makefile</filename> вы можете
- использовать переменную <makevar>MASTERDIR</makevar> для указания
+ использовать переменную <varname>MASTERDIR</varname> для указания
каталога, в котором находятся все остальные файлы. Также используйте
- переменную как часть <link
- linkend="porting-pkgname"><makevar>PKGNAMESUFFIX</makevar></link>, чтобы
+ переменную как часть <link linkend="porting-pkgname"><varname>PKGNAMESUFFIX</varname></link>, чтобы
пакеты имели разные имена.</para>
<para>Продемонстрируем это на примере. Вот часть файла
@@ -4036,7 +3989,7 @@ RESOLUTION?= 300
.endif
</programlisting>
- <para>Порт <filename role="package">japanese/xdvi300</filename> содержит
+ <para>Порт <package>japanese/xdvi300</package> содержит
также все обычные патчи, файлы для пакета и так далее. Если вы введете
здесь команду <command>make</command>, она возьмет в качестве разрешения
значение по умолчанию (300) и построит порт обычным образом.</para>
@@ -4051,9 +4004,9 @@ MASTERDIR= ${.CURDIR}/../xdvi300
<para>(<filename>xdvi240/Makefile</filename> и
<filename>xdvi400/Makefile</filename> похожи). Задание
- <makevar>MASTERDIR</makevar> говорит <filename>bsd.port.mk</filename>,
- что обычный набор подкаталогов типа <makevar>FILESDIR</makevar> и
- <makevar>SCRIPTDIR</makevar> находится в каталоге
+ <varname>MASTERDIR</varname> говорит <filename>bsd.port.mk</filename>,
+ что обычный набор подкаталогов типа <varname>FILESDIR</varname> и
+ <varname>SCRIPTDIR</varname> находится в каталоге
<filename>xdvi300</filename>. Строчка
<literal>RESOLUTION=118</literal> переопределят строку
<literal>RESOLUTION=300</literal> в файле
@@ -4061,10 +4014,10 @@ MASTERDIR= ${.CURDIR}/../xdvi300
разрешением 118.</para>
</sect1>
- <sect1 id="makefile-manpages">
+ <sect1 xml:id="makefile-manpages">
<title>Страницы Справочника</title>
- <para>Переменные <makevar>MAN[1-9LN]</makevar> автоматически добавят любые
+ <para>Переменные <varname>MAN[1-9LN]</varname> автоматически добавят любые
страницы Справочника к файлу <filename>pkg-plist</filename> (это
означает, что вам <emphasis>не нужно</emphasis> указывать страницы
Справочника в файле <filename>pkg-plist</filename>&mdash;обратитесь к
@@ -4072,12 +4025,12 @@ MASTERDIR= ${.CURDIR}/../xdvi300
получения более подробной информации). Это также позволяет на этапе
установки автоматически упаковывать и распаковывать страницы
Справочника в зависимости от значения переменной
- <makevar>NO_MANCOMPRESS</makevar> в файле
+ <varname>NO_MANCOMPRESS</varname> в файле
<filename>/etc/make.conf</filename>.</para>
<para>Если ваш порт пытается задать несколько имен для страниц
Справочника при помощи символических или жестких ссылок, то вы должны
- использовать переменную <makevar>MLINKS</makevar>, чтобы указать на
+ использовать переменную <varname>MLINKS</varname>, чтобы указать на
это. Ссылка, установленная вашим портом, будет уничтожена и создана
заново сценарием <filename>bsd.port.mk</filename> для проверки того,
что она указывает на правильный файл. Любые страницы Справочника,
@@ -4086,31 +4039,31 @@ MASTERDIR= ${.CURDIR}/../xdvi300
<para>Для указания того, что страницы Справочника нужно сжимать во
время установки, используйте переменную
- <makevar>MANCOMPRESSED</makevar>. Эта переменная может принимать три
+ <varname>MANCOMPRESSED</varname>. Эта переменная может принимать три
значения - <literal>yes</literal>, <literal>no</literal> и
<literal>maybe</literal>. <literal>yes</literal> означает, что
страницы Справочника устанавливаются уже сжатыми, <literal>no</literal>
означает, что они не сжимаются и <literal>maybe</literal> означает, что
программное обеспечение принимает во внимание значение переменной
- <makevar>NO_MANCOMPRESS</makevar>, так что сценарию
+ <varname>NO_MANCOMPRESS</varname>, так что сценарию
<filename>bsd.port.mk</filename> ничего дополнительно делать не
нужно.</para>
<para>Если ваш порт определяет корнем для файлов Справочника каталог,
- отличный от <makevar>PREFIX</makevar>, вы можете использовать
- переменную <makevar>MANPREFIX</makevar>, чтобы задать его явно. Кроме
+ отличный от <varname>PREFIX</varname>, вы можете использовать
+ переменную <varname>MANPREFIX</varname>, чтобы задать его явно. Кроме
того, если страницы только некоторых разделов помещаются в
нестандартное место, например, в случае портов модулей языка
<literal>perl</literal> Perl, вы можете установить маршруты к справочным
страницам индивидуально, при помощи
- <makevar>MAN<replaceable>sect</replaceable>PREFIX</makevar> (где
+ <varname>MAN<replaceable>sect</replaceable>PREFIX</varname> (где
<replaceable>sect</replaceable> принимает значения
<literal>1-9</literal>, <literal>L</literal> или
<literal>N</literal>).</para>
<para>Если страницы Справочника помещаются в подкаталоги, соответствующие
некоторому языку, то задайте название языка языка в переменной
- <makevar>MANLANG</makevar>. Значение этой переменной по умолчанию
+ <varname>MANLANG</varname>. Значение этой переменной по умолчанию
равно <literal>""</literal> (то есть только английский язык).</para>
<para>Вот пример, в котором приводятся все случаи.</para>
@@ -4142,7 +4095,7 @@ ${MANPREFIX}/man/ja/man4/baz.4.gz</programlisting>
<para>Если переведена только часть страниц справочника, вы можете
использовать некоторые переменные, созданные динамически из
- содержимого <makevar>MANLANG</makevar>:</para>
+ содержимого <varname>MANLANG</varname>:</para>
<programlisting>MANLANG= "" de ja
MAN1= foo.1
@@ -4158,22 +4111,22 @@ ${MANPREFIX}/man/man1/bar.1.gz
${MANPREFIX}/man/de/man3/baz.3.gz</programlisting>
</sect1>
- <sect1 id="makefile-info">
+ <sect1 xml:id="makefile-info">
<title>Файлы в формате info</title>
<para>Если в вашем пакете нужна установка файлов GNU info, они должны
- быть перечислены в переменной <makevar>INFO</makevar> (без окончания
+ быть перечислены в переменной <varname>INFO</varname> (без окончания
<literal>.info</literal>), по записи на документ. Предполагается,
что эти файлы устанавливаются в
- <filename><makevar>PREFIX</makevar>/<makevar>INFO_PATH</makevar></filename>.
- Вы можете изменить <makevar>INFO_PATH</makevar>, если ваш пакет
+ <filename>PREFIX/INFO_PATH</filename>.
+ Вы можете изменить <varname>INFO_PATH</varname>, если ваш пакет
использует другое место для размещения. Однако, это не рекомендуется
делать. Эти записи всего лишь содержат путь относительно
- <filename><makevar>PREFIX</makevar>/<makevar>INFO_PATH</makevar></filename>.
- Например, <filename role="package">lang/gcc34</filename> устанавливает
+ <filename>PREFIX/INFO_PATH</filename>.
+ Например, <package>lang/gcc34</package> устанавливает
файлы info в
- <filename><makevar>PREFIX</makevar>/<makevar>INFO_PATH</makevar>/gcc34</filename>,
- и в <makevar>INFO</makevar> будет что-то вроде этого:</para>
+ <filename>PREFIX/INFO_PATH/gcc34</filename>,
+ и в <varname>INFO</varname> будет что-то вроде этого:</para>
<programlisting>INFO= gcc34/cpp gcc34/cppinternals gcc34/g77 ...</programlisting>
@@ -4181,7 +4134,7 @@ ${MANPREFIX}/man/de/man3/baz.3.gz</programlisting>
автоматически добавлен во временный <filename>pkg-plist</filename>.</para>
</sect1>
- <sect1 id="makefile-options">
+ <sect1 xml:id="makefile-options">
<title>Опции для Makefile</title>
<para>Многие приложения могут быть построены в различных
@@ -4199,24 +4152,24 @@ ${MANPREFIX}/man/de/man3/baz.3.gz</programlisting>
<title>Knobs</title>
<sect3>
- <title><makevar>WITH_<replaceable>*</replaceable></makevar>
+ <title><varname>WITH_<replaceable>*</replaceable></varname>
и
- <makevar>WITHOUT_<replaceable>*</replaceable></makevar></title>
+ <varname>WITHOUT_<replaceable>*</replaceable></varname></title>
<para>Эти переменные предназначены для установки системным
администратором. Многие из них стандартизованы в файле
- <ulink url="http://svnweb.FreeBSD.org/ports/head/KNOBS?view=markup"><filename>ports/KNOBS</filename></ulink>.</para>
+ <link xlink:href="http://svnweb.FreeBSD.org/ports/head/KNOBS?view=markup"><filename>ports/KNOBS</filename></link>.</para>
<para>При создании порта не давайте имя для knob, специфичное
для данного приложения. На примере порта Avahi, используйте
- <makevar>WITHOUT_MDNS</makevar> вместо
- <makevar>WITHOUT_AVAHI_MDNS</makevar>.</para>
+ <varname>WITHOUT_MDNS</varname> вместо
+ <varname>WITHOUT_AVAHI_MDNS</varname>.</para>
<note>
<para>Не стоит рассчитывать, что
- <makevar>WITH_<replaceable>*</replaceable></makevar>
+ <varname>WITH_<replaceable>*</replaceable></varname>
обязательно имеет соответствующую переменную
- <makevar>WITHOUT_<replaceable>*</replaceable></makevar>,
+ <varname>WITHOUT_<replaceable>*</replaceable></varname>,
и наоборот. В общем случае, предполагается значение по
умолчанию.</para>
</note>
@@ -4229,8 +4182,8 @@ ${MANPREFIX}/man/de/man3/baz.3.gz</programlisting>
<table frame="none">
<title>Основные переменные
- <makevar>WITH_<replaceable>*</replaceable></makevar>
- и <makevar>WITHOUT_<replaceable>*</replaceable></makevar></title>
+ <varname>WITH_<replaceable>*</replaceable></varname>
+ и <varname>WITHOUT_<replaceable>*</replaceable></varname></title>
<tgroup cols="2">
<thead>
@@ -4243,16 +4196,16 @@ ${MANPREFIX}/man/de/man3/baz.3.gz</programlisting>
<tbody>
<row>
- <entry><makevar>WITH_OPENSSL_BASE</makevar></entry>
+ <entry><varname>WITH_OPENSSL_BASE</varname></entry>
<entry>Использовать версию OpenSSL из базовой системы.</entry>
</row>
<row>
- <entry><makevar>WITH_OPENSSL_PORT</makevar></entry>
+ <entry><varname>WITH_OPENSSL_PORT</varname></entry>
<entry>Устанавливает версию OpenSSL из
- <filename role="package">security/openssl</filename>,
+ <package>security/openssl</package>,
даже если в базовой системе последняя версия.</entry>
</row>
</tbody>
@@ -4266,43 +4219,42 @@ ${MANPREFIX}/man/de/man3/baz.3.gz</programlisting>
<para>Портеры должны использовать так называемые
knobs для помощи конечным пользователям и для поддержания
количества наименований knobs в небольшом количестве.
- Список популярных названий knobs можно найти в файле <ulink
- url="http://svnweb.FreeBSD.org/ports/head/KNOBS?view=markup"><filename>KNOBS</filename></ulink>
+ Список популярных названий knobs можно найти в файле <link xlink:href="http://svnweb.FreeBSD.org/ports/head/KNOBS?view=markup"><filename>KNOBS</filename></link>
</para>
<para>Названия knobs должны отражать, что это такое и что
выполняет. Если у порта имеется библиотечный префикс в
- <makevar>PORTNAME</makevar>, то он должен присутствовать в
+ <varname>PORTNAME</varname>, то он должен присутствовать в
названии knobs.</para>
</sect3>
</sect2>
<sect2>
- <title><makevar>OPTIONS</makevar></title>
+ <title><varname>OPTIONS</varname></title>
<sect3>
<title>Описание</title>
- <para>При установке порта переменные <makevar>OPTIONS_*</makevar>
+ <para>При установке порта переменные <varname>OPTIONS_*</varname>
предоставляют пользователю окно диалога с отображением
доступных параметров, с записью выбранных параметров в файл
- <filename>/var/db/ports/<makevar>${UNIQUENAME}</makevar>/options</filename>.
+ <filename>/var/db/ports/${UNIQUENAME}/options</filename>.
Эти опции повторно используются при следующем построении
порта.</para>
<para>Когда пользователь запускает <command>make config</command>
(или запускает впервые <command>make build</command>),
инфраструктура выполняет проверку существования файла
- <filename>/var/db/ports/<makevar>${UNIQUENAME}</makevar>/options</filename>.
+ <filename>/var/db/ports/${UNIQUENAME}/options</filename>.
Если этот файл не существует, то используются значения
- <makevar>OPTIONS_*</makevar> и отображается диалоговое окно,
+ <varname>OPTIONS_*</varname> и отображается диалоговое окно,
в котором эти параметры можно включить или выключить.
Затем сохраняется файл опций <filename>options</filename>,
и выбранные переменные используются при построении порта.</para>
<para>Если новая версия порта добавляет новые значения
- <makevar>OPTIONS</makevar>, то пользователю будет представлено
+ <varname>OPTIONS</varname>, то пользователю будет представлено
окно диалога с сохраненными заполненными значениями старых
- <makevar>OPTIONS.</makevar></para>
+ <varname>OPTIONS.</varname></para>
<para><command>make showconfig</command> отображает
сохраненную конфигурацию. Для удаления
@@ -4313,14 +4265,14 @@ ${MANPREFIX}/man/de/man3/baz.3.gz</programlisting>
<sect3>
<title>Синтаксис</title>
- <para><makevar>OPTIONS_DEFINE</makevar> содержит список
- используемых <makevar>OPTIONS</makevar>. Они независимы
+ <para><varname>OPTIONS_DEFINE</varname> содержит список
+ используемых <varname>OPTIONS</varname>. Они независимы
друг от друга и не сгруппированы:</para>
<programlisting>OPTIONS_DEFINE= OPT1 OPT2</programlisting>
<para>Далее после определения следует описание
- <makevar>OPTIONS</makevar> (не является обязательным,
+ <varname>OPTIONS</varname> (не является обязательным,
но настоятельно рекомендуется):</para>
<programlisting>OPT1_DESC= Describe OPT1
@@ -4333,7 +4285,7 @@ OPT6_DESC= Describe OPT6</programlisting>
<tip>
<para><filename>ports/Mk/bsd.options.desc.mk</filename>
содержит описание множества наиболее используемых
- <makevar>OPTIONS</makevar>; переопределять их, как
+ <varname>OPTIONS</varname>; переопределять их, как
правило, не нужно.</para>
</tip>
@@ -4352,21 +4304,21 @@ OPT6_DESC= Describe OPT6</programlisting>
вы поможете пользователю гораздо больше.</para>
</tip>
- <para><makevar>OPTIONS</makevar> можно группировать в виде
+ <para><varname>OPTIONS</varname> можно группировать в виде
переключателей, для которых разрешен выбор единственного
варианта в каждой группе:</para>
<programlisting>OPTIONS_SINGLE= SG1
OPTIONS_SINGLE_SG1= OPT3 OPT4</programlisting>
- <para><makevar>OPTIONS</makevar> можно группировать в виде
+ <para><varname>OPTIONS</varname> можно группировать в виде
переключателей, для которых разрешен выбор единственного
варианта (или ни одного) в каждой группе:</para>
<programlisting>OPTIONS_RADIO= RG1
OPTIONS_RADIO_RG1= OPT7 OPT8</programlisting>
- <para><makevar>OPTIONS</makevar> также можно группировать
+ <para><varname>OPTIONS</varname> также можно группировать
в виде списков со множественным выбором, для которых
обязан быть включен <emphasis>по крайней мере
один</emphasis> из параметров:</para>
@@ -4374,7 +4326,7 @@ OPTIONS_RADIO_RG1= OPT7 OPT8</programlisting>
<programlisting>OPTIONS_MULTI= MG1
OPTIONS_MULTI_MG1= OPT5 OPT6</programlisting>
- <para><makevar>OPTIONS</makevar> также можно группировать
+ <para><varname>OPTIONS</varname> также можно группировать
в виде списков со множественным выбором, для которых
могут быть включены любые параметры, включая отсутствие
выбора:</para>
@@ -4382,15 +4334,15 @@ OPTIONS_MULTI_MG1= OPT5 OPT6</programlisting>
<programlisting>OPTIONS_GROUP= GG1
OPTIONS_GROUP_GG1= OPT9 OPT10</programlisting>
- <para>По умолчанию <makevar>OPTIONS</makevar> находится в
+ <para>По умолчанию <varname>OPTIONS</varname> находится в
выключенном положении, если при этом оно также отсутствует
- в списке <makevar>OPTIONS_DEFAULT</makevar>:</para>
+ в списке <varname>OPTIONS_DEFAULT</varname>:</para>
<programlisting>OPTIONS_DEFAULT= OPT1 OPT3 OPT6</programlisting>
- <para>Определения <makevar>OPTIONS</makevar> обязаны появиться
+ <para>Определения <varname>OPTIONS</varname> обязаны появиться
до подключения <filename>bsd.port.options.mk</filename>.
- Переменные <makevar>PORT_OPTIONS</makevar>
+ Переменные <varname>PORT_OPTIONS</varname>
могут быть проверены только после
подключения <filename>bsd.port.options.mk</filename>.
Вместо этого также можно использовать подключение
@@ -4398,12 +4350,12 @@ OPTIONS_GROUP_GG1= OPT9 OPT10</programlisting>
используется в портах, написанных до появления
<filename>bsd.port.options.mk</filename>. Но имейте в виду,
что некоторые переменные, обычно, это некоторые флаги
- <makevar>USE_*</makevar>,
+ <varname>USE_*</varname>,
после подключения <filename>bsd.port.pre.mk</filename> будут
работать не так, как этого от них ожидают.</para>
- <example id="ports-options-simple-use">
- <title>Простое использование <makevar>OPTIONS</makevar></title>
+ <example xml:id="ports-options-simple-use">
+ <title>Простое использование <varname>OPTIONS</varname></title>
<programlisting>OPTIONS_DEFINE= FOO BAR
FOO_DESC= Enable option foo
@@ -4424,18 +4376,18 @@ RUN_DEPENDS+= bar:${PORTSDIR}/bar/bar
.include &lt;bsd.port.mk&gt;</programlisting>
</example>
- <example id ="ports-options-check-unset">
+ <example xml:id="ports-options-check-unset">
<title>Проверка незаданных значений
- <makevar>OPTIONS</makevar></title>
+ <varname>OPTIONS</varname></title>
<programlisting>.if ! ${PORT_OPTIONS:MEXAMPLES}
CONFIGURE_ARGS+=--without-examples
.endif</programlisting>
</example>
- <example id="ports-options-practical-use">
+ <example xml:id="ports-options-practical-use">
<title>Пример реального использования
- <makevar>OPTIONS</makevar></title>
+ <varname>OPTIONS</varname></title>
<programlisting>OPTIONS_DEFINE= EXAMPLES
@@ -4500,9 +4452,9 @@ CONFIGURE_ARGS+= --without-examples
</itemizedlist>
<note>
<para>Нет необходимости добавлять эти параметры в
- <makevar>OPTIONS_DEFAULT</makevar>. Тем не менее, чтобы
+ <varname>OPTIONS_DEFAULT</varname>. Тем не менее, чтобы
отобразить их в окне диалога выбора параметров, они должны
- быть добавлены в <makevar>OPTIONS_DEFINE</makevar>.</para>
+ быть добавлены в <varname>OPTIONS_DEFINE</varname>.</para>
</note>
</sect3>
</sect2>
@@ -4516,7 +4468,7 @@ CONFIGURE_ARGS+= --without-examples
необязательные функции, которые вы не хотели бы использовать,
через передачу соответствующих <literal>--without-xxx</literal>
или <literal>--disable-xxx</literal> в переменной
- <makevar>CONFIGURE_ARGS</makevar>.</para>
+ <varname>CONFIGURE_ARGS</varname>.</para>
<example>
<title>Неправильное управление опцией</title>
@@ -4572,10 +4524,10 @@ CONFIGURE_ARGS+= --disable-foo
значений, которые отличаются в зависимости от набора
параметров.</para>
- <para>Если переменная <makevar>OPTIONS_SUB</makevar> имеет
+ <para>Если переменная <varname>OPTIONS_SUB</varname> имеет
значение <literal>yes</literal>, то каждый из указанных в
- <makevar>OPTIONS_DEFINE</makevar> параметров будет добавлен
- в <makevar>PLIST_SUB</makevar>. Следующая запись:</para>
+ <varname>OPTIONS_DEFINE</varname> параметров будет добавлен
+ в <varname>PLIST_SUB</varname>. Следующая запись:</para>
<programlisting>OPTIONS_DEFINE= OPT1
OPTIONS_SUB= yes</programlisting>
@@ -4592,11 +4544,11 @@ PLIST_SUB+= OPT1=""
PLIST_SUB+= OPT1="@comment "
.endif</programlisting>
- <para><makevar>X_CONFIGURE_ENABLE</makevar> дописывает в
- <makevar>CONFIGURE_ARGS</makevar> строку
+ <para><varname>X_CONFIGURE_ENABLE</varname> дописывает в
+ <varname>CONFIGURE_ARGS</varname> строку
<literal>--enable-${X_CONFIGURE_ENABLE}</literal> или
<literal>--disable-${X_CONFIGURE_ENABLE}</literal> в
- соответствии с состоянием <makevar>X</makevar>. Следующая
+ соответствии с состоянием <varname>X</varname>. Следующая
запись:</para>
<programlisting>OPTIONS_DEFINE= OPT1
@@ -4614,11 +4566,11 @@ CONFIGURE_ARGS+= --enable-test
CONFIGURE_ARGS+= --disable-test
.endif</programlisting>
- <para><makevar>X_CONFIGURE_WITH</makevar> дописывает в
- <makevar>CONFIGURE_ARGS</makevar> строку
+ <para><varname>X_CONFIGURE_WITH</varname> дописывает в
+ <varname>CONFIGURE_ARGS</varname> строку
<literal>--with-${X_CONFIGURE_WITH}</literal> или
<literal>--without-${X_CONFIGURE_WITH}</literal> в
- соответствии с состоянием <makevar>X</makevar>. Следующая
+ соответствии с состоянием <varname>X</varname>. Следующая
запись:</para>
<programlisting>OPTIONS_DEFINE= OPT1
@@ -4636,9 +4588,9 @@ CONFIGURE_ARGS+= --with-test
CONFIGURE_ARGS+= --without-test
.endif</programlisting>
- <para>Значение переменной <makevar>X_CONFIGURE_ON</makevar>
- будет дописано в <makevar>CONFIGURE_ARGS</makevar> в
- соответствии с состоянием <makevar>X</makevar>. Следующая
+ <para>Значение переменной <varname>X_CONFIGURE_ON</varname>
+ будет дописано в <varname>CONFIGURE_ARGS</varname> в
+ соответствии с состоянием <varname>X</varname>. Следующая
запись:</para>
<programlisting>OPTIONS_DEFINE= OPT1
@@ -4654,9 +4606,9 @@ OPT1_CONFIGURE_ON= --add-test</programlisting>
CONFIGURE_ARGS+= --add-test
.endif</programlisting>
- <para>Значение переменной <makevar>X_CONFIGURE_OFF</makevar>
- будет дописано в <makevar>CONFIGURE_ARGS</makevar> в
- соответствии с состоянием <makevar>X</makevar>. Следующая
+ <para>Значение переменной <varname>X_CONFIGURE_OFF</varname>
+ будет дописано в <varname>CONFIGURE_ARGS</varname> в
+ соответствии с состоянием <varname>X</varname>. Следующая
запись:</para>
<programlisting>OPTIONS_DEFINE= OPT1
@@ -4670,9 +4622,9 @@ OPT1_CONFIGURE_OFF= --no-test</programlisting>
CONFIGURE_ARGS+= --no-test
.endif</programlisting>
- <para>Значение переменной <makevar>X_CMAKE_ON</makevar> будет
- дописано в <makevar>CMAKE_ARGS</makevar> в соответствии с
- состоянием <makevar>X</makevar>. Следующая запись:</para>
+ <para>Значение переменной <varname>X_CMAKE_ON</varname> будет
+ дописано в <varname>CMAKE_ARGS</varname> в соответствии с
+ состоянием <varname>X</varname>. Следующая запись:</para>
<programlisting>OPTIONS_DEFINE= OPT1
OPT1_CMAKE_ON= -DTEST:BOOL=true</programlisting>
@@ -4687,9 +4639,9 @@ OPT1_CMAKE_ON= -DTEST:BOOL=true</programlisting>
CMAKE_ARGS+= -DTEST:BOOL=true
.endif</programlisting>
- <para>Значение переменной <makevar>X_CMAKE_OFF</makevar> будет
- дописано в <makevar>CMAKE_ARGS</makevar> в соответствии с
- состоянием <makevar>X</makevar>. Следующая запись:</para>
+ <para>Значение переменной <varname>X_CMAKE_OFF</varname> будет
+ дописано в <varname>CMAKE_ARGS</varname> в соответствии с
+ состоянием <varname>X</varname>. Следующая запись:</para>
<programlisting>OPTIONS_DEFINE= OPT1
OPT1_CMAKE_OFF= -DTEST:BOOL=false</programlisting>
@@ -4708,81 +4660,81 @@ CMAKE_ARGS+= -DTEST:BOOL=false
<itemizedlist>
<listitem>
- <para><makevar>ALL_TARGET</makevar></para>
+ <para><varname>ALL_TARGET</varname></para>
</listitem>
<listitem>
- <para><makevar>CATEGORIES</makevar></para>
+ <para><varname>CATEGORIES</varname></para>
</listitem>
<listitem>
- <para><makevar>CFLAGS</makevar></para>
+ <para><varname>CFLAGS</varname></para>
</listitem>
<listitem>
- <para><makevar>CPPFLAGS</makevar></para>
+ <para><varname>CPPFLAGS</varname></para>
</listitem>
<listitem>
- <para><makevar>CXXFLAGS</makevar></para>
+ <para><varname>CXXFLAGS</varname></para>
</listitem>
<listitem>
- <para><makevar>CONFIGURE_ENV</makevar></para>
+ <para><varname>CONFIGURE_ENV</varname></para>
</listitem>
<listitem>
- <para><makevar>DISTFILES</makevar></para>
+ <para><varname>DISTFILES</varname></para>
</listitem>
<listitem>
- <para><makevar>EXTRA_PATCHES</makevar></para>
+ <para><varname>EXTRA_PATCHES</varname></para>
</listitem>
<listitem>
- <para><makevar>INSTALL_TARGET</makevar></para>
+ <para><varname>INSTALL_TARGET</varname></para>
</listitem>
<listitem>
- <para><makevar>LDFLAGS</makevar></para>
+ <para><varname>LDFLAGS</varname></para>
</listitem>
<listitem>
- <para><makevar>MAKE_ARGS</makevar></para>
+ <para><varname>MAKE_ARGS</varname></para>
</listitem>
<listitem>
- <para><makevar>MAKE_ENV</makevar></para>
+ <para><varname>MAKE_ENV</varname></para>
</listitem>
<listitem>
- <para><makevar>PATCH_SITES</makevar></para>
+ <para><varname>PATCH_SITES</varname></para>
</listitem>
<listitem>
- <para><makevar>PATCHFILES</makevar></para>
+ <para><varname>PATCHFILES</varname></para>
</listitem>
<listitem>
- <para><makevar>PLIST_FILES</makevar></para>
+ <para><varname>PLIST_FILES</varname></para>
</listitem>
<listitem>
- <para><makevar>PLIST_DIRS</makevar></para>
+ <para><varname>PLIST_DIRS</varname></para>
</listitem>
<listitem>
- <para><makevar>PLIST_DIRSTRY</makevar></para>
+ <para><varname>PLIST_DIRSTRY</varname></para>
</listitem>
<listitem>
- <para><makevar>USES</makevar></para>
+ <para><varname>USES</varname></para>
</listitem>
</itemizedlist>
- <para>Значение переменной <makevar>X_ABOVEVARIABLE</makevar>
- будет дописано в <makevar>ABOVEVARIABLE</makevar> в
- соответствии с состоянием <makevar>X</makevar>. Следующая
+ <para>Значение переменной <varname>X_ABOVEVARIABLE</varname>
+ будет дописано в <varname>ABOVEVARIABLE</varname> в
+ соответствии с состоянием <varname>X</varname>. Следующая
запись:</para>
<programlisting>OPTIONS_DEFINE= OPT1
@@ -4804,37 +4756,37 @@ CFLAGS+= -DTEST
<itemizedlist>
<listitem>
- <para><makevar>PKG_DEPENDS</makevar></para>
+ <para><varname>PKG_DEPENDS</varname></para>
</listitem>
<listitem>
- <para><makevar>EXTRACT_DEPENDS</makevar></para>
+ <para><varname>EXTRACT_DEPENDS</varname></para>
</listitem>
<listitem>
- <para><makevar>PATCH_DEPENDS</makevar></para>
+ <para><varname>PATCH_DEPENDS</varname></para>
</listitem>
<listitem>
- <para><makevar>FETCH_DEPENDS</makevar></para>
+ <para><varname>FETCH_DEPENDS</varname></para>
</listitem>
<listitem>
- <para><makevar>BUILD_DEPENDS</makevar></para>
+ <para><varname>BUILD_DEPENDS</varname></para>
</listitem>
<listitem>
- <para><makevar>LIB_DEPENDS</makevar></para>
+ <para><varname>LIB_DEPENDS</varname></para>
</listitem>
<listitem>
- <para><makevar>RUN_DEPENDS</makevar></para>
+ <para><varname>RUN_DEPENDS</varname></para>
</listitem>
</itemizedlist>
- <para>Значение переменной <makevar>X_ABOVEVARIABLE</makevar>
- будет дописано в <makevar>ABOVEVARIABLE</makevar> в
- соответствии с состоянием <makevar>X</makevar>. Следующая
+ <para>Значение переменной <varname>X_ABOVEVARIABLE</varname>
+ будет дописано в <varname>ABOVEVARIABLE</varname> в
+ соответствии с состоянием <varname>X</varname>. Следующая
запись:</para>
<programlisting>OPTIONS_DEFINE= OPT1
@@ -4852,12 +4804,12 @@ LIB_DEPENDS+= liba.so:${PORTSDIR}/devel/a
</sect2>
</sect1>
- <sect1 id="makefile-wrkdir">
+ <sect1 xml:id="makefile-wrkdir">
<title>Задание рабочего каталога</title>
<para>Каждый порт распаковывается в рабочий каталог, который должен быть
доступным для записи. В системе портов по умолчанию
- <makevar>DISTFILES</makevar> распаковываются в каталог с именем
+ <varname>DISTFILES</varname> распаковываются в каталог с именем
<literal>${DISTNAME}</literal>. Другими словами, если вы
задали:</para>
@@ -4872,7 +4824,7 @@ PORTVERSION= 1.0</programlisting>
вы можете переопределить.</para>
<sect2>
- <title><makevar>WRKSRC</makevar></title>
+ <title><varname>WRKSRC</varname></title>
<para>Эта переменная задаёт имя каталога, который создаётся при
распаковке исходных файлов приложения. В нашем предыдущем
@@ -4888,58 +4840,58 @@ PORTVERSION= 1.0</programlisting>
</sect2>
<sect2>
- <title><makevar>NO_WRKSUBDIR</makevar></title>
+ <title><varname>NO_WRKSUBDIR</varname></title>
<para>Если порт вообще не распаковывается ни в какой каталог, то вы
- должны задать переменную <makevar>NO_WRKSUBDIR</makevar> для указания
+ должны задать переменную <varname>NO_WRKSUBDIR</varname> для указания
на этот факт.</para>
<programlisting>NO_WRKSUBDIR= yes</programlisting>
</sect2>
</sect1>
- <sect1 id="conflicts">
+ <sect1 xml:id="conflicts">
<title>Разрешение конфликтов</title>
<para>Для регистрации конфликта между пакетами и портами используются
- три различные переменные: <makevar>CONFLICTS</makevar>,
- <makevar>CONFLICTS_INSTALL</makevar> и
- <makevar>CONFLICTS_BUILD</makevar>.</para>
+ три различные переменные: <varname>CONFLICTS</varname>,
+ <varname>CONFLICTS_INSTALL</varname> и
+ <varname>CONFLICTS_BUILD</varname>.</para>
<note>
<para>Переменные регистрации конфликта автоматически определяют
- переменную <makevar>IGNORE</makevar>, которая более подробно
+ переменную <varname>IGNORE</varname>, которая более подробно
описана в <xref linkend="dads-noinstall"/>.</para>
</note>
<para>При удалении одного из конфликтующих портов целесообразно
- сохранить записи <makevar>CONFLICTS</makevar> в тех других портах
+ сохранить записи <varname>CONFLICTS</varname> в тех других портах
в течении нескольких месяцев, чтобы позаботиться о тех пользователей,
которые обновляются от случая к случаю.</para>
<sect2>
- <title><makevar>CONFLICTS_INSTALL</makevar></title>
+ <title><varname>CONFLICTS_INSTALL</varname></title>
<para>Если ваш пакет не может существовать вместе с другими
(из-за конфликта файлов, несовместимости времени выполнения и так
далее), перечислите имена остальных пакетов в переменной
- <makevar>CONFLICTS_INSTALL</makevar>. Здесь вы можете использовать
+ <varname>CONFLICTS_INSTALL</varname>. Здесь вы можете использовать
шаблоны командного интерпретатора, такие как <literal>*</literal>
и <literal>?</literal>. Имена пакетов должны выглядеть так же,
как в <filename>/var/db/pkg</filename>. Пожалуйста, убедитесь,
- что <makevar>CONFLICTS_INSTALL</makevar> не содержит пакет самого
+ что <varname>CONFLICTS_INSTALL</varname> не содержит пакет самого
этого порта. В противном случае не будет работать установка с
- использованием переменной <makevar>FORCE_PKG_REGISTER</makevar>.
+ использованием переменной <varname>FORCE_PKG_REGISTER</varname>.
Проверка CONFLICTS_INSTALL выполняется после процесса сборки и
до процесса установки.</para>
</sect2>
<sect2>
- <title><makevar>CONFLICTS_BUILD</makevar></title>
+ <title><varname>CONFLICTS_BUILD</varname></title>
<para>Если ваш порт не может быть собран, когда уже установлен
другой, перечислите имена остальных портов в переменной
- <makevar>CONFLICTS_BUILD</makevar>. Здесь вы можете использовать
+ <varname>CONFLICTS_BUILD</varname>. Здесь вы можете использовать
шаблоны командного интерпретатора, такие как <literal>*</literal>
и <literal>?</literal>. Имена пакетов должны выглядеть так же,
как в <filename>/var/db/pkg</filename>. Проверка CONFLICTS_BUILD
@@ -4948,64 +4900,64 @@ PORTVERSION= 1.0</programlisting>
</sect2>
<sect2>
- <title><makevar>CONFLICTS</makevar></title>
+ <title><varname>CONFLICTS</varname></title>
<para>Если ваш порт не может быть собран, когда уже установлен
другой, а получаемый пакет не может существовать вместе с другими,
перечислите имена остальных пакетов в переменной
- <makevar>CONFLICTS</makevar>. Здесь вы можете использовать шаблоны
+ <varname>CONFLICTS</varname>. Здесь вы можете использовать шаблоны
командного интерпретатора, такие как <literal>*</literal> и
<literal>?</literal>. Имена пакетов должны выглядеть так же, как
в <filename>/var/db/pkg</filename>. Пожалуйста, убедитесь, что
- <makevar>CONFLICTS</makevar> не содержит пакет самого этого порта.
+ <varname>CONFLICTS</varname> не содержит пакет самого этого порта.
В противном случае не будет работать установка с использованием
- переменной <makevar>FORCE_PKG_REGISTER</makevar>. Проверка
+ переменной <varname>FORCE_PKG_REGISTER</varname>. Проверка
CONFLICTS выполняется до процессов сборки и установки.</para>
</sect2>
</sect1>
- <sect1 id="install">
+ <sect1 xml:id="install">
<title>Установка файлов</title>
- <sect2 id="install-macros">
+ <sect2 xml:id="install-macros">
<title>Макросы INSTALL_*</title>
<para>Используйте макросы, которые есть в файле
<filename>bsd.port.mk</filename> для обеспечения правильных прав
доступа и владения файлов в своих целях
- <maketarget>*-install</maketarget>.</para>
+ <buildtarget>*-install</buildtarget>.</para>
<itemizedlist>
<listitem>
- <para><makevar>INSTALL_PROGRAM</makevar> - это команда для
+ <para><varname>INSTALL_PROGRAM</varname> - это команда для
установки бинарных выполнимых файлов.</para>
</listitem>
<listitem>
- <para><makevar>INSTALL_SCRIPT</makevar> - это команда для установки
+ <para><varname>INSTALL_SCRIPT</varname> - это команда для установки
выполнимых скриптов.</para>
</listitem>
<listitem>
- <para><makevar>INSTALL_LIB</makevar> - это команда для установки
+ <para><varname>INSTALL_LIB</varname> - это команда для установки
динамических библиотек.</para>
</listitem>
<listitem>
- <para><makevar>INSTALL_KLD</makevar> - это команда для установки
+ <para><varname>INSTALL_KLD</varname> - это команда для установки
загружаемых модулей ядра. Некоторые архитектуры предпочитают,
чтобы для модулей сохранялись отладочные сведения, по этой
причине используйте эту команду вместо
- <makevar>INSTALL_PROGRAM</makevar>.</para>
+ <varname>INSTALL_PROGRAM</varname>.</para>
</listitem>
<listitem>
- <para><makevar>INSTALL_DATA</makevar> - это команда для установки
+ <para><varname>INSTALL_DATA</varname> - это команда для установки
совместно используемых файлов данных.</para>
</listitem>
<listitem>
- <para><makevar>INSTALL_MAN</makevar> - это команда для установки
+ <para><varname>INSTALL_MAN</varname> - это команда для установки
страниц Справочника и другой документации (никаких файлов она не
сжимает).</para>
</listitem>
@@ -5016,22 +4968,22 @@ PORTVERSION= 1.0</programlisting>
Смотрите пример их использования ниже.</para>
</sect2>
- <sect2 id="install-strip">
+ <sect2 xml:id="install-strip">
<title>Удаление отладочной информации в бинарных файлах и
динамических библиотеках</title>
<para>Не удаляйте отладочную информацию из бинарных файлов вручную,
если вы это делали. Во всех двоичных файлах отладочная информация
- должна быть удалена, и макрос <makevar>INSTALL_PROGRAM</makevar>
+ должна быть удалена, и макрос <varname>INSTALL_PROGRAM</varname>
выполнит установку и удаление отладочной информации одновременно
(обратитесь к следующему разделу). Макрос
- <makevar>INSTALL_LIB</makevar> делает то же самое для
+ <varname>INSTALL_LIB</varname> делает то же самое для
динамических библиотек.</para>
<para>Если вам нужно удалить отладочную информацию из файла без
- использования макросов <makevar>INSTALL_PROGRAM</makevar> и
- <makevar>INSTALL_LIB</makevar>, то это можно сделать при помощи
- <makevar>${STRIP_CMD}</makevar>. Обычно это делается внутри цели
+ использования макросов <varname>INSTALL_PROGRAM</varname> и
+ <varname>INSTALL_LIB</varname>, то это можно сделать при помощи
+ <varname>${STRIP_CMD}</varname>. Обычно это делается внутри цели
<literal>post-install</literal>. К примеру:</para>
<programlisting>post-install:
@@ -5045,24 +4997,24 @@ PORTVERSION= 1.0</programlisting>
утилита просто завершит свою работу.</para>
</sect2>
- <sect2 id="install-copytree">
+ <sect2 xml:id="install-copytree">
<title>Установка целого дерева файлов</title>
<para>Иногда существует необходимость в установке большого количества
файлов с сохранением их иерархической организации, т.е. в копировании
- дерева каталогов целиком из <makevar>WRKSRC</makevar> в целевой
- каталог внутри <makevar>PREFIX</makevar>.</para>
+ дерева каталогов целиком из <varname>WRKSRC</varname> в целевой
+ каталог внутри <varname>PREFIX</varname>.</para>
<para>Для этой ситуации существует два макроса. Преимущество от
использования этих макросов вместо команды <command>cp</command>
в том, что они гарантируют установку правильного владельца и прав
- на конечные файлы. Первый макрос, <makevar>COPYTREE_BIN</makevar>,
+ на конечные файлы. Первый макрос, <varname>COPYTREE_BIN</varname>,
делает все устанавливаемые файлы исполняемыми, что подходит для
- установки в <filename><makevar>PREFIX</makevar>/bin</filename>.
- Второй макрос, <makevar>COPYTREE_SHARE</makevar>, не устанавливает
+ установки в <filename>PREFIX/bin</filename>.
+ Второй макрос, <varname>COPYTREE_SHARE</varname>, не устанавливает
на файлы права исполнения, и, таким образом, подходит для установки
файлов внутри каталога
- <filename><makevar>PREFIX</makevar>/share</filename>.</para>
+ <filename>PREFIX/share</filename>.</para>
<programlisting>post-install:
${MKDIR} ${EXAMPLESDIR}
@@ -5078,10 +5030,10 @@ PORTVERSION= 1.0</programlisting>
<para>А в этом примере будут установлены данные летних месяцев в
подкаталог <filename>summer</filename> каталога
- <filename><makevar>DATADIR</makevar></filename>.</para>
+ <filename>DATADIR</filename>.</para>
<para>В качестве третьего параметра в макросе
- <makevar>COPYTREE_*</makevar> можно передать дополнительные
+ <varname>COPYTREE_*</varname> можно передать дополнительные
параметры <command>find</command>. Например, чтобы в первом
примере установить все файлы кроме файлов Makefile, можно
использовать следующую команду.</para>
@@ -5097,23 +5049,23 @@ PORTVERSION= 1.0</programlisting>
</sect2>
- <sect2 id="install-documentation">
+ <sect2 xml:id="install-documentation">
<title>Установка дополнительной документации</title>
<para>Если с вашим программным обеспечением поставляется некоторая
документация, отличающаяся от стандартных страниц Справочника и
файлов info, которая, как вы думаете, будет полезна пользователям,
установите ее в каталог
- <filename><makevar>PREFIX</makevar>/share/doc</filename>. Это может
+ <filename>PREFIX/share/doc</filename>. Это может
быть сделано, как и в предыдущем разделе, в цели
- <maketarget>post-install</maketarget>.</para>
+ <buildtarget>post-install</buildtarget>.</para>
<para>Создайте для вашего порта новый каталог. Имя каталога должно
соответствовать тому, что представляет из себя порт. Обычно это
- означает <makevar>PORTNAME</makevar>. Однако, если
+ означает <varname>PORTNAME</varname>. Однако, если
вы думаете, что пользователь захочет иметь разные версии порта,
установленные одновременно, то вы можете использовать полное имя
- <makevar>PKGNAME</makevar>.</para>
+ <varname>PKGNAME</varname>.</para>
<para>Сделайте установку документации зависящей от параметра
<literal>DOCS</literal> для того, чтобы пользователи могли
@@ -5131,50 +5083,50 @@ PORTVERSION= 1.0</programlisting>
<itemizedlist>
<listitem>
- <para><makevar>DATADIR</makevar> преобразуется в
- <filename><makevar>PREFIX</makevar>/share/<makevar>PORTNAME</makevar></filename>.</para>
+ <para><varname>DATADIR</varname> преобразуется в
+ <filename>PREFIX/share/PORTNAME</filename>.</para>
</listitem>
<listitem>
- <para><makevar>DATADIR_REL</makevar> преобразуется в
- <filename>share/<makevar>PORTNAME</makevar></filename>.</para>
+ <para><varname>DATADIR_REL</varname> преобразуется в
+ <filename>share/PORTNAME</filename>.</para>
</listitem>
<listitem>
- <para><makevar>DOCSDIR</makevar> преобразуется в
- <filename><makevar>PREFIX</makevar>/share/doc/<makevar>PORTNAME</makevar></filename>.</para>
+ <para><varname>DOCSDIR</varname> преобразуется в
+ <filename>PREFIX/share/doc/PORTNAME</filename>.</para>
</listitem>
<listitem>
- <para><makevar>DOCSDIR_REL</makevar> преобразуется в
- <filename>share/doc/<makevar>PORTNAME</makevar></filename>.</para>
+ <para><varname>DOCSDIR_REL</varname> преобразуется в
+ <filename>share/doc/PORTNAME</filename>.</para>
</listitem>
<listitem>
- <para><makevar>EXAMPLESDIR</makevar> преобразуется в
- <filename><makevar>PREFIX</makevar>/share/examples/<makevar>PORTNAME</makevar></filename>.</para>
+ <para><varname>EXAMPLESDIR</varname> преобразуется в
+ <filename>PREFIX/share/examples/PORTNAME</filename>.</para>
</listitem>
<listitem>
- <para><makevar>EXAMPLESDIR_REL</makevar> преобразуется в
- <filename>share/examples/<makevar>PORTNAME</makevar></filename>.</para>
+ <para><varname>EXAMPLESDIR_REL</varname> преобразуется в
+ <filename>share/examples/PORTNAME</filename>.</para>
</listitem>
</itemizedlist>
<note>
<para>Параметр <literal>DOCS</literal> управляет установкой
- дополнительной документации в <makevar>DOCSDIR</makevar>. Это
+ дополнительной документации в <varname>DOCSDIR</varname>. Это
не относится к стандартным страницам справочника и страницам info.
- Все, что устанавливается в <makevar>DATADIR</makevar> и
- <makevar>EXAMPLESDIR</makevar>, соответственно управляется
+ Все, что устанавливается в <varname>DATADIR</varname> и
+ <varname>EXAMPLESDIR</varname>, соответственно управляется
через параметры <literal>DATA</literal> и
<literal>EXAMPLES</literal>.</para>
</note>
- <para>Эти переменные экспортируются в <makevar>PLIST_SUB</makevar>.
+ <para>Эти переменные экспортируются в <varname>PLIST_SUB</varname>.
Их значения появятся там в виде имён путей относительно
- <filename><makevar>PREFIX</makevar></filename>, если это возможно.
- То есть <filename>share/doc/<makevar>PORTNAME</makevar></filename>
+ <filename>PREFIX</filename>, если это возможно.
+ То есть <filename>share/doc/PORTNAME</filename>
в списке сборки по умолчанию будет заменен на
<literal>%%DOCSDIR%%</literal>, и так далее. (Дополнительную
информацию о подстановке в <filename>pkg-plist</filename> можно
@@ -5190,45 +5142,44 @@ PORTVERSION= 1.0</programlisting>
<para>В качестве альтернативы перечислению файлов документации в файле
<filename>pkg-plist</filename>, порт может указать в переменной
- <makevar>PORTDOCS</makevar> список имён файлов и глобальных шаблонов
+ <varname>PORTDOCS</varname> список имён файлов и глобальных шаблонов
командного процессора для добавления в окончательный список сборки.
- Имена будут задаваться относительно <makevar>DOCSDIR</makevar>.
- Таким образом, порт, использующий <makevar>PORTDOCS</makevar> и
+ Имена будут задаваться относительно <varname>DOCSDIR</varname>.
+ Таким образом, порт, использующий <varname>PORTDOCS</varname> и
нестандартное местоположение документации, должен задавать
- соответствующим образом и <makevar>DOCSDIR</makevar>. Если каталог
- указан в <makevar>PORTDOCS</makevar> или соответствует шаблону для
+ соответствующим образом и <varname>DOCSDIR</varname>. Если каталог
+ указан в <varname>PORTDOCS</varname> или соответствует шаблону для
этой переменной, то полное поддерево с входящими в него файлами и
каталогами будет регистрироваться в окончательном списке сборки.
Если параметр <literal>DOCS</literal> не задан, то файлы и каталоги,
- перечисленные в <makevar>PORTDOCS</makevar>, не будут установлены и
+ перечисленные в <varname>PORTDOCS</varname>, не будут установлены и
добавлены в список сборки порта. Установка документации в
- <makevar>PORTDOCS</makevar>, как это показано выше, остаётся за
+ <varname>PORTDOCS</varname>, как это показано выше, остаётся за
самим портом. Типичный пример использования
- <makevar>PORTDOCS</makevar> выглядит следующим образом:</para>
+ <varname>PORTDOCS</varname> выглядит следующим образом:</para>
<programlisting>PORTDOCS= README.* ChangeLog docs/*</programlisting>
<note>
- <para>Эквивалентами <makevar>PORTDOCS</makevar> для файлов,
- устанавливаемых в <makevar>DATADIR</makevar> и
- <makevar>EXAMPLESDIR</makevar> являются <makevar>PORTDATA</makevar>
- и <makevar>PORTEXAMPLES</makevar> соответственно.</para>
+ <para>Эквивалентами <varname>PORTDOCS</varname> для файлов,
+ устанавливаемых в <varname>DATADIR</varname> и
+ <varname>EXAMPLESDIR</varname> являются <varname>PORTDATA</varname>
+ и <varname>PORTEXAMPLES</varname> соответственно.</para>
<para>Кроме того, вы можете использовать файл
<filename>pkg-message</filename> для вывода сообщений во
- время установки. За подробной информацией обратитесь к <link
- linkend="porting-message">разделу об использовании
+ время установки. За подробной информацией обратитесь к <link linkend="porting-message">разделу об использовании
<filename>pkg-message</filename></link>.
Файл <filename>pkg-message</filename> не нужно добавлять в
<filename>pkg-plist</filename>.</para>
</note>
</sect2>
- <sect2 id="install-subdirs">
+ <sect2 xml:id="install-subdirs">
<title>Подкаталоги внутри PREFIX</title>
<para>Попробуйте поместить все файлы порта в правильных подкаталогах
- каталога <makevar>PREFIX</makevar>. Некоторые порты игнорируют все
+ каталога <varname>PREFIX</varname>. Некоторые порты игнорируют все
установки и помещают все в подкаталог с именем порта, что
неправильно. Также многие порты помещают все, кроме бинарных файлов,
файлов заголовков и страниц Справочника, в подкаталог каталога
@@ -5246,7 +5197,7 @@ PORTVERSION= 1.0</programlisting>
также и к <filename>/usr/local</filename>. Исключением являются
порты, имеющие дело с <quote>новостями</quote> USENET. Они могут
использовать каталог
- <filename><makevar>PREFIX</makevar>/news</filename> для установки
+ <filename>PREFIX/news</filename> для установки
своих файлов.</para>
</sect2>
@@ -5254,23 +5205,23 @@ PORTVERSION= 1.0</programlisting>
</chapter>
- <chapter id="special">
+ <chapter xml:id="special">
<title>Особые соглашения</title>
<para>Имеется ещё несколько вещей, которые вы должны иметь в виду при
создании порта. Этот раздел описывает наиболее часто встречающиеся из
них.</para>
- <sect1 id="porting-shlibs">
+ <sect1 xml:id="porting-shlibs">
<title>Динамические библиотеки</title>
<para>Если ваш порт устанавливает одну или несколько динамических
- библиотек, определите переменную <makevar>USE_LDCONFIG</makevar>,
+ библиотек, определите переменную <varname>USE_LDCONFIG</varname>,
которая приведёт к запуску из <filename>bsd.port.mk</filename> команды
<literal>&dollar;{LDCONFIG} -m</literal> относительно каталога, в
который устанавливается новая библиотека (как правило, это
- <filename><makevar>PREFIX</makevar>/lib</filename>), во время
- выполнения цели <maketarget>post-install</maketarget> для её
+ <filename>PREFIX/lib</filename>), во время
+ выполнения цели <buildtarget>post-install</buildtarget> для её
регистрации в кэше динамических библиотек. Эта переменная, если она
определена, также приведёт к добавлению соответствующей пары команд
<literal>@exec /sbin/ldconfig -m</literal> и
@@ -5284,11 +5235,11 @@ PORTVERSION= 1.0</programlisting>
<para>Если нужно, вы можете переопределить каталог по умолчанию,
задав значение
- <makevar>USE_LDCONFIG</makevar>, в котором должны быть перечислены
+ <varname>USE_LDCONFIG</varname>, в котором должны быть перечислены
каталоги, в которые устанавливаются динамические библиотеки. Например,
если ваш порт устанавливает динамические библиотеки в каталоги
- <filename><makevar>PREFIX</makevar>/lib/foo</filename> и
- <filename><makevar>PREFIX</makevar>/lib/bar</filename>, то вы можете в
+ <filename>PREFIX/lib/foo</filename> и
+ <filename>PREFIX/lib/bar</filename>, то вы можете в
файле <filename>Makefile</filename> указать следующее:</para>
<programlisting>USE_LDCONFIG= ${PREFIX}/lib/foo ${PREFIX}/lib/bar</programlisting>
@@ -5297,13 +5248,13 @@ PORTVERSION= 1.0</programlisting>
добры перепроверить, т.к. часто это вовсе не является необходимым
и может быть решено иначе с помощью <literal>-rpath</literal>
или установки <envar>LD_RUN_PATH</envar> во время компоновки (для
- примера смотрите <filename role="package">lang/moscow_ml</filename>),
+ примера смотрите <package>lang/moscow_ml</package>),
или с помощью сценария-обёртки, который выставляет
- <makevar>LD_LIBRARY_PATH</makevar> перед запуском исполняемого файла
- как это делает <filename role="package">www/seamonkey</filename>.</para>
+ <varname>LD_LIBRARY_PATH</varname> перед запуском исполняемого файла
+ как это делает <package>www/seamonkey</package>.</para>
<para>При установке 32-разрядных библиотек на 64-разрядной системе
- используйте вместо этого <makevar>USE_LDCONFIG32</makevar>.</para>
+ используйте вместо этого <varname>USE_LDCONFIG32</varname>.</para>
<para>Постарайтесь сохранять номера версий динамических библиотек
в формате <filename>libfoo.so.0</filename>. Наш компоновщик
@@ -5311,12 +5262,12 @@ PORTVERSION= 1.0</programlisting>
<para>Если при обновлении порта увеличивается старший номер версии
библиотеки, то для всех портов, компонуемых с затронутой библиотекой,
- следует увеличить значение <makevar>PORTREVISION</makevar> для
+ следует увеличить значение <varname>PORTREVISION</varname> для
форсирования перекомпиляции с новой версией библиотеки.</para>
</sect1>
- <sect1 id="porting-restrictions">
+ <sect1 xml:id="porting-restrictions">
<title>Порты с ограничениями на распространение</title>
<para>Лицензии бывают разных видов, и некоторые накладывают ограничение
@@ -5337,46 +5288,46 @@ PORTVERSION= 1.0</programlisting>
последующих разделах.</para>
<sect2>
- <title><makevar>NO_PACKAGE</makevar></title>
+ <title><varname>NO_PACKAGE</varname></title>
<para>Эта переменная указывает, что мы не можем создавать для
приложения двоичный пакет. К примеру, лицензия не позволяет
бинарное распространение или она может запрещать распространение
пакетов, созданных из изменённых исходников.</para>
- <para>Однако файлы <makevar>DISTFILES</makevar> могут свободно
+ <para>Однако файлы <varname>DISTFILES</varname> могут свободно
зеркалироваться по FTP/HTTP. Они также могут распространяться,
используя CD-ROM (или на похожих носителях), если не установлена
- переменная <makevar>NO_CDROM</makevar>.</para>
+ переменная <varname>NO_CDROM</varname>.</para>
- <para><makevar>NO_PACKAGE</makevar> должна также использоваться, если
+ <para><varname>NO_PACKAGE</varname> должна также использоваться, если
двоичный пакет, как правило, бесполезен, а приложение должно всегда
компилироваться из исходного кода. К примеру, если в приложение
во время компиляции жёстко включается конфигурационная информация,
привязанная к конкретной системе, то задайте переменную
- <makevar>NO_PACKAGE</makevar>.</para>
+ <varname>NO_PACKAGE</varname>.</para>
- <para>Значением переменной <makevar>NO_PACKAGE</makevar> должна быть
+ <para>Значением переменной <varname>NO_PACKAGE</varname> должна быть
строка, описывающая причину, по которой пакет не должен
создаваться.</para>
</sect2>
<sect2>
- <title><makevar>NO_CDROM</makevar></title>
+ <title><varname>NO_CDROM</varname></title>
<para>Эта переменная указывает на то, что, хотя мы имеем право
создавать бинарные пакеты, мы не можем помещать эти пакеты или
- файлы <makevar>DISTFILES</makevar> порта на CD-ROM (или на похожие носители) для
+ файлы <varname>DISTFILES</varname> порта на CD-ROM (или на похожие носители) для
перепродажи. Однако бинарные пакеты и файлы
- <makevar>DISTFILES</makevar> порта будут оставаться
+ <varname>DISTFILES</varname> порта будут оставаться
доступными посредством FTP/HTTP.</para>
<para>Если эта переменная устанавливается вместе с
- <makevar>NO_PACKAGE</makevar>, то только файлы порта
- <makevar>DISTFILES</makevar> будут доступны, и только посредством
+ <varname>NO_PACKAGE</varname>, то только файлы порта
+ <varname>DISTFILES</varname> будут доступны, и только посредством
FTP/HTTP.</para>
- <para>В качестве значения <makevar>NO_CDROM</makevar> должна
+ <para>В качестве значения <varname>NO_CDROM</varname> должна
указываться строка, описывающая причины, по которым порт не может
распространяться на CD-ROM. К примеру, это применяется, если
лицензионное соглашение приложения предполагает только его
@@ -5384,42 +5335,42 @@ PORTVERSION= 1.0</programlisting>
</sect2>
<sect2>
- <title><makevar>NOFETCHFILES</makevar></title>
+ <title><varname>NOFETCHFILES</varname></title>
- <para>Файлы, определенные в переменной <makevar>NOFETCHFILES</makevar>,
- не будут извлекаться ни из одного из <makevar>MASTER_SITES</makevar>.
+ <para>Файлы, определенные в переменной <varname>NOFETCHFILES</varname>,
+ не будут извлекаться ни из одного из <varname>MASTER_SITES</varname>.
Примером такого файла является файл, поставляемый на CD-ROM.</para>
<para>Инструменты, проверяющие доступность этих файлов на
- <makevar>MASTER_SITES</makevar>, должны игнорировать эти файлы и
+ <varname>MASTER_SITES</varname>, должны игнорировать эти файлы и
не сообщать о них.</para>
</sect2>
<sect2>
- <title><makevar>RESTRICTED</makevar></title>
+ <title><varname>RESTRICTED</varname></title>
<para>Задайте эту переменную, если лицензия на приложение не позволяет
- ни зеркалировать файлы <makevar>DISTFILES</makevar>, ни распространять
+ ни зеркалировать файлы <varname>DISTFILES</varname>, ни распространять
бинарный пакет через FTP/HTTP или на CD-ROM.</para>
- <para>Ни <makevar>NO_CDROM</makevar>, ни <makevar>NO_PACKAGE</makevar>
- не стоит устанавливать вместе с <makevar>RESTRICTED</makevar>, так
+ <para>Ни <varname>NO_CDROM</varname>, ни <varname>NO_PACKAGE</varname>
+ не стоит устанавливать вместе с <varname>RESTRICTED</varname>, так
как последняя переменная подразумевает первые две.</para>
- <para>В качестве значения <makevar>RESTRICTED</makevar> должна
+ <para>В качестве значения <varname>RESTRICTED</varname> должна
указываться строка, описывающая причины, по которым порт нельзя
распространять. Обычно это означает, что порт использует закрытое
программное обеспечение, а пользователь должен вручную сгрузить файлы
- <makevar>DISTFILES</makevar>, возможно, после заполнения
+ <varname>DISTFILES</varname>, возможно, после заполнения
регистрационной формы или подтверждения соглашения с условиями
<acronym>EULA</acronym>.</para>
</sect2>
<sect2>
- <title><makevar>RESTRICTED_FILES</makevar></title>
+ <title><varname>RESTRICTED_FILES</varname></title>
- <para>Если заданы <makevar>RESTRICTED</makevar> или
- <makevar>NO_CDROM</makevar>, то значение этой переменной по умолчанию
+ <para>Если заданы <varname>RESTRICTED</varname> или
+ <varname>NO_CDROM</varname>, то значение этой переменной по умолчанию
соответствует <literal>${DISTFILES} ${PATCHFILES}</literal>, в
противном случае она пуста. Если ограничены в распространении лишь
некоторые из дистрибутивных файлов, то в этой переменной задаётся их
@@ -5451,10 +5402,10 @@ IGNORE= may not be redistributed because of licensing reasons. Please vi
</sect2>
</sect1>
- <sect1 id="building">
+ <sect1 xml:id="building">
<title>Механизмы построения</title>
- <sect2 id="parallel-builds">
+ <sect2 xml:id="parallel-builds">
<title>Параллельное построение портов</title>
<para>Инфраструктура портов &os; поддерживает параллельное
@@ -5464,7 +5415,7 @@ IGNORE= may not be redistributed because of licensing reasons. Please vi
<acronym>CPU</acronym>, тем самым делая построение портов более
быстрым и эффективным.</para>
- <para>Это достигается путем передачи флага <makevar>-jX</makevar>
+ <para>Это достигается путем передачи флага <varname>-jX</varname>
команде &man.make.1;. К сожалению, не все порты поддерживают
параллельную сборку достаточно хорошо. Поэтому требуется включать
этот механизм явным образом путем добавления строки
@@ -5472,15 +5423,15 @@ IGNORE= may not be redistributed because of licensing reasons. Please vi
где-нибудь после раздела с объявлениями зависимостей.</para>
<para>Другой опцией управления этим механизмом с точки зрения
- сопровождающего является <makevar>MAKE_JOBS_UNSAFE=yes</makevar>.
+ сопровождающего является <varname>MAKE_JOBS_UNSAFE=yes</varname>.
Эта переменная используется в случае, когда известно, что порт
- ломается с <makevar>-jX</makevar>, и пользователь форсирует
+ ломается с <varname>-jX</varname>, и пользователь форсирует
использование многопроцессорной компиляции для всех портов с
переменной <literal>FORCE_MAKE_JOBS=yes</literal> в
<filename>/etc/make.conf</filename>.</para>
</sect2>
- <sect2 id="using-make">
+ <sect2 xml:id="using-make">
<title><command>make</command>, <command>gmake</command> и
<command>imake</command></title>
@@ -5502,14 +5453,14 @@ IGNORE= may not be redistributed because of licensing reasons. Please vi
<tbody>
<row>
- <entry><makevar>USES= gmake</makevar></entry>
+ <entry><varname>USES= gmake</varname></entry>
<entry>Для сборки порта требуется
<command>gmake</command>.</entry>
</row>
<row>
- <entry><makevar>GMAKE</makevar></entry>
+ <entry><varname>GMAKE</varname></entry>
<entry>Полный путь к команде <command>gmake</command>, если
отсутствует в <envar>PATH</envar>.</entry>
@@ -5526,19 +5477,19 @@ IGNORE= may not be redistributed because of licensing reasons. Please vi
Если флаг <option>-a</option> представляет для вашего порта
проблему, то установите <literal>XMKMF=xmkmf</literal>. Если
порт использует <application>imake</application>, но не понимает
- цель <maketarget>install.man</maketarget>, то следует установить
+ цель <buildtarget>install.man</buildtarget>, то следует установить
<literal>NO_INSTALL_MANPAGES=yes</literal>.</para>
<para>Если исходный <filename>Makefile</filename> вашего порта
- имеет что-нибудь помимо <maketarget>all</maketarget> в качестве
+ имеет что-нибудь помимо <buildtarget>all</buildtarget> в качестве
основной цели построения, то задайте соответствующее значение
- <makevar>ALL_TARGET</makevar>. То же касается
- <maketarget>install</maketarget> и
- <makevar>INSTALL_TARGET</makevar>.</para>
+ <varname>ALL_TARGET</varname>. То же касается
+ <buildtarget>install</buildtarget> и
+ <varname>INSTALL_TARGET</varname>.</para>
</sect2>
- <sect2 id="using-configure">
+ <sect2 xml:id="using-configure">
<title>Сценарий <command>configure</command></title>
<para>Если ваш порт использует сценарий <command>configure</command>
@@ -5550,9 +5501,9 @@ IGNORE= may not be redistributed because of licensing reasons. Please vi
--infodir=&dollar;{PREFIX}/&dollar;{INFO_PATH}
--mandir=&dollar;{MANPREFIX}/man
--build=&dollar;{CONFIGURE_TARGET}</literal>), установите эти параметры
- в <makevar>CONFIGURE_ARGS</makevar>. Дополнительные переменные
+ в <varname>CONFIGURE_ARGS</varname>. Дополнительные переменные
окружения можно передать, используя переменную
- <makevar>CONFIGURE_ENV</makevar>.</para>
+ <varname>CONFIGURE_ENV</varname>.</para>
<table frame="none">
<title>Переменные для портов, использующих
@@ -5569,36 +5520,36 @@ IGNORE= may not be redistributed because of licensing reasons. Please vi
<tbody>
<row>
- <entry><makevar>GNU_CONFIGURE</makevar></entry>
+ <entry><varname>GNU_CONFIGURE</varname></entry>
<entry>Порт использует сценарий <command>configure</command>
для подготовки построения.</entry>
</row>
<row>
- <entry><makevar>HAS_CONFIGURE</makevar></entry>
+ <entry><varname>HAS_CONFIGURE</varname></entry>
- <entry>То же, что и <makevar>GNU_CONFIGURE</makevar>, кроме
+ <entry>То же, что и <varname>GNU_CONFIGURE</varname>, кроме
того, что цель configure по умолчанию не добавляется в
- <makevar>CONFIGURE_ARGS</makevar>.</entry>
+ <varname>CONFIGURE_ARGS</varname>.</entry>
</row>
<row>
- <entry><makevar>CONFIGURE_ARGS</makevar></entry>
+ <entry><varname>CONFIGURE_ARGS</varname></entry>
<entry>Дополнительные параметры, передаваемые сценарию
<command>configure</command>.</entry>
</row>
<row>
- <entry><makevar>CONFIGURE_ENV</makevar></entry>
+ <entry><varname>CONFIGURE_ENV</varname></entry>
<entry>Дополнительные переменные окружения, задаваемые для
запуска сценария <command>configure</command>.</entry>
</row>
<row>
- <entry><makevar>CONFIGURE_TARGET</makevar></entry>
+ <entry><varname>CONFIGURE_TARGET</varname></entry>
<entry>Переопределить цель configure по умолчанию. Значением
по умолчанию является
@@ -5609,7 +5560,7 @@ IGNORE= may not be redistributed because of licensing reasons. Please vi
</table>
</sect2>
- <sect2 id="using-cmake">
+ <sect2 xml:id="using-cmake">
<title>Использование <command>cmake</command></title>
<para>Если ваш порт использует <application>CMake</application>,
@@ -5631,30 +5582,30 @@ IGNORE= may not be redistributed because of licensing reasons. Please vi
<tbody>
<row>
- <entry><makevar>CMAKE_ARGS</makevar></entry>
+ <entry><varname>CMAKE_ARGS</varname></entry>
<entry>Специфичные для порта флаги
<application>CMake</application>, передаваемые
<command>cmake</command>.</entry>
</row>
<row>
- <entry><makevar>CMAKE_BUILD_TYPE</makevar></entry>
+ <entry><varname>CMAKE_BUILD_TYPE</varname></entry>
<entry>Тип построения (предопределённые профили
построения <application>CMake</application>). По
умолчанию <literal>Release</literal>,
<literal>Debug</literal> при использовании
- <makevar>WITH_DEBUG</makevar>.</entry>
+ <varname>WITH_DEBUG</varname>.</entry>
</row>
<row>
- <entry><makevar>CMAKE_ENV</makevar></entry>
+ <entry><varname>CMAKE_ENV</varname></entry>
<entry>Переменные окружения для передачи
<command>cmake</command>. По умолчанию
<literal>&dollar;{CONFIGURE_ENV}</literal>.</entry>
</row>
<row>
- <entry><makevar>CMAKE_SOURCE_PATH</makevar></entry>
+ <entry><varname>CMAKE_SOURCE_PATH</varname></entry>
<entry>Путь к каталогу с исходным кодом. По умолчанию
<literal>&dollar;{WRKSRC}</literal>.</entry>
</row>
@@ -5671,20 +5622,19 @@ IGNORE= may not be redistributed because of licensing reasons. Please vi
учитывают системные флаги <literal>*FLAGS</literal>;
<literal>RelWithDebInfo</literal> и
<literal>MinSizeRel</literal> соответственно определяют
- <makevar>CFLAGS</makevar> со значением
+ <varname>CFLAGS</varname> со значением
<literal>-O2 -g</literal> и <literal>-Os -DNDEBUG</literal>.
- Значение <makevar>CMAKE_BUILD_TYPE</makevar> экспортируется
- в нижнем регистре в <makevar>PLIST_SUB</makevar> и должно
+ Значение <varname>CMAKE_BUILD_TYPE</varname> экспортируется
+ в нижнем регистре в <varname>PLIST_SUB</varname> и должно
использоваться, если порт устанавливает файлы
<literal>*.cmake</literal> в зависимости от типа построения
- (для примера посмотрите на <filename
- role="package">deskutils/strigi</filename>). Следует
+ (для примера посмотрите на <package>deskutils/strigi</package>). Следует
учитывать, что некоторые проекты могут определять собственные
профили построения и/или форсировать конкретный тип построения
через установку <literal>CMAKE_BUILD_TYPE</literal> в файлах
<filename>CMakeLists.txt </filename> . Для того чтобы порт
- для такого проекта учитывал <makevar>CFLAGS</makevar> и
- <makevar>WITH_DEBUG</makevar>, из этих файлов должны быть
+ для такого проекта учитывал <varname>CFLAGS</varname> и
+ <varname>WITH_DEBUG</varname>, из этих файлов должны быть
удалены значения <literal>CMAKE_BUILD_TYPE</literal>.</para>
<para>Большинство проектов, основанных на
@@ -5692,21 +5642,21 @@ IGNORE= may not be redistributed because of licensing reasons. Please vi
(out-of-source) построения. Для порта внешнее построение
можно запросить с использованием суффикса
<literal>:outsource</literal>. В этом случае
- <makevar>CONFIGURE_WRKSRC</makevar>,
- <makevar>BUILD_WRKSRC</makevar> и
- <makevar>INSTALL_WRKSRC</makevar> будут иметь значение
+ <varname>CONFIGURE_WRKSRC</varname>,
+ <varname>BUILD_WRKSRC</varname> и
+ <varname>INSTALL_WRKSRC</varname> будут иметь значение
<literal>&dollar;{WRKDIR}/.build</literal> для каталога,
содержащего файлы, получаемые на этапах конфигурации и
построения; при этом каталог с исходным кодом будет
оставаться без изменений.</para>
- <example id="using-cmake-example">
+ <example xml:id="using-cmake-example">
<title>Пример использования
<literal>USES= cmake</literal></title>
<para>Следующий отрывок демонстрирует использование
<application>CMake</application> для порта.
- <makevar>CMAKE_SOURCE_PATH</makevar> обычно не требуется,
+ <varname>CMAKE_SOURCE_PATH</varname> обычно не требуется,
но может быть установлен, когда исходный код не находится
в верхнем каталоге или если порт используется для
построения части проекта.</para>
@@ -5716,7 +5666,7 @@ CMAKE_SOURCE_PATH= &dollar;{WRKSRC}/subproject</programlisting>
</example>
</sect2>
- <sect2 id="using-scons">
+ <sect2 xml:id="using-scons">
<title>Использование <command>scons</command></title>
<para>Если ваш порт использует <application>SCons</application>,
@@ -5737,29 +5687,29 @@ CMAKE_SOURCE_PATH= &dollar;{WRKSRC}/subproject</programlisting>
<tbody>
<row>
- <entry><makevar>SCONS_ARGS</makevar></entry>
+ <entry><varname>SCONS_ARGS</varname></entry>
<entry>Специфичные для порта флаги SCons, передаваемые
окружению SCons.</entry>
</row>
<row>
- <entry><makevar>SCONS_BUILDENV</makevar></entry>
+ <entry><varname>SCONS_BUILDENV</varname></entry>
<entry>Переменные для установки в системном окружении.</entry>
</row>
<row>
- <entry><makevar>SCONS_ENV</makevar></entry>
+ <entry><varname>SCONS_ENV</varname></entry>
<entry>Переменные для установки в окружении SCons.</entry>
</row>
<row>
- <entry><makevar>SCONS_TARGET</makevar></entry>
+ <entry><varname>SCONS_TARGET</varname></entry>
<entry>Последний параметр для передачи SCons, похожий на
- <makevar>MAKE_TARGET</makevar>.</entry>
+ <varname>MAKE_TARGET</varname>.</entry>
</row>
</tbody>
</tgroup>
@@ -5767,8 +5717,8 @@ CMAKE_SOURCE_PATH= &dollar;{WRKSRC}/subproject</programlisting>
<para>Для того, чтобы сторонний <filename>SConstruct</filename>
соответствовал всему, что передается SCons в переменной
- <makevar>SCONS_ENV</makevar> (самое главное, это
- <makevar>CC/CXX/CFLAGS/CXXFLAGS</makevar>), примените патч к
+ <varname>SCONS_ENV</varname> (самое главное, это
+ <varname>CC/CXX/CFLAGS/CXXFLAGS</varname>), примените патч к
<filename>SConstruct</filename>, так чтобы переменная построения
<literal>Environment</literal> выглядела следующим образом:</para>
@@ -5779,10 +5729,10 @@ CMAKE_SOURCE_PATH= &dollar;{WRKSRC}/subproject</programlisting>
</sect2>
</sect1>
- <sect1 id="using-autotools">
+ <sect1 xml:id="using-autotools">
<title>Использование GNU autotools</title>
- <sect2 id="using-autotools-introduction">
+ <sect2 xml:id="using-autotools-introduction">
<title>Введение</title>
<para>Различные инструменты GNU autotools предоставляют механизм
@@ -5819,7 +5769,7 @@ CMAKE_SOURCE_PATH= &dollar;{WRKSRC}/subproject</programlisting>
</sect2>
- <sect2 id="using-libtool">
+ <sect2 xml:id="using-libtool">
<title><command>libtool</command></title>
<para>Динамические библиотеки, использующие инфраструктуру
@@ -5834,11 +5784,11 @@ CMAKE_SOURCE_PATH= &dollar;{WRKSRC}/subproject</programlisting>
<programlisting>USE_AUTOTOOLS= libtool:<replaceable>version</replaceable>[:env]</programlisting>
<para>При отсутствии дополнительных операций,
- <literal>libtool:<replaceable>version</replaceable></literal>
+ <literal>libtool:version</literal>
сообщает инфраструктуре построения о применении патча к сценарию
configure с установленной в системе копией
<command>libtool</command>. Подразумевается использование
- The <makevar>GNU_CONFIGURE</makevar>
+ The <varname>GNU_CONFIGURE</varname>
Более того, некоторые переменные make и оболочки shell
будут назначены для дальнейшего использования этим портом.
Подробности смотрите в <filename>bsd.autotools.mk</filename>.</para>
@@ -5846,8 +5796,8 @@ CMAKE_SOURCE_PATH= &dollar;{WRKSRC}/subproject</programlisting>
<para>При использовании операции <literal>:env</literal> будет
настроено только окружение.</para>
- <para>Наконец, <makevar>LIBTOOLFLAGS</makevar> и
- <makevar>LIBTOOLFILES</makevar> можно установить по желанию,
+ <para>Наконец, <varname>LIBTOOLFLAGS</varname> и
+ <varname>LIBTOOLFILES</varname> можно установить по желанию,
чтобы переопределить наиболее вероятные аргументы для
<command>libtool</command> и файлы, предназначенные для
изменения. Большинству портов это скорее всего не понадобится.
@@ -5855,7 +5805,7 @@ CMAKE_SOURCE_PATH= &dollar;{WRKSRC}/subproject</programlisting>
<filename>bsd.autotools.mk</filename>.</para>
</sect2>
- <sect2 id="using-libltdl">
+ <sect2 xml:id="using-libltdl">
<title><command>libltdl</command></title>
<para>Некоторые порты задействуют пакет с библиотекой
@@ -5868,15 +5818,15 @@ CMAKE_SOURCE_PATH= &dollar;{WRKSRC}/subproject</programlisting>
<programlisting>USE_AUTOTOOLS= libltdl:<replaceable>version</replaceable></programlisting>
<para>Всё, что в настоящее время она делает, это добавление
- <makevar>LIB_DEPENDS</makevar> для подходящего порта
+ <varname>LIB_DEPENDS</varname> для подходящего порта
<command>libltdl</command>, потому она предоставляется как
удобная функция для помощи в устранении всяких зависимостей от
- портов autotools вне инфраструктуры <makevar>USE_AUTOTOOLS</makevar>.
+ портов autotools вне инфраструктуры <varname>USE_AUTOTOOLS</varname>.
Для этого инструмента не существует необязательных операций.</para>
</sect2>
- <sect2 id="using-autoconf">
+ <sect2 xml:id="using-autoconf">
<title><command>autoconf</command> и
<command>autoheader</command></title>
@@ -5894,7 +5844,7 @@ CMAKE_SOURCE_PATH= &dollar;{WRKSRC}/subproject</programlisting>
<programlisting>USE_AUTOTOOLS= autoheader:<replaceable>version</replaceable></programlisting>
<para>которые также подразумевают использование
- <literal>autoconf:<replaceable>version</replaceable></literal>.</para>
+ <literal>autoconf:version</literal>.</para>
<para>Аналогично команде <command>libtool</command>, подключение
необязательной операции <literal>:env</literal> всего лишь
@@ -5902,14 +5852,14 @@ CMAKE_SOURCE_PATH= &dollar;{WRKSRC}/subproject</programlisting>
выполняется наложение патчей и переконфигурирование порта.</para>
<para>Дополнительные необязательные переменные
- <makevar>AUTOCONF_ARGS</makevar> и <makevar>AUTOHEADER_ARGS</makevar>
+ <varname>AUTOCONF_ARGS</varname> и <varname>AUTOHEADER_ARGS</varname>
можно переопределить в <filename>Makefile</filename> порта,
если указано явным образом. Как и с эквивалентами
<command>libtool</command>, большинству портов это вряд ли
понадобится.</para>
</sect2>
- <sect2 id="using-automake">
+ <sect2 xml:id="using-automake">
<title><command>automake</command> и
<command>aclocal</command></title>
@@ -5940,7 +5890,7 @@ CMAKE_SOURCE_PATH= &dollar;{WRKSRC}/subproject</programlisting>
<programlisting>USE_AUTOTOOLS= aclocal:<replaceable>version</replaceable></programlisting>
<para>которые также подразумевают использование
- <literal>automake:<replaceable>version</replaceable></literal>.</para>
+ <literal>automake:version</literal>.</para>
<para>Также как и для <command>libtool</command> и
<command>autoconf</command>, подключение необязательной
@@ -5951,15 +5901,15 @@ CMAKE_SOURCE_PATH= &dollar;{WRKSRC}/subproject</programlisting>
<para>Как и в случае с
<command>autoconf</command> и <command>autoheader</command>, обе
<command>automake</command> и <command>aclocal</command> имеют
- необязательные переменные <makevar>AUTOMAKE_ARGS</makevar> и
- <makevar>ACLOCAL_ARGS</makevar>, соответственно, которые при
+ необязательные переменные <varname>AUTOMAKE_ARGS</varname> и
+ <varname>ACLOCAL_ARGS</varname>, соответственно, которые при
необходимости можно переопределить в <filename>Makefile</filename>
порта.</para>
</sect2>
</sect1>
- <sect1 id="using-gettext">
+ <sect1 xml:id="using-gettext">
<title>Использование GNU <literal>gettext</literal></title>
<sect2>
@@ -5967,8 +5917,7 @@ CMAKE_SOURCE_PATH= &dollar;{WRKSRC}/subproject</programlisting>
<para>Если для вашего порта требуется <literal>gettext</literal>,
добавьте <literal>USES= gettext</literal>, и ваш порт
- унаследует зависимость от <filename
- role="package">devel/gettext</filename>.
+ унаследует зависимость от <package>devel/gettext</package>.
<xref linkend="uses-values"/> содержит перечень других
значений для использования <literal>gettext</literal>.</para>
@@ -6001,7 +5950,7 @@ GNU_CONFIGURE= yes</programlisting>
к примеру через передачу параметра <option>--disable-nls</option>
сценарию <command>configure</command>. В этом случае ваш порт
должен использовать <literal>gettext</literal>, в зависимости
- от значения <makevar>NLS</makevar>.
+ от значения <varname>NLS</varname>.
Для портов небольшой или средней сложности вы можете полагаться
на следующую идиому:</para>
@@ -6038,8 +5987,7 @@ PLIST_SUB+= NLS="@comment "
%%NLS%%share/locale/no/LC_MESSAGES/foobar.mo</programlisting>
<para>В особо сложных случаях вам понадобиться использовать более
- продвинутые техники, чем данный рецепт, такие как <link
- linkend="plist-dynamic">динамические списки упаковки</link>.</para>
+ продвинутые техники, чем данный рецепт, такие как <link linkend="plist-dynamic">динамические списки упаковки</link>.</para>
</sect2>
<sect2>
@@ -6048,36 +5996,34 @@ PLIST_SUB+= NLS="@comment "
<para>Существует момент, который следует учитывать при установке
файлов каталогов сообщений. Целевые каталоги для размещения,
расположенные под
- <filename><makevar>LOCALBASE</makevar>/share/locale</filename>,
+ <filename>LOCALBASE/share/locale</filename>,
редко когда должны создаваться и удаляться портом. Для
наиболее популярных языков имеются собственные каталоги,
перечисленные в
- <filename><makevar>PORTSDIR</makevar>/Templates/BSD.local.dist</filename>.
+ <filename>PORTSDIR/Templates/BSD.local.dist</filename>.
Каталоги для
- множества других языков управляются с помощью порта <filename
- role="package">devel/gettext</filename>. Обратите внимание
+ множества других языков управляются с помощью порта <package>devel/gettext</package>. Обратите внимание
на его <filename>pkg-plist</filename> и посмотрите, куда данный
порт собирается установить файлы каталогов сообщений для
единственного в своем роде языка.</para>
</sect2>
</sect1>
- <sect1 id="using-perl">
+ <sect1 xml:id="using-perl">
<title>Использование <application>Perl</application></title>
- <para>Если <makevar>MASTER_SITES</makevar> установлена в значение
- <makevar>MASTER_SITE_PERL_CPAN</makevar>, то предпочтительным
- значением <makevar>MASTER_SITE_SUBDIR</makevar> является имя
+ <para>Если <varname>MASTER_SITES</varname> установлена в значение
+ <varname>MASTER_SITE_PERL_CPAN</varname>, то предпочтительным
+ значением <varname>MASTER_SITE_SUBDIR</varname> является имя
иерархии верхнего уровня. Например, рекомендуемым значением для
<literal>p5-Module-Name</literal> является <literal>Module</literal>.
- Иерархию верхнего уровня можно посмотреть на сайте <ulink
- url="http://cpan.org/modules/by-module/">cpan.org</ulink>. Это
+ Иерархию верхнего уровня можно посмотреть на сайте <link xlink:href="http://cpan.org/modules/by-module/">cpan.org</link>. Это
поддерживает порт в рабочем состоянии при изменении модуля
автором.</para>
<para>Исключением этого правила является отсутствие соответствующего
каталога или файла с дистрибутивом в этом каталоге. В этом случае
- в качестве <makevar>MASTER_SITE_SUBDIR</makevar> разрешается
+ в качестве <varname>MASTER_SITE_SUBDIR</varname> разрешается
использовать id автора.</para>
<para>Все из настраиваемых knobs ниже принимают либо <literal>YES</literal>,
@@ -6106,25 +6052,25 @@ PLIST_SUB+= NLS="@comment "
<tbody>
<row>
- <entry><makevar>USE_PERL5</makevar></entry>
+ <entry><varname>USE_PERL5</varname></entry>
<entry>Perl 5 используется для построения и работы.</entry>
</row>
<row>
- <entry><makevar>USE_PERL5_BUILD</makevar></entry>
+ <entry><varname>USE_PERL5_BUILD</varname></entry>
<entry>Perl 5 используется для построения.</entry>
</row>
<row>
- <entry><makevar>USE_PERL5_RUN</makevar></entry>
+ <entry><varname>USE_PERL5_RUN</varname></entry>
<entry>Perl 5 используется во время работы.</entry>
</row>
<row>
- <entry><makevar>PERL</makevar></entry>
+ <entry><varname>PERL</varname></entry>
<entry>Полный путь к интерпретатору Perl 5, либо в
системе, либо установленному из портов, но без номера версии.
@@ -6133,17 +6079,17 @@ PLIST_SUB+= NLS="@comment "
</row>
<row>
- <entry><makevar>PERL_CONFIGURE</makevar></entry>
+ <entry><varname>PERL_CONFIGURE</varname></entry>
<entry>Конфигурация при помощи MakeMaker языка Perl. Влечёт
- <makevar>USE_PERL5</makevar>.</entry>
+ <varname>USE_PERL5</varname>.</entry>
</row>
<row>
- <entry><makevar>PERL_MODBUILD</makevar></entry>
+ <entry><varname>PERL_MODBUILD</varname></entry>
<entry>Конфигурация, построение и установка с использованием
- Module::Build. Влечёт <makevar>PERL_CONFIGURE</makevar>.
+ Module::Build. Влечёт <varname>PERL_CONFIGURE</varname>.
</entry>
</row>
</tbody>
@@ -6160,14 +6106,14 @@ PLIST_SUB+= NLS="@comment "
<tbody>
<row>
- <entry><makevar>PERL_VERSION</makevar></entry>
+ <entry><varname>PERL_VERSION</varname></entry>
<entry>Полная версия установленного Perl
(например, <literal>5.8.9</literal>).</entry>
</row>
<row>
- <entry><makevar>PERL_LEVEL</makevar></entry>
+ <entry><varname>PERL_LEVEL</varname></entry>
<entry>Установленная версия Perl в форме
целого числа вида <literal>MNNNPP</literal> (например,
@@ -6175,7 +6121,7 @@ PLIST_SUB+= NLS="@comment "
</row>
<row>
- <entry><makevar>PERL_ARCH</makevar></entry>
+ <entry><varname>PERL_ARCH</varname></entry>
<entry>Место, в котором Perl хранит
архитектурно-зависимые библиотеки. По умолчанию
@@ -6183,18 +6129,18 @@ PLIST_SUB+= NLS="@comment "
</row>
<row>
- <entry><makevar>PERL_PORT</makevar></entry>
+ <entry><varname>PERL_PORT</varname></entry>
<entry>Название установленного порта Perl,
(к примеру, <literal>perl5</literal>).</entry>
</row>
<row>
- <entry><makevar>SITE_PERL</makevar></entry>
+ <entry><varname>SITE_PERL</varname></entry>
<entry>Имя каталога, куда помещаются специфичные для сайта
пакеты Perl. Это значение добавляется к
- <makevar>PLIST_SUB</makevar>.</entry>
+ <varname>PLIST_SUB</varname>.</entry>
</row>
</tbody>
</tgroup>
@@ -6202,7 +6148,7 @@ PLIST_SUB+= NLS="@comment "
<note>
<para>Порты для модулей Perl, которые не имеют официального вебсайта,
- должны указывать <hostid>cpan.org</hostid> в строке WWW в файле
+ должны указывать <systemitem>cpan.org</systemitem> в строке WWW в файле
<filename>pkg-descr</filename>. Предпочтительная форма URL
<literal>http://search.cpan.org/dist/Module-Name/</literal>
(включая завершающий слэш).</para>
@@ -6219,22 +6165,22 @@ PLIST_SUB+= NLS="@comment "
ниже.</para>
</note>
- <example id="use-perl-dependency-example">
+ <example xml:id="use-perl-dependency-example">
<title>Пример зависимости Perl</title>
<programlisting>p5-IO-Tee&gt;=0.64:${PORTSDIR}/devel/p5-IO-Tee</programlisting>
</example>
</sect1>
- <sect1 id="using-x11">
+ <sect1 xml:id="using-x11">
<title>Использование X11</title>
- <sect2 id="x11-variables">
+ <sect2 xml:id="x11-variables">
<title>Компоненты X.Org</title>
<para>X.Org является реализацией X11, доступной в Коллекции Портов.
Если ваше приложение зависит от компонентов X, установите в
- переменную <makevar>USE_XORG</makevar> в перечень требуемых
+ переменную <varname>USE_XORG</varname> в перечень требуемых
компонентов. К настоящему времени доступными компонентами
являются:</para>
@@ -6257,12 +6203,12 @@ PLIST_SUB+= NLS="@comment "
<para>Проект Mesa является попыткой обеспечить свободную реализацию
OpenGL. Вы можете указать зависимость от различных компонентов
- этого проекта при помощи переменной <makevar>USE_GL</makevar>.
+ этого проекта при помощи переменной <varname>USE_GL</varname>.
Действительные опции: <literal>glut, glu, glw, glew, gl</literal> и
<literal>linux</literal>. Для обратной совместимости значение
<literal>yes</literal> соответствует <literal>glu</literal>.</para>
- <example id="use-xorg-example">
+ <example xml:id="use-xorg-example">
<title>Пример для USE_XORG</title>
<programlisting>USE_XORG= xrender xft xkbfile xt xaw
USE_GL= glu</programlisting>
@@ -6274,13 +6220,13 @@ USE_GL= glu</programlisting>
<tgroup cols="2">
<tbody>
<row>
- <entry><makevar>USES= imake</makevar></entry>
+ <entry><varname>USES= imake</varname></entry>
<entry>Порт использует <command>imake</command>.</entry>
</row>
<row>
- <entry><makevar>XMKMF</makevar></entry>
+ <entry><varname>XMKMF</varname></entry>
<entry>Задаётся маршрут до <command>xmkmf</command>, если он
отсутствует в переменной окружения <envar>PATH</envar>. По
@@ -6290,7 +6236,7 @@ USE_GL= glu</programlisting>
</tgroup>
</table>
- <example id="using-x11-vars">
+ <example xml:id="using-x11-vars">
<title>Использование переменных X11 в порте</title>
<programlisting># Использовать некоторые библиотеки X11
@@ -6298,18 +6244,18 @@ USE_XORG= x11 xpm</programlisting>
</example>
</sect2>
- <sect2 id="porting-motif">
+ <sect2 xml:id="porting-motif">
<title>Порты, которым требуется Motif</title>
<para>Если вашему порту требуется Motif, задайте переменную
- <makevar>USES= motif</makevar> в файле <filename>Makefile</filename>.
+ <varname>USES= motif</varname> в файле <filename>Makefile</filename>.
Реализация Motif, используемая по умолчанию, находится в
- <filename role="package">x11-toolkits/open-motif</filename>.
+ <package>x11-toolkits/open-motif</package>.
Пользователи вместо этого могут выбрать
- <filename role="package">x11-toolkits/lesstif</filename> через
- установку переменной <makevar>WANT_LESSTIF</makevar>.</para>
+ <package>x11-toolkits/lesstif</package> через
+ установку переменной <varname>WANT_LESSTIF</varname>.</para>
- <para>Переменная <makevar>MOTIFLIB</makevar> будет установлена в
+ <para>Переменная <varname>MOTIFLIB</varname> будет установлена в
<filename>bsd.port.mk</filename>, чтобы ссылаться на
соответствующую библиотеку Motif. Пожалуйста, измените исходные
тексты вашего порта на использование
@@ -6336,7 +6282,7 @@ USE_XORG= x11 xpm</programlisting>
</listitem>
</itemizedlist>
- <para>Заметьте, что переменная <makevar>MOTIFLIB</makevar> (как
+ <para>Заметьте, что переменная <varname>MOTIFLIB</varname> (как
правило) раскрывается в <literal>-L/usr/local/lib -lXm</literal> или
<literal>/usr/local/lib/libXm.a</literal>, так что нет нужды впереди
добавлять <literal>-L</literal> или <literal>-l</literal>.</para>
@@ -6348,7 +6294,7 @@ USE_XORG= x11 xpm</programlisting>
<para>Если ваш порт устанавливает шрифты для X Window System,
поместите их в каталог
- <filename><makevar>LOCALBASE</makevar>/lib/X11/fonts/local</filename>.
+ <filename>LOCALBASE/lib/X11/fonts/local</filename>.
</para>
</sect2>
@@ -6367,12 +6313,11 @@ USE_XORG= x11 xpm</programlisting>
<programlisting>USES= display</programlisting>
</sect2>
- <sect2 id="desktop-entries">
+ <sect2 xml:id="desktop-entries">
<title>Элементы рабочего стола</title>
- <para>Элементы рабочего стола (<ulink
- url="http://standards.freedesktop.org/desktop-entry-spec/latest/">стандарта
- Freedesktop</ulink>) предоставляют способ автоматической настройки
+ <para>Элементы рабочего стола (<link xlink:href="http://standards.freedesktop.org/desktop-entry-spec/latest/">стандарта
+ Freedesktop</link>) предоставляют способ автоматической настройки
функций рабочего стола при установке новой программы, не требуя
вмешательства пользователя. Например, новые программы автоматически
отображаются в меню приложений совместимых окружений рабочего стола.
@@ -6391,38 +6336,36 @@ USE_XORG= x11 xpm</programlisting>
<para>Порты, включающие предопределенные файлы
<filename>*.desktop</filename>, должны включать эти файлы в
<filename>pkg-plist</filename> и устанавливать их в каталог
- <filename><makevar>&dollar;LOCALBASE</makevar>/share/applications</filename>.
- Для установки этих файлов используется <link
- linkend="install-macros">макрос <makevar>INSTALL_DATA</makevar></link>.</para>
+ <filename>&dollar;LOCALBASE/share/applications</filename>.
+ Для установки этих файлов используется <link linkend="install-macros">макрос <varname>INSTALL_DATA</varname></link>.</para>
</sect3>
- <sect3 id="updating-desktop-database">
+ <sect3 xml:id="updating-desktop-database">
<title>Обновление базы данных рабочего стола</title>
<para>Если в файле порта
- <filename><replaceable>portname</replaceable>.desktop</filename>
+ <filename>portname.desktop</filename>
имеется запись MimeType, то база данных рабочего стола
должна быть обновлена после установки и удаления. Для
этого укажите
- <makevar>USES</makevar>= desktop-file-utils.</para>
+ <varname>USES</varname>= desktop-file-utils.</para>
</sect3>
- <sect3 id="desktop-entries-macro">
+ <sect3 xml:id="desktop-entries-macro">
<title>Создание элементов рабочего стола с использованием
- <makevar>DESKTOP_ENTRIES</makevar></title>
+ <varname>DESKTOP_ENTRIES</varname></title>
<para>Элементы рабочего стола можно легко создавать для приложений,
- используя переменную <makevar>DESKTOP_ENTRIES</makevar>.
+ используя переменную <varname>DESKTOP_ENTRIES</varname>.
Будет автоматически создан, установлен и добавлен в
<filename>pkg-plist</filename> файл с названием
- <filename><replaceable>name</replaceable>.desktop</filename>.
+ <filename>name.desktop</filename>.
Синтаксис:</para>
<programlisting>DESKTOP_ENTRIES= "NAME" "COMMENT" "ICON" "COMMAND" "CATEGORY" StartupNotify</programlisting>
- <para>Перечень возможных категорий доступен на <ulink
- url="http://standards.freedesktop.org/menu-spec/latest/apa.html">
- вебсайте Freedesktop</ulink>. <makevar>StartupNotify</makevar>
+ <para>Перечень возможных категорий доступен на <link xlink:href="http://standards.freedesktop.org/menu-spec/latest/apa.html">
+ вебсайте Freedesktop</link>. <varname>StartupNotify</varname>
отобразит, поддерживает ли приложение <emphasis>уведомления о
запуске</emphasis>. Как правило, это графический индикатор часы
вместо указателя мыши, меню или панель, которые уведомляют
@@ -6431,7 +6374,7 @@ USE_XORG= x11 xpm</programlisting>
Программы, несовместимые с уведомлениями о запуске, не будут
очищать индикатор (возможно, вызывая путаницу и приводя
пользователей в бешенство), и поэтому должны иметь
- <makevar>StartupNotify</makevar> в выключенном состоянии
+ <varname>StartupNotify</varname> в выключенном состоянии
<literal>false</literal>; тогда индикатор не будет отображаться
совсем.</para>
@@ -6445,21 +6388,21 @@ USE_XORG= x11 xpm</programlisting>
</sect2>
</sect1>
- <sect1 id="using-gnome">
+ <sect1 xml:id="using-gnome">
<title>Использование GNOME</title>
<para>Для задания того, какие компоненты GNOME использует конкретный
порт, проект FreeBSD/GNOME использует собственный набор переменных.
На странице проекта FreeBSD/GNOME
- размещён <ulink url="http://www.FreeBSD.org/gnome/docs/porting.html">
- исчерпывающий список этих переменных</ulink>.</para>
+ размещён <link xlink:href="http://www.FreeBSD.org/gnome/docs/porting.html">
+ исчерпывающий список этих переменных</link>.</para>
</sect1>
- <sect1 id="using-qt">
+ <sect1 xml:id="using-qt">
<title>Использование Qt</title>
- <sect2 id="qt-common">
+ <sect2 xml:id="qt-common">
<title>Порты, для которых требуется Qt</title>
<table frame="none">
@@ -6468,7 +6411,7 @@ USE_XORG= x11 xpm</programlisting>
<tgroup cols="2">
<tbody>
<row>
- <entry><makevar>USE_QT_VER</makevar></entry>
+ <entry><varname>USE_QT_VER</varname></entry>
<entry>Порт использует инструментальный пакет Qt.
Единственным возможным значением является
@@ -6478,58 +6421,57 @@ USE_XORG= x11 xpm</programlisting>
</row>
<row>
- <entry><makevar>USE_QT4</makevar></entry>
+ <entry><varname>USE_QT4</varname></entry>
<entry>Указывает инструменты и библиотеки в качестве
зависимостей для портов, которые используют Qt 4.
- Для получения подробностей смотрите <link
- linkend="qt4-components">выбор компонентов Qt
+ Для получения подробностей смотрите <link linkend="qt4-components">выбор компонентов Qt
4</link>.</entry>
</row>
<row>
- <entry><makevar>QT_PREFIX</makevar></entry>
+ <entry><varname>QT_PREFIX</varname></entry>
<entry>Устанавливается в значение, содержащее путь к
установленному Qt (переменная только для чтения).</entry>
</row>
<row>
- <entry><makevar>MOC</makevar></entry>
+ <entry><varname>MOC</varname></entry>
<entry>Устанавливается в значение, содержащее путь к
<command>moc</command> (переменная только для чтения).
По умолчанию устанавливается в соответствии со значением
- <makevar>USE_QT_VER</makevar>.</entry>
+ <varname>USE_QT_VER</varname>.</entry>
</row>
<row>
- <entry><makevar>QTCPPFLAGS</makevar></entry>
+ <entry><varname>QTCPPFLAGS</varname></entry>
<entry>Дополнительные флаги компилятора для инструментального
пакета Qt, передаваемые через переменную
- <makevar>CONFIGURE_ENV</makevar>. По умолчанию
+ <varname>CONFIGURE_ENV</varname>. По умолчанию
устанавливается в соответствии со значением
- <makevar>USE_QT_VER</makevar>.</entry>
+ <varname>USE_QT_VER</varname>.</entry>
</row>
<row>
- <entry><makevar>QTCFGLIBS</makevar></entry>
+ <entry><varname>QTCFGLIBS</varname></entry>
<entry>Дополнительные флаги компоновки для инструментального
пакета Qt, передаваемые через переменную
- <makevar>CONFIGURE_ENV</makevar>. По умолчанию
+ <varname>CONFIGURE_ENV</varname>. По умолчанию
устанавливается в соответствии со значением
- <makevar>USE_QT_VER</makevar>.</entry>
+ <varname>USE_QT_VER</varname>.</entry>
</row>
<row>
- <entry><makevar>QTNONSTANDARD</makevar></entry>
+ <entry><varname>QTNONSTANDARD</varname></entry>
- <entry>Подавляет изменение <makevar>CONFIGURE_ENV</makevar>,
- <makevar>CONFIGURE_ARGS</makevar>,
- <makevar>CPPFLAGS</makevar> и
- <makevar>MAKE_ENV</makevar>.</entry>
+ <entry>Подавляет изменение <varname>CONFIGURE_ENV</varname>,
+ <varname>CONFIGURE_ARGS</varname>,
+ <varname>CPPFLAGS</varname> и
+ <varname>MAKE_ENV</varname>.</entry>
</row>
</tbody>
@@ -6543,49 +6485,49 @@ USE_XORG= x11 xpm</programlisting>
<tgroup cols="2">
<tbody>
<row>
- <entry><makevar>UIC</makevar></entry>
+ <entry><varname>UIC</varname></entry>
<entry>Устанавливает путь к <command>uic</command>
(переменная только для чтения).</entry>
</row>
<row>
- <entry><makevar>QMAKE</makevar></entry>
+ <entry><varname>QMAKE</varname></entry>
<entry>Устанавливает путь к <command>qmake</command>
(переменная только для чтения).</entry>
</row>
<row>
- <entry><makevar>QMAKESPEC</makevar></entry>
+ <entry><varname>QMAKESPEC</varname></entry>
<entry>Устанавливает путь к конфигурационному файлу для
<command>qmake</command> (переменная только для чтения).</entry>
</row>
<row>
- <entry><makevar>QMAKEFLAGS</makevar></entry>
+ <entry><varname>QMAKEFLAGS</varname></entry>
<entry>Дополнительные флаги для
<command>qmake</command>.</entry>
</row>
<row>
- <entry><makevar>QT_INCDIR</makevar></entry>
+ <entry><varname>QT_INCDIR</varname></entry>
<entry>Устанавливает каталоги для заголовков Qt 4
(переменная только для чтения).</entry>
</row>
<row>
- <entry><makevar>QT_LIBDIR</makevar></entry>
+ <entry><varname>QT_LIBDIR</varname></entry>
<entry>Устанавливает путь к библиотекам Qt 4
(переменная только для чтения).</entry>
</row>
<row>
- <entry><makevar>QT_PLUGINDIRC</makevar></entry>
+ <entry><varname>QT_PLUGINDIRC</varname></entry>
<entry>Устанавливает путь к плагинам Qt 4
(переменная только для чтения).</entry>
@@ -6594,7 +6536,7 @@ USE_XORG= x11 xpm</programlisting>
</tgroup>
</table>
- <para>Когда переменная <makevar>USE_QT_VER</makevar> определена
+ <para>Когда переменная <varname>USE_QT_VER</varname> определена
со значением <literal>3</literal>,
сценарию <command>configure</command> можно передавать некоторые
полезные настройки:</para>
@@ -6607,7 +6549,7 @@ CONFIGURE_ENV+= MOC="${MOC}" LIBS="${QTCFGLIBS}" \
QTDIR="${QT_PREFIX}" KDEDIR="${KDE_PREFIX}"
CPPFLAGS+= ${QTCPPFLAGS}</programlisting>
- <para>При заданной переменной <makevar>USE_QT4</makevar>
+ <para>При заданной переменной <varname>USE_QT4</varname>
применяются следующие настройки:</para>
<programlisting>CONFIGURE_ARGS+= --with-qt-includes=${QT_INCDIR} \
@@ -6623,10 +6565,10 @@ PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_REL} \
QT_PLUGINDIR_REL=${QT_PLUGINDIR_REL}</programlisting>
</sect2>
- <sect2 id="qt4-components">
+ <sect2 xml:id="qt4-components">
<title>Выбор компонентов (только для Qt 4.x)</title>
- <para>В переменной <makevar>USE_QT4</makevar> должны указываться
+ <para>В переменной <varname>USE_QT4</varname> должны указываться
зависимости от отдельных инструментов и библиотек Qt 4. К каждому
компоненту можно добавить суффикс, <literal>_build</literal>
или <literal>_run</literal>, отражающий, когда должна быть применена
@@ -6637,7 +6579,7 @@ PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_REL} \
суффиксом <literal>_build</literal>, а компоненты плагинов - с
суффиксом <literal>_run</literal>. Наиболее общие используемые
компоненты перечислены ниже (все доступные компоненты перечислены
- в <makevar>_USE_QT4_ALL</makevar> в файле
+ в <varname>_USE_QT4_ALL</varname> в файле
<filename>/usr/ports/Mk/bsd.qt.mk</filename>):</para>
<table frame="none">
@@ -6777,7 +6719,7 @@ PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_REL} \
</tgroup>
</table>
- <example id="qt4-components-example">
+ <example xml:id="qt4-components-example">
<title>Выбор компонентов Qt 4</title>
<para>В этом примере портированное приложение использует библиотеку
@@ -6795,7 +6737,7 @@ PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_REL} \
</example>
</sect2>
- <sect2 id="qt-additional">
+ <sect2 xml:id="qt-additional">
<title>Прочие соображения</title>
<para>Если вместе с приложением вместо <filename>configure</filename>
@@ -6810,12 +6752,12 @@ do-configure:
<para>Обратите внимание на сходство со строкой <command>qmake</command>
из прилагаемого сценария <filename>BUILD.sh</filename>. Передача
- <makevar>CONFIGURE_ENV</makevar> обеспечивает видимость переменной
- <makevar>QMAKESPEC</makevar> для <command>qmake</command>, без
+ <varname>CONFIGURE_ENV</varname> обеспечивает видимость переменной
+ <varname>QMAKESPEC</varname> для <command>qmake</command>, без
которой команда не может работать. <command>qmake</command>
порождает стандартные Makefile, и, таким образом, отпадает
необходимость в написании своих собственных целей
- <maketarget>build</maketarget>.</para>
+ <buildtarget>build</buildtarget>.</para>
<para>Приложения Qt часто пишутся в кроссплатформенной манере, и
X11/Unix часто не является для них платформой разработки, что в
@@ -6841,7 +6783,7 @@ do-configure:
Иногда данные, такие как иконки и файлы .desktop,
устанавливаются по умолчанию в каталоги, которые не
просматриваются XDG-совместимыми приложениями. Примером
- является <filename role="package">editors/texmaker</filename> -
+ является <package>editors/texmaker</package> -
взгляните на <filename>patch-texmaker.pro</filename> из каталога
<filename>files</filename> этого порта, который можно взять
в качестве шаблона исправления этого непосредственно в файле
@@ -6853,14 +6795,14 @@ do-configure:
</sect1>
- <sect1 id="using-kde">
+ <sect1 xml:id="using-kde">
<title>Использование KDE</title>
- <sect2 id="kde4-variables">
+ <sect2 xml:id="kde4-variables">
<title>Задание переменных KDE 4</title>
<para>Если ваше приложение зависит от KDE 4.x, присвойте
- <makevar>USE_KDE4</makevar> список требуемых компонентов.
+ <varname>USE_KDE4</varname> список требуемых компонентов.
Для переопределения типа зависимости компонента могут быть
использованы суффиксы <literal>_build</literal> и
<literal>_run</literal> (например, <literal>baseapps_run</literal>).
@@ -7009,7 +6951,7 @@ do-configure:
</row>
<row>
- <entry>smokekde<literal></literal></entry>
+ <entry>smokekde<literal/></entry>
<entry>Библиотеки KDE SMOKE</entry>
</row>
@@ -7018,29 +6960,29 @@ do-configure:
</table>
<para>Порты KDE 4.x
- устанавливаются в <makevar>KDE4_PREFIX</makevar>, что в
+ устанавливаются в <varname>KDE4_PREFIX</varname>, что в
настоящее время соответствует <filename>/usr/local/kde4</filename>.
Это достигается путем указания компонента <literal>kdeprefix</literal>,
- который определяет значение по умолчанию для <makevar>PREFIX</makevar>.
- Тем не менее, порты учитывают любые <makevar>PREFIX</makevar>,
+ который определяет значение по умолчанию для <varname>PREFIX</varname>.
+ Тем не менее, порты учитывают любые <varname>PREFIX</varname>,
установленные через переменную окружения <envar>MAKEFLAGS</envar>
и/или параметры <command>make</command>.</para>
- <example id="kde4-components-example">
- <title>Пример <makevar>USE_KDE4</makevar></title>
+ <example xml:id="kde4-components-example">
+ <title>Пример <varname>USE_KDE4</varname></title>
<para>Это простой пример для порта KDE 4.
<literal>USES= cmake:outsource</literal> указывает порту
использовать <application>CMake</application>, конфигурационный
инструмент, широко применяемый в проектах KDE 4 (подробное
описание даёт <xref linkend="using-cmake"/>).
- <makevar>USE_KDE4</makevar> добавляет зависимость от библиотек KDE
+ <varname>USE_KDE4</varname> добавляет зависимость от библиотек KDE
и заставляет порты использовать <command>automoc4</command>
во время сборки. Требуемые компоненты KDE и другие зависимости
- можно определить в журнале configure. <makevar>USE_KDE4</makevar>
- не подразумевает <makevar>USE_QT4</makevar>. Если порт требует
+ можно определить в журнале configure. <varname>USE_KDE4</varname>
+ не подразумевает <varname>USE_QT4</varname>. Если порт требует
какой-либо из компонентов Qt 4, их следует указать в
- <makevar>USE_QT4</makevar>.</para>
+ <varname>USE_QT4</varname>.</para>
<programlisting>USES= cmake:outsource
USE_KDE4= kdelibs kdeprefix automoc4
@@ -7050,22 +6992,21 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
</sect1>
- <sect1 id="using-java">
+ <sect1 xml:id="using-java">
<title>Использование Java</title>
- <sect2 id="java-variables">
+ <sect2 xml:id="java-variables">
<title>Задание переменных</title>
<para>Если вашему порту необходимо наличие Java&trade; Development Kit
(JDK&trade;) для построения, работы или даже распаковки
дистрибутивного файла, то в нём должна быть задана переменная
- <makevar>USE_JAVA</makevar>.</para>
+ <varname>USE_JAVA</varname>.</para>
<para>В Коллекции Портов присутствуют несколько JDK различных
разработчиков и разных версий. Если ваш порт должен использовать
одну из этих версий, то вы должны указать, какую именно. Самой
- последней версией и версией по умолчанию является <filename
- role="package">java/openjdk6</filename>.</para>
+ последней версией и версией по умолчанию является <package>java/openjdk6</package>.</para>
<table frame="none">
<title>Переменные, которые которые могут задаваться портами,
@@ -7082,14 +7023,14 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
<tbody>
<row>
- <entry><makevar>USE_JAVA</makevar></entry>
+ <entry><varname>USE_JAVA</varname></entry>
<entry>Должна быть определена для того, что последующие
переменные вступили в действие.</entry>
</row>
<row>
- <entry><makevar>JAVA_VERSION</makevar></entry>
+ <entry><varname>JAVA_VERSION</varname></entry>
<entry>Список версий Java, перечисленных через пробел,
подходящих для порта. Опциональный знак
<literal>"+"</literal> позволяет вам указать диапазон
@@ -7099,14 +7040,14 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
</row>
<row>
- <entry><makevar>JAVA_OS</makevar></entry>
+ <entry><varname>JAVA_OS</varname></entry>
<entry>Список операционных систем, перечисленных через пробел,
порты JDK для которых подходят для порта (возможные значения:
<literal>native linux</literal>).</entry>
</row>
<row>
- <entry><makevar>JAVA_VENDOR</makevar></entry>
+ <entry><varname>JAVA_VENDOR</varname></entry>
<entry>Список разработчиков портов JDK, перечисленных через
пробел, которые подходят для порта (возможные значения:
<literal>freebsd bsdjava sun
@@ -7114,20 +7055,20 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
</row>
<row>
- <entry><makevar>JAVA_BUILD</makevar></entry>
+ <entry><varname>JAVA_BUILD</varname></entry>
<entry>Если задана, то означает, что выбранный порт JDK должен
быть добавлен к зависимостям порта для его
построения.</entry>
</row>
<row>
- <entry><makevar>JAVA_RUN</makevar></entry>
+ <entry><varname>JAVA_RUN</varname></entry>
<entry>Если задана, то означает, что выбранный порт JDK должен
быть добавлен в зависимостям порта для его работы.</entry>
</row>
<row>
- <entry><makevar>JAVA_EXTRACT</makevar></entry>
+ <entry><varname>JAVA_EXTRACT</varname></entry>
<entry>Если задана, то означает, что выбранный порт JDK должен
быть добавлен в зависимостям порта для распаковки его
дистрибутивных файлов.</entry>
@@ -7137,7 +7078,7 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
</table>
<para>Ниже перечисляются все значения, которые принимают переменные
- после задания переменной <makevar>USE_JAVA</makevar>:</para>
+ после задания переменной <varname>USE_JAVA</varname>:</para>
<table frame="none">
<title>Переменные, доступные в портах, использующих Java</title>
@@ -7153,65 +7094,65 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
<tbody>
<row>
- <entry><makevar>JAVA_PORT</makevar></entry>
+ <entry><varname>JAVA_PORT</varname></entry>
<entry>Название порта JDK (к примеру,
<literal>'java/openjdk6'</literal>).</entry>
</row>
<row>
- <entry><makevar>JAVA_PORT_VERSION</makevar></entry>
+ <entry><varname>JAVA_PORT_VERSION</varname></entry>
<entry>Полное наименовании версии порта JDK (к примеру,
<literal>'1.6.0'</literal>). Если вам нужны только первые
две цифры номера версии, используйте конструкцию
- <makevar>${JAVA_PORT_VERSION:C/^([0-9])\.([0-9])(.*)$/\1.\2/}</makevar>.</entry>
+ <varname>${JAVA_PORT_VERSION:C/^([0-9])\.([0-9])(.*)$/\1.\2/}</varname>.</entry>
</row>
<row>
- <entry><makevar>JAVA_PORT_OS</makevar></entry>
+ <entry><varname>JAVA_PORT_OS</varname></entry>
<entry>Операционная система, используемая портом JDK (к примеру,
<literal>'native'</literal>).</entry>
</row>
<row>
- <entry><makevar>JAVA_PORT_VENDOR</makevar></entry>
+ <entry><varname>JAVA_PORT_VENDOR</varname></entry>
<entry>Разработчик порта JDK (к примеру,
<literal>'openjdk'</literal>).</entry>
</row>
<row>
- <entry><makevar>JAVA_PORT_OS_DESCRIPTION</makevar></entry>
+ <entry><varname>JAVA_PORT_OS_DESCRIPTION</varname></entry>
<entry>Описание операционной системы, используемой портом JDK
(к примеру, <literal>'Native'</literal>).</entry>
</row>
<row>
- <entry><makevar>JAVA_PORT_VENDOR_DESCRIPTION</makevar></entry>
+ <entry><varname>JAVA_PORT_VENDOR_DESCRIPTION</varname></entry>
<entry>Описание разработчика порта JDK (к примеру,
<literal>'OpenJDK BSD Porting Team'</literal>).</entry>
</row>
<row>
- <entry><makevar>JAVA_HOME</makevar></entry>
+ <entry><varname>JAVA_HOME</varname></entry>
<entry>Маршрут к установочному каталогу JDK (к примеру,
<filename>'/usr/local/openjdk6'</filename>).</entry>
</row>
<row>
- <entry><makevar>JAVAC</makevar></entry>
+ <entry><varname>JAVAC</varname></entry>
<entry>Маршрут к используемому компилятору Java (к примеру,
<filename>'/usr/local/openjdk6/bin/javac'</filename>.
</entry>
</row>
<row>
- <entry><makevar>JAR</makevar></entry>
+ <entry><varname>JAR</varname></entry>
<entry>Маршрут к используемой утилите <command>jar</command> (к
примеру, <filename>'/usr/local/openjdk6/bin/jar'</filename>
или <filename>'/usr/local/bin/fastjar'</filename>).</entry>
</row>
<row>
- <entry><makevar>APPLETVIEWER</makevar></entry>
+ <entry><varname>APPLETVIEWER</varname></entry>
<entry>Маршрут к утилите <command>appletviewer</command> (к
примеру,
<filename>'/usr/local/openjdk6/bin/appletviewer'</filename>).
@@ -7219,71 +7160,71 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
</row>
<row>
- <entry><makevar>JAVA</makevar></entry>
+ <entry><varname>JAVA</varname></entry>
<entry>Маршрут к выполняемому файлу <command>java</command>.
Используйте его для запуска Java-программ (к примеру,
<filename>'/usr/local/openjdk6/bin/java'</filename>).</entry>
</row>
<row>
- <entry><makevar>JAVADOC</makevar></entry>
+ <entry><varname>JAVADOC</varname></entry>
<entry>Маршрут к вспомогательной программе
<command>javadoc</command>.</entry>
</row>
<row>
- <entry><makevar>JAVAH</makevar></entry>
+ <entry><varname>JAVAH</varname></entry>
<entry>Маршрут к программе <command>javah</command>.</entry>
</row>
<row>
- <entry><makevar>JAVAP</makevar></entry>
+ <entry><varname>JAVAP</varname></entry>
<entry>Маршрут к программе <command>javap</command>.</entry>
</row>
<row>
- <entry><makevar>JAVA_KEYTOOL</makevar></entry>
+ <entry><varname>JAVA_KEYTOOL</varname></entry>
<entry>Маршрут к вспомогательной программе
<command>keytool</command>.</entry>
</row>
<row>
- <entry><makevar>JAVA_N2A</makevar></entry>
+ <entry><varname>JAVA_N2A</varname></entry>
<entry>Маршрут к утилите
<command>native2ascii</command>.</entry>
</row>
<row>
- <entry><makevar>JAVA_POLICYTOOL</makevar></entry>
+ <entry><varname>JAVA_POLICYTOOL</varname></entry>
<entry>Маршрут к программе <command>policytool</command>.</entry>
</row>
<row>
- <entry><makevar>JAVA_SERIALVER</makevar></entry>
+ <entry><varname>JAVA_SERIALVER</varname></entry>
<entry>Маршрут к вспомогательной программе
<command>serialver</command>.</entry>
</row>
<row>
- <entry><makevar>RMIC</makevar></entry>
+ <entry><varname>RMIC</varname></entry>
<entry>Маршрут к генератору каркаса программ RMI, утилите
<command>rmic</command>.</entry>
</row>
<row>
- <entry><makevar>RMIREGISTRY</makevar></entry>
+ <entry><varname>RMIREGISTRY</varname></entry>
<entry>Маршрут к программе регистрации RMI,
<command>rmiregistry</command>.</entry>
</row>
<row>
- <entry><makevar>RMID</makevar></entry>
+ <entry><varname>RMID</varname></entry>
<entry>Маршрут к программе-даемону RMI
<command>rmid</command>.</entry>
</row>
<row>
- <entry><makevar>JAVA_CLASSES</makevar></entry>
+ <entry><varname>JAVA_CLASSES</varname></entry>
<entry>Маршрут к архиву, который содержит файлы классов JDK,
<filename>${JAVA_HOME}/jre/lib/rt.jar</filename>.</entry>
</row>
@@ -7313,21 +7254,21 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
<tbody>
<row>
- <entry><makevar>JAVASHAREDIR</makevar></entry>
+ <entry><varname>JAVASHAREDIR</varname></entry>
<entry>Корневой каталог для всего, что связано с Java.
По умолчанию: <filename>${PREFIX}/share/java</filename>.
</entry>
</row>
<row>
- <entry><makevar>JAVAJARDIR</makevar></entry>
+ <entry><varname>JAVAJARDIR</varname></entry>
<entry>Каталог, в который должны устанавливаться JAR-файлы. По
умолчанию:
<filename>${JAVASHAREDIR}/classes</filename>.</entry>
</row>
<row>
- <entry><makevar>JAVALIBDIR</makevar></entry>
+ <entry><varname>JAVALIBDIR</varname></entry>
<entry>Каталог, в который устанавливаются JAR-файлы из
других портов. По умолчанию:
<filename>${LOCALBASE}/share/java/classes</filename>.</entry>
@@ -7337,27 +7278,26 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
</table>
<para>Соответствующие записи определяются в обоих переменных
- <makevar>PLIST_SUB</makevar> (описана в <xref
- linkend="plist-sub"/>) и <makevar>SUB_LIST</makevar>.</para>
+ <varname>PLIST_SUB</varname> (описана в <xref linkend="plist-sub"/>) и <varname>SUB_LIST</varname>.</para>
</sect2>
- <sect2 id="java-building-with-ant">
+ <sect2 xml:id="java-building-with-ant">
<title>Построение с Ant</title>
<para>Если построение порта производится с использованием Apache Ant,
- то необходимо определить <makevar>USE_ANT</makevar>. Таким образом
+ то необходимо определить <varname>USE_ANT</varname>. Таким образом
Ant становится подкомандой make. Если в порте не определена цель
<literal>do-build</literal>, то будет установлена цель по умолчанию,
которая просто запускает Ant в соответствии со значением
- <makevar>MAKE_ENV</makevar>, <makevar>MAKE_ARGS</makevar> и
- <makevar>ALL_TARGET</makevar>. Это похоже на механизм
- <makevar>USES= gmake</makevar>, который описан в
+ <varname>MAKE_ENV</varname>, <varname>MAKE_ARGS</varname> и
+ <varname>ALL_TARGET</varname>. Это похоже на механизм
+ <varname>USES= gmake</varname>, который описан в
<xref linkend="building"/>.</para>
</sect2>
- <sect2 id="java-best-practices">
+ <sect2 xml:id="java-best-practices">
<title>Практические рекомендации</title>
<para>При портировании Java-библиотеки ваш порт должен
@@ -7390,37 +7330,34 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
JDK, таким образом становится проблематичным определить список файлов
для упаковки (<filename>pkg-plist</filename>). Это одна из причин,
по которой создателям портов настоятельно рекомендуется использовать
- макрос <makevar>PORTDOCS</makevar>. Более того, даже если вы сможете
+ макрос <varname>PORTDOCS</varname>. Более того, даже если вы сможете
угадать набор файлов, который будет сгенерирован утилитой
<command>javadoc</command>, размер получающегося файла
<filename>pkg-plist</filename> голосует за использование
- <makevar>PORTDOCS</makevar>.</para>
+ <varname>PORTDOCS</varname>.</para>
- <para>Значением по умолчанию для переменной <makevar>DATADIR</makevar>
+ <para>Значением по умолчанию для переменной <varname>DATADIR</varname>
является <filename>${PREFIX}/share/${PORTNAME}</filename>. Хорошей
идеей является переопределение для Java-портов значения
- <makevar>DATADIR</makevar> как
+ <varname>DATADIR</varname> как
<filename>${JAVASHAREDIR}/${PORTNAME}</filename>. На самом деле
- <makevar>DATADIR</makevar> автоматически добавляется к
- <makevar>PLIST_SUB</makevar> (это описано в <xref
- linkend="plist-sub"/>), так что вы сможете
+ <varname>DATADIR</varname> автоматически добавляется к
+ <varname>PLIST_SUB</varname> (это описано в <xref linkend="plist-sub"/>), так что вы сможете
использовать <literal>%%DATADIR%%</literal> непосредственно в
<filename>pkg-plist</filename>.</para>
<para>Что касается выбора между построением портов Java из исходных
текстов или их прямой установкой из бинарных дистрибутивов, то на
момент создания этого текста определённой политики на этот счёт не
- существует. Однако участники <ulink
- url="http://www.freebsd.org/java/">Проекта &os; Java</ulink>
+ существует. Однако участники <link xlink:href="http://www.freebsd.org/java/">Проекта &os; Java</link>
рекомендуют создателям портов строить их из исходных текстов, если
эта задача является несложной.</para>
<para>Все возможности, которые были описаны в этом разделе, реализованы
в файле <filename>bsd.java.mk</filename>. Если вы предположите, что
вашему порту требуется менее тривиальная поддержка Java, пожалуйста,
- взгляните сначала на <ulink
- url="http://svnweb.FreeBSD.org/ports/head/Mk/bsd.java.mk?view=markup">журнал
- изменений bsd.java.mk в SVN</ulink>, так как для
+ взгляните сначала на <link xlink:href="http://svnweb.FreeBSD.org/ports/head/Mk/bsd.java.mk?view=markup">журнал
+ изменений bsd.java.mk в SVN</link>, так как для
документирования последних изменений требуется какое-то время.
Затем, если вы думаете, что не хватающая вам поддержка окажется
полезной для многих других портов Java, обсудите ваш вопрос в
@@ -7434,16 +7371,16 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
к реализации JDK, ни к <filename>bsd.java.mk</filename>.</para>
<para>Похожим образом определена политика по отношению к
- <makevar>CATEGORIES</makevar> порта Java, которая подробно описана
+ <varname>CATEGORIES</varname> порта Java, которая подробно описана
в <xref linkend="makefile-categories"/>.</para>
</sect2>
</sect1>
- <sect1 id="using-php">
+ <sect1 xml:id="using-php">
<title>Веб-приложения, Apache и PHP</title>
- <sect2 id="using-apache">
+ <sect2 xml:id="using-apache">
<title>Apache</title>
<table frame="none">
@@ -7453,7 +7390,7 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
<tbody>
<row>
- <entry><makevar>USE_APACHE</makevar></entry>
+ <entry><varname>USE_APACHE</varname></entry>
<entry>Порт требует Apache. Возможные значения:
<literal>yes</literal> (берёт любую версию),
@@ -7463,26 +7400,26 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
<literal>22</literal>. Более подробная информация
содержится в файле
<filename>ports/Mk/bsd.apache.mk</filename> и на
- странице <ulink url="http://wiki.freebsd.org/Apache/">
- wiki.freebsd.org/Apache/</ulink>.</entry>
+ странице <link xlink:href="http://wiki.freebsd.org/Apache/">
+ wiki.freebsd.org/Apache/</link>.</entry>
</row>
<row>
- <entry><makevar>APXS</makevar></entry>
+ <entry><varname>APXS</varname></entry>
<entry>Полный путь к исполняемому файлу <command>apxs</command>.
Может быть переопределен в вашем порту.</entry>
</row>
<row>
- <entry><makevar>HTTPD</makevar></entry>
+ <entry><varname>HTTPD</varname></entry>
<entry>Полный путь к исполняемому файлу <command>httpd</command>.
Может быть переопределен в вашем порту.</entry>
</row>
<row>
- <entry><makevar>APACHE_VERSION</makevar></entry>
+ <entry><varname>APACHE_VERSION</varname></entry>
<entry>Версия установленного Apache (переменная только для
чтения). Эта переменная доступна только после подключения
@@ -7491,21 +7428,21 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
</row>
<row>
- <entry><makevar>APACHEMODDIR</makevar></entry>
+ <entry><varname>APACHEMODDIR</varname></entry>
<entry>Каталог для модулей Apache. Значение переменной
автоматически подставляется в <filename>pkg-plist</filename>.</entry>
</row>
<row>
- <entry><makevar>APACHEINCLUDEDIR</makevar></entry>
+ <entry><varname>APACHEINCLUDEDIR</varname></entry>
<entry>Каталог для заголовков Apache. Значение переменной
автоматически подставляется в <filename>pkg-plist</filename>.</entry>
</row>
<row>
- <entry><makevar>APACHEETCDIR</makevar></entry>
+ <entry><varname>APACHEETCDIR</varname></entry>
<entry>Каталог для конфигурационных файлов Apache. Значение
переменной автоматически подставляется в
@@ -7524,51 +7461,51 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
<tbody>
<row>
- <entry><makevar>MODULENAME</makevar></entry>
+ <entry><varname>MODULENAME</varname></entry>
<entry>Название модуля. Значением по умолчанию является
- <makevar>PORTNAME</makevar>. Пример:
+ <varname>PORTNAME</varname>. Пример:
<literal>mod_hello</literal></entry>
</row>
<row>
- <entry><makevar>SHORTMODNAME</makevar></entry>
+ <entry><varname>SHORTMODNAME</varname></entry>
<entry>Краткое название модуля. Наследуется автоматически
- от <makevar>MODULENAME</makevar>, но может быть
+ от <varname>MODULENAME</varname>, но может быть
переопределено. Пример: <literal>hello</literal></entry>
</row>
<row>
- <entry><makevar>AP_FAST_BUILD</makevar></entry>
+ <entry><varname>AP_FAST_BUILD</varname></entry>
<entry>Использовать <command>apxs</command> для компиляции
и установки модуля.</entry>
</row>
<row>
- <entry><makevar>AP_GENPLIST</makevar></entry>
+ <entry><varname>AP_GENPLIST</varname></entry>
<entry>Также автоматически создает
<filename>pkg-plist</filename>.</entry>
</row>
<row>
- <entry><makevar>AP_INC</makevar></entry>
+ <entry><varname>AP_INC</varname></entry>
<entry>Добавляет каталог к пути поиска заголовков
во время компиляции.</entry>
</row>
<row>
- <entry><makevar>AP_LIB</makevar></entry>
+ <entry><varname>AP_LIB</varname></entry>
<entry>Добавляет каталог к пути поиска библиотек
во время компиляции.</entry>
</row>
<row>
- <entry><makevar>AP_EXTRAS</makevar></entry>
+ <entry><varname>AP_EXTRAS</varname></entry>
<entry>Дополнительные флаги, передаваемые
<command>apxs</command>.</entry>
@@ -7579,19 +7516,19 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
</table>
</sect2>
- <sect2 id="web-apps">
+ <sect2 xml:id="web-apps">
<title>Веб-приложения</title>
<para>Веб-приложения следует устанавливать в
- <filename><makevar>PREFIX</makevar>/www/<replaceable>appname</replaceable></filename>.
+ <filename>PREFIX/www/appname</filename>.
Для вашего удобства этот путь одинаково доступен в
<filename>Makefile</filename> и <filename>pkg-plist</filename>
- как переменная <makevar>WWWDIR</makevar>, а путь относительно
- <makevar>PREFIX</makevar> доступен в <filename>Makefile</filename>
- как <makevar>WWWDIR_REL</makevar>.</para>
+ как переменная <varname>WWWDIR</varname>, а путь относительно
+ <varname>PREFIX</varname> доступен в <filename>Makefile</filename>
+ как <varname>WWWDIR_REL</varname>.</para>
<para>Пользователь и группа процесса веб-сервера доступны как
- <makevar>WWWOWN</makevar> и <makevar>WWWGRP</makevar>, в случае
+ <varname>WWWOWN</varname> и <varname>WWWGRP</varname>, в случае
если вам нужно изменить владельца для некоторых файлов. Значением
по умолчанию и для владельца, и для группы является
<literal>www</literal>. Если вы хотите использовать в вашем
@@ -7606,7 +7543,7 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
</sect2>
- <sect2 id="php-variables">
+ <sect2 xml:id="php-variables">
<title>PHP</title>
<table frame="none">
@@ -7615,7 +7552,7 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
<tgroup cols="2">
<tbody>
<row>
- <entry><makevar>USE_PHP</makevar></entry>
+ <entry><varname>USE_PHP</varname></entry>
<entry>Порт требует PHP. Значение <literal>yes</literal>
добавляет зависимость от PHP. Вместо этого может быть
@@ -7624,7 +7561,7 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
</row>
<row>
- <entry><makevar>DEFAULT_PHP_VER</makevar></entry>
+ <entry><varname>DEFAULT_PHP_VER</varname></entry>
<entry>Выбирает старший номер версии, с которым будет
установлен PHP как зависимость в случае, когда PHP еще
@@ -7634,57 +7571,57 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
</row>
<row>
- <entry><makevar>IGNORE_WITH_PHP</makevar></entry>
+ <entry><varname>IGNORE_WITH_PHP</varname></entry>
<entry>Порт не работает с PHP данной версии. Возможные
значения: <literal>4</literal>, <literal>5</literal></entry>
</row>
<row>
- <entry><makevar>USE_PHPIZE</makevar></entry>
+ <entry><varname>USE_PHPIZE</varname></entry>
<entry>Порт будет построен как расширение PHP.</entry>
</row>
<row>
- <entry><makevar>USE_PHPEXT</makevar></entry>
+ <entry><varname>USE_PHPEXT</varname></entry>
<entry>Порт будет считаться расширением PHP, включая установку
и регистрацию в реестре расширений.</entry>
</row>
<row>
- <entry><makevar>USE_PHP_BUILD</makevar></entry>
+ <entry><varname>USE_PHP_BUILD</varname></entry>
<entry>Установить PHP как зависимость времени построения.</entry>
</row>
<row>
- <entry><makevar>WANT_PHP_CLI</makevar></entry>
+ <entry><varname>WANT_PHP_CLI</varname></entry>
<entry>Хочет CLI (командная строка) версию PHP.</entry>
</row>
<row>
- <entry><makevar>WANT_PHP_CGI</makevar></entry>
+ <entry><varname>WANT_PHP_CGI</varname></entry>
<entry>Хочет CGI версию PHP.</entry>
</row>
<row>
- <entry><makevar>WANT_PHP_MOD</makevar></entry>
+ <entry><varname>WANT_PHP_MOD</varname></entry>
<entry>Хочет PHP как модуль Apache.</entry>
</row>
<row>
- <entry><makevar>WANT_PHP_SCR</makevar></entry>
+ <entry><varname>WANT_PHP_SCR</varname></entry>
<entry>Хочет CLI или CGI версию PHP.</entry>
</row>
<row>
- <entry><makevar>WANT_PHP_WEB</makevar></entry>
+ <entry><varname>WANT_PHP_WEB</varname></entry>
<entry>Хочет модуль Apache или CGI версию PHP.</entry>
</row>
@@ -7700,10 +7637,10 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
<para>Портирование модулей PEAR является очень простым
процессом.</para>
- <para>Используйте переменные <makevar>FILES</makevar>,
- <makevar>TESTS</makevar>, <makevar>DATA</makevar>,
- <makevar>SQLS</makevar>, <makevar>SCRIPTFILES</makevar>,
- <makevar>DOCS</makevar> and <makevar>EXAMPLES</makevar> для
+ <para>Используйте переменные <varname>FILES</varname>,
+ <varname>TESTS</varname>, <varname>DATA</varname>,
+ <varname>SQLS</varname>, <varname>SCRIPTFILES</varname>,
+ <varname>DOCS</varname> and <varname>EXAMPLES</varname> для
перечисления файлов, которые вы хотите установить. Все
перечисленные файлы будут автоматически установлены в подходящие
места и добавлены в <filename>pkg-plist</filename>.</para>
@@ -7712,7 +7649,7 @@ USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
<filename>&dollar;{PORTSDIR}/devel/pear/bsd.pear.mk</filename>
на последней строке <filename>Makefile</filename>.</para>
- <example id="pear-makefile">
+ <example xml:id="pear-makefile">
<title>Пример Makefile для классов PEAR</title>
<programlisting>PORTNAME= Date
PORTVERSION= 1.4.3
@@ -7745,19 +7682,19 @@ _DOCSDIR= .
</sect1>
- <sect1 id="using-python">
+ <sect1 xml:id="using-python">
<title>Использование Python</title>
<para>Коллекция Портов поддерживает параллельную установку множества
версий Python. Следует убедиться, что в портах используется
правильный интерпретатор <command>python</command> в соответствии
- с переменной <makevar>PYTHON_VERSION</makevar>, установленной
+ с переменной <varname>PYTHON_VERSION</varname>, установленной
пользователем. По большей части это означает замену пути к
исполняемому файлу <command>python</command> в сценариях на
- значение переменной <makevar>PYTHON_CMD</makevar>.</para>
+ значение переменной <varname>PYTHON_CMD</varname>.</para>
<para>Порты, устанавливающие файлы под каталог
- <makevar>PYTHON_SITELIBDIR</makevar>, должны использовать префикс
+ <varname>PYTHON_SITELIBDIR</varname>, должны использовать префикс
вида <literal>pyXY-</literal>, таким образом названия пакетов будут
включать в себя версию Python, с которой они установлены.</para>
@@ -7769,7 +7706,7 @@ _DOCSDIR= .
<tgroup cols="2">
<tbody>
<row>
- <entry><makevar>USE_PYTHON</makevar></entry>
+ <entry><varname>USE_PYTHON</varname></entry>
<entry>Для этого порта нужен Python. Минимальная требуемая
версия может быть указана с таким значением как
@@ -7779,36 +7716,36 @@ _DOCSDIR= .
</row>
<row>
- <entry><makevar>USE_PYDISTUTILS</makevar></entry>
+ <entry><varname>USE_PYDISTUTILS</varname></entry>
<entry>Использовать дистрибутивные утилиты (distutils) Python
для конфигурации, компиляции и установки. Необходимо, если
порт использует <filename>setup.py</filename>.
- Переопределяет цели <maketarget>do-build</maketarget> и
- <maketarget>do-install</maketarget> и также может
- переопределять <maketarget>do-configure</maketarget>, если
- не определена <makevar>GNU_CONFIGURE</makevar>.</entry>
+ Переопределяет цели <buildtarget>do-build</buildtarget> и
+ <buildtarget>do-install</buildtarget> и также может
+ переопределять <buildtarget>do-configure</buildtarget>, если
+ не определена <varname>GNU_CONFIGURE</varname>.</entry>
</row>
<row>
- <entry><makevar>PYTHON_PKGNAMEPREFIX</makevar></entry>
+ <entry><varname>PYTHON_PKGNAMEPREFIX</varname></entry>
- <entry>Используется как <makevar>PKGNAMEPREFIX</makevar> для
+ <entry>Используется как <varname>PKGNAMEPREFIX</varname> для
отличия пакетов, использующих разные версии Python. Пример:
<literal>py24-</literal></entry>
</row>
<row>
- <entry><makevar>PYTHON_SITELIBDIR</makevar></entry>
+ <entry><varname>PYTHON_SITELIBDIR</varname></entry>
<entry>Местонахождение дерева site-packages, которое содержит
- путь установки Python (обычно, <makevar>LOCALBASE</makevar>).
- Переменная <makevar>PYTHON_SITELIBDIR</makevar> может быть
+ путь установки Python (обычно, <varname>LOCALBASE</varname>).
+ Переменная <varname>PYTHON_SITELIBDIR</varname> может быть
очень полезной при установке модулей Python.</entry>
</row>
<row>
- <entry><makevar>PYTHONPREFIX_SITELIBDIR</makevar></entry>
+ <entry><varname>PYTHONPREFIX_SITELIBDIR</varname></entry>
<entry>Вариант PYTHON_SITELIBDIR без PREFIX.
По возможности всегда используйте
@@ -7820,27 +7757,27 @@ _DOCSDIR= .
</row>
<row>
- <entry><makevar>PYTHON_CMD</makevar></entry>
+ <entry><varname>PYTHON_CMD</varname></entry>
<entry>Командная строка интерпретатора Python, включая номер
версии.</entry>
</row>
<row>
- <entry><makevar>PYNUMERIC</makevar></entry>
+ <entry><varname>PYNUMERIC</varname></entry>
<entry>Строка зависимости для расширения numeric.</entry>
</row>
<row>
- <entry><makevar>PYNUMPY</makevar></entry>
+ <entry><varname>PYNUMPY</varname></entry>
<entry>Строка зависимости для нового расширения numeric,
numpy (PYNUMERIC объявлен устаревшим вышестоящим
производителем).</entry>
</row>
<row>
- <entry><makevar>PYXML</makevar></entry>
+ <entry><varname>PYXML</varname></entry>
<entry>Строка зависимости для расширения XML (не нужно для
Python 2.0 и выше, т.к. включено в основной дистрибутив).
@@ -7848,7 +7785,7 @@ _DOCSDIR= .
</row>
<row>
- <entry><makevar>USE_TWISTED</makevar></entry>
+ <entry><varname>USE_TWISTED</varname></entry>
<entry>Добавить зависимость от twistedCore. Перечень требуемых
компонентов может быть указан как значение этой переменной.
@@ -7856,11 +7793,11 @@ _DOCSDIR= .
</row>
<row>
- <entry><makevar>USE_ZOPE</makevar></entry>
+ <entry><varname>USE_ZOPE</varname></entry>
<entry>Добавить зависимость от Zope, платформы веб приложений.
Изменяет зависимость от Python на Python 2.7. Переменная
- <makevar>ZOPEBASEDIR</makevar> содержит директорию с
+ <varname>ZOPEBASEDIR</varname> содержит директорию с
установленным Zope.</entry>
</row>
@@ -7873,16 +7810,16 @@ _DOCSDIR= .
</sect1>
- <sect1 id="using-tcl">
+ <sect1 xml:id="using-tcl">
<title>Использование <application>Tcl/Tk</application></title>
<para>В Коллекции Портов поддерживается одновременная установка
множественных версий <application>Tcl/Tk</application>. Порты
должны пытаться поддерживать по крайней мере версию
<application>Tcl/Tk</application>, используемую по умолчанию, и
- выше с помощью переменных <makevar>USE_TCL</makevar> и
- <makevar>USE_TK</makevar>. Желаемую версию <command>tcl</command>
- можно указать в переменной <makevar>WITH_TCL_VER</makevar>.</para>
+ выше с помощью переменных <varname>USE_TCL</varname> и
+ <varname>USE_TK</varname>. Желаемую версию <command>tcl</command>
+ можно указать в переменной <varname>WITH_TCL_VER</varname>.</para>
<table frame="none">
<title>Наиболее востребованные переменные для портов, которые
@@ -7891,25 +7828,25 @@ _DOCSDIR= .
<tgroup cols="2">
<tbody>
<row>
- <entry><makevar>USE_TCL</makevar></entry>
+ <entry><varname>USE_TCL</varname></entry>
<entry>Порт зависит от библиотеки
<application>Tcl</application> (не оболочки).
Минимальную требуемую версию можно указать с использованием
таких значений, как 84+. Отдельные неподдерживаемые версии
указываются в переменной
- <makevar>INVALID_TCL_VER</makevar>.</entry>
+ <varname>INVALID_TCL_VER</varname>.</entry>
</row>
<row>
- <entry><makevar>USE_TCL_BUILD</makevar></entry>
+ <entry><varname>USE_TCL_BUILD</varname></entry>
<entry><application>Tcl</application> нужен для порта только
на время сборки.</entry>
</row>
<row>
- <entry><makevar>USE_TCL_WRAPPER</makevar></entry>
+ <entry><varname>USE_TCL_WRAPPER</varname></entry>
<entry>Эту новую переменную следует использовать для портов,
для которых требуется оболочка <application>Tcl</application>
@@ -7920,7 +7857,7 @@ _DOCSDIR= .
</row>
<row>
- <entry><makevar>WITH_TCL_VER</makevar></entry>
+ <entry><varname>WITH_TCL_VER</varname></entry>
<entry>Определяемые пользователем переменные, которые
устанавливают желаемую версию
@@ -7928,46 +7865,46 @@ _DOCSDIR= .
</row>
<row>
- <entry><makevar><replaceable>UNIQUENAME</replaceable>_WITH_TCL_VER</makevar></entry>
+ <entry><varname><replaceable>UNIQUENAME</replaceable>_WITH_TCL_VER</varname></entry>
- <entry>Подобно <makevar>WITH_TCL_VER</makevar>, но для
+ <entry>Подобно <varname>WITH_TCL_VER</varname>, но для
каждого порта.</entry>
</row>
<row>
- <entry><makevar>USE_TCL_THREADS</makevar></entry>
+ <entry><varname>USE_TCL_THREADS</varname></entry>
<entry>Требует многопоточную сборку
<application>Tcl/Tk</application>.</entry>
</row>
<row>
- <entry><makevar>USE_TK</makevar></entry>
+ <entry><varname>USE_TK</varname></entry>
<entry>Порт зависит от библиотеки <application>Tk</application>
(не от предпочитаемой оболочки). Подразумевает
- <makevar>USE_TCL</makevar> с тем же значением. Для
+ <varname>USE_TCL</varname> с тем же значением. Для
большей информации смотрите описание переменной
- <makevar>USE_TCL</makevar>.</entry>
+ <varname>USE_TCL</varname>.</entry>
</row>
<row>
- <entry><makevar>USE_TK_BUILD</makevar></entry>
+ <entry><varname>USE_TK_BUILD</varname></entry>
- <entry>Аналогично <makevar>USE_TCL_BUILD</makevar>.</entry>
+ <entry>Аналогично <varname>USE_TCL_BUILD</varname>.</entry>
</row>
<row>
- <entry><makevar>USE_TK_WRAPPER</makevar></entry>
+ <entry><varname>USE_TK_WRAPPER</varname></entry>
- <entry>Аналогично <makevar>USE_TCL_WRAPPER</makevar>.</entry>
+ <entry>Аналогично <varname>USE_TCL_WRAPPER</varname>.</entry>
</row>
<row>
- <entry><makevar>WITH_TK_VER</makevar></entry>
+ <entry><varname>WITH_TK_VER</varname></entry>
- <entry>Аналогично <makevar>WITH_TCL_VER</makevar>,
- подразумевает <makevar>WITH_TCL_VER</makevar> той же
+ <entry>Аналогично <varname>WITH_TCL_VER</varname>,
+ подразумевает <varname>WITH_TCL_VER</varname> той же
версии.</entry>
</row>
</tbody>
@@ -7978,13 +7915,13 @@ _DOCSDIR= .
<filename>/usr/ports/Mk/bsd.tcl.mk</filename>.</para>
</sect1>
- <sect1 id="using-emacs">
+ <sect1 xml:id="using-emacs">
<title>Использование Emacs</title>
<para>Этот раздел ещё предстоит написать.</para>
</sect1>
- <sect1 id="using-ruby">
+ <sect1 xml:id="using-ruby">
<title>Использование Ruby</title>
<table frame="none">
@@ -7999,27 +7936,27 @@ _DOCSDIR= .
</thead>
<tbody>
<row>
- <entry><makevar>USE_RUBY</makevar></entry>
+ <entry><varname>USE_RUBY</varname></entry>
<entry>Порт требует Ruby.</entry>
</row>
<row>
- <entry><makevar>USE_RUBY_EXTCONF</makevar></entry>
+ <entry><varname>USE_RUBY_EXTCONF</varname></entry>
<entry>Порт использует для конфигурации
<filename>extconf.rb</filename>.</entry>
</row>
<row>
- <entry><makevar>USE_RUBY_SETUP</makevar></entry>
+ <entry><varname>USE_RUBY_SETUP</varname></entry>
<entry>Порт использует для конфигурации
<filename>setup.rb</filename>.</entry>
</row>
<row>
- <entry><makevar>RUBY_SETUP</makevar></entry>
+ <entry><varname>RUBY_SETUP</varname></entry>
<entry>Устанавливает альтернативное имя для
<filename>setup.rb</filename>. Распространенным значением
@@ -8051,16 +7988,16 @@ _DOCSDIR= .
<tbody>
<row>
- <entry><makevar>RUBY_PKGNAMEPREFIX</makevar></entry>
+ <entry><varname>RUBY_PKGNAMEPREFIX</varname></entry>
- <entry>Используется как <makevar>PKGNAMEPREFIX</makevar>
+ <entry>Используется как <varname>PKGNAMEPREFIX</varname>
для различия пакетов от разных версий Ruby.</entry>
<entry><literal>ruby18-</literal></entry>
</row>
<row>
- <entry><makevar>RUBY_VERSION</makevar></entry>
+ <entry><varname>RUBY_VERSION</varname></entry>
<entry>Полная версия Ruby в форме <literal>x.y.z</literal>.</entry>
@@ -8068,7 +8005,7 @@ _DOCSDIR= .
</row>
<row>
- <entry><makevar>RUBY_SITELIBDIR</makevar></entry>
+ <entry><varname>RUBY_SITELIBDIR</varname></entry>
<entry>Путь для установки архитектуронезависимых библиотек.</entry>
@@ -8076,7 +8013,7 @@ _DOCSDIR= .
</row>
<row>
- <entry><makevar>RUBY_SITEARCHLIBDIR</makevar></entry>
+ <entry><varname>RUBY_SITEARCHLIBDIR</varname></entry>
<entry>Путь для установки архитектурозависимых библиотек.</entry>
@@ -8084,7 +8021,7 @@ _DOCSDIR= .
</row>
<row>
- <entry><makevar>RUBY_MODDOCDIR</makevar></entry>
+ <entry><varname>RUBY_MODDOCDIR</varname></entry>
<entry>Путь для установки документации модуля.</entry>
@@ -8092,7 +8029,7 @@ _DOCSDIR= .
</row>
<row>
- <entry><makevar>RUBY_MODEXAMPLESDIR</makevar></entry>
+ <entry><varname>RUBY_MODEXAMPLESDIR</varname></entry>
<entry>Путь для установки примеров модуля.</entry>
@@ -8108,102 +8045,92 @@ _DOCSDIR= .
</sect1>
- <sect1 id="using-sdl">
+ <sect1 xml:id="using-sdl">
<title>Использование SDL</title>
- <para>Переменная <makevar>USE_SDL</makevar> используется для
+ <para>Переменная <varname>USE_SDL</varname> используется для
автоматической настройки зависимостей для портов, использующих
библиотеки на основе SDL, такие как
- <filename role="package">devel/sdl12</filename> или
- <filename role="package">x11-toolkits/sdl_gui</filename>.</para>
+ <package>devel/sdl12</package> или
+ <package>x11-toolkits/sdl_gui</package>.</para>
<para>На данный момент распознаются следующие SDL-библиотеки:</para>
<itemizedlist>
<listitem>
- <para>sdl: <filename role="package">devel/sdl12</filename></para>
+ <para>sdl: <package>devel/sdl12</package></para>
</listitem>
<listitem>
- <para>gfx: <filename
- role="package">graphics/sdl_gfx</filename></para>
+ <para>gfx: <package>graphics/sdl_gfx</package></para>
</listitem>
<listitem>
- <para>gui: <filename
- role="package">x11-toolkits/sdl_gui</filename></para>
+ <para>gui: <package>x11-toolkits/sdl_gui</package></para>
</listitem>
<listitem>
- <para>image: <filename
- role="package">graphics/sdl_image</filename></para>
+ <para>image: <package>graphics/sdl_image</package></para>
</listitem>
<listitem>
- <para>ldbad: <filename
- role="package">devel/sdl_ldbad</filename></para>
+ <para>ldbad: <package>devel/sdl_ldbad</package></para>
</listitem>
<listitem>
- <para>mixer: <filename
- role="package">audio/sdl_mixer</filename></para>
+ <para>mixer: <package>audio/sdl_mixer</package></para>
</listitem>
<listitem>
- <para>mm: <filename role="package">devel/sdlmm</filename></para>
+ <para>mm: <package>devel/sdlmm</package></para>
</listitem>
<listitem>
- <para>net: <filename role="package">net/sdl_net</filename></para>
+ <para>net: <package>net/sdl_net</package></para>
</listitem>
<listitem>
- <para>sound: <filename
- role="package">audio/sdl_sound</filename></para>
+ <para>sound: <package>audio/sdl_sound</package></para>
</listitem>
<listitem>
- <para>ttf: <filename
- role="package">graphics/sdl_ttf</filename></para>
+ <para>ttf: <package>graphics/sdl_ttf</package></para>
</listitem>
</itemizedlist>
<para>Таким образом, если порт имеет зависимость от
- <filename role="package">net/sdl_net</filename> и
- <filename role="package">audio/sdl_mixer</filename>, то строка будет
+ <package>net/sdl_net</package> и
+ <package>audio/sdl_mixer</package>, то строка будет
следующей:</para>
<programlisting>USE_SDL= net mixer</programlisting>
- <para>Зависимость от порта <filename
- role="package">devel/sdl12</filename>, который требуется для <filename
- role="package">net/sdl_net</filename> и <filename
- role="package">audio/sdl_mixer</filename> будет также автоматически
+ <para>Зависимость от порта <package>devel/sdl12</package>, который требуется для <package>net/sdl_net</package> и <package>audio/sdl_mixer</package> будет также автоматически
добавлен.</para>
- <para>Если вы используете <makevar>USE_SDL</makevar>, то
+ <para>Если вы используете <varname>USE_SDL</varname>, то
он автоматически:</para>
<itemizedlist>
<listitem>
<para>Добавляет зависимость от
<application>sdl12-config</application>
- к <makevar>BUILD_DEPENDS</makevar></para>
+ к <varname>BUILD_DEPENDS</varname></para>
</listitem>
<listitem>
- <para>Добавляет переменную <makevar>SDL_CONFIG</makevar> к
- <makevar>CONFIGURE_ENV</makevar></para>
+ <para>Добавляет переменную <varname>SDL_CONFIG</varname> к
+ <varname>CONFIGURE_ENV</varname></para>
</listitem>
<listitem>
<para>Добавляет зависимости от указанных библиотек к
- <makevar>LIB_DEPENDS</makevar></para>
+ <varname>LIB_DEPENDS</varname></para>
</listitem>
</itemizedlist>
<para>Для проверки наличия библиотеки SDL вы можете делать это при
- помощи переменной <makevar>WANT_SDL</makevar>:</para>
+ помощи переменной <varname>WANT_SDL</varname>:</para>
<programlisting>WANT_SDL=yes
@@ -8216,14 +8143,14 @@ USE_SDL+= mixer
.include &lt;bsd.port.post.mk&gt;</programlisting>
</sect1>
- <sect1 id="using-wx">
+ <sect1 xml:id="using-wx">
<title>Использование <application>wxWidgets</application></title>
<para>Эта глава описывает статус библиотек
<application>wxWidgets</application> в дереве портов и их интеграцию
с системой портов.</para>
- <sect2 id="wx-introduction">
+ <sect2 xml:id="wx-introduction">
<title>Введение</title>
<para>Существует множество версий библиотек
@@ -8244,7 +8171,7 @@ USE_SDL+= mixer
приходится накладывать патч.</para>
</sect2>
- <sect2 id="wx-version">
+ <sect2 xml:id="wx-version">
<title>Выбор версии</title>
<para>Для того, чтобы заставить ваш порт использовать конкретную
@@ -8252,7 +8179,7 @@ USE_SDL+= mixer
доступные для определения переменные (если определена только одна,
то вторая примет значение по умолчанию):</para>
- <table id="wx-ver-sel-table" frame="none">
+ <table xml:id="wx-ver-sel-table" frame="none">
<title>Переменные для выбора версии
<application>wxWidgets</application></title>
@@ -8269,7 +8196,7 @@ USE_SDL+= mixer
<tbody>
<row>
- <entry><makevar>USE_WX</makevar></entry>
+ <entry><varname>USE_WX</varname></entry>
<entry>Перечень версий, которые порт может использовать</entry>
@@ -8277,7 +8204,7 @@ USE_SDL+= mixer
</row>
<row>
- <entry><makevar>USE_WX_NOT</makevar></entry>
+ <entry><varname>USE_WX_NOT</varname></entry>
<entry>Перечень версий, которые порт не может использовать</entry>
@@ -8306,22 +8233,19 @@ USE_SDL+= mixer
<row>
<entry><literal>2.4</literal></entry>
- <entry><filename
- role="package">x11-toolkits/wxgtk24</filename></entry>
+ <entry><package>x11-toolkits/wxgtk24</package></entry>
</row>
<row>
<entry><literal>2.6</literal></entry>
- <entry><filename
- role="package">x11-toolkits/wxgtk26</filename></entry>
+ <entry><package>x11-toolkits/wxgtk26</package></entry>
</row>
<row>
<entry><literal>2.8</literal></entry>
- <entry><filename
- role="package">x11-toolkits/wxgtk28</filename></entry>
+ <entry><package>x11-toolkits/wxgtk28</package></entry>
</row>
</tbody>
</tgroup>
@@ -8331,8 +8255,7 @@ USE_SDL+= mixer
<para>Версии начиная с <literal>2.5</literal> также поставляются
с Unicode и устанавливается подчиненным портом с названием как
как у обычного, но с суффиксом <literal>-unicode</literal>, но
- этим можно управлять при помощи переменных (смотрите <xref
- linkend="wx-unicode"/>).</para>
+ этим можно управлять при помощи переменных (смотрите <xref linkend="wx-unicode"/>).</para>
</note>
<para>Переменные в <xref linkend="wx-ver-sel-table"/> можно установить
@@ -8399,13 +8322,13 @@ USE_SDL+= mixer
<tbody>
<row>
- <entry><makevar>WANT_WX_VER</makevar></entry>
+ <entry><varname>WANT_WX_VER</varname></entry>
<entry>порт</entry>
</row>
<row>
- <entry><makevar>WITH_WX_VER</makevar></entry>
+ <entry><varname>WITH_WX_VER</varname></entry>
<entry>пользователь</entry>
</row>
@@ -8414,13 +8337,13 @@ USE_SDL+= mixer
</table>
</sect2>
- <sect2 id="wx-components">
+ <sect2 xml:id="wx-components">
<title>Выбор компонентов</title>
<para>Существуют другие приложения, которые, хотя и не являются
библиотеками <application>wxWidgets</application>, но в тоже время
относятся к ним. Эти приложения можно указать в переменной
- <makevar>WX_COMPS</makevar>. Доступны следующие компоненты:</para>
+ <varname>WX_COMPS</varname>. Доступны следующие компоненты:</para>
<table frame="none">
<title>Доступные компоненты <application>wxWidgets</application></title>
@@ -8505,21 +8428,21 @@ USE_SDL+= mixer
<entry><literal>build</literal></entry>
<entry>Компонент требуется для построения, эквивалентен
- <makevar>BUILD_DEPENDS</makevar></entry>
+ <varname>BUILD_DEPENDS</varname></entry>
</row>
<row>
<entry><literal>run</literal></entry>
<entry>Компонент требуется для запуска, эквивалентен
- <makevar>RUN_DEPENDS</makevar></entry>
+ <varname>RUN_DEPENDS</varname></entry>
</row>
<row>
<entry><literal>lib</literal></entry>
<entry>Компонент требуется для построения и запуска,
- эквивалентен <makevar>LIB_DEPENDS</makevar></entry>
+ эквивалентен <varname>LIB_DEPENDS</varname></entry>
</row>
</tbody>
</tgroup>
@@ -8528,7 +8451,7 @@ USE_SDL+= mixer
<para>Значения по умолчанию для компонентов подробно рассматриваются
в следующей таблице:</para>
- <table id="wx-def-dep-types" frame="none">
+ <table xml:id="wx-def-dep-types" frame="none">
<title>Типы зависимости <application>wxWidgets</application>,
используемые по умолчанию</title>
@@ -8575,7 +8498,7 @@ USE_SDL+= mixer
</tgroup>
</table>
- <example id="wx-components-example">
+ <example xml:id="wx-components-example">
<title>Выбор компонентов
<application>wxWidgets</application></title>
@@ -8587,7 +8510,7 @@ USE_SDL+= mixer
WX_COMPS= wx contrib</programlisting>
</example>
</sect2>
- <sect2 id="wx-unicode">
+ <sect2 xml:id="wx-unicode">
<title>Unicode</title>
<para>Библиотека <application>wxWidgets</application> поддерживает
@@ -8595,7 +8518,7 @@ WX_COMPS= wx contrib</programlisting>
доступны обе версии и могут быть выбраны с использованием
следующих переменных:</para>
- <table id="wx-unicode-var-table" frame="none">
+ <table xml:id="wx-unicode-var-table" frame="none">
<title>Переменные для выбора версии
<application>wxWidgets</application> с Unicode</title>
@@ -8612,7 +8535,7 @@ WX_COMPS= wx contrib</programlisting>
<tbody>
<row>
- <entry><makevar>WX_UNICODE</makevar></entry>
+ <entry><varname>WX_UNICODE</varname></entry>
<entry>Порт работает <emphasis>только</emphasis> с версией
Unicode</entry>
@@ -8621,7 +8544,7 @@ WX_COMPS= wx contrib</programlisting>
</row>
<row>
- <entry><makevar>WANT_UNICODE</makevar></entry>
+ <entry><varname>WANT_UNICODE</varname></entry>
<entry>Порт работает с обеими версиями, но предпочитает
версию с Unicode</entry>
@@ -8629,17 +8552,17 @@ WX_COMPS= wx contrib</programlisting>
<entry>порт</entry>
</row>
<row>
- <entry><makevar>WITH_UNICODE</makevar></entry>
+ <entry><varname>WITH_UNICODE</varname></entry>
<entry>Порт будет использовать версию Unicode</entry>
<entry>пользователь</entry>
</row>
<row>
- <entry><makevar>WITHOUT_UNICODE</makevar></entry>
+ <entry><varname>WITHOUT_UNICODE</varname></entry>
<entry>Порт будет использовать обычную версию, если это
- поддерживается (когда <makevar>WX_UNICODE</makevar>
+ поддерживается (когда <varname>WX_UNICODE</varname>
не определена)</entry>
<entry>пользователь</entry>
@@ -8649,23 +8572,23 @@ WX_COMPS= wx contrib</programlisting>
</table>
<warning>
- <para>Не используйте <makevar>WX_UNICODE</makevar> для портов,
+ <para>Не используйте <varname>WX_UNICODE</varname> для портов,
которые могут использовать обе версии. Если вы хотите, чтобы
порт по умолчанию использовал Unicode, определите вместо этого
- <makevar>WANT_UNICODE</makevar>.</para>
+ <varname>WANT_UNICODE</varname>.</para>
</warning>
</sect2>
- <sect2 id="wx-version-detection">
+ <sect2 xml:id="wx-version-detection">
<title>Обнаружение установленных версий</title>
<para>Для обнаружения установленной версии вам необходимо задать
- переменную <makevar>WANT_WX</makevar>. Если вы не присвоите ей
+ переменную <varname>WANT_WX</varname>. Если вы не присвоите ей
определенную версию, то компоненты получат суффикс версии.
- Переменная <makevar>HAVE_WX</makevar> будет заполнена после
+ Переменная <varname>HAVE_WX</varname> будет заполнена после
обнаружения.</para>
- <example id="wx-ver-det-example">
+ <example xml:id="wx-ver-det-example">
<title>Обнаружение установленных версий и компонентов
<application>wxWidgets</application></title>
@@ -8701,7 +8624,7 @@ CONFIGURE_ARGS+=--enable-wxpython
</example>
</sect2>
- <sect2 id="wx-defined-variables">
+ <sect2 xml:id="wx-defined-variables">
<title>Переменные для определения</title>
<para>Следующие переменные доступны в порту (после определения одной
@@ -8722,21 +8645,21 @@ CONFIGURE_ARGS+=--enable-wxpython
<tbody>
<row>
- <entry><makevar>WX_CONFIG</makevar></entry>
+ <entry><varname>WX_CONFIG</varname></entry>
<entry>Путь к сценарию <application>wxWidgets</application>
<command>wx-config</command> (с другим именем)</entry>
</row>
<row>
- <entry><makevar>WXRC_CMD</makevar></entry>
+ <entry><varname>WXRC_CMD</varname></entry>
<entry>Путь к программе <application>wxWidgets</application>
<command>wxrc</command> (с другим именем)</entry>
</row>
<row>
- <entry><makevar>WX_VERSION</makevar></entry>
+ <entry><varname>WX_VERSION</varname></entry>
<entry>Версия <application>wxWidgets</application>, которая
будет использоваться (например,
@@ -8744,7 +8667,7 @@ CONFIGURE_ARGS+=--enable-wxpython
</row>
<row>
- <entry><makevar>WX_UNICODE</makevar></entry>
+ <entry><varname>WX_UNICODE</varname></entry>
<entry>Если не определена, но Unicode будет использоваться,
то она будет определена</entry>
@@ -8754,27 +8677,27 @@ CONFIGURE_ARGS+=--enable-wxpython
</table>
</sect2>
- <sect2 id="wx-premk">
+ <sect2 xml:id="wx-premk">
<title>Обработка в <filename>bsd.port.pre.mk</filename></title>
<para>Если вам нужно использовать переменные для запуска команд
сразу после подключения <filename>bsd.port.pre.mk</filename>, то
- вам нужно определить <makevar>WX_PREMK</makevar>.</para>
+ вам нужно определить <varname>WX_PREMK</varname>.</para>
<important>
- <para>Если вы определите <makevar>WX_PREMK</makevar>, то версия,
+ <para>Если вы определите <varname>WX_PREMK</varname>, то версия,
зависимости, компоненты и заданные переменные не изменяться, в
случае вы изменили переменные порта
<application>wxWidgets</application> <emphasis>после</emphasis>
подключения <filename>bsd.port.pre.mk</filename>.</para>
</important>
- <example id="wx-premk-example">
+ <example xml:id="wx-premk-example">
<title>Использование переменных <application>wxWidgets</application>
в командах</title>
<para>Следующий фрагмент иллюстрирует использование переменной
- <makevar>WX_PREMK</makevar> посредством запуска сценария
+ <varname>WX_PREMK</varname> посредством запуска сценария
<command>wx-config</command> для получения строки с полной версией
с присвоением ее переменной и передачей в программу.</para>
@@ -8793,21 +8716,21 @@ PLIST_SUB+= VERSION="${VER_STR}"
<note>
<para>Переменные <application>wxWidgets</application> можно
безопасно использовать в командах внутри целей без необходимости
- в использовании <makevar>WX_PREMK</makevar>.</para>
+ в использовании <varname>WX_PREMK</varname>.</para>
</note>
</sect2>
- <sect2 id="wx-additional-config-args">
+ <sect2 xml:id="wx-additional-config-args">
<title>Дополнительные параметры <command>configure</command></title>
<para>Некоторые сценарии GNU <command>configure</command> не могут
найти <application>wxWidgets</application> только с установленной
переменной окружения <literal>WX_CONFIG</literal>, требуя
дополнительные параметры. Для их передачи можно использовать
- переменную <makevar>WX_CONF_ARGS</makevar>.</para>
+ переменную <varname>WX_CONF_ARGS</varname>.</para>
<table frame="none">
- <title>Допустимые значения <makevar>WX_CONF_ARGS</makevar></title>
+ <title>Допустимые значения <varname>WX_CONF_ARGS</varname></title>
<tgroup cols="2">
<thead>
@@ -8837,13 +8760,13 @@ PLIST_SUB+= VERSION="${VER_STR}"
</sect2>
</sect1>
- <sect1 id="using-lua">
+ <sect1 xml:id="using-lua">
<title>Использование <application>Lua</application></title>
<para>Эта глава описывает статус библиотек <application>Lua</application>
в дереве портов и их интеграцию в систему портов.</para>
- <sect2 id="lua-introduction">
+ <sect2 xml:id="lua-introduction">
<title>Введение</title>
<para>Существует множество версий библиотек
@@ -8859,7 +8782,7 @@ PLIST_SUB+= VERSION="${VER_STR}"
компоновщика.</para>
</sect2>
- <sect2 id="lua-version">
+ <sect2 xml:id="lua-version">
<title>Выбор версии</title>
<para>Для того, чтобы заставить ваш порт использовать конкретную
@@ -8867,7 +8790,7 @@ PLIST_SUB+= VERSION="${VER_STR}"
для определения переменные (если определена только одна, то
вторая примет значение по умолчанию):</para>
- <table id="lua-ver-sel-table" frame="none">
+ <table xml:id="lua-ver-sel-table" frame="none">
<title>Переменные для выбора версии
<application>Lua</application></title>
@@ -8884,7 +8807,7 @@ PLIST_SUB+= VERSION="${VER_STR}"
<tbody>
<row>
- <entry><makevar>USE_LUA</makevar></entry>
+ <entry><varname>USE_LUA</varname></entry>
<entry>Перечень версий, которые порт может использовать</entry>
@@ -8892,7 +8815,7 @@ PLIST_SUB+= VERSION="${VER_STR}"
</row>
<row>
- <entry><makevar>USE_LUA_NOT</makevar></entry>
+ <entry><varname>USE_LUA_NOT</varname></entry>
<entry>Перечень версий, которые порт не может
использовать</entry>
@@ -8922,19 +8845,19 @@ PLIST_SUB+= VERSION="${VER_STR}"
<row>
<entry><literal>4.0</literal></entry>
- <entry><filename role="package">lang/lua4</filename></entry>
+ <entry><package>lang/lua4</package></entry>
</row>
<row>
<entry><literal>5.0</literal></entry>
- <entry><filename role="package">lang/lua50</filename></entry>
+ <entry><package>lang/lua50</package></entry>
</row>
<row>
<entry><literal>5.1</literal></entry>
- <entry><filename role="package">lang/lua</filename></entry>
+ <entry><package>lang/lua</package></entry>
</row>
</tbody>
</tgroup>
@@ -9005,13 +8928,13 @@ PLIST_SUB+= VERSION="${VER_STR}"
<tbody>
<row>
- <entry><makevar>WANT_LUA_VER</makevar></entry>
+ <entry><varname>WANT_LUA_VER</varname></entry>
<entry>порт</entry>
</row>
<row>
- <entry><makevar>WITH_LUA_VER</makevar></entry>
+ <entry><varname>WITH_LUA_VER</varname></entry>
<entry>пользователь</entry>
</row>
@@ -9019,27 +8942,27 @@ PLIST_SUB+= VERSION="${VER_STR}"
</tgroup>
</table>
- <example id="lua-version-example">
+ <example xml:id="lua-version-example">
<title>Выбор версии <application>Lua</application></title>
<para>Следующий фрагмент взят из порта, который использует
<application>Lua</application> версий <literal>5.0</literal>
или <literal>5.1</literal>, по умолчанию <literal>5.0</literal>.
Значение может быть переопределено пользователем с использованием
- переменной <makevar>WITH_LUA_VER</makevar>.</para>
+ переменной <varname>WITH_LUA_VER</varname>.</para>
<programlisting>USE_LUA= 5.0-5.1
WANT_LUA_VER= 5.0</programlisting>
</example>
</sect2>
- <sect2 id="lua-components">
+ <sect2 xml:id="lua-components">
<title>Выбор компонентов</title>
<para>Существуют другие приложения, которые хотя и не являются
библиотеками <application>Lua</application>, но относятся к ним.
Эти приложения можно указать в переменной
- <makevar>LUA_COMPS</makevar>. Доступны следующие компоненты:</para>
+ <varname>LUA_COMPS</varname>. Доступны следующие компоненты:</para>
<table frame="none">
<title>Доступные компоненты <application>Lua</application></title>
@@ -9114,21 +9037,21 @@ WANT_LUA_VER= 5.0</programlisting>
<entry><literal>build</literal></entry>
<entry>Компонент требуется для построения, эквивалентен
- <makevar>BUILD_DEPENDS</makevar></entry>
+ <varname>BUILD_DEPENDS</varname></entry>
</row>
<row>
<entry><literal>run</literal></entry>
<entry>Компонент требуется для запуска, эквивалентен
- <makevar>RUN_DEPENDS</makevar></entry>
+ <varname>RUN_DEPENDS</varname></entry>
</row>
<row>
<entry><literal>lib</literal></entry>
<entry>Компонент требуется для построения и запуска,
- эквивалентен <makevar>LIB_DEPENDS</makevar></entry>
+ эквивалентен <varname>LIB_DEPENDS</varname></entry>
</row>
</tbody>
</tgroup>
@@ -9137,7 +9060,7 @@ WANT_LUA_VER= 5.0</programlisting>
<para>Значения по умолчанию для компонентов подробно рассматриваются
в следующей таблице:</para>
- <table id="lua-def-dep-types" frame="none">
+ <table xml:id="lua-def-dep-types" frame="none">
<title>Типы зависимости <application>Lua</application>,
используемые по умолчанию</title>
@@ -9174,7 +9097,7 @@ WANT_LUA_VER= 5.0</programlisting>
</tgroup>
</table>
- <example id="lua-components-example">
+ <example xml:id="lua-components-example">
<title>Выбор компонентов <application>Lua</application></title>
<para>Следующий фрагмент соответствует порту, использующему
@@ -9186,16 +9109,16 @@ LUA_COMPS= lua ruby</programlisting>
</example>
</sect2>
- <sect2 id="lua-version-detection">
+ <sect2 xml:id="lua-version-detection">
<title>Обнаружение установленных версий</title>
<para>Для обнаружения установленной версии вам необходимо задать
- переменную <makevar>WANT_LUA</makevar>. Если вы не присвоите ей
+ переменную <varname>WANT_LUA</varname>. Если вы не присвоите ей
определенную версию, то компоненты получат суффикс версии.
- Переменная <makevar>HAVE_LUA</makevar> будет заполнена после
+ Переменная <varname>HAVE_LUA</varname> будет заполнена после
обнаружения.</para>
- <example id="lua-ver-det-example">
+ <example xml:id="lua-ver-det-example">
<title>Обнаружение установленных версий и компонентов
<application>Lua</application></title>
@@ -9231,7 +9154,7 @@ CONFIGURE_ARGS+=--enable-tolua
</example>
</sect2>
- <sect2 id="lua-defined-variables">
+ <sect2 xml:id="lua-defined-variables">
<title>Переменные для определения</title>
<para>Следующие переменные доступны в порту (после определения одной
@@ -9252,14 +9175,14 @@ CONFIGURE_ARGS+=--enable-tolua
<tbody>
<row>
- <entry><makevar>LUA_VER</makevar></entry>
+ <entry><varname>LUA_VER</varname></entry>
<entry>Версия <application>Lua</application>, которая будет
использоваться (например, <literal>5.1</literal>)</entry>
</row>
<row>
- <entry><makevar>LUA_VER_SH</makevar></entry>
+ <entry><varname>LUA_VER_SH</varname></entry>
<entry>Старший номер версии динамической библиотеки
<application>Lua</application> (например,
@@ -9267,21 +9190,21 @@ CONFIGURE_ARGS+=--enable-tolua
</row>
<row>
- <entry><makevar>LUA_VER_STR</makevar></entry>
+ <entry><varname>LUA_VER_STR</varname></entry>
<entry>Версия <application>Lua</application> без точки
(например, <literal>51</literal>)</entry>
</row>
<row>
- <entry><makevar>LUA_PREFIX</makevar></entry>
+ <entry><varname>LUA_PREFIX</varname></entry>
<entry>Префикс, в который установлена
<application>Lua</application> (и компоненты)</entry>
</row>
<row>
- <entry><makevar>LUA_SUBDIR</makevar></entry>
+ <entry><varname>LUA_SUBDIR</varname></entry>
<entry>Каталог под <filename>${PREFIX}/bin</filename>,
<filename>${PREFIX}/share</filename> и
@@ -9290,7 +9213,7 @@ CONFIGURE_ARGS+=--enable-tolua
</row>
<row>
- <entry><makevar>LUA_INCDIR</makevar></entry>
+ <entry><varname>LUA_INCDIR</varname></entry>
<entry>Каталог, в который установлены заголовочные файлы
<application>Lua</application> и
@@ -9298,7 +9221,7 @@ CONFIGURE_ARGS+=--enable-tolua
</row>
<row>
- <entry><makevar>LUA_LIBDIR</makevar></entry>
+ <entry><varname>LUA_LIBDIR</varname></entry>
<entry>Каталог, в который установлены библиотеки
<application>Lua</application> и
@@ -9306,7 +9229,7 @@ CONFIGURE_ARGS+=--enable-tolua
</row>
<row>
- <entry><makevar>LUA_MODLIBDIR</makevar></entry>
+ <entry><varname>LUA_MODLIBDIR</varname></entry>
<entry>Каталог, в который установлены модули библиотеки
<application>Lua</application>
@@ -9314,7 +9237,7 @@ CONFIGURE_ARGS+=--enable-tolua
</row>
<row>
- <entry><makevar>LUA_MODSHAREDIR</makevar></entry>
+ <entry><varname>LUA_MODSHAREDIR</varname></entry>
<entry>Каталог, в который установлены модули
<application>Lua</application>
@@ -9322,28 +9245,28 @@ CONFIGURE_ARGS+=--enable-tolua
</row>
<row>
- <entry><makevar>LUA_PKGNAMEPREFIX</makevar></entry>
+ <entry><varname>LUA_PKGNAMEPREFIX</varname></entry>
<entry>Префикс с именем пакета, используемый модулями
<application>Lua</application></entry>
</row>
<row>
- <entry><makevar>LUA_CMD</makevar></entry>
+ <entry><varname>LUA_CMD</varname></entry>
<entry>Путь к интерпретатору
<application>Lua</application></entry>
</row>
<row>
- <entry><makevar>LUAC_CMD</makevar></entry>
+ <entry><varname>LUAC_CMD</varname></entry>
<entry>Путь к компилятору
<application>Lua</application></entry>
</row>
<row>
- <entry><makevar>TOLUA_CMD</makevar></entry>
+ <entry><varname>TOLUA_CMD</varname></entry>
<entry>Путь к программе
<application>tolua</application></entry>
@@ -9352,7 +9275,7 @@ CONFIGURE_ARGS+=--enable-tolua
</tgroup>
</table>
- <example id="lua-variables-example">
+ <example xml:id="lua-variables-example">
<title>Указание для порта, где искать
<application>Lua</application></title>
@@ -9367,27 +9290,27 @@ CONFIGURE_ENV= CPPFLAGS="-I${LUA_INCDIR}" LDFLAGS="-L${LUA_LIBDIR}"</programlis
</example>
</sect2>
- <sect2 id="lua-premk">
+ <sect2 xml:id="lua-premk">
<title>Обработка в <filename>bsd.port.pre.mk</filename></title>
<para>Если вам нужно использовать переменные для запуска команд сразу
после подключения <filename>bsd.port.pre.mk</filename>, для этого
- вам нужно определить переменную <makevar>LUA_PREMK</makevar>.</para>
+ вам нужно определить переменную <varname>LUA_PREMK</varname>.</para>
<important>
- <para>Если вы задаете <makevar>LUA_PREMK</makevar>, то версия,
+ <para>Если вы задаете <varname>LUA_PREMK</varname>, то версия,
зависимости, компоненты и уже заданные переменные не будут
изменены, в случае если вы изменили переменные порта
<application>Lua</application> <emphasis>после</emphasis>
подключения <filename>bsd.port.pre.mk</filename>.</para>
</important>
- <example id="lua-premk-example">
+ <example xml:id="lua-premk-example">
<title>Использование переменных <application>Lua</application>
в командах</title>
<para>Следующий фрагмент иллюстрирует использование
- <makevar>LUA_PREMK</makevar> посредством запуска
+ <varname>LUA_PREMK</varname> посредством запуска
интерпретатора <application>Lua</application> для того, чтобы
получить строку с полной версией, сохранить ее в переменную
и передать программе.</para>
@@ -9407,58 +9330,58 @@ CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}"
<note>
<para>Переменные <application>Lua</application> можно безопасно
использовать в командах внутри целей без необходимости в
- использовании <makevar>LUA_PREMK</makevar>.</para>
+ использовании <varname>LUA_PREMK</varname>.</para>
</note>
</sect2>
</sect1>
- <sect1 id="using-xfce">
+ <sect1 xml:id="using-xfce">
<title>Использование Xfce</title>
- <para>Переменная <makevar>USE_XFCE</makevar> используется для
+ <para>Переменная <varname>USE_XFCE</varname> используется для
автоматической конфигурации зависимостей для портов, использующих
библиотеки или приложения на основе Xfce, такие как
- <filename role="package">x11-toolkits/libxfce4gui</filename> и
- <filename role="package">x11-wm/xfce4-panel</filename>.</para>
+ <package>x11-toolkits/libxfce4gui</package> и
+ <package>x11-wm/xfce4-panel</package>.</para>
<para>В настоящее время распознаются следующие библиотеки и приложения
Xfce:</para>
<itemizedlist>
<listitem>
- <para>libexo: <filename role="package">x11/libexo</filename></para>
+ <para>libexo: <package>x11/libexo</package></para>
</listitem>
<listitem>
- <para>libgui: <filename role="package">x11-toolkits/libxfce4gui</filename></para>
+ <para>libgui: <package>x11-toolkits/libxfce4gui</package></para>
</listitem>
<listitem>
- <para>libutil: <filename role="package">x11/libxfce4util</filename></para>
+ <para>libutil: <package>x11/libxfce4util</package></para>
</listitem>
<listitem>
- <para>libmcs: <filename role="package">x11/libxfce4mcs</filename></para>
+ <para>libmcs: <package>x11/libxfce4mcs</package></para>
</listitem>
<listitem>
- <para>mcsmanager: <filename role="package">sysutils/xfce4-mcs-manager</filename></para>
+ <para>mcsmanager: <package>sysutils/xfce4-mcs-manager</package></para>
</listitem>
<listitem>
- <para>panel: <filename role="package">x11-wm/xfce4-panel</filename></para>
+ <para>panel: <package>x11-wm/xfce4-panel</package></para>
</listitem>
<listitem>
- <para>thunar: <filename role="package">x11-fm/thunar</filename></para>
+ <para>thunar: <package>x11-fm/thunar</package></para>
</listitem>
<listitem>
- <para>wm: <filename role="package">x11-wm/xfce4-wm</filename></para>
+ <para>wm: <package>x11-wm/xfce4-wm</package></para>
</listitem>
<listitem>
- <para>xfdev: <filename role="package">dev/xfce4-dev-tools</filename></para>
+ <para>xfdev: <package>dev/xfce4-dev-tools</package></para>
</listitem>
</itemizedlist>
@@ -9468,24 +9391,24 @@ CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}"
<itemizedlist>
<listitem>
<para>configenv: Используйте, если ваш порт требует специально
- измененного значения <makevar>CONFIGURE_ENV</makevar> для поиска
+ измененного значения <varname>CONFIGURE_ENV</varname> для поиска
требуемых для порта библиотек.</para>
<programlisting>-I&dollar;{LOCALBASE}/include -L&dollar;{LOCALBASE}/lib</programlisting>
- <para>добавляется в CPPFLAGS к <makevar>CONFIGURE_ENV</makevar>.</para>
+ <para>добавляется в CPPFLAGS к <varname>CONFIGURE_ENV</varname>.</para>
</listitem>
</itemizedlist>
<para>Следовательно, если у порта имеется зависимость от
- <filename role="package">sysutils/xfce4-mcs-manager</filename>, и
+ <package>sysutils/xfce4-mcs-manager</package>, и
порт требует специальных CPPFLAGS в своем окружении configure,
то синтаксис будет следующим:</para>
<programlisting>USE_XFCE= mcsmanager configenv</programlisting>
</sect1>
- <sect1 id="using-mozilla">
+ <sect1 xml:id="using-mozilla">
<title>Использование Mozilla</title>
<table frame="none">
@@ -9495,7 +9418,7 @@ CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}"
<tbody>
<row>
- <entry><makevar>USE_GECKO</makevar></entry>
+ <entry><varname>USE_GECKO</varname></entry>
<entry>Один из бэкэндов Gecko, с которым может работать
порт. Возможные значения:
@@ -9504,7 +9427,7 @@ CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}"
устаревший, больше не должен использоваться).</entry>
</row>
<row>
- <entry><makevar>USE_FIREFOX</makevar></entry>
+ <entry><varname>USE_FIREFOX</varname></entry>
<entry>Для запуска порта требуется Firefox.
Возможные значения:
@@ -9515,7 +9438,7 @@ CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}"
<literal>40</literal>.</entry>
</row>
<row>
- <entry><makevar>USE_FIREFOX_BUILD</makevar></entry>
+ <entry><varname>USE_FIREFOX_BUILD</varname></entry>
<entry>Для построения порта требуется Firefox.
Возможные значения: смотрите USE_FIREFOX.
@@ -9523,7 +9446,7 @@ CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}"
того же значения.</entry>
</row>
<row>
- <entry><makevar>USE_SEAMONKEY</makevar></entry>
+ <entry><varname>USE_SEAMONKEY</varname></entry>
<entry>Для запуска порта требуется SeaMonkey.
Возможные значения:
@@ -9534,7 +9457,7 @@ CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}"
<literal>20</literal>.</entry>
</row>
<row>
- <entry><makevar>USE_SEAMONKEY_BUILD</makevar></entry>
+ <entry><varname>USE_SEAMONKEY_BUILD</varname></entry>
<entry>Для построения порта требуется SeaMonkey.
Возможные значения: смотрите USE_SEAMONKEY.
@@ -9542,7 +9465,7 @@ CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}"
того же значения.</entry>
</row>
<row>
- <entry><makevar>USE_THUNDERBIRD</makevar></entry>
+ <entry><varname>USE_THUNDERBIRD</varname></entry>
<entry>Для запуска порта требуется Thunderbird.
Возможные значения:
@@ -9553,7 +9476,7 @@ CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}"
<literal>31</literal>.</entry>
</row>
<row>
- <entry><makevar>USE_THUNDERBIRD_BUILD</makevar></entry>
+ <entry><varname>USE_THUNDERBIRD_BUILD</varname></entry>
<entry>Для построения порта требуется Thunderbird.
Возможные значения: смотрите USE_THUNDERBIRD.
@@ -9568,7 +9491,7 @@ CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}"
<filename>/usr/ports/Mk/bsd.gecko.mk</filename>.</para>
</sect1>
- <sect1 id="using-databases">
+ <sect1 xml:id="using-databases">
<title>Использование баз данных</title>
<table frame="none">
@@ -9585,72 +9508,67 @@ CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}"
<tbody>
<row>
- <entry><makevar>USE_BDB</makevar></entry>
+ <entry><varname>USE_BDB</varname></entry>
<entry>Если переменная установлена в <literal>yes</literal>,
добавляет зависимость от порта
- <filename role="package">databases/db41</filename>.
+ <package>databases/db41</package>.
Также переменной можно присвоить значения: 2, 3, 40, 41,
42, 43, 44, 46, 47, 48 или 51. Вы можете объявить диапазон
- принимаемых значений, <makevar>USE_BDB</makevar>=42+
+ принимаемых значений, <varname>USE_BDB</varname>=42+
будет искать установленную версию с наибольшим номером,
и, если ничего не установлено, вернется к 42.</entry>
</row>
<row>
- <entry><makevar>USE_MYSQL</makevar></entry>
+ <entry><varname>USE_MYSQL</varname></entry>
<entry>Если переменная установлена в <literal>yes</literal>,
добавляет зависимость от порта
- <filename role="package">databases/mysql55-client</filename>.
+ <package>databases/mysql55-client</package>.
Как связанная переменная,
- <makevar>WANT_MYSQL_VER</makevar> может быть установлена
+ <varname>WANT_MYSQL_VER</varname> может быть установлена
в значение 323, 40, 41, 50, 51, 52, 55 или 60.</entry>
</row>
<row>
- <entry><makevar>USE_PGSQL</makevar></entry>
+ <entry><varname>USE_PGSQL</varname></entry>
<entry>Если установлена в <literal>yes</literal>, добавляет
- зависимость от порта <filename
- role="package">databases/postgresql90-client</filename>.
+ зависимость от порта <package>databases/postgresql90-client</package>.
Как связанная переменная,
- <makevar>WANT_PGSQL_VER</makevar> может быть установлена
+ <varname>WANT_PGSQL_VER</varname> может быть установлена
в значение 83, 84, 90, 91 или 92. Вы можете указать
максимальное и минимальное значения;
- <makevar>WANT_PGSQL_VER</makevar>=
+ <varname>WANT_PGSQL_VER</varname>=
<literal> 90+</literal> сделает порт зависимым от
минимальной версии 9.0.</entry>
</row>
<row>
- <entry><makevar>USE_SQLITE</makevar></entry>
+ <entry><varname>USE_SQLITE</varname></entry>
<entry>Если переменная имеет значение <literal>yes</literal>,
- добавляет зависимость от порта <filename
- role="package">databases/sqlite3</filename>.
+ добавляет зависимость от порта <package>databases/sqlite3</package>.
Переменная может принимать значения: 3, 2.</entry>
</row>
</tbody>
</tgroup>
</table>
- <para>Подробнее смотрите в <ulink
- url="http://svnweb.FreeBSD.org/ports/head/Mk/bsd.database.mk?view=markup">bsd.database.mk</ulink>.</para>
+ <para>Подробнее смотрите в <link xlink:href="http://svnweb.FreeBSD.org/ports/head/Mk/bsd.database.mk?view=markup">bsd.database.mk</link>.</para>
</sect1>
- <sect1 id="rc-scripts">
+ <sect1 xml:id="rc-scripts">
<title>Запуск и остановка служб (сценарии <literal>rc</literal>)</title>
<para>Сценарии <filename>rc.d</filename> используются для запуска служб
при запуске системы и дают администратору стандартный способ
остановки, запуска и перезапуска службы. Порты интегрируются в
системную инфраструктуру <filename>rc.d</filename>. Подробности
- по её использованию можно найти в <ulink
- url="&url.books.handbook;/configtuning-rcd.html">главе rc.d
- Руководства</ulink>. Подробное объяснение доступных команд
- находится в &man.rc.8; и &man.rc.subr.8;. Наконец, есть <ulink
- url="&url.articles.rc-scripting;">статья</ulink>о практических
+ по её использованию можно найти в <link xlink:href="&url.books.handbook;/configtuning-rcd.html">главе rc.d
+ Руководства</link>. Подробное объяснение доступных команд
+ находится в &man.rc.8; и &man.rc.subr.8;. Наконец, есть <link xlink:href="&url.articles.rc-scripting;">статья</link>о практических
аспектах написания сценариев <filename>rc.d</filename>.</para>
<para>Установить можно один или более сценариев
@@ -9661,15 +9579,14 @@ CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}"
<para>Сценарии обязаны размещаться в подкаталоге
<filename>files</filename> с обязательным добавлением суффикса
<literal>.in</literal> к имени файла. Для этого файла будут
- использоваться стандартные расширения <makevar>SUB_LIST</makevar>.
+ использоваться стандартные расширения <varname>SUB_LIST</varname>.
Также особенно приветствуется использование расширений
<literal>%%PREFIX%%</literal> и <literal>%%LOCALBASE%%</literal>.
- Подробнее о <makevar>SUB_LIST</makevar> в <link
- linkend="using-sub-files">соответствующей главе</link>.</para>
+ Подробнее о <varname>SUB_LIST</varname> в <link linkend="using-sub-files">соответствующей главе</link>.</para>
<para>До &os;&nbsp;6.1-RELEASE интеграция с &man.rcorder.8; доступна
- через использование <makevar>USE_RCORDER</makevar> вместо
- <makevar>USE_RC_SUBR</makevar>. Однако, использовать этот метод
+ через использование <varname>USE_RCORDER</varname> вместо
+ <varname>USE_RC_SUBR</varname>. Однако, использовать этот метод
не нужно, если ваш порт не включает опцию по своей установке в
основную систему или службе не нужно запускаться до выполнения
сценария <filename>FILESYSTEMS</filename> из <filename>rc.d</filename>
@@ -9829,7 +9746,7 @@ run_rc_command "$1"</programlisting>
<varname>command_interpreter</varname> установлено
должным образом. В противном случае</para>
- <screen>&prompt.root; <userinput>service <replaceable>name</replaceable> stop</userinput></screen>
+ <screen>&prompt.root; <userinput>service name stop</userinput></screen>
<para>возможно будет работать неправильно. Смотрите &man.service.8;
для получения дополнительной информации.</para>
@@ -9907,7 +9824,7 @@ run_rc_command "$1"</programlisting>
</sect2>
</sect1>
- <sect1 id="users-and-groups">
+ <sect1 xml:id="users-and-groups">
<title>Добавление пользователей и групп</title>
<para>Некоторые порты требуют в установленной системе наличие
@@ -9922,7 +9839,7 @@ run_rc_command "$1"</programlisting>
вашего порта.</para>
<para>Затем вы сможете использовать в вашем <filename>Makefile</filename>
- переменные <makevar>USERS</makevar> и <makevar>GROUPS</makevar>,
+ переменные <varname>USERS</varname> и <varname>GROUPS</varname>,
и пользователь автоматические создастся при установке порта.</para>
<para>Текущий перечень зарезервированных UID и GID находится в
@@ -9931,7 +9848,7 @@ run_rc_command "$1"</programlisting>
</sect1>
- <sect1 id="requiring-kernel-sources">
+ <sect1 xml:id="requiring-kernel-sources">
<title>Порты, требующие наличия исходных текстов ядра</title>
<para>Некоторым портам (таким как загружаемые модули ядра) для
@@ -9945,9 +9862,9 @@ IGNORE= requires kernel sources to be installed
</chapter>
- <chapter id="plist">
+ <chapter xml:id="plist">
<title>Продвинутые практики <filename>pkg-plist</filename></title>
- <sect1 id="plist-sub">
+ <sect1 xml:id="plist-sub">
<title>Изменение содержимого <filename>pkg-plist</filename> в зависимости
от make-переменных</title>
@@ -9964,14 +9881,13 @@ IGNORE= requires kernel sources to be installed
<literal>%%PERL_VERSION%%</literal> и <literal>%%PERL_VER%%</literal>
обозначают полный номер версии <command>perl</command> (например,
<literal>5.8.9</literal>). Некоторые
- другие <literal>%%<replaceable>VARS</replaceable>%%</literal>, имеющие
- отношение к файлам документации порта, описаны в <link
- linkend="install-documentation">соответствующем разделе</link>.</para>
+ другие <literal>%%VARS%%</literal>, имеющие
+ отношение к файлам документации порта, описаны в <link linkend="install-documentation">соответствующем разделе</link>.</para>
<para>Если вам нужно сделать другие подстановки, вы можете указать в
- переменной <makevar>PLIST_SUB</makevar> список пар
- <literal><replaceable>VAR</replaceable>=<replaceable>VALUE</replaceable></literal>,
- и все вхождения <literal>%%<replaceable>VAR</replaceable>%%</literal>
+ переменной <varname>PLIST_SUB</varname> список пар
+ <literal>VAR=VALUE</literal>,
+ и все вхождения <literal>%%VAR%%</literal>
в файле <filename>pkg-plist</filename> будут заменяться на значение
<replaceable>VALUE</replaceable>.</para>
@@ -9992,7 +9908,7 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
в порту опциями, то обычным способом управления является добавление
префиксов <literal>%%TAG%%</literal> для строк
<filename>pkg-plist</filename> с добавлением этого
- <literal>TAG</literal> в переменную <makevar>PLIST_SUB</makevar>
+ <literal>TAG</literal> в переменную <varname>PLIST_SUB</varname>
внутри <filename>Makefile</filename> со специальным значением
<literal>@comment</literal>, которое указывает пакетным инструментам
игнорировать эти строки:</para>
@@ -10007,48 +9923,47 @@ PLIST_SUB+= X11="@comment "
<programlisting>%%X11%%bin/foo-gui</programlisting>
- <para>Эта подстановка (также, как и добавление любых <link
- linkend="makefile-manpages">справочных страниц</link>) будет сделана
- между выполнением целей <maketarget>pre-install</maketarget> и
- <maketarget>do-install</maketarget>, посредством чтения файла
- <filename><makevar>PLIST</makevar></filename> и записью в файл
- <filename><makevar>TMPPLIST</makevar></filename>
+ <para>Эта подстановка (также, как и добавление любых <link linkend="makefile-manpages">справочных страниц</link>) будет сделана
+ между выполнением целей <buildtarget>pre-install</buildtarget> и
+ <buildtarget>do-install</buildtarget>, посредством чтения файла
+ <filename>PLIST</filename> и записью в файл
+ <filename>TMPPLIST</filename>
(по умолчанию это файл
- <filename><makevar>WRKDIR</makevar>/.PLIST.mktmp</filename>). Так
- что если ваш порт строит <filename><makevar>PLIST</makevar></filename> на лету, делайте
+ <filename>WRKDIR/.PLIST.mktmp</filename>). Так
+ что если ваш порт строит <filename>PLIST</filename> на лету, делайте
это во время или до выполнения цели
- <maketarget>pre-install</maketarget>. Кроме того, если вашему порту
+ <buildtarget>pre-install</buildtarget>. Кроме того, если вашему порту
требуется отредактировать получающийся файл, делайте это в цели
- <maketarget>post-install</maketarget> изменением файла
- <filename><makevar>TMPPLIST</makevar></filename>.</para>
+ <buildtarget>post-install</buildtarget> изменением файла
+ <filename>TMPPLIST</filename>.</para>
<para>Другой способ изменения списка сборки порта основан на
- определении значений переменных <makevar>PLIST_FILES</makevar>,
- <makevar>PLIST_DIRS</makevar> и <makevar>PLIST_DIRSTRY</makevar>.
+ определении значений переменных <varname>PLIST_FILES</varname>,
+ <varname>PLIST_DIRS</varname> и <varname>PLIST_DIRSTRY</varname>.
Каждое из них рассматривается как перечень путей для записи в
- <filename><makevar>TMPPLIST</makevar></filename> содержимого
- <filename><makevar>PLIST</makevar></filename>. Имена, перечисленные
- в <makevar>PLIST_FILES</makevar>, <makevar>PLIST_DIRS</makevar>
- и <makevar>PLIST_DIRSTRY</makevar> подвергаются подстановке
- <literal>%%<replaceable>VAR</replaceable>%%</literal>, как описано
- выше. За исключением этого, имена из <makevar>PLIST_FILES</makevar>
+ <filename>TMPPLIST</filename> содержимого
+ <filename>PLIST</filename>. Имена, перечисленные
+ в <varname>PLIST_FILES</varname>, <varname>PLIST_DIRS</varname>
+ и <varname>PLIST_DIRSTRY</varname> подвергаются подстановке
+ <literal>%%VAR%%</literal>, как описано
+ выше. За исключением этого, имена из <varname>PLIST_FILES</varname>
будут появляться в окончательном варианте перечня сборки без
изменений, тогда как <literal>@dirrm</literal> и
<literal>@dirrmtry</literal> будут соответственно предшествовать
- именам из <makevar>PLIST_DIRS</makevar> и
- <makevar>PLIST_DIRSTRY</makevar>. Для того чтобы изменения
- вступили в силу, <makevar>PLIST_FILES</makevar>,
- <makevar>PLIST_DIRS</makevar> и <makevar>PLIST_DIRSTRY</makevar>
+ именам из <varname>PLIST_DIRS</varname> и
+ <varname>PLIST_DIRSTRY</varname>. Для того чтобы изменения
+ вступили в силу, <varname>PLIST_FILES</varname>,
+ <varname>PLIST_DIRS</varname> и <varname>PLIST_DIRSTRY</varname>
должны задаваться до того, как будет
- записываться <filename><makevar>TMPPLIST</makevar></filename>, то
- есть в цели <maketarget>pre-install</maketarget> или ещё
+ записываться <filename>TMPPLIST</filename>, то
+ есть в цели <buildtarget>pre-install</buildtarget> или ещё
раньше.</para>
</sect1>
- <sect1 id="plist-cleaning">
+ <sect1 xml:id="plist-cleaning">
<title>Пустые каталоги</title>
- <sect2 id="plist-dir-cleaning">
+ <sect2 xml:id="plist-dir-cleaning">
<title>Очистка пустых каталогов</title>
<para>Заставьте ваш порты удалять пустые каталоги при удалении. Обычно это
@@ -10076,12 +9991,12 @@ lib/X11/oneko/sounds/cat.au
<para>Эта команда не выведет никаких сообщений об ошибках и не вызовет
аварийного завершения работы &man.pkg.delete.1;, даже если
- каталог <filename><makevar>${PREFIX}</makevar>/share/doc/gimp</filename>
+ каталог <filename>${PREFIX}/share/doc/gimp</filename>
не пуст из-за того, что другие порты установили сюда какие-то
файлы.</para>
</sect2>
- <sect2 id="plist-dir-empty">
+ <sect2 xml:id="plist-dir-empty">
<title>Создание пустых каталогов</title>
<para>Пустым каталогам, создаваемым во время установки порта, нужно
@@ -10097,11 +10012,11 @@ lib/X11/oneko/sounds/cat.au
</sect1>
- <sect1 id="plist-config">
+ <sect1 xml:id="plist-config">
<title>Конфигурационные файлы</title>
<para>Если ваш порт устанавливает конфигурационные файлы в каталог
- <filename><makevar>PREFIX</makevar>/etc</filename> (или куда-то еще),
+ <filename>PREFIX/etc</filename> (или куда-то еще),
<emphasis>не</emphasis> делайте их простого перечисления в файле
<filename>pkg-plist</filename>. Это приведёт к тому, что по команде
&man.pkg.delete.1; или при новой установке файлы,
@@ -10109,7 +10024,7 @@ lib/X11/oneko/sounds/cat.au
уничтожены.</para>
<para>Вместо этого установите файл(ы) с примерами с расширением
- <filename><replaceable>filename</replaceable>.sample</filename>.
+ <filename>filename.sample</filename>.
Затем скопируйте файл с примером на место настоящего файла
конфигурации, если таковой ещё не существует. При деинсталляции
удаляйте файл конфигурации только в том случае, если он идентичен
@@ -10161,15 +10076,15 @@ etc/orbit.conf.sample
начнёт работать.</para>
</sect1>
- <sect1 id="plist-dynamic">
+ <sect1 xml:id="plist-dynamic">
<title>Динамический или статический список упаковки</title>
<para><emphasis>Статический список упаковки</emphasis> &mdash; это список
упаковки, который доступен в Коллекции Портов или как файл
<filename>pkg-plist</filename> (с подстановкой переменных или без
неё), или как встроенный в <filename>Makefile</filename> посредством
- <makevar>PLIST_FILES</makevar>, <makevar>PLIST_DIRS</makevar>
- и <makevar>PLIST_DIRSTRY</makevar>.
+ <varname>PLIST_FILES</varname>, <varname>PLIST_DIRS</varname>
+ и <varname>PLIST_DIRSTRY</varname>.
Даже если содержимое является автоматически порождаемым при помощи
инструмента или в результате выполнения цели в Makefile
<emphasis>до</emphasis> включения в Коллекцию Портов коммиттером,
@@ -10204,7 +10119,7 @@ etc/orbit.conf.sample
</sect1>
- <sect1 id="plist-autoplist">
+ <sect1 xml:id="plist-autoplist">
<title>Автоматическое создание списка упаковки</title>
<para>Первым делом убедитесь, что ваш порт практически полностью
@@ -10225,7 +10140,7 @@ etc/orbit.conf.sample
<screen>&prompt.root; <userinput>:&gt;pkg-plist</userinput></screen>
- <para>Если ваш порт принимает во внимание <makevar>PREFIX</makevar> (а он
+ <para>Если ваш порт принимает во внимание <varname>PREFIX</varname> (а он
должен это делать), то тогда вы можете установить порт и создать список
упаковки.</para>
@@ -10241,17 +10156,15 @@ etc/orbit.conf.sample
создание автоматизировано <emphasis>не полностью</emphasis>. Страницы
справочной системы должны быть перечислены в файле
<filename>Makefile</filename> порта в переменных
- <makevar>MAN<replaceable>n</replaceable></makevar>, а не в списке
+ <varname>MAN<replaceable>n</replaceable></varname>, а не в списке
упаковки. Пользовательские конфигурационные файлы должны быть удалены
или быть установлены как
- <filename><replaceable>filename</replaceable>.sample</filename>.
+ <filename>filename.sample</filename>.
Файл <filename>info/dir</filename> включать в список не нужно, но
должны быть добавлены соответствующие строчки
- <filename>install-info</filename>, так, как это описано в разделе о <link
- linkend="makefile-info">файлах в формате info</link>. Все
+ <filename>install-info</filename>, так, как это описано в разделе о <link linkend="makefile-info">файлах в формате info</link>. Все
библиотеки, устанавливаемые портом, должны быть перечислены так, как
- это описано в разделе о <link
- linkend="porting-shlibs">динамических библиотеках</link>.</para>
+ это описано в разделе о <link linkend="porting-shlibs">динамических библиотеках</link>.</para>
<para>Как альтернативу, можно использовать скрипт <command>plist</command>
из <filename>/usr/ports/Tools/scripts/</filename> для автоматического
@@ -10276,22 +10189,21 @@ etc/orbit.conf.sample
выше.</para>
<para>Для первоначального создания <filename>pkg-plist</filename> можно
- использовать другой инструмент <filename
- role="package">ports-mgmt/genplist</filename>. Как и с прочими
+ использовать другой инструмент <package>ports-mgmt/genplist</package>. Как и с прочими
автоматизированными инструментами, получаемый <filename>pkg-plist</filename>
следует проверить и при необходимости отредактировать вручную.</para>
</sect1>
</chapter>
- <chapter id="pkg-files">
- <title>Файлы <filename>pkg-<replaceable>*</replaceable></filename></title>
+ <chapter xml:id="pkg-files">
+ <title>Файлы <filename>pkg-*</filename></title>
<para>Есть несколько приёмов работы с файлами
- <filename>pkg-<replaceable>*</replaceable></filename>, которые мы ещё не
+ <filename>pkg-*</filename>, которые мы ещё не
описали, но они иногда могут быть очень кстати.</para>
- <sect1 id="porting-message">
+ <sect1 xml:id="porting-message">
<title><filename>pkg-message</filename></title>
<para>Если вам нужно вывести сообщение для человека, устанавливающего
@@ -10302,10 +10214,10 @@ etc/orbit.conf.sample
для вывода информации о лицензировании.</para>
<para>Если должны выводиться некоторые строки о knobs времени построения
- или предупреждения, используйте <makevar>ECHO_MSG</makevar>. Файл
+ или предупреждения, используйте <varname>ECHO_MSG</varname>. Файл
<filename>pkg-message</filename> только для послеустановочных шагов.
- Также следует иметь в виду различие между <makevar>ECHO_MSG</makevar>
- и <makevar>ECHO_CMD</makevar>. Первое предназначено для вывода на
+ Также следует иметь в виду различие между <varname>ECHO_MSG</varname>
+ и <varname>ECHO_CMD</varname>. Первое предназначено для вывода на
экран информационного текста, а второе для конвейера команд:</para>
<programlisting>update-etc-shells:
@@ -10320,11 +10232,11 @@ etc/orbit.conf.sample
<filename>pkg-plist</filename>. И он не будет автоматически
выводиться, если пользователь использует порт, а не пакет, так что
вы должны будете сами выводить его при выполнении цели
- <maketarget>post-install</maketarget>.</para>
+ <buildtarget>post-install</buildtarget>.</para>
</note>
</sect1>
- <sect1 id="pkg-install">
+ <sect1 xml:id="pkg-install">
<title><filename>pkg-install</filename></title>
<para>Если при установке бинарного пакета по команде
@@ -10353,7 +10265,7 @@ etc/orbit.conf.sample
</note>
</sect1>
- <sect1 id="pkg-deinstall">
+ <sect1 xml:id="pkg-deinstall">
<title><filename>pkg-deinstall</filename></title>
<para>Этот скрипт вызывается при удалении пакета.</para>
@@ -10365,7 +10277,7 @@ etc/orbit.conf.sample
POST-DEINSTALL</literal>.</para>
</sect1>
- <sect1 id="pkg-req">
+ <sect1 xml:id="pkg-req">
<title><filename>pkg-req</filename></title>
<para>Если вашему порту нужно определять, должен ли он устанавливаться
@@ -10382,26 +10294,25 @@ etc/orbit.conf.sample
</sect1>
- <sect1 id="pkg-names">
- <title id="porting-pkgfiles">Изменение имён файлов
- <filename>pkg-<replaceable>*</replaceable></filename></title>
+ <sect1 xml:id="pkg-names">
+ <title xml:id="porting-pkgfiles">Изменение имён файлов
+ <filename>pkg-*</filename></title>
<para>Все имена файлов
- <filename>pkg-<replaceable>*</replaceable></filename>
+ <filename>pkg-*</filename>
определяются с помощью переменных, так что вы можете изменить их,
если это нужно, в вашем файле <filename>Makefile</filename>. Это
особенно полезно, если вы используете одни и те же файлы
- <filename>pkg-<replaceable>*</replaceable></filename>
+ <filename>pkg-*</filename>
совместно между несколькими портами или
- пишете в один из вышеперечисленных файлов (в главе о <link
- linkend="porting-wrkdir">записи в каталоги, отличные от
- <makevar>WRKDIR</makevar></link> объяснено, почему не рекомендуется
+ пишете в один из вышеперечисленных файлов (в главе о <link linkend="porting-wrkdir">записи в каталоги, отличные от
+ <varname>WRKDIR</varname></link> объяснено, почему не рекомендуется
осуществлять запись непосредственно в файлы
- <filename>pkg-<replaceable>*</replaceable></filename>.</para>
+ <filename>pkg-*</filename>.</para>
<para>Вот список имён переменных и их значений по умолчанию. (Значение
- <makevar>PKGDIR</makevar> по умолчанию равно
- <makevar>${MASTERDIR}</makevar>.)</para>
+ <varname>PKGDIR</varname> по умолчанию равно
+ <varname>${MASTERDIR}</varname>.)</para>
<informaltable frame="none" pgwide="0">
<tgroup cols="2">
@@ -10415,27 +10326,27 @@ etc/orbit.conf.sample
<tbody>
<row>
- <entry><makevar>DESCR</makevar></entry>
+ <entry><varname>DESCR</varname></entry>
<entry><literal>${PKGDIR}/pkg-descr</literal></entry>
</row>
<row>
- <entry><makevar>PLIST</makevar></entry>
+ <entry><varname>PLIST</varname></entry>
<entry><literal>${PKGDIR}/pkg-plist</literal></entry>
</row>
<row>
- <entry><makevar>PKGINSTALL</makevar></entry>
+ <entry><varname>PKGINSTALL</varname></entry>
<entry><literal>${PKGDIR}/pkg-install</literal></entry>
</row>
<row>
- <entry><makevar>PKGREQ</makevar></entry>
+ <entry><varname>PKGREQ</varname></entry>
<entry><literal>${PKGDIR}/pkg-req</literal></entry>
</row>
<row>
- <entry><makevar>PKGMESSAGE</makevar></entry>
+ <entry><varname>PKGMESSAGE</varname></entry>
<entry><literal>${PKGDIR}/pkg-message</literal></entry>
</row>
</tbody>
@@ -10443,45 +10354,45 @@ etc/orbit.conf.sample
</informaltable>
<para>Пожалуйста, изменяйте значения этих переменных, а не
- переопределяйте <makevar>PKG_ARGS</makevar>. Если вы измените
- значение переменных <makevar>PKG_ARGS</makevar>, то эти файлы при
+ переопределяйте <varname>PKG_ARGS</varname>. Если вы измените
+ значение переменных <varname>PKG_ARGS</varname>, то эти файлы при
установке из порта будут установлены в каталог
<filename>/var/db/pkg</filename> некорректно.</para>
</sect1>
- <sect1 id="using-sub-files">
- <title>Использование <makevar>SUB_FILES</makevar> и
- <makevar>SUB_LIST</makevar></title>
+ <sect1 xml:id="using-sub-files">
+ <title>Использование <varname>SUB_FILES</varname> и
+ <varname>SUB_LIST</varname></title>
- <para>Переменные <makevar>SUB_FILES</makevar> и
- <makevar>SUB_LIST</makevar> подходят для задания в файлах порта
- динамических значений, таких как <makevar>PREFIX</makevar> установки
+ <para>Переменные <varname>SUB_FILES</varname> и
+ <varname>SUB_LIST</varname> подходят для задания в файлах порта
+ динамических значений, таких как <varname>PREFIX</varname> установки
в <filename>pkg-message</filename>.</para>
- <para>В переменной <makevar>SUB_FILES</makevar> указывается перечень
+ <para>В переменной <varname>SUB_FILES</varname> указывается перечень
файлов для автоматического изменения. Каждый
- <replaceable>file</replaceable> из перечня <makevar>SUB_FILES</makevar>
+ <replaceable>file</replaceable> из перечня <varname>SUB_FILES</varname>
обязан иметь соответствующий
- <filename><replaceable>file</replaceable>.in</filename>,
- присутствующий в <makevar>FILESDIR</makevar>. Измененная версия
- будет создана в <makevar>WRKDIR</makevar>. Файлы, определенные в
- качестве значения <makevar>USE_RC_SUBR</makevar> (или устаревшего
- <makevar>USE_RCORDER</makevar>), автоматически добавляются в
- <makevar>SUB_FILES</makevar>. Для файлов
+ <filename>file.in</filename>,
+ присутствующий в <varname>FILESDIR</varname>. Измененная версия
+ будет создана в <varname>WRKDIR</varname>. Файлы, определенные в
+ качестве значения <varname>USE_RC_SUBR</varname> (или устаревшего
+ <varname>USE_RCORDER</varname>), автоматически добавляются в
+ <varname>SUB_FILES</varname>. Для файлов
<filename>pkg-message</filename>, <filename>pkg-install</filename>,
<filename>pkg-deinstall</filename> и <filename>pkg-req</filename>
устанавливается соответствующая переменная Makefile, указывающая на
обработанную версию.</para>
- <para>Переменная <makevar>SUB_LIST</makevar> содержит перечень пар
+ <para>Переменная <varname>SUB_LIST</varname> содержит перечень пар
<literal>VAR=VALUE</literal>. В каждом файле из
- <makevar>SUB_FILES</makevar> для каждой пары будет произведена
+ <varname>SUB_FILES</varname> для каждой пары будет произведена
замена <literal>%%VAR%%</literal> на <literal>VALUE</literal>.
Некоторые общие пары определяются автоматически:
- <makevar>PREFIX</makevar>, <makevar>LOCALBASE</makevar>,
- <makevar>DATADIR</makevar>,
- <makevar>DOCSDIR</makevar>, <makevar>EXAMPLESDIR</makevar>,
- <makevar>WWWDIR</makevar> и <makevar>ETCDIR</makevar>.
+ <varname>PREFIX</varname>, <varname>LOCALBASE</varname>,
+ <varname>DATADIR</varname>,
+ <varname>DOCSDIR</varname>, <varname>EXAMPLESDIR</varname>,
+ <varname>WWWDIR</varname> и <varname>ETCDIR</varname>.
Любая строка, начинающаяся с <literal>@comment</literal>, будет
удалена из конечного файла после подстановки переменной.</para>
@@ -10492,7 +10403,7 @@ etc/orbit.conf.sample
<programlisting>SUB_FILES= pkg-message
SUB_LIST= ARCH=${ARCH}</programlisting>
- <para>Обратите внимание, что в этом примере в <makevar>FILESDIR</makevar>
+ <para>Обратите внимание, что в этом примере в <varname>FILESDIR</varname>
обязательно существование файла <filename>pkg-message.in</filename>.
</para>
@@ -10505,10 +10416,10 @@ as .putsy.conf and edit it.</programlisting>
</sect1>
</chapter>
- <chapter id="testing">
+ <chapter xml:id="testing">
<title>Тестирование вашего порта</title>
- <sect1 id="make-describe">
+ <sect1 xml:id="make-describe">
<title>Запуск <command>make describe</command></title>
<para>Некоторые утилиты &os; для сопровождения портов, например,
@@ -10545,11 +10456,10 @@ as .putsy.conf and edit it.</programlisting>
<command>make describe</command>.</para>
</sect1>
- <sect1 id="testing-portlint">
+ <sect1 xml:id="testing-portlint">
<title>Portlint</title>
- <para>Проверьте свою работу командой <link
- linkend="porting-portlint"><command>portlint</command></link>
+ <para>Проверьте свою работу командой <link linkend="porting-portlint"><command>portlint</command></link>
перед тем, как её отослать или перенести в дерево портов.
<command>portlint</command> предупреждает вас о многих
распространённых ошибках, как функциональных, так и стилистических.
@@ -10566,50 +10476,49 @@ as .putsy.conf and edit it.</programlisting>
спросить в &a.ports;.</para>
</sect1>
- <sect1 id="testing-porttools">
+ <sect1 xml:id="testing-porttools">
<title>Port Tools</title>
- <para>Программа <filename role="package">ports-mgmt/porttools</filename>
+ <para>Программа <package>ports-mgmt/porttools</package>
входит в состав Коллекции Портов.</para>
<para><command>port</command> является сценарием переднего плана,
который может упростить вам задачу тестирования. Если вы хотите
проверить новый порт или обновить существующий, то вы можете
использовать <command>port test</command> для проверки вашего порта,
- включая проверку <link
- linkend="testing-portlint"><command>portlint</command></link>. Эта
+ включая проверку <link linkend="testing-portlint"><command>portlint</command></link>. Эта
команда также находит и отображает любые файлы, которые невключенные
в <filename>pkg-plist</filename>. Смотрите следующий пример:</para>
<screen>&prompt.root; <userinput>port test /usr/ports/net/csup</userinput></screen>
</sect1>
- <sect1 id="porting-prefix">
- <title><makevar>PREFIX</makevar> и <makevar>DESTDIR</makevar></title>
+ <sect1 xml:id="porting-prefix">
+ <title><varname>PREFIX</varname> и <varname>DESTDIR</varname></title>
- <para>Переменная <makevar>PREFIX</makevar> определяет, куда будет
+ <para>Переменная <varname>PREFIX</varname> определяет, куда будет
установлен порт. По умолчанию это <filename>/usr/local</filename>,
но может меняться пользователем на собственный путь, такой как
<filename>/opt</filename>. В вашем порту значение этой переменной
должно учитываться.</para>
- <para>Если пользователь установил переменную <makevar>DESTDIR</makevar>,
+ <para>Если пользователь установил переменную <varname>DESTDIR</varname>,
то она определяет полное альтернативное окружение, обычно, это jail
или установленная система, смонтированная в месте, отличном от
<filename>/</filename>. На самом деле порт устанавливается в
- <filename><makevar>DESTDIR</makevar>/<makevar>PREFIX</makevar></filename>
+ <filename>DESTDIR/PREFIX</filename>
и регистрируется в базе данных пакетов в
- <filename><makevar>DESTDIR</makevar>/var/db/pkg</filename>.
- Поскольку управление <makevar>DESTDIR</makevar> производится
+ <filename>DESTDIR/var/db/pkg</filename>.
+ Поскольку управление <varname>DESTDIR</varname> производится
автоматически инфраструктурой портов с помощью &man.chroot.8;, вам
не нужны никакие изменения или проявление особой осторожности
- при написании <makevar>DESTDIR</makevar>-совместимых портов.</para>
+ при написании <varname>DESTDIR</varname>-совместимых портов.</para>
- <para>Значение переменной <makevar>PREFIX</makevar> будет установлено
- в <makevar>LOCALBASE</makevar> (по умолчанию
+ <para>Значение переменной <varname>PREFIX</varname> будет установлено
+ в <varname>LOCALBASE</varname> (по умолчанию
<filename>/usr/local</filename>). Если
- задана переменная <makevar>USE_LINUX_PREFIX</makevar>, то
- <makevar>PREFIX</makevar> примет значение <makevar>LINUXBASE</makevar>
+ задана переменная <varname>USE_LINUX_PREFIX</varname>, то
+ <varname>PREFIX</varname> примет значение <varname>LINUXBASE</varname>
(по умолчанию <filename>/compat/linux</filename>).</para>
<para>Избегание явно прописываемых путей <filename>/usr/local</filename>
@@ -10623,25 +10532,25 @@ as .putsy.conf and edit it.</programlisting>
<para>Проверьте, что ваше приложение не устанавливает чего-либо в
каталог <filename>/usr/local</filename> вместо
- <makevar>PREFIX</makevar>. Наличие явно указанных путей можно быстро
+ <varname>PREFIX</varname>. Наличие явно указанных путей можно быстро
проверить следующим образом:</para>
<screen>&prompt.root; <userinput>make clean; make package PREFIX=/var/tmp/`make -V PORTNAME`</userinput></screen>
<para>Если что-то было установлено за пределами
- <makevar>PREFIX</makevar>, то процесс создания пакета сообщит об
+ <varname>PREFIX</varname>, то процесс создания пакета сообщит об
отсутствии файлов.</para>
<para>Этот тест не найдет явно указанных путей внутри файлов порта
- и не проверит корректность использования <makevar>LOCALBASE</makevar>
+ и не проверит корректность использования <varname>LOCALBASE</varname>
в качестве ссылки на файлы из других портов. Порт, временно
установленный в <filename>/var/tmp/`make -V PORTNAME`</filename>,
следует проверять на работоспособность, чтобы убедиться в отсутствии
проблем с путями.</para>
- <para>Переменная <makevar>PREFIX</makevar> не должна задаваться явно в
+ <para>Переменная <varname>PREFIX</varname> не должна задаваться явно в
файле <filename>Makefile</filename> порта. Пользователи при установке
- порта могут задать в <makevar>PREFIX</makevar> свое собственное
+ порта могут задать в <varname>PREFIX</varname> свое собственное
место, и порт должен учитывать это значение.</para>
<para>Обратитесь к программам/файлам из других портов с
@@ -10653,13 +10562,13 @@ as .putsy.conf and edit it.</programlisting>
<programlisting>-DPAGER=\"&dollar;{LOCALBASE}/bin/less\"</programlisting>
- <para>Путь с использованием <makevar>LOCALBASE</makevar> имеет больше
+ <para>Путь с использованием <varname>LOCALBASE</varname> имеет больше
шансов оставаться работоспособным, если системный администратор
переместил всё дерево <filename>/usr/local</filename> куда-то в другое
место.</para>
</sect1>
- <sect1 id="testing-tinderbox">
+ <sect1 xml:id="testing-tinderbox">
<title>Tinderbox</title>
<para>Если вы алчный контрибутор портов, то вы можете захотеть
@@ -10667,17 +10576,16 @@ as .putsy.conf and edit it.</programlisting>
система построения и тестирования портов, основанная на сценариях,
используемых в <link linkend="build-cluster">Pointyhat</link>.
<application>Tinderbox</application> можно установить, используя
- порт <filename role="package">ports-mgmt/tinderbox</filename>.
+ порт <package>ports-mgmt/tinderbox</package>.
Обязательно прочитайте поставляемую документацию, поскольку
конфигурация не является тривиальной.</para>
- <para>Для получения подробностей посетите <ulink
- url="http://tinderbox.marcuscom.com/">вебсайт Tinderbox</ulink>.</para>
+ <para>Для получения подробностей посетите <link xlink:href="http://tinderbox.marcuscom.com/">вебсайт Tinderbox</link>.</para>
</sect1>
</chapter>
- <chapter id="port-upgrading">
+ <chapter xml:id="port-upgrading">
<title>Обновление отдельного порта</title>
<para>Если вы заметите, что ваш порт устарел по сравнению с последней
@@ -10688,15 +10596,14 @@ as .putsy.conf and edit it.</programlisting>
наверное, будет проще использовать
<application>Subversion</application> или &man.portsnap.8; для
поддержания всей коллекции портов в актуальном состоянии, как это
- описано в <ulink url="&url.books.handbook;/ports-using.html">
- Руководстве</ulink>. К тому же это даст возможность отслеживать все
+ описано в <link xlink:href="&url.books.handbook;/ports-using.html">
+ Руководстве</link>. К тому же это даст возможность отслеживать все
зависимости портов.</para>
<para>На следующем шаге необходимо выяснить, нет ожидает ли уже это
обновление своей очереди. Для этого у вас есть две возможности.
- Существует интерфейс к <ulink
- url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">базе
- данных сообщений о проблемах FreeBSD (PR)</ulink> (известной также как
+ Существует интерфейс к <link xlink:href="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">базе
+ данных сообщений о проблемах FreeBSD (PR)</link> (известной также как
<literal>GNATS</literal>) с поисковыми возможностями. Выберите из
выпадающего списка <literal>ports</literal> и введите название
порта.</para>
@@ -10707,9 +10614,8 @@ as .putsy.conf and edit it.</programlisting>
FreeBSD</link> (которая известна также как
<literal>portsmon</literal>). В рамках этой системы делается попытка
классифицировать PR, касающиеся портов, по имени порта. Для поиска
- PR, относящихся к определённому порту, используйте механизм <ulink
- url="http://portsmon.FreeBSD.org/portoverview.py">Просмотра
- по одному порту</ulink>.</para>
+ PR, относящихся к определённому порту, используйте механизм <link xlink:href="http://portsmon.FreeBSD.org/portoverview.py">Просмотра
+ по одному порту</link>.</para>
<para>Если таких отложенных PR не существует, то на следующем этапе
следует послать сообщение электронной почты человеку, поддерживающему
@@ -10734,7 +10640,7 @@ as .putsy.conf and edit it.</programlisting>
<replaceable>something</replaceable>, а затем создайте ваше патч:</para>
<informalexample>
- <screen>&prompt.user; <userinput>diff -u something.orig something > something.diff</userinput></screen>
+ <screen>&prompt.user; <userinput>diff -u something.orig something &gt; something.diff</userinput></screen>
</informalexample>
<para>В противном случае, вам следует воспользоваться методом
@@ -10765,9 +10671,8 @@ as .putsy.conf and edit it.</programlisting>
пожалуйста, подумайте над тем, чтобы добровольно стать его
сопровождающим. Во &os; имеется более 4000 портов без поддержки, и это
как раз та область, где всегда нужны добровольцы. (Детальное описание
- обязанностей сопровождающего можно найти в разделе в <ulink
- url="&url.books.developers-handbook;/policies.html#POLICIES-MAINTAINER">
- Руководстве Разработчика</ulink>.)</para>
+ обязанностей сопровождающего можно найти в разделе в <link xlink:href="&url.books.developers-handbook;/policies.html#POLICIES-MAINTAINER">
+ Руководстве Разработчика</link>.)</para>
<para>Лучше всего послать нам diff-файл, включив его в посылку по команде
&man.send-pr.1; (категория <literal>ports</literal>). Если вы
@@ -10784,8 +10689,8 @@ as .putsy.conf and edit it.</programlisting>
в PR.</para>
<para>Прежде чем пользоваться &man.send-pr.1; вы должны просмотреть раздел
- о <ulink url="&url.articles.problem-reports;/pr-writing.html">Написании
- сообщений о проблемах</ulink> в статье о Сообщениях об ошибках; он
+ о <link xlink:href="&url.articles.problem-reports;/pr-writing.html">Написании
+ сообщений о проблемах</link> в статье о Сообщениях об ошибках; он
содержит гораздо больше информации о том, как писать полезные сообщения
о проблемах.</para>
@@ -10806,10 +10711,9 @@ as .putsy.conf and edit it.</programlisting>
</note>
<para>Теперь, когда вы проделали всё это, вам может понадобиться
- прочесть о том, как поддерживать актуальное состояние, в <xref
- linkend="keeping-up"/>.</para>
+ прочесть о том, как поддерживать актуальное состояние, в <xref linkend="keeping-up"/>.</para>
- <sect1 id="svn-diff">
+ <sect1 xml:id="svn-diff">
<title>Использование <literal>SVN</literal> для создания патчей</title>
<para>По возможности присылайте исправления в формате &man.svn.1; diff;
@@ -10820,25 +10724,23 @@ as .putsy.conf and edit it.</programlisting>
не отправите ваши изменения, либо если коммиттер попросит вас
исправить что-то еще.</para>
- <screen>&prompt.user; <userinput>cd ~/my_wrkdir</userinput> <co id="my-wrkdir"/>
-&prompt.user; <userinput>svn co <replaceable>https://svn0.us-west.FreeBSD.org</replaceable>/ports/head/dns/pdnsd</userinput> <co id="svn-FreeBSD-org"/>
+ <screen>&prompt.user; <userinput>cd ~/my_wrkdir</userinput> <co xml:id="my-wrkdir"/>
+&prompt.user; <userinput>svn co https://svn0.us-west.FreeBSD.org/ports/head/dns/pdnsd</userinput> <co xml:id="svn-FreeBSD-org"/>
&prompt.user; <userinput>cd ~/my_wrkdir/pdnsd</userinput></screen>
<calloutlist>
<callout arearefs="my-wrkdir">
<para>Это может быть где угодно; место, в котором производится
построение портов, не привязано к
- <filename class="directory">/usr/ports/</filename>.</para>
+ <filename>/usr/ports/</filename>.</para>
</callout>
<callout arearefs="svn-FreeBSD-org">
- <para><ulink
- url="https://svn0.us-west.FreeBSD.org/">svn0.us-west.FreeBSD.org</ulink>
+ <para><link xlink:href="https://svn0.us-west.FreeBSD.org/">svn0.us-west.FreeBSD.org</link>
&mdash; это общедоступный <literal>SVN</literal> сервер.
Выберите ближайшее зеркало и проверьте сертификат
- зеркалирующего сервера на наличие в перечне <ulink
- url="&url.books.handbook;/svn-mirrors.html">зеркалирующих
- сайтов Subversion</ulink>.</para>
+ зеркалирующего сервера на наличие в перечне <link xlink:href="&url.books.handbook;/svn-mirrors.html">зеркалирующих
+ сайтов Subversion</link>.</para>
</callout>
</calloutlist>
@@ -10855,7 +10757,7 @@ as .putsy.conf and edit it.</programlisting>
<xref linkend="porting-portlint"/>.</para>
<screen>&prompt.user; <userinput>svn status</userinput>
-&prompt.user; <userinput>svn update</userinput> <co id="svn-update"/></screen>
+&prompt.user; <userinput>svn update</userinput> <co xml:id="svn-update"/></screen>
<calloutlist>
<callout arearefs="svn-update">
@@ -10867,7 +10769,7 @@ as .putsy.conf and edit it.</programlisting>
</callout>
</calloutlist>
- <table pgwide="1" frame="none" id="table-svn-up">
+ <table pgwide="1" frame="none" xml:id="table-svn-up">
<title>Префиксы файлов для <literal>SVN</literal> update</title>
<tgroup cols="2">
@@ -10926,7 +10828,7 @@ as .putsy.conf and edit it.</programlisting>
<xref linkend="port-upgrading"/>.</para>
</sect1>
- <sect1 id="moved-and-updating-files">
+ <sect1 xml:id="moved-and-updating-files">
<title>Файлы <filename>UPDATING</filename> и
<filename>MOVED</filename></title>
@@ -10969,10 +10871,10 @@ as .putsy.conf and edit it.</programlisting>
</sect1>
</chapter>
- <chapter id="security">
+ <chapter xml:id="security">
<title>Безопасность портов</title>
- <sect1 id="security-intro">
+ <sect1 xml:id="security-intro">
<title>Почему безопасность так важна</title>
<para>Ошибки в программном обеспечении появляются случайно. Возможно,
@@ -11009,7 +10911,7 @@ as .putsy.conf and edit it.</programlisting>
предпринять подходящие меры.</para>
</sect1>
- <sect1 id="security-fix">
+ <sect1 xml:id="security-fix">
<title>Исправление уязвимостей безопасности</title>
<para>Что касается портов и пакетов, уязвимость безопасности
@@ -11019,7 +10921,7 @@ as .putsy.conf and edit it.</programlisting>
и вам лишь понадобится сразу обновить порт в соответствии с
исправлением автора. Если исправление по какой-то причине
задерживается, вам следует либо <link linkend="dads-noinstall">пометить
- порт как <makevar>FORBIDDEN</makevar></link>, либо добавить в порт
+ порт как <varname>FORBIDDEN</varname></link>, либо добавить в порт
ваш собственный патч. В случае уязвимости порта просто исправьте
этот порт как можно скорее. В любом случае нужно следовать
<link linkend="port-upgrading">стандартной процедуре отправки вашего
@@ -11038,21 +10940,21 @@ as .putsy.conf and edit it.</programlisting>
запустить обновление. Кроме того, новый пакет будет собран и
распространен через FTP и WWW зеркала, замещая уязвимый.
Если в процессе исправления уязвимости не было изменено значение
- <makevar>PORTVERSION</makevar>, то должно быть увеличено значение
- <makevar>PORTREVISION</makevar>. Вам следует увеличить значение
- <makevar>PORTREVISION</makevar> после добавления в порт файла с
+ <varname>PORTVERSION</varname>, то должно быть увеличено значение
+ <varname>PORTREVISION</varname>. Вам следует увеличить значение
+ <varname>PORTREVISION</varname> после добавления в порт файла с
патчем, но не когда вы обновили порт до последней версии
программного обеспечения, попутно затронув при этом
- <makevar>PORTVERSION</makevar>. За дальнейшей информацией
+ <varname>PORTVERSION</varname>. За дальнейшей информацией
обращайтесь к
<link linkend="makefile-naming-revepoch">соответствующему
разделу</link>.</para>
</sect1>
- <sect1 id="security-notify">
+ <sect1 xml:id="security-notify">
<title>Обеспечение сообщества информацией</title>
- <sect2 id="security-notify-vuxml-db">
+ <sect2 xml:id="security-notify-vuxml-db">
<title>База данных VuXML</title>
<para>Очень важным и первостепенным шагом при действии как можно
@@ -11071,8 +10973,7 @@ as .putsy.conf and edit it.</programlisting>
каждому случаю выпускать бюллетень безопасности без создания
флуда и потери внимания сообщества к моменту появления
действительно серьезных причин. Поэтому уязвимости безопасности,
- обнаруженные в портах, записываются в <ulink
- url="http://vuxml.freebsd.org/">базу данных FreeBSD VuXML</ulink>.
+ обнаруженные в портах, записываются в <link xlink:href="http://vuxml.freebsd.org/">базу данных FreeBSD VuXML</link>.
Члены Команды Офицеров Безопасности также отслеживают её на
предмет появления вопросов, требующих их вмешательства.</para>
@@ -11082,16 +10983,14 @@ as .putsy.conf and edit it.</programlisting>
менее, если вы не являетесь коммиттером или верите, что нашли
исключительно серьезную уязвимость, то не
задумываясь свяжитесь с Командой Офицеров Безопасности напрямую
- как это описано на странице <ulink
- url="http://www.freebsd.org/security/#how">информационной
- безопасности FreeBSD</ulink>.</para>
+ как это описано на странице <link xlink:href="http://www.freebsd.org/security/#how">информационной
+ безопасности FreeBSD</link>.</para>
<para>База данных VuXML является
документом XML. Его исходный файл <filename>vuln.xml</filename>
- содержится прямо внутри порта <filename
- role="package">security/vuxml</filename>. Поэтому полное имя
+ содержится прямо внутри порта <package>security/vuxml</package>. Поэтому полное имя
пути к файлу будет
- <filename><envar>PORTSDIR</envar>/security/vuxml/vuln.xml</filename>.
+ <filename>PORTSDIR/security/vuxml/vuln.xml</filename>.
Каждый раз, при обнаружении вами в порте уязвимости безопасности
добавьте об этом запись в этот файл. Пока вы не знакомы с VuXML,
лучшее, что вы можете сделать, это найти существующую запись,
@@ -11099,7 +10998,7 @@ as .putsy.conf and edit it.</programlisting>
в качестве шаблона.</para>
</sect2>
- <sect2 id="security-notify-vuxml-intro">
+ <sect2 xml:id="security-notify-vuxml-intro">
<title>Короткое вступление в VuXML</title>
<para>В совокупности XML является очень сложным форматом, и его
@@ -11118,26 +11017,26 @@ as .putsy.conf and edit it.</programlisting>
<para>Теперь рассмотрим настоящую запись VuXML:</para>
- <programlisting>&lt;vuln vid="f4bc80f4-da62-11d8-90ea-0004ac98a7b9"&gt; <co id="co-vx-vid"/>
- &lt;topic&gt;Several vulnerabilities found in Foo&lt;/topic&gt; <co id="co-vx-top"/>
+ <programlisting>&lt;vuln vid="f4bc80f4-da62-11d8-90ea-0004ac98a7b9"&gt; <co xml:id="co-vx-vid"/>
+ &lt;topic&gt;Several vulnerabilities found in Foo&lt;/topic&gt; <co xml:id="co-vx-top"/>
&lt;affects&gt;
&lt;package&gt;
- &lt;name&gt;foo&lt;/name&gt; <co id="co-vx-nam"/>
+ &lt;name&gt;foo&lt;/name&gt; <co xml:id="co-vx-nam"/>
&lt;name&gt;foo-devel&lt;/name&gt;
&lt;name&gt;ja-foo&lt;/name&gt;
- &lt;range&gt;&lt;ge&gt;1.6&lt;/ge&gt;&lt;lt&gt;1.9&lt;/lt&gt;&lt;/range&gt; <co id="co-vx-rng"/>
+ &lt;range&gt;&lt;ge&gt;1.6&lt;/ge&gt;&lt;lt&gt;1.9&lt;/lt&gt;&lt;/range&gt; <co xml:id="co-vx-rng"/>
&lt;range&gt;&lt;ge&gt;2.*&lt;/ge&gt;&lt;lt&gt;2.4_1&lt;/lt&gt;&lt;/range&gt;
&lt;range&gt;&lt;eq&gt;3.0b1&lt;/eq&gt;&lt;/range&gt;
&lt;/package&gt;
&lt;package&gt;
- &lt;name&gt;openfoo&lt;/name&gt; <co id="co-vx-nm2"/>
- &lt;range&gt;&lt;lt&gt;1.10_7&lt;/lt&gt;&lt;/range&gt; <co id="co-vx-epo"/>
+ &lt;name&gt;openfoo&lt;/name&gt; <co xml:id="co-vx-nm2"/>
+ &lt;range&gt;&lt;lt&gt;1.10_7&lt;/lt&gt;&lt;/range&gt; <co xml:id="co-vx-epo"/>
&lt;range&gt;&lt;ge&gt;1.2,1&lt;/ge&gt;&lt;lt&gt;1.3_1,1&lt;/lt&gt;&lt;/range&gt;
&lt;/package&gt;
&lt;/affects&gt;
&lt;description&gt;
&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
- &lt;p&gt;J. Random Hacker reports:&lt;/p&gt; <co id="co-vx-bdy"/>
+ &lt;p&gt;J. Random Hacker reports:&lt;/p&gt; <co xml:id="co-vx-bdy"/>
&lt;blockquote
cite="http://j.r.hacker.com/advisories/1"&gt;
&lt;p&gt;Several issues in the Foo software may be exploited
@@ -11147,23 +11046,23 @@ as .putsy.conf and edit it.</programlisting>
&lt;/blockquote&gt;
&lt;/body&gt;
&lt;/description&gt;
- &lt;references&gt; <co id="co-vx-ref"/>
- &lt;freebsdsa&gt;SA-10:75.foo&lt;/freebsdsa&gt; <co id="co-vx-fsa"/>
- &lt;freebsdpr&gt;ports/987654&lt;/freebsdpr&gt; <co id="co-vx-fpr"/>
- &lt;cvename&gt;CAN-2010-0201&lt;/cvename&gt; <co id="co-vx-cve"/>
+ &lt;references&gt; <co xml:id="co-vx-ref"/>
+ &lt;freebsdsa&gt;SA-10:75.foo&lt;/freebsdsa&gt; <co xml:id="co-vx-fsa"/>
+ &lt;freebsdpr&gt;ports/987654&lt;/freebsdpr&gt; <co xml:id="co-vx-fpr"/>
+ &lt;cvename&gt;CAN-2010-0201&lt;/cvename&gt; <co xml:id="co-vx-cve"/>
&lt;cvename&gt;CAN-2010-0466&lt;/cvename&gt;
- &lt;bid&gt;96298&lt;/bid&gt; <co id="co-vx-bid"/>
- &lt;certsa&gt;CA-2010-99&lt;/certsa&gt; <co id="co-vx-cts"/>
- &lt;certvu&gt;740169&lt;/certvu&gt; <co id="co-vx-ctv"/>
- &lt;uscertsa&gt;SA10-99A&lt;/uscertsa&gt; <co id="co-vx-ucs"/>
- &lt;uscertta&gt;SA10-99A&lt;/uscertta&gt; <co id="co-vx-uct"/>
- &lt;mlist msgid="201075606@hacker.com"&gt;http://marc.theaimsgroup.com/?l=bugtraq&amp;amp;m=203886607825605&lt;/mlist&gt; <co id="co-vx-mls"/>
- &lt;url&gt;http://j.r.hacker.com/advisories/1&lt;/url&gt; <co id="co-vx-url"/>
+ &lt;bid&gt;96298&lt;/bid&gt; <co xml:id="co-vx-bid"/>
+ &lt;certsa&gt;CA-2010-99&lt;/certsa&gt; <co xml:id="co-vx-cts"/>
+ &lt;certvu&gt;740169&lt;/certvu&gt; <co xml:id="co-vx-ctv"/>
+ &lt;uscertsa&gt;SA10-99A&lt;/uscertsa&gt; <co xml:id="co-vx-ucs"/>
+ &lt;uscertta&gt;SA10-99A&lt;/uscertta&gt; <co xml:id="co-vx-uct"/>
+ &lt;mlist msgid="201075606@hacker.com"&gt;http://marc.theaimsgroup.com/?l=bugtraq&amp;amp;m=203886607825605&lt;/mlist&gt; <co xml:id="co-vx-mls"/>
+ &lt;url&gt;http://j.r.hacker.com/advisories/1&lt;/url&gt; <co xml:id="co-vx-url"/>
&lt;/references&gt;
&lt;dates&gt;
- &lt;discovery&gt;2010-05-25&lt;/discovery&gt; <co id="co-vx-dsc"/>
- &lt;entry&gt;2010-07-13&lt;/entry&gt; <co id="co-vx-ent"/>
- &lt;modified&gt;2010-09-17&lt;/modified&gt; <co id="co-vx-mod"/>
+ &lt;discovery&gt;2010-05-25&lt;/discovery&gt; <co xml:id="co-vx-dsc"/>
+ &lt;entry&gt;2010-07-13&lt;/entry&gt; <co xml:id="co-vx-ent"/>
+ &lt;modified&gt;2010-09-17&lt;/modified&gt; <co xml:id="co-vx-mod"/>
&lt;/dates&gt;
&lt;/vuln&gt;</programlisting>
@@ -11263,11 +11162,11 @@ as .putsy.conf and edit it.</programlisting>
<callout arearefs="co-vx-epo">
<para>Диапазоны версий должны учитывать
- <makevar>PORTEPOCH</makevar> и <makevar>PORTREVISION</makevar>,
+ <varname>PORTEPOCH</varname> и <varname>PORTREVISION</varname>,
если это применимо. Пожалуйста, помните, что в соответствии
с правилами сравнения строк версия с ненулевым значением
- <makevar>PORTEPOCH</makevar> выше, чем любая версия без
- <makevar>PORTEPOCH</makevar>, например, <literal>3.0,1</literal>
+ <varname>PORTEPOCH</varname> выше, чем любая версия без
+ <varname>PORTEPOCH</varname>, например, <literal>3.0,1</literal>
выше, чем <literal>3.1</literal> или даже <literal>8.9</literal>.
</para>
</callout>
@@ -11288,46 +11187,46 @@ as .putsy.conf and edit it.</programlisting>
<callout arearefs="co-vx-fsa">
<para>Это
- <ulink url="http://www.freebsd.org/security/#adv">бюллетень
- безопасности FreeBSD</ulink>.</para>
+ <link xlink:href="http://www.freebsd.org/security/#adv">бюллетень
+ безопасности FreeBSD</link>.</para>
</callout>
<callout arearefs="co-vx-fpr">
<para>Это
- <ulink url="http://www.freebsd.org/support.html#gnats">сообщение
- об ошибке FreeBSD</ulink>.</para>
+ <link xlink:href="http://www.freebsd.org/support.html#gnats">сообщение
+ об ошибке FreeBSD</link>.</para>
</callout>
<callout arearefs="co-vx-cve">
<para>Идентификатор
- <ulink url="http://www.cve.mitre.org/">MITRE
- CVE</ulink>.</para>
+ <link xlink:href="http://www.cve.mitre.org/">MITRE
+ CVE</link>.</para>
</callout>
<callout arearefs="co-vx-bid">
<para>Это
- <ulink url="http://www.securityfocus.com/bid">SecurityFocus
- Bug ID</ulink>.</para>
+ <link xlink:href="http://www.securityfocus.com/bid">SecurityFocus
+ Bug ID</link>.</para>
</callout>
<callout arearefs="co-vx-cts">
<para>Бюллетень безопасности
- <ulink url="http://www.cert.org/">US-CERT</ulink>.</para>
+ <link xlink:href="http://www.cert.org/">US-CERT</link>.</para>
</callout>
<callout arearefs="co-vx-ctv">
<para>Примечание к уязвимости
- <ulink url="http://www.cert.org/">US-CERT</ulink>.</para>
+ <link xlink:href="http://www.cert.org/">US-CERT</link>.</para>
</callout>
<callout arearefs="co-vx-ucs">
<para>Уведомление системы Cyber Security Alert
- <ulink url="http://www.cert.org/">US-CERT</ulink>.</para>
+ <link xlink:href="http://www.cert.org/">US-CERT</link>.</para>
</callout>
<callout arearefs="co-vx-uct">
<para>Уведомление системы Technical Cyber Security Alert
- <ulink url="http://www.cert.org/">US-CERT</ulink>.</para>
+ <link xlink:href="http://www.cert.org/">US-CERT</link>.</para>
</callout>
<callout arearefs="co-vx-mls">
@@ -11350,7 +11249,7 @@ as .putsy.conf and edit it.</programlisting>
</calloutlist>
</sect2>
- <sect2 id="security-notify-vuxml-testing">
+ <sect2 xml:id="security-notify-vuxml-testing">
<title>Тестирование ваших изменений в базе данных VuXML</title>
<para>Предположим, что вы только что написали или заполнили запись
@@ -11359,24 +11258,24 @@ as .putsy.conf and edit it.</programlisting>
<para>Прежде всего, вам нужно <emphasis>установить</emphasis>
последние версии портов
- <filename role="package">ports-mgmt/portaudit</filename>,
- <filename role="package">ports-mgmt/portaudit-db</filename> и
- <filename role="package">security/vuxml</filename>.</para>
+ <package>ports-mgmt/portaudit</package>,
+ <package>ports-mgmt/portaudit-db</package> и
+ <package>security/vuxml</package>.</para>
<note>
<para>Для запуска <command>packaudit</command> вы должны обладать
правами на запись в
- <filename><makevar>DATABASEDIR</makevar></filename>; как правило,
+ <filename>DATABASEDIR</filename>; как правило,
это <filename>/var/db/portaudit</filename>.</para>
<para>Для использования другого каталога присвойте переменной
- окружения <filename><makevar>DATABASEDIR</makevar></filename>
+ окружения <filename>DATABASEDIR</filename>
другой путь.</para>
<para>Если вы работаете в каталоге, отличном от
<filename>${PORTSDIR}/security/vuxml</filename>, присвойте
переменной окружения
- <filename><makevar>VUXMLDIR</makevar></filename> путь к каталогу,
+ <filename>VUXMLDIR</filename> путь к каталогу,
в котором находится <filename>vuln.xml</filename>.</para>
</note>
@@ -11399,8 +11298,8 @@ as .putsy.conf and edit it.</programlisting>
<note>
<para>Вам понадобится установить по крайней мере один из следующих
- пакетов: <filename role="package">textproc/libxml2</filename>,
- <filename role="package">textproc/jade</filename>.</para>
+ пакетов: <package>textproc/libxml2</package>,
+ <package>textproc/jade</package>.</para>
</note>
<para>Теперь выполните перепостроение базы данных
@@ -11412,7 +11311,7 @@ as .putsy.conf and edit it.</programlisting>
в вашей записи совпадает с правильными пакетами, выполните
следующую команду:</para>
- <screen>&prompt.user; <userinput>portaudit -f /usr/ports/INDEX -r <replaceable>uuid</replaceable></userinput></screen>
+ <screen>&prompt.user; <userinput>portaudit -f /usr/ports/INDEX -r uuid</userinput></screen>
<note>
<para>Для лучшего понимания синтаксиса этой команды обращайтесь
@@ -11445,59 +11344,56 @@ Reference: &lt;http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
</sect1>
</chapter>
- <chapter id="porting-dads">
+ <chapter xml:id="porting-dads">
<title>Что делать нужно, и что делать нельзя</title>
- <sect1 id="dads-intro">
+ <sect1 xml:id="dads-intro">
<title>Введение</title>
<para>Вот список часто встречающихся действий, которые нужно и которые
нельзя делать во время процесса портирования. Вы должны проверять ваш
- порт по этому списку, и вы также можете проверять порты в <ulink
- url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">базе
- сообщений PR</ulink>, которые присланы другими людьми. Присылайте
+ порт по этому списку, и вы также можете проверять порты в <link xlink:href="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">базе
+ сообщений PR</link>, которые присланы другими людьми. Присылайте
любые комментарии о портах, которые вы проверили, так, как это описано
- в статье о <ulink
- url="&url.articles.contributing;/contrib-how.html#CONTRIB-GENERAL">
- Сообщениях об ошибках и общих замечаниях</ulink>. Проверка портов в
+ в статье о <link xlink:href="&url.articles.contributing;/contrib-how.html#CONTRIB-GENERAL">
+ Сообщениях об ошибках и общих замечаниях</link>. Проверка портов в
базе сообщений PR позволит нам быстрее коммиттить их и удостовериться,
что вы знаете, что делаете.</para>
</sect1>
- <sect1 id="porting-wrkdir">
- <title><makevar>WRKDIR</makevar></title>
+ <sect1 xml:id="porting-wrkdir">
+ <title><varname>WRKDIR</varname></title>
- <para>Не пишите ничего в файлы вне каталога <makevar>WRKDIR</makevar>.
- Каталог <makevar>WRKDIR</makevar> является единственным местом,
+ <para>Не пишите ничего в файлы вне каталога <varname>WRKDIR</varname>.
+ Каталог <varname>WRKDIR</varname> является единственным местом,
которое гарантированно будет доступно для записи во время построения
- порта (обратитесь к главе о <ulink
- url="&url.books.handbook;/ports-using.html#PORTS-CD">установке портов с
- CDROM</ulink> за
+ порта (обратитесь к главе о <link xlink:href="&url.books.handbook;/ports-using.html#PORTS-CD">установке портов с
+ CDROM</link> за
примером построения портов из дерева, доступного только для чтения).
Если вам нужно изменить какой-либо из файлов
- <filename>pkg-<replaceable>*</replaceable></filename>, сделайте это,
+ <filename>pkg-*</filename>, сделайте это,
<link linkend="porting-pkgfiles">переопределив переменную</link>, но не
перезаписывая их.</para>
</sect1>
- <sect1 id="porting-wrkdirprefix">
- <title><makevar>WRKDIRPREFIX</makevar></title>
+ <sect1 xml:id="porting-wrkdirprefix">
+ <title><varname>WRKDIRPREFIX</varname></title>
<para>Добейтесь того, чтобы ваш порт принимал во внимание значение
- переменной <makevar>WRKDIRPREFIX</makevar>. Большинство портов об
+ переменной <varname>WRKDIRPREFIX</varname>. Большинство портов об
этом не заботятся. В частности, если вы обращаетесь к каталогу
- <makevar>WRKDIR</makevar> другого порта, заметьте, что его правильным
+ <varname>WRKDIR</varname> другого порта, заметьте, что его правильным
местоположением является
- <filename><makevar>WRKDIRPREFIX</makevar><makevar>PORTSDIR</makevar>/<replaceable>subdir</replaceable>/<replaceable>name</replaceable>/work</filename> not <filename><makevar>PORTSDIR</makevar>/<replaceable>subdir</replaceable>/work</filename>
- или <filename><makevar>.CURDIR</makevar>/../../<replaceable>subdir</replaceable>/<replaceable>name</replaceable>/work</filename>
+ <filename>WRKDIRPREFIXPORTSDIR/subdir/name/work</filename> not <filename>PORTSDIR/subdir/work</filename>
+ или <filename>.CURDIR/../../subdir/name/work</filename>
или что-то подобное.</para>
- <para>Кроме того, если вы сами задаете <makevar>WRKDIR</makevar>, то
+ <para>Кроме того, если вы сами задаете <varname>WRKDIR</varname>, то
должны поставить перед ним знак
<literal>&dollar;{WRKDIRPREFIX}&dollar;{.CURDIR}</literal>.</para>
</sect1>
- <sect1 id="porting-versions">
+ <sect1 xml:id="porting-versions">
<title>Различение операционных систем и версий ОС</title>
<para>Вы можете встретиться с кодом, который требует модификаций
@@ -11505,8 +11401,7 @@ Reference: &lt;http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
Unix он работает. Предпочтительным способом отделения кода для
версий &os; является использование макросов
<literal>__FreeBSD_version</literal> и
- <literal>__FreeBSD__</literal>, определённых в файле <ulink
- url="http://svnweb.freebsd.org/base/head/sys/sys/param.h?view=markup">sys/param.h</ulink>.
+ <literal>__FreeBSD__</literal>, определённых в файле <link xlink:href="http://svnweb.freebsd.org/base/head/sys/sys/param.h?view=markup">sys/param.h</link>.
Если этот файл не подключен, добавьте код</para>
<programlisting>#include &lt;sys/param.h&gt;</programlisting>
@@ -11526,7 +11421,7 @@ Reference: &lt;http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
</para>
</sect1>
- <sect1 id="dads-after-port-mk">
+ <sect1 xml:id="dads-after-port-mk">
<title>Написание чего-либо после
<filename>bsd.port.mk</filename></title>
@@ -11565,44 +11460,42 @@ Reference: &lt;http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
<tbody>
<row>
- <entry><makevar>ARCH</makevar></entry>
+ <entry><varname>ARCH</varname></entry>
<entry>Архитектура машины в виде, получаемом по команде
<command>uname -m</command> (например,
<literal>i386</literal>)</entry>
</row>
<row>
- <entry><makevar>OPSYS</makevar></entry>
+ <entry><varname>OPSYS</varname></entry>
<entry>Тип операционной системы, получаемый по команде
<command>uname -s</command> (например,
<literal>FreeBSD</literal>)</entry>
</row>
<row>
- <entry><makevar>OSREL</makevar></entry>
+ <entry><varname>OSREL</varname></entry>
<entry>Версия релиза операционной системы (например,
<literal>2.1.5</literal> или <literal>2.2.7</literal>)</entry>
</row>
<row>
- <entry><makevar>OSVERSION</makevar></entry>
+ <entry><varname>OSVERSION</varname></entry>
- <entry>Версия операционной системы в виде числа, та же, что и <link
- linkend="freebsd-versions">
+ <entry>Версия операционной системы в виде числа, та же, что и <link linkend="freebsd-versions">
<literal>__FreeBSD_version</literal></link>.</entry>
</row>
<row>
- <entry><makevar>LOCALBASE</makevar></entry>
+ <entry><varname>LOCALBASE</varname></entry>
<entry>Корень дерева <quote>local</quote> (например,
<literal>/usr/local</literal>)</entry>
</row>
<row>
- <entry><makevar>PREFIX</makevar></entry>
- <entry>Куда, собственно, устанавливается порт (обратитесь к <link
- linkend="porting-prefix">
- подробной информации о <makevar>PREFIX</makevar></link>).</entry>
+ <entry><varname>PREFIX</varname></entry>
+ <entry>Куда, собственно, устанавливается порт (обратитесь к <link linkend="porting-prefix">
+ подробной информации о <varname>PREFIX</varname></link>).</entry>
</row>
</tbody>
</tgroup>
@@ -11610,7 +11503,7 @@ Reference: &lt;http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
<note>
<para>Если вы задаете переменную
- <makevar>MASTERDIR</makevar>, делайте это до
+ <varname>MASTERDIR</varname>, делайте это до
подключения <filename>bsd.port.pre.mk</filename>.</para>
</note>
@@ -11627,7 +11520,7 @@ BROKEN= perl is in system
не так ли? <!-- улыбка -->:-).</para>
</sect1>
- <sect1 id="dads-sh-exec">
+ <sect1 xml:id="dads-sh-exec">
<title>Использование выражения <function>exec</function>
в сценариях обёртках</title>
@@ -11647,7 +11540,7 @@ exec %%LOCALBASE%%/bin/java -jar %%DATADIR%%/foo.jar "$@"</programlisting>
</sect1>
- <sect1 id="dads-rational">
+ <sect1 xml:id="dads-rational">
<title>Поступайте разумно</title>
<para>Файл <filename>Makefile</filename> должен выполнять действия
@@ -11656,9 +11549,9 @@ exec %%LOCALBASE%%/bin/java -jar %%DATADIR%%/foo.jar "$@"</programlisting>
можно привести использование конструкций <literal>.if</literal>
утилиты make вместо соответствующей конструкции <literal>if</literal>
командного процессора, ненужность переопределения цели
- <maketarget>do-extract</maketarget> при возможности переопределения
- <makevar>EXTRACT*</makevar> и использование
- <makevar>GNU_CONFIGURE</makevar> вместо
+ <buildtarget>do-extract</buildtarget> при возможности переопределения
+ <varname>EXTRACT*</varname> и использование
+ <varname>GNU_CONFIGURE</varname> вместо
<literal>CONFIGURE_ARGS+= --prefix=&dollar;{PREFIX}</literal>.</para>
<para>Если вы обнаружите, что для выполнения чего-то приходится писать
@@ -11669,12 +11562,12 @@ exec %%LOCALBASE%%/bin/java -jar %%DATADIR%%/foo.jar "$@"</programlisting>
<filename>bsd.port.mk</filename> уже содержит быстрое решение.</para>
</sect1>
- <sect1 id="dads-cc">
- <title>Работа как с <makevar>CC</makevar>, так и
- <makevar>CXX</makevar></title>
+ <sect1 xml:id="dads-cc">
+ <title>Работа как с <varname>CC</varname>, так и
+ <varname>CXX</varname></title>
<para>Порт должен принимать во внимание как переменную
- <makevar>CC</makevar>, так и <makevar>CXX</makevar>.
+ <varname>CC</varname>, так и <varname>CXX</varname>.
Под этим мы подразумеваем, что порт ни в коем случае не должен
устанавливать значения этих переменных, переопределяя имеющиеся
значения; вместо этого можно добавлять нужные значения к уже
@@ -11686,22 +11579,22 @@ exec %%LOCALBASE%%/bin/java -jar %%DATADIR%%/foo.jar "$@"</programlisting>
в файл <filename>Makefile</filename>.</para>
<para>Далее следует пример файла <filename>Makefile</filename>,
- использующего как переменную <makevar>CC</makevar>, так и
- <makevar>CXX</makevar>. Обратите внимание на использование символов
- <makevar>?=</makevar>:</para>
+ использующего как переменную <varname>CC</varname>, так и
+ <varname>CXX</varname>. Обратите внимание на использование символов
+ <varname>?=</varname>:</para>
<programlisting>CC?= gcc</programlisting>
<programlisting>CXX?= g++</programlisting>
<para>Вот пример, в котором не принимаются во внимание ни переменная
- <makevar>CC</makevar>, ни <makevar>CXX</makevar>:</para>
+ <varname>CC</varname>, ни <varname>CXX</varname>:</para>
<programlisting>CC= gcc</programlisting>
<programlisting>CXX= g++</programlisting>
- <para>Обе переменные <makevar>CC</makevar> и <makevar>CXX</makevar>
+ <para>Обе переменные <varname>CC</varname> и <varname>CXX</varname>
могут быть определены в системах FreeBSD в файле
<filename>/etc/make.conf</filename>. В первом примере задаётся
значение, если оно ранее не было определено в
@@ -11710,11 +11603,11 @@ exec %%LOCALBASE%%/bin/java -jar %%DATADIR%%/foo.jar "$@"</programlisting>
что было задано ранее.</para>
</sect1>
- <sect1 id="dads-cflags">
- <title>Использование <makevar>CFLAGS</makevar></title>
+ <sect1 xml:id="dads-cflags">
+ <title>Использование <varname>CFLAGS</varname></title>
<para>Порт должен принимать во внимание переменную
- <makevar>CFLAGS</makevar>.
+ <varname>CFLAGS</varname>.
Под этим мы подразумеваем, что порт ни в коем случае не должен
устанавливать значения этих переменных, переопределяя имеющиеся
значения; вместо этого можно добавлять нужные значения к уже
@@ -11726,29 +11619,29 @@ exec %%LOCALBASE%%/bin/java -jar %%DATADIR%%/foo.jar "$@"</programlisting>
<filename>Makefile</filename>.</para>
<para>Далее следует пример файла <filename>Makefile</filename>,
- использующего переменную <makevar>CFLAGS</makevar>. Обратите
- внимание на использование символов <makevar>+=</makevar>:</para>
+ использующего переменную <varname>CFLAGS</varname>. Обратите
+ внимание на использование символов <varname>+=</varname>:</para>
<programlisting>
CFLAGS+= -Wall -Werror
</programlisting>
<para>А вот пример, в котором не учитывается значение переменной
- <makevar>CFLAGS</makevar>:</para>
+ <varname>CFLAGS</varname>:</para>
<programlisting>
CFLAGS= -Wall -Werror
</programlisting>
- <para>В системе FreeBSD переменная <makevar>CFLAGS</makevar> определена
+ <para>В системе FreeBSD переменная <varname>CFLAGS</varname> определена
в файле <filename>/etc/make.conf</filename>. В первом примере к
- переменной <makevar>CFLAGS</makevar> добавляются дополнительные флаги,
+ переменной <varname>CFLAGS</varname> добавляются дополнительные флаги,
при этом сохраняются все определения, данные ранее на уровне системы.
Во втором примере всё, что было задано ранее, игнорируется.</para>
<para>Из сторонних файлов <filename>Makefile</filename> следует удалить
флаги оптимизации. Общесистемные флаги оптимизации находятся в
- системной переменной <makevar>CFLAGS</makevar>. Пример из
+ системной переменной <varname>CFLAGS</varname>. Пример из
немодифицированного <filename>Makefile</filename>:</para>
<programlisting>CFLAGS= -O3 -funroll-loops -DHAVE_SOUND</programlisting>
@@ -11760,7 +11653,7 @@ CFLAGS= -Wall -Werror
</sect1>
- <sect1 id="dads-pthread">
+ <sect1 xml:id="dads-pthread">
<title>Библиотеки потоков</title>
<para>Во &os; библиотека потоков обязана быть скомпонована с
@@ -11775,14 +11668,14 @@ CFLAGS= -Wall -Werror
<literal>unrecognized option '-pthread'</literal>,
то может быть желательно использование <command>cc</command>
в качестве компоновщика через установку
- <makevar>CONFIGURE_ENV</makevar> в <literal>LD=${CC}</literal>.
+ <varname>CONFIGURE_ENV</varname> в <literal>LD=${CC}</literal>.
Параметр <literal>-pthread</literal> напрямую командой
<command>ld</command> не поддерживается.</para>
</note>
</sect1>
- <sect1 id="dads-freedback">
+ <sect1 xml:id="dads-freedback">
<title>Пожелания</title>
<para>Посылайте подходящие изменения/патчи авторам/сопровождающему
@@ -11790,7 +11683,7 @@ CFLAGS= -Wall -Werror
гораздо легче при выходе следующего релиза.</para>
</sect1>
- <sect1 id="dads-readme">
+ <sect1 xml:id="dads-readme">
<title><filename>README.html</filename></title>
<para>Не включайте сюда файл <filename>README.html</filename>. Этот файл
@@ -11799,14 +11692,14 @@ CFLAGS= -Wall -Werror
<note>
<para>Если не удается выполнить <command>make readme</command>,
- убедитесь, что значение по умолчанию <makevar>ECHO_MSG</makevar>
+ убедитесь, что значение по умолчанию <varname>ECHO_MSG</varname>
не было изменено внутри порта.</para>
</note>
</sect1>
- <sect1 id="dads-noinstall">
- <title>Пометка неустанавливаемого порта как <makevar>BROKEN</makevar>,
- <makevar>FORBIDDEN</makevar> или <makevar>IGNORE</makevar></title>
+ <sect1 xml:id="dads-noinstall">
+ <title>Пометка неустанавливаемого порта как <varname>BROKEN</varname>,
+ <varname>FORBIDDEN</varname> или <varname>IGNORE</varname></title>
<para>В некоторых случаях пользователи не должны допускаться к
установке порта. Для того, чтобы сообщить пользователю, что порт
@@ -11823,12 +11716,12 @@ CFLAGS= -Wall -Werror
<link linkend="freshports">FreshPorts</link> и
<link linkend="portsmon">portsmon</link>.</para>
- <sect2 id="dads-noinstall-variables">
+ <sect2 xml:id="dads-noinstall-variables">
<title>Переменные</title>
<itemizedlist>
<listitem>
- <para><makevar>BROKEN</makevar> предназначена для портов, которые
+ <para><varname>BROKEN</varname> предназначена для портов, которые
в настоящее время не компилируются, не устанавливаются или не
удаляются правильно. Следует использовать для портов,
когда проблема считается временной.</para>
@@ -11839,7 +11732,7 @@ CFLAGS= -Wall -Werror
запускается без этой возможности.)</para>
<para>В частности, используйте
- <makevar>BROKEN</makevar>, когда порт:</para>
+ <varname>BROKEN</varname>, когда порт:</para>
<itemizedlist>
<listitem>
@@ -11867,13 +11760,13 @@ CFLAGS= -Wall -Werror
</listitem>
<listitem>
- <para><makevar>FORBIDDEN</makevar> используется для портов, которые
+ <para><varname>FORBIDDEN</varname> используется для портов, которые
содержат уязвимости в информационной безопасности или
являются потенциально вредными в плане обеспечения информационной
безопасности системы FreeBSD при установке данного порта
(например: заведомо небезопасная программа или программа, которая
предоставляет легко взламываемые сервисы). Порты должны
- помечаться как <makevar>FORBIDDEN</makevar>, как только в
+ помечаться как <varname>FORBIDDEN</varname>, как только в
конкретном программном обеспечении обнаружилась уязвимость, но
обновление выпущено не было. В идеальном случае порты должны
обновляться максимально быстро после обнаружения уязвимости,
@@ -11881,18 +11774,18 @@ CFLAGS= -Wall -Werror
репутацию безопасной системы), однако иногда случается
значительный временной разрыв между обнаружением уязвимости и
выходом обновлённого релиза уязвимого программного обеспечения.
- Не помечайте порт как <makevar>FORBIDDEN</makevar>, если причина
+ Не помечайте порт как <varname>FORBIDDEN</varname>, если причина
не вызвана соображениями информационной безопасности.</para>
</listitem>
<listitem>
- <para><makevar>IGNORE</makevar> предназначена для портов, которые
+ <para><varname>IGNORE</varname> предназначена для портов, которые
не должны строиться по какой-либо другой причине. Следует
использовать для портов, в случае когда проблема считает
конструктивной. Кластер построения
ни при каких условиях не будет строить порты, помеченные как
- <makevar>IGNORE</makevar>. В частности, используйте
- <makevar>IGNORE</makevar>, когда порт:</para>
+ <varname>IGNORE</varname>. В частности, используйте
+ <varname>IGNORE</varname>, когда порт:</para>
<itemizedlist>
<listitem>
@@ -11915,9 +11808,8 @@ CFLAGS= -Wall -Werror
<listitem>
<para>не работает с каким-либо другим портом, установленным
- в настоящее время (например, порт зависит от <filename
- role="package">www/apache20</filename>, но установлен
- <filename role="package">www/apache22</filename>)
+ в настоящее время (например, порт зависит от <package>www/apache20</package>, но установлен
+ <package>www/apache22</package>)
</para>
</listitem>
</itemizedlist>
@@ -11927,46 +11819,46 @@ CFLAGS= -Wall -Werror
(например, если они устанавливают файл в то же место, но
с иным функциональным назначением), то
<link linkend="conflicts">используйте
- вместо этого <makevar>CONFLICTS</makevar></link>.
- <makevar>CONFLICTS</makevar> сам установит значение
- <makevar>IGNORE</makevar>.</para>
+ вместо этого <varname>CONFLICTS</varname></link>.
+ <varname>CONFLICTS</varname> сам установит значение
+ <varname>IGNORE</varname>.</para>
</note>
</listitem>
<listitem>
- <para>Если порт нужно пометить как <makevar>IGNORE</makevar>
+ <para>Если порт нужно пометить как <varname>IGNORE</varname>
только на некоторых архитектурах, для этого есть две другие
удобные переменные, которые автоматически установят для вас
- значения: <makevar>ONLY_FOR_ARCHS</makevar> и
- <makevar>NOT_FOR_ARCHS</makevar>. Примеры:</para>
+ значения: <varname>ONLY_FOR_ARCHS</varname> и
+ <varname>NOT_FOR_ARCHS</varname>. Примеры:</para>
<programlisting>ONLY_FOR_ARCHS= i386 amd64</programlisting>
<programlisting>NOT_FOR_ARCHS= ia64 sparc64</programlisting>
- <para>Собственное сообщение <makevar>IGNORE</makevar> можно задать
- с использованием <makevar>ONLY_FOR_ARCHS_REASON</makevar> и
- <makevar>NOT_FOR_ARCHS_REASON</makevar>. Отдельно для каждой
+ <para>Собственное сообщение <varname>IGNORE</varname> можно задать
+ с использованием <varname>ONLY_FOR_ARCHS_REASON</varname> и
+ <varname>NOT_FOR_ARCHS_REASON</varname>. Отдельно для каждой
архитектуры это возможно с использованием
- <makevar>ONLY_FOR_ARCHS_REASON_<replaceable>ARCH</replaceable></makevar>
+ <varname>ONLY_FOR_ARCHS_REASON_<replaceable>ARCH</replaceable></varname>
и
- <makevar>NOT_FOR_ARCHS_REASON_<replaceable>ARCH</replaceable></makevar>.</para>
+ <varname>NOT_FOR_ARCHS_REASON_<replaceable>ARCH</replaceable></varname>.</para>
</listitem>
<listitem>
<para>Если порт загружает и устанавливает исполняемые файлы i386,
- то следует установить <makevar>IA32_BINARY_PORT</makevar>.
+ то следует установить <varname>IA32_BINARY_PORT</varname>.
Если эта переменная установлена, будет выполнена проверка
доступности каталога <filename>/usr/lib32</filename> для
библиотек версии IA32 и поддержки IA32 в ядре. При невыполнении
любого из этих условий будет автоматически установлена
- переменная <makevar>IGNORE</makevar>.</para>
+ переменная <varname>IGNORE</varname>.</para>
</listitem>
</itemizedlist>
</sect2>
- <sect2 id="dads-noinstall-notes">
+ <sect2 xml:id="dads-noinstall-notes">
<title>Замечания по реализации</title>
<para>Строки не следует брать в кавычки.
@@ -11986,24 +11878,24 @@ CFLAGS= -Wall -Werror
</sect2>
</sect1>
- <sect1 id="dads-deprecated">
- <title>Пометка порта на удаление с <makevar>DEPRECATED</makevar>
- или <makevar>EXPIRATION_DATE</makevar></title>
+ <sect1 xml:id="dads-deprecated">
+ <title>Пометка порта на удаление с <varname>DEPRECATED</varname>
+ или <varname>EXPIRATION_DATE</varname></title>
- <para>Помните, что <makevar>BROKEN</makevar> и
- <makevar>FORBIDDEN</makevar> будут использованы как временное
+ <para>Помните, что <varname>BROKEN</varname> и
+ <varname>FORBIDDEN</varname> будут использованы как временное
средство, если порт не является работающим. Постоянно
неработоспособные порты должны полностью удаляться из дерева.</para>
<para>В подходящих ситуациях пользователи могут быть оповещены о
- предстоящем удалении через переменные <makevar>DEPRECATED</makevar>
- и <makevar>EXPIRATION_DATE</makevar>. Первое - это просто строка,
+ предстоящем удалении через переменные <varname>DEPRECATED</varname>
+ и <varname>EXPIRATION_DATE</varname>. Первое - это просто строка,
сообщающая причину запланированного удаления порта; вторая является
строкой в формате ISO 8601 (YYYY-MM-DD). Обе будут показаны
пользователю.</para>
- <para>Переменную <makevar>DEPRECATED</makevar> можно установить без
- использования <makevar>EXPIRATION_DATE</makevar> (в частности, при
+ <para>Переменную <varname>DEPRECATED</varname> можно установить без
+ использования <varname>EXPIRATION_DATE</varname> (в частности, при
рекомендации новой версии порта), но обратный порядок не имеет
никакого смысла.</para>
@@ -12014,7 +11906,7 @@ CFLAGS= -Wall -Werror
коммиттерам.</para>
</sect1>
- <sect1 id="dads-dot-error">
+ <sect1 xml:id="dads-dot-error">
<title>Избегайте использования конструкции
<literal>.error</literal></title>
@@ -12022,19 +11914,18 @@ CFLAGS= -Wall -Werror
о том, что порт не может быть установлен из-за какого-то внешнего
фактора (например, пользователь указал недопустимую комбинацию
опций построения), является установка непустого значения для
- <makevar>IGNORE</makevar>. Это значение будет сформатировано и
+ <varname>IGNORE</varname>. Это значение будет сформатировано и
показано пользователю во время <command>make install</command>.</para>
<para>Использование для этих целей <literal>.error</literal> является
распространенной ошибкой. Проблема в том, что в этой ситуации
будут повреждены многие инструменты автоматизации, работающие с
деревом портов. Наибольшим образом это распространено при попытке
- построить <filename>/usr/ports/INDEX</filename> (смотрите <xref
- linkend="make-describe"/>). Тем не менее, даже более простые команды,
+ построить <filename>/usr/ports/INDEX</filename> (смотрите <xref linkend="make-describe"/>). Тем не менее, даже более простые команды,
такие как <command>make maintainer</command>, в этом случае также
вернут ошибку. Это не является приемлемым.</para>
- <example id="dot-error-breaks-index">
+ <example xml:id="dot-error-breaks-index">
<title>Как избегать использование <literal>.error</literal></title>
<para>Предположим, что кто-то поместил строку</para>
@@ -12055,7 +11946,7 @@ IGNORE=POINTYHAT is not supported
</sect1>
- <sect1 id="dads-sysctl">
+ <sect1 xml:id="dads-sysctl">
<title>Использование <filename>sysctl</filename></title>
<para>Использование <filename>sysctl</filename> не рекомендуется,
@@ -12065,11 +11956,11 @@ IGNORE=POINTYHAT is not supported
команды, еще больше замедляет весь процесс.</para>
<para>&man.sysctl.8; следует всегда использовать через переменную
- <makevar>SYSCTL</makevar>, поскольку она содержит полностью заданный
+ <varname>SYSCTL</varname>, поскольку она содержит полностью заданный
путь, и при необходимости может быть переопределена.</para>
</sect1>
- <sect1 id="dads-rerolling-distfiles">
+ <sect1 xml:id="dads-rerolling-distfiles">
<title>Меняющиеся дистрибутивные файлы</title>
<para>Иногда авторы программного обеспечения меняют содержимое
@@ -12090,7 +11981,7 @@ IGNORE=POINTYHAT is not supported
обеспечения для подтверждения изменений.</para>
</sect1>
- <sect1 id="dads-avoiding-linuxisms">
+ <sect1 xml:id="dads-avoiding-linuxisms">
<title>Избегание линуксизмов</title>
<para>Не используйте <filename>/proc</filename>, если доступны
@@ -12132,9 +12023,8 @@ IGNORE=POINTYHAT is not supported
конфигурации, и если требуемое поведение не найдено,
прекращайте выполнение.</para>
- <para>Используйте <ulink
- url="http://www.freebsd.org/cgi/man.cgi">страницы
- справочника</ulink> для проверки, относится ли функция к
+ <para>Используйте <link xlink:href="http://www.freebsd.org/cgi/man.cgi">страницы
+ справочника</link> для проверки, относится ли функция к
интерфейсу <acronym>POSIX</acronym> (ищите раздел
<quote>STANDARDS</quote> на странице справочника).</para>
@@ -12145,11 +12035,10 @@ IGNORE=POINTYHAT is not supported
<acronym>POSIX</acronym>-совместимой оболочке.</para>
<para>Список основных <application>bash</application>-измов
- расположен <ulink
- url="https://wiki.ubuntu.com/DashAsBinSh">здесь</ulink>.</para>
+ расположен <link xlink:href="https://wiki.ubuntu.com/DashAsBinSh">здесь</link>.</para>
<para>Не используйте <literal>#include
- <filename>&lt;stdint.h&gt;</filename></literal>, если
+ &lt;stdint.h&gt;</literal>, если
достаточно подключить <filename>inttypes.h</filename>. Это
позволит убедиться, что программное обеспечение собирается на
более старых версиях &os;.</para>
@@ -12165,7 +12054,7 @@ IGNORE=POINTYHAT is not supported
как-либо ещё.</para>
</sect1>
- <sect1 id="dads-misc">
+ <sect1 xml:id="dads-misc">
<title>Разное</title>
<para>Файлы <filename>pkg-descr</filename> и
@@ -12182,7 +12071,7 @@ IGNORE=POINTYHAT is not supported
</chapter>
- <chapter id="porting-samplem">
+ <chapter xml:id="porting-samplem">
<title>Примерный <filename>Makefile</filename></title>
<para>Вот примерный <filename>Makefile</filename>, который можно
@@ -12192,8 +12081,7 @@ IGNORE=POINTYHAT is not supported
<para>Вам рекомендуется следовать этому формату (соблюдая порядок
следования переменных, пустые строки между разделами, и так далее).
Этот формат разработан для того, чтобы важная информация была легко
- найдена. Мы рекомендуем вам воспользоваться утилитой <link
- linkend="porting-portlint">portlint</link> для проверки файла
+ найдена. Мы рекомендуем вам воспользоваться утилитой <link linkend="porting-portlint">portlint</link> для проверки файла
<filename>Makefile</filename>.</para>
<programlisting>[заголовок...просто чтобы нам было легче идентифицировать порт.]
@@ -12283,19 +12171,19 @@ pre-install:
</chapter>
- <chapter id="keeping-up">
+ <chapter xml:id="keeping-up">
<title>Актуализация</title>
<para>Коллекция Портов &os; постоянно изменяется. Здесь находится
некоторая информация о том, как поддерживать её в актуальном
состоянии.</para>
- <sect1 id="freshports">
+ <sect1 xml:id="freshports">
<title>FreshPorts</title>
<para>Самым простым способом отслеживать уже произошедшие обновления
- является подписка на <ulink url="http://www.FreshPorts.org/">
- FreshPorts</ulink>. Для мониторинга вы можете выбрать несколько
+ является подписка на <link xlink:href="http://www.FreshPorts.org/">
+ FreshPorts</link>. Для мониторинга вы можете выбрать несколько
портов. Мейнтейнерам настоятельно рекомендуется подписаться здесь,
потому что они будут получать уведомления не только о собственных
изменениях, но и об изменениях, сделанных любым другим коммиттером
@@ -12323,23 +12211,20 @@ pre-install:
внесённых вами изменений.</para>
</sect1>
- <sect1 id="svnweb">
+ <sect1 xml:id="svnweb">
<title>Web-интерфейс к хранилищу исходных текстов</title>
<para>Файлы в хранилище исходных текстов можно просматривать при помощи
Web-интерфейса. Изменения, которые касаются в целом всей системы
- портов, теперь документируются в файле <ulink
- url="http://svnweb.FreeBSD.org/ports/head/CHANGES">CHANGES</ulink>.
+ портов, теперь документируются в файле <link xlink:href="http://svnweb.FreeBSD.org/ports/head/CHANGES">CHANGES</link>.
Изменения, касающиеся отдельных портов, отражаются теперь в
- файле <ulink
- url="http://svnweb.FreeBSD.org/ports/head/UPDATING">UPDATING</ulink>.
+ файле <link xlink:href="http://svnweb.FreeBSD.org/ports/head/UPDATING">UPDATING</link>.
Однако однозначный ответ на любой вопрос можно найти, только
- прочитав исходных код <ulink
- url="http://svnweb.FreeBSD.org/ports/head/Mk/bsd.port.mk">bsd.port.mk</ulink>
+ прочитав исходных код <link xlink:href="http://svnweb.FreeBSD.org/ports/head/Mk/bsd.port.mk">bsd.port.mk</link>
и связанных с ним файлов.</para>
</sect1>
- <sect1 id="ports-mailling-list">
+ <sect1 xml:id="ports-mailling-list">
<title>Список рассылки &os;, посвящённый портам</title>
<para>Если вы поддерживаете порты, то должны следить за &a.ports;.
@@ -12351,34 +12236,33 @@ pre-install:
и не является местом для дискуссий.</para>
</sect1>
- <sect1 id="build-cluster">
+ <sect1 xml:id="build-cluster">
<title>Кластер построения портов &os; на
- <hostid role="hostname">pointyhat.FreeBSD.org</hostid></title>
+ <systemitem class="fqdomainname">pointyhat.FreeBSD.org</systemitem></title>
<para>Одной из наименее известных сильных сторон &os; является тот
факт, что для непрерывного построения Коллекции Портов для каждого
из основных релизов ОС для каждой архитектуры уровня поддержки
Tier-1 выделен целый кластер машин. Вы можете увидеть результаты
- этих построений в <ulink url="http://pointyhat.FreeBSD.org/">протоколах
- построения пакетов и обнаруженных ошибок</ulink>.</para>
+ этих построений в <link xlink:href="http://pointyhat.FreeBSD.org/">протоколах
+ построения пакетов и обнаруженных ошибок</link>.</para>
<para>Отдельные порты собираются, если они специально не помечены как
- <makevar>IGNORE</makevar>. Для портов, помеченных как
- <makevar>BROKEN</makevar>, попытки будут продолжены для того,
+ <varname>IGNORE</varname>. Для портов, помеченных как
+ <varname>BROKEN</varname>, попытки будут продолжены для того,
чтобы увидеть, если основная проблема была решена. (Это сделано
- через использование переменной <makevar>TRYBROKEN</makevar> для
+ через использование переменной <varname>TRYBROKEN</varname> для
<filename>Makefile</filename> порта.)</para>
</sect1>
- <sect1 id="distfile-survey">
+ <sect1 xml:id="distfile-survey">
<title>Portscout: сканер дистрибутивных файлов портов &os;</title>
<para>Кластер построения выделен для выполнения самого последнего
релиза каждого из портов, дистрибутивные файлы которых уже были
сгружены. Однако из-за постоянных изменений в Internet
- дистрибутивные файлы могут быстро исчезать. <ulink
- url="http://portscout.FreeBSD.org">Portscout</ulink>, средство
+ дистрибутивные файлы могут быстро исчезать. <link xlink:href="http://portscout.FreeBSD.org">Portscout</link>, средство
сканирования дистрибутивных файлов &os; пытается опросить
каждый из сайтов, доступных для сгрузки каждого из портов,
для определения того, доступны ли ещё дистрибутивные файлы.
@@ -12404,15 +12288,14 @@ pre-install:
пользователю выполнять поиск конкретного порта.</para>
<para>По щелчку на название порта в списке отображается информация
- о порте <ulink url="http://freshports.org">FreshPorts</ulink>.</para>
+ о порте <link xlink:href="http://freshports.org">FreshPorts</link>.</para>
</sect1>
- <sect1 id="portsmon">
+ <sect1 xml:id="portsmon">
<title>Система мониторинга портов &os;</title>
- <para>Другим полезным ресурсом является <ulink
- url="http://portsmon.FreeBSD.org">Система мониторинга портов
- FreeBSD</ulink> (известная также как <literal>portsmon</literal>).
+ <para>Другим полезным ресурсом является <link xlink:href="http://portsmon.FreeBSD.org">Система мониторинга портов
+ FreeBSD</link> (известная также как <literal>portsmon</literal>).
Система представляет собой базу данных, обрабатывающую информацию из
нескольких источников и позволяющую просматривать их при помощи
Web-интерфейса. На данный момент задействованы база сообщений об
@@ -12421,9 +12304,8 @@ pre-install:
проверки дистрибутивных файлов и другие ресурсы.</para>
<para>Для начала вы можете просмотреть всю информацию о некотором порте
- при помощи средства <ulink
- url="http://portsmon.FreeBSD.org/portoverview.py">Обзор
- отдельного порта</ulink>.</para>
+ при помощи средства <link xlink:href="http://portsmon.FreeBSD.org/portoverview.py">Обзор
+ отдельного порта</link>.</para>
<para>На момент написания это единственный доступный ресурс, который
для имени порта ставит в соответствие записи PR GNATS.
@@ -12436,14 +12318,14 @@ pre-install:
</sect1>
</chapter>
- <chapter id="appendices">
+ <chapter xml:id="appendices">
<title>Приложения</title>
- <sect1 id="uses-values">
- <title>Значения <makevar>USES</makevar></title>
+ <sect1 xml:id="uses-values">
+ <title>Значения <varname>USES</varname></title>
<table frame="none">
- <title>Значения <makevar>USES</makevar></title>
+ <title>Значения <varname>USES</varname></title>
<tgroup cols="3">
<thead>
@@ -12460,13 +12342,12 @@ pre-install:
</table>
</sect1>
- <sect1 id="freebsd-versions">
+ <sect1 xml:id="freebsd-versions">
<title>Значения <literal>__FreeBSD_version</literal></title>
<para>Ниже для справки приводится перечень значений
<literal>__FreeBSD_version</literal> в виде, который определён в
- <ulink
- url="http://svnweb.FreeBSD.org/base/head/sys/sys/param.h?view=markup">sys/param.h</ulink>:</para>
+ <link xlink:href="http://svnweb.FreeBSD.org/base/head/sys/sys/param.h?view=markup">sys/param.h</link>:</para>
<table frame="none">
<title>Значения <literal>__FreeBSD_version</literal></title>