diff --git a/ru_RU.KOI8-R/books/porters-handbook/Makefile b/ru_RU.KOI8-R/books/porters-handbook/Makefile index a2baf81498..3590f2ed80 100644 --- a/ru_RU.KOI8-R/books/porters-handbook/Makefile +++ b/ru_RU.KOI8-R/books/porters-handbook/Makefile @@ -4,7 +4,7 @@ # $FreeBSD$ # $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/porters-handbook/Makefile,v 1.7 2003/09/26 02:34:16 andy Exp $ # -# Original revision: r42686 +# Original revision: r43849 # # @@ -27,6 +27,21 @@ INSTALL_ONLY_COMPRESSED?= # XML content SRCS= book.xml +SRCS+= porting-why/chapter.xml +SRCS+= new-port/chapter.xml +SRCS+= quick-porting/chapter.xml +SRCS+= slow-porting/chapter.xml +SRCS+= makefiles/chapter.xml +SRCS+= special/chapter.xml +SRCS+= plist/chapter.xml +SRCS+= pkg-files/chapter.xml +SRCS+= testing/chapter.xml +SRCS+= upgrading/chapter.xml +SRCS+= security/chapter.xml +SRCS+= porting-dads/chapter.xml +SRCS+= porting-samplem/chapter.xml +SRCS+= keeping-up/chapter.xml +SRCS+= appendices/chapter.xml SRCS+= uses.xml SRCS+= versions.xml @@ -55,4 +70,14 @@ IMAGES_LIB+= callouts/21.png DOC_PREFIX?= ${.CURDIR}/../../.. +# Entities +SRCS+= chapters.ent + +SYMLINKS= ${DESTDIR} index.html handbook.html + +# Turn on all the chapters. +CHAPTERS?= ${SRCS:M*chapter.xml} + +XMLFLAGS+= ${CHAPTERS:S/\/chapter.xml//:S/^/-i chap./} + .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/ru_RU.KOI8-R/books/porters-handbook/appendices/Makefile b/ru_RU.KOI8-R/books/porters-handbook/appendices/Makefile new file mode 100644 index 0000000000..fabed18c42 --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/appendices/Makefile @@ -0,0 +1,17 @@ +# +# Build the Porters Handbook with just the content from this chapter. +# +# $FreeBSD$ +# +# Original revision: r43840 +# + +CHAPTERS= appendices/chapter.xml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/ru_RU.KOI8-R/books/porters-handbook/appendices/chapter.xml b/ru_RU.KOI8-R/books/porters-handbook/appendices/chapter.xml new file mode 100644 index 0000000000..00e7ce81a5 --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/appendices/chapter.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="koi8-r"?> +<!-- + The FreeBSD Russian Documentation Project + + $FreeBSD$ + + Original revision: r43844 +--> + +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="appendices"> + + <title>����������</title> + + <sect1 xml:id="uses-values"> + <title>�������� <varname>USES</varname></title> + + <table> + <title>�������� <varname>USES</varname></title> + + <tgroup cols="3"> + <thead> + <row> + <entry>������������</entry> + <entry>���������</entry> + <entry>��������</entry> + </row> + </thead> + <tbody valign="top"> + &values.uses; + </tbody> + </tgroup> + </table> + </sect1> + + <sect1 xml:id="freebsd-versions"> + <title>�������� <literal>__FreeBSD_version</literal></title> + + <para>���� ��� ������� ���������� �������� �������� + <literal>__FreeBSD_version</literal> � ����, ������� ������̣� � + <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> + + <tgroup cols="3"> + <thead> + <row> + <entry>��������</entry> + <entry>����</entry> + <entry>�����</entry> + </row> + </thead> + + <tbody> + &values.versions; + </tbody> + </tgroup> + </table> + + <note> + <para>��������, ��� 2.2-STABLE ������ �������������� ���� ��� + <quote>2.2.5-STABLE</quote> ����� 2.2.5-RELEASE. ����� ������� + ������������� ��� � �����, �� �� ������ �������� ��� �� ����� + ����������� ������� ��������� �������/�������, ������� � ������ + 2.2. ��� ����������� ���, ��� ������������ ���������� � ���������� + ������ ������ ������������ ������������� ������� ������ �� �� + �������� ����� �������. ���� �� ������ ������� ����, ��� �� ����� + ���������� � ������ ������� -CURRENT; ��� ����������� ����� ������ + � �������������� �����.</para> + </note> + </sect1> + </chapter> + diff --git a/ru_RU.KOI8-R/books/porters-handbook/book.xml b/ru_RU.KOI8-R/books/porters-handbook/book.xml index 50339b5cbf..e956c545e8 100644 --- a/ru_RU.KOI8-R/books/porters-handbook/book.xml +++ b/ru_RU.KOI8-R/books/porters-handbook/book.xml @@ -3,16 +3,20 @@ "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd" [ <!ENTITY values.uses SYSTEM "uses.xml"> <!ENTITY values.versions SYSTEM "versions.xml"> -]> + <!-- The FreeBSD Russian Documentation Project $FreeBSD$ $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/porters-handbook/book.xml,v 1.136 2006/10/20 09:25:00 marck Exp $ - Original revision: r43827 + Original revision: r43840 --> +<!ENTITY % chapters SYSTEM "chapters.ent"> +%chapters; +]> + <book xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="ru"> @@ -59,12671 +63,19 @@ <releaseinfo>$FreeBSD$</releaseinfo> </info> - <chapter xml:id="why-port"> - <title>��������</title> - - <para>��������� ������ &os; �������� ��������, ������������ - ����������� ������ ��� ��������� ���������� ("������") �� &os;. - ��� � ����� �ӣ ��������� �� &os;, ��� ������� � �������� �������� - ����������� �������������� ����������. ����� ����� ��� � ���� ��� - ������ ������� ���������.</para> - - <para>�� &os; ������ ����� �������� ����� ���� ���� �������� ������� - ������������ ������������ ����, ���� ��� ����� �ݣ ����� �� - ������������—��� �� ����� ����� ������� ������ ���������� �� - �������� ���������, ����� ��� ������.</para> - </chapter> - - <chapter xml:id="own-port"> - <title>��� ������ ������� ����� ����</title> - - <para>����, �� �������������, ��� ������� ����������� ���� ��� - �������� ������������? �����������!</para> - - <para>���� ��������� ��������� �������� �� �������� ������ ����� ��� - &os;. ���� �� ������ �������� ������������ ����, �� ������ - �������� ��, � ����� <xref linkend="port-upgrading"/>.</para> - - <para>���� ���� �������� ������������ ��������, �� ������ ���������� � - ����� <filename>/usr/ports/Mk/bsd.port.mk</filename>, ������� - ���������� � make-���� ������� �����. �� ������ ����������������, � - ���� ���� �� �� ����������� �������� make-������ �����������, �� ���� - �� ������� ������ ����� ������. ����� ����, ���������� ������� ����� - ������, ������ ������ �� ����� &a.ports;.</para> - - <note> - <para>������ ����� ���������� - (<varname><replaceable>VAR</replaceable></varname>), ������� ����� ���� - ��������������, ������� � ���� ���������. ����������� (���� �� ���) - ������� � ������ ����� <filename>/usr/ports/Mk/bsd.port.mk</filename>; - ���������, ������ �����, ���� ��� �������. ��������, ��� - � ���� ����� ������������ ������������� ��������� ���� ���������: - <application>Emacs</application> � <application>Vim</application> - ������ ���������� ��� ��� �������� �����. ��� &man.vi.1;, - ��� � &man.ex.1; ����� ���� ��������� �� ������������� - ����������� �������� ������� ������� <command>:set tabstop=4</command> - ����� �������� �����.</para> - </note> - - <para> - �����, � ���� �� ������ �������? ���������� �� <link xlink:href="http://wiki.freebsd.org/WantedPorts">�������� ����������� - ������</link>, ���� �� ��� �����, ��� �������� �� ������ ��������. - </para> - </chapter> - - <chapter xml:id="quick-porting"> - <title>������� ������������</title> - - <para>� ���� ������� �������, ��� ������� ����� ���� �� ������ ����. - �� ������ ������� ����� ������ �� ����������, ��� ��� ��� ����� ����� - ��������� �������� ������.</para> - - <para>��-������, �������� ������������ tar-���� � ��������� ��� � ������� - <varname>DISTDIR</varname>, ������� �� ��������� ���� �� ��� ����, ��� - <filename>/usr/ports/distfiles</filename>.</para> - - <note> - <para>����� ��������������, ��� ����������� ����������� ������������� - ��� ������� ��� ����, �� ���� ��� ������ ���������� �� ����� ������� - &os; �� ������������� ��������� ������� ���������. ���� - ����������� ���-�� ��������, �� ��� �������� ���������� ����� � � - ���������� �������.</para> - </note> - - <note> - <para>����� ������� ������������ ������������� ���������� - ���������� &man.make.1; <varname>DEVELOPER</varname> � - <filename>/etc/make.conf</filename>.</para> - - <screen>&prompt.root; <userinput>echo DEVELOPER=yes >> /etc/make.conf</userinput></screen> - - <para>��� ��������� �������� <quote>����� ������������</quote>, - � ������� ������������ �������������� ��� ������������� - ���������� ����������� � ������������� ��������� �������������� - �������� ��� ������ ������� <command>make</command>.</para> - </note> - - <sect1 xml:id="porting-makefile"> - <title>�������� ����� <filename>Makefile</filename></title> - - <para>����������� <filename>Makefile</filename> ����� ��������� - �������� ���:</para> - - <programlisting># $FreeBSD$ - -PORTNAME= oneko -PORTVERSION= 1.1b -CATEGORIES= games -MASTER_SITES= ftp://ftp.cs.columbia.edu/archives/X11R5/contrib/ - -MAINTAINER= youremail@example.com -COMMENT= Cat chasing a mouse all over the screen - -.include <bsd.port.mk></programlisting> - - <note> - <para>� ��������� ������� � ��������� <filename>Makefile</filename> - ������������� ����� ����� ����������� �������������� ������, - ����� ��� �������� ����� � ���� ��� ��������. - ��� �������������� ���������� ���� ��������� ���������� - � ��������� � �������� ��������.</para> - </note> - - <para>���������, ������� �� �� ��� ������. �� ��������� �������� �� - ���������� ������� <literal>$FreeBSD$</literal>, ��� - ����� ��������� ������������� �������� - <application>Subversion</application>, ����� ���� ����� - ������������ � ���� ������ ������. �� ������ ����� ����� ��������� - ������ � ������� <link linkend="porting-samplem">������ - Makefile</link>.</para> - </sect1> - - <sect1 xml:id="porting-desc"> - <title>�������� �������������� ������</title> - - <para>������� ��� �������������� �����, ������� ��������� ��� ������ - �����, ��� ����������� �� ����, �������� �� �� ������� ��� ���. ��� - <filename>pkg-descr</filename> � <filename>pkg-plist</filename>. - ������� <filename>pkg-</filename> �������� �� �� ������ ������.</para> - - <sect2> - <title><filename>pkg-descr</filename></title> - - <para>��� ����� ��������� ������� �������� �����. �� ������ �� - ���������� �������, ������ �����������, ��� ������������ ����� - ����, ����� ����������.</para> - - <note> - <para>��� <emphasis>��</emphasis> ����������� � �� ������������ - �������� ����, ��� ������������ ��� ������������� ����! - <emphasis>����������, ������ ����������� ��� ����������� ������ - �� <filename>README</filename> ��� ������� - �����������</emphasis>; ������� ����� ��� �� �������� ������� - ��������� ����� ��� ����� ��������� ������ (��������, �������� - ����������� ��������� ���������, ��� �������� ����� - ��������� � ������������� ��������).</para> - </note> - - <para>������ ������������ <filename>pkg-descr</filename> - ��������� ���� ���������� �����, ����� ������������ �� - ����������� ��������� � ������������� ��� �������� ������� - ��� ��������� ����, ��� ������ ������ ����������� �����������, - ��� ��� ����� ���� ������� ��� ����� ������� ������� � ���� - �������. ���������� ��� ������̣���� ����������, ����� ��� - ������������ ����������� ��������������, ��֣��� �����������, - ��������� ��� ������� ��� ������������ ���� ���������������� - ������� ������������� ������������, ����� �� ���� ���� ��� - ��� ��������.</para> - - <para>�������� ���� URL ����������� �������� �������� ��������. - ����� <emphasis>�����</emphasis> �� ������ (�������� ��������) - �������� <literal>WWW:</literal> (� ����������� ��������� - ��������) ��� ����, ����� ��������������� ������� �������� - ���������. ���� URI �������� ������ ����� ��� ���������, - �� �������� ������ ���� ��������� ����� ������.</para> - - <note> - <para>���� ��������� ��� ����� ���-�������� �� ��������, - ����������� ������ ��������, ��� �� ����������� ���� - ������ݣ�, ������������ ��� �����ݣ� � ������ �����.</para> - </note> - - <para>��������� ������ ����������, ��� ������ ��������� ��� - <filename>pkg-descr</filename>:</para> - - <programlisting>This is a port of oneko, in which a cat chases a poor mouse all over -the screen. - : -(etc.) - -WWW: http://www.oneko.org/</programlisting> - </sect2> - - <sect2> - <title><filename>pkg-plist</filename></title> - - <para>����� ������������� ��� �����, ��������������� ������. ��� - ����� �������� <quote>������� ��� ��������</quote>, ������ ��� - ����� ������������ ��������� ������, ������� ����� �������. - ����� ����� ����������� ������������ ������������� �������� - (������ <filename>/usr/local</filename>). - ���� ���� �� ����� ��������� ������� ��������, ���������, - ��� ��������� ������ <literal>@dirrm</literal> ��� �������� - ��������� ��� �������� ������.</para> - - <para>��� ��������� ������:</para> - - <programlisting>bin/oneko -man/man1/oneko.1.gz -lib/X11/app-defaults/Oneko -lib/X11/oneko/cat1.xpm -lib/X11/oneko/cat2.xpm -lib/X11/oneko/mouse.xpm -@dirrm lib/X11/oneko</programlisting> - - <para>���������� � �������� ���������� ������� �� ������� - &man.pkg-create.8; � ��������� ��������� ������� ������ - ��������.</para> - - <note> - <para>�������������, ����� ����� ������ � ���� ������ ���� - ������������� � ���������� �������. ��� �������� ����������� - ��������� ������ ��������� ��� ���������� �����.</para> - </note> - - <note> - <para>�������� ������ �������� ������� ����� ��������� ������ - ����ϣ���� �������. ���� ���� ������������� ������� ���������� - ������, ������ �� <link linkend="plist-autoplist">�������������� ���������� ������ - ��������</link> ����� ������ ���������� �����.</para> - </note> - - <para>���������� ������ ���� ����������, ����� � ����� ����� - ������������� <filename>pkg-plist</filename>. ���� ���� - ������������� ���� ��������� ������, � ��������, � ���������, �� - ��� ����� ���� ����������� � ���������� - <varname>PLIST_FILES</varname> � <varname>PLIST_DIRS</varname>, - ��������������, ������ ����� <filename>Makefile</filename> �����. - � �������, �� ����� �������� ��� ����� - <filename>pkg-plist</filename> � �����ģ����� ���� ����� - <filename>oneko</filename>, ������� ��������� ������ � - <filename>Makefile</filename>:</para> - - <programlisting>PLIST_FILES= bin/oneko \ - man/man1/oneko.1.gz \ - lib/X11/app-defaults/Oneko \ - lib/X11/oneko/cat1.xpm \ - lib/X11/oneko/cat2.xpm \ - lib/X11/oneko/mouse.xpm -PLIST_DIRS= lib/X11/oneko</programlisting> - - <para>�������, ���������� <varname>PLIST_DIRS</varname> �� ������ - ����������, ���� ���� �� ������������� ������� ���������.</para> - - <note> - <para>��������� ������ ����� ��������� ������������ ����� - �������. � ���� ������ <varname>PLIST_DIRS</varname> - ������� �������� �� <varname>PLIST_DIRSTRY</varname>, ��� - ����� ������� �������� ������ ���� �� ����, � ����� - �������������. ������������� <varname>PLIST_DIRS</varname> - � <varname>PLIST_DIRSTRY</varname> ���������� - <literal>@dirrm</literal> � <literal>@dirrmtry</literal> - � <filename>pkg-plist</filename>, �������� ������� - ������ � <xref linkend="plist-dir-cleaning"/>.</para> - </note> - - <para>�������� �������� ������ ������� ������������ ������ � - ��������� ����� �������� ������������� ������������� - ������������������� ������, ��������� � &man.pkg-create.8;. - ������� �� �������� ��� ������� ������, ��� ������ �� �ݣ ����� - ��������. ������������ � ���� ������������� �������� �������� - ���������� ���������� ������ � ��������� ������. ����������, - ��������� ��� �������������� ���� �������, ������ ��� ��������� - <filename>pkg-plist</filename>.</para> - - <para>����� �� ������, ��� ����� ������������ ����� - <filename>pkg-plist</filename> � <varname>PLIST_FILES</varname> - ���������� <link linkend="plist">����� ������� - �����</link>.</para> - </sect2> - </sect1> - - <sect1 xml:id="porting-checksum"> - <title>�������� ����� � ����������� ������</title> - - <para>������ ������� ������� <command>make makesum</command>. - ������� ������� make ������������� ����������� ���� - <filename>distinfo</filename>.</para> - - <para>���� � ������������ ����� ��������� �������� ����������� - ����� � �� �� ������������ � ���������� ��������� (�.�. �� ������� - �� CD �������������, ���� ��������� ����������� ������������), �� �� - ������ ������� ��� ����� � ���������� <varname>IGNOREFILES</varname>. - ����� ����������� ����� ��� ���������� <command>make makesum</command> - ��� ����� ����� ����������� �� �����, � ������ ����� ��� ���� ����� - ����������� �������� <literal>IGNORE</literal>.</para> - </sect1> - - <sect1 xml:id="porting-testing"> - <title>������������ �����</title> - - <para>�� ������ ��������������, ��� ������� ���������� ����� ��������� - ������ ��, ��� �� ������, ������� �������� ������ ��� �����. ��� - �� ������ ����, ������� �� ������ ���������.</para> - - <itemizedlist> - <listitem> - <para><filename>pkg-plist</filename> �� �������� ������ ����� ����, - ��� ��������������� ������</para> - </listitem> - - <listitem> - <para><filename>pkg-plist</filename> �������� ��������� ���, ��� - ��������������� ������</para> - </listitem> - - <listitem> - <para>���� ����� ���� ���������� � ������� - �������� ���� <buildtarget>install</buildtarget>. ��� - ��������� ��������� � ���������� ������ �������� - ���������.</para> - </listitem> - - <listitem> - <para>���� ����� ���� ���������� ������� ���̣� � ������� - �������� ���� <buildtarget>deinstall</buildtarget>. ��� - ��������� ��������� � ���������� ������ �������� - ��������.</para> - </listitem> - - <listitem> - <para>������� ���������, ��� <command>make package</command> - ����� ��������� ��-��� �������� ������������ (�� ����, - �� ��-��� <systemitem class="username">root</systemitem>). - ���� ��� �� ���, � <filename>Makefile</filename> ����� - ������ ���� ��������� <literal>NEED_ROOT=yes</literal>.</para> - </listitem> - </itemizedlist> - - <procedure> - <title>������������� ������� ��������</title> - - <step> - <para><command>make stage</command></para> - </step> - - <step> - <para><command>make check-orphans</command></para> - </step> - - <step> - <para><command>make package</command></para> - </step> - - <step> - <para><command>make install</command></para> - </step> - - <step> - <para><command>make deinstall</command></para> - </step> - - <step> - <para><command>pkg add package-filename</command></para> - </step> - - <step> - <para><command>make package</command> (��-��� - ������������)</para> - </step> - </procedure> - - <para>���������, ��� �� ����� �� ������ �� �������� ������� - ��������������.</para> - - <para>������������� ������������������ ������������ ����� ���� - ��������� ��� ������ - <package role="port">ports-mgmt/tinderbox</package> ��� - <package role="port">ports-mgmt/poudriere</package> �� ��������� - ������. ��� ���������� ���������� <literal>jails</literal>, - � ������� ����������� ��� ������������� ���� ����� ��� - ��������� ��������� �������� �������.</para> - </sect1> - - <sect1 xml:id="porting-portlint"> - <title>�������� ������ ����� �������� - <command>portlint</command></title> - - <para>������ �����, ����������� �������� <command>portlint</command> - ��� �������� ����, ��� ��� ���� ������������� ����� �������������. - ��������� <package role="port">ports-mgmt/portlint</package> - �������� ������ ��������� - ������. � ���������, �� ������ �������� ���������, ��������� �� - ����������� ���� <link linkend="porting-samplem">Makefile</link> � - ��������������� �� ������� �������� <link linkend="porting-pkgname">�����</link>.</para> - </sect1> - - <sect1 xml:id="porting-submitting"> - <title>������� ������ �����</title> - - <para>����� �������� ������ ����� ���������� ������ � ���, ��� - <link linkend="porting-dads">����� � ������</link> ������.</para> - - <para>����� �� ������� �������� ����� ������ ������, ������������, - ��� �������� �������, ��� �������� ��� � �������� ������ ������ - &os; � ������������ ���� ���� ���������. ��� �� ����� �� - ������� <filename>work</filename>, �� ����� - <filename>pkgname.tgz</filename>, ��� ��� ������� �� ����� - ������.</para> - - <para>����� �������� ���� &man.shar.1;. �����������, ��� ���� - ���������� oneko, ��������� � ������� ����, ��� ��������� - ������� <literal>oneko</literal>, � ��������: - <command>shar `find oneko` > oneko.shar</command></para> - - <para>�������� <filename>oneko.shar</filename> � ��������� �� - ������ � ������� ��� � ������� &man.send-pr.1;. ���������� � - ������� <link - xlink:href="&url.articles.contributing;/contrib-how.html#CONTRIB-GENERAL"> - ��������� �� ������� � ����� ���������</link> ��� ��������� - ��������� ���������� � &man.send-pr.1;).</para> - - <para>������� � ��������� ��������� <literal>ports</literal> � - ����� <literal>change-request</literal>. - <emphasis>��</emphasis> ����������, ��� ��������� ����� ������ - <literal>confidential</literal>! �������� ������� �������� - ��������� � ���� <quote>Description</quote> ������������� PR - (��������, ���������� <varname>COMMENT</varname> � �����ݣ���� - ��������) � ��� ���� � ���� ������ <filename>.shar</filename> - � ���� <quote>Fix</quote>.</para> - - <note> - <para>������� �������� � ��������� ��������� � �������� - ����������� ��������� ������ ����������� ������. ��� ����� - ������ �� ������������ ����� ����� <quote>New port: - <���������>/<�������� �����> <������� - �������� �����></quote>. ���������� ���� ����� - �������� � �������� ������ ������ �� ���������� ������ - �����.</para> - </note> - - <para>�������� �ݣ ���, ��� <emphasis>�� ����� �������� �� ������������ - ���� � �������������, �� ������� <filename>work</filename>, - �� �����, ����������� ���� �������� - <command>make package</command></emphasis>; ��� ����� ������ - ����������� &man.shar.1;, �� �� &man.diff.1;.</para> - - <para>����� �������� �����, ����������, ���������. �����, - ����������� ��� ��������� ������ ����� �� &os;, ����� �������� - �� ���������� ���� �� ���������� �������. <link - xlink:href="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?category=ports"> - �����</link> ����� ������� ������ ��������� PR ��� ������.</para> - - <para>����� ������������ ������ ����� �� ��� ������������� ��� - �������, � ����� ������� ���� � ���� ������. ���� ��� ����� - ����� ��������� � ������ <link - xlink:href="&url.articles.contributors;/contrib-additional.html"> - �������������� ������������� ������� &os;</link> � ������ - �����.</para> - </sect1> - </chapter> - - <chapter xml:id="slow"> - <title>��������� ������������</title> - - <para>����, ��� ��������� �� ��� �� � ������, � ���� ���������� - ��������� ����������� ��� ����, ����� ��������� ��� ��������. � ���� - ������� �� ���������, ��� �� �����, ��� ��� ��������������, ����� �� - ������� � ����� �������� ������.</para> - - <sect1 xml:id="slow-work"> - <title>��� �ӣ ��� ��������</title> - - <para>��-������, ����� ������������ ���� � ����� �������� � ������ - ������� <command>make</command>, ���������� ����� ������ �������. - �� ����� ������ ����� ������ ����� ��������� �������� ����� ���� - <filename>bsd.port.mk</filename> �������� � ������ ����, ��� ������ - ������� � �� ���������.</para> - - <para>�� �� ���������� ������, ���� �� �� �� ����� ���������, ��� - �������� � <filename>bsd.port.mk</filename>, �� ��� �� ����� ����� - ��� ��������... <!-- smiley --><emphasis>:-></emphasis></para> - - <procedure> - <step> - <para>����������� ���� <buildtarget>fetch</buildtarget>. ���� - <buildtarget>fetch</buildtarget> �������� �� ��, ��� ����� �������� - ������� ������� � ������� �������� � �������� - <varname>DISTDIR</varname>. ���� ���� - <buildtarget>fetch</buildtarget> �� ����� ����� ��������� ����� � - �������� <varname>DISTDIR</varname>, �� ��� ����� �������� �� - ��������� URL <varname>MASTER_SITES</varname>, ������� - ��������������� � Makefile, � ����� �� ����� FTP ��������, - ���� �� �� ����������� �������� �������������� ����� ��� ������. - ����� ��� ���������� �������� ��������� ���� � ������� - <varname>FETCH</varname>, �������, ��� ������������� ������ ����� - ������ ����������� � ��������. ���� ���� ��������� ������, �� - �� ����� ������� � ������� <varname>DISTDIR</varname> ��� - ������������ ������������� � ���������.</para> - </step> - - <step> - <para>����������� ���� <buildtarget>extract</buildtarget>. ��� ���� - �������������� ���� ����� (��� �������, tar-����� - <command>gzip</command>) � - �������� <varname>DISTDIR</varname> � ������������� ��� �� - ��������� �������, ���������� ���������� - <varname>WRKDIR</varname> (�� ��������� - <filename>work</filename>).</para> - </step> - - <step> - <para>����������� ���� <buildtarget>patch</buildtarget>. ��-������, - ����������� ��� �����, �������� ���������� - <varname>PATCHFILES</varname>. ��-������, ���� �����-���� ����� � - �������, ������� ����� - <filename>patch-*</filename>, ������� � - ����������� <varname>PATCHDIR</varname> (�� ��������� ��� ������� - <filename>files</filename>), �� ��� ����������� � ���� ������ � - ���������� �������.</para> - </step> - - <step> - <para>����������� ���� <buildtarget>configure</buildtarget>. ����� - ����� ����������� ����� �� ������ ��������� �����.</para> - - <orderedlist> - <listitem> - <para>���� ���������� ������ - <filename>scripts/configure</filename>, �� �� �����������. - </para> - </listitem> - - <listitem> - <para>���� ������ ���������� <varname>HAS_CONFIGURE</varname> - ��� <varname>GNU_CONFIGURE</varname>, �� ����������� ������ - <filename>WRKSRC/configure</filename>. - </para> - </listitem> - </orderedlist> - </step> - - <step> - <para>����������� ���� <buildtarget>build</buildtarget>. ��� - �������� �� ������� � ����������� ������� ������� ����� - (<varname>WRKSRC</varname>) � ��� ����������.</para> - </step> - - <step> - <para>����������� ���� <buildtarget>stage</buildtarget>. - �������� ����� ����������� ������ ���������� �� ��������� - ������� (<varname>STAGEDIR</varname>, �������� - <xref linkend="staging"/>). �������� ����� - �������� �������� �������� ��������� �������, � ������� - ������ ����� ����� ���������������.</para> - </step> - - <step> - <para>����������� ���� <buildtarget>install</buildtarget>. - � ������� ���������� �����, ������������� � pkg-plist - �����.</para> - </step> - </procedure> - - <para>���� ����������� ����������� ��������. ����� ����, �� ���� - ������ ���������� ���� - <buildtarget>pre-<replaceable>���-��</replaceable></buildtarget> ��� - <buildtarget>post-<replaceable>���-��</replaceable></buildtarget>, - ��� ������� ������� � ������ ������� � ����������� - <filename>scripts</filename>, � ��� ����� �������� �� ��� ����� - ���������� �������� �� ���������.</para> - - <para>��������, ���� � ��� ���� ���� - <buildtarget>post-extract</buildtarget>, ������̣���� � ����� ����� - <filename>Makefile</filename> � ���� <filename>pre-build</filename> � - ����������� - <filename>scripts</filename>, �� ����� ���������� ������� �������� �� - ����������, ����� ������� ���� <buildtarget>post-extract</buildtarget> - � ������ <filename>pre-build</filename> ����� �������� ����� - �������� ����������� ������ ����������. ������������� ������������ - ���� �� <filename>Makefile</filename>, ���� �������� ���������� - ������, ������ ��� � ���������� ����� ����� ����������, ����� - ������������� �������� ������� ����.</para> - - <para>�������� �� ��������� ����������� ������ - <buildtarget>do-<replaceable>���-��</replaceable></buildtarget> �� - <filename>bsd.port.mk</filename>. ��������, ������� ��� - ���������� ����� ��������� � ���� - <buildtarget>do-extract</buildtarget>. ���� ��� �� ������� ���� �� - ���������, �� ������ �� ���������, ������������� ���� - <buildtarget>do-<replaceable>something</replaceable></buildtarget> - � ����� ����� <filename>Makefile</filename>.</para> - - <note> - <para><quote>��������</quote> ���� (� �������, - <buildtarget>extract</buildtarget>, <buildtarget>configure</buildtarget> - � ��� �����) �� ������ ������ ������, - ��� ��������� ���������� ���������� ���� ���������� ����� � - �������� ��������� ���� ��� �������, � �� �� ����� ������. ���� - ��� ����� �������� ����������, ����������� - <buildtarget>do-extract</buildtarget>, �� ������� �� ������� ������ - ������ <buildtarget>extract</buildtarget>! ����� ����, ���� - <buildtarget>post-deinstall</buildtarget> �������� ���������������� - � �� ����������� ��������������� ������.</para> - </note> - - <para>������, ����� �� �������������, ��� ����������, ����� - ������������ �������� ������� <command>make install</command>, - ������� ��������� - ����� ����, ������������� ��� �������� ���������� �����.</para> - </sect1> - - <sect1 xml:id="slow-sources"> - <title>��������� ��������� ����</title> - - <para>�������� ������������ �������� ������ (������) � ���� - ������������ tar-������ - (<filename>foo.tar.gz</filename> ��� - <filename>foo.tar.bz2</filename>) - � ���������� ��� � ������� <varname>DISTDIR</varname>. ������ - ����������� �������� ������ <emphasis>�������� ����� - ����������</emphasis> �����, ��� ��� ��������.</para> - - <para>��� ����������� ������ �������� ���������� - <varname>MASTER_SITES</varname> ���, ����� ��� ��������� �� - �������������� ������������� tar-������. � ����� - <filename>bsd.sites.mk</filename> �� ���ģ�� ������� ����������� - ��� ����������� ���������� ������. ����������, ����������� ��� - �����—� ��������������� �����������—�����, ��� ��� - ��������, ����� �������� ������� ���������� ����� � ��� �� ���������� - � ���� ����������. ��� ��� ��� ����� �� �������� ��������, ��� - ���� ���������� ��������� ���������� ��������� ��������.</para> - - <para>���� �� �� ������ ����� FTP/HTTP ���� � ������� ������������ � - ����, ��� �������� ������ �����, ������� ����� ����������� - ������������� �������, �� ������ �������� ��������� ����� �� �������� - ������ FTP ��� HTTP, ������� ��� �������� (��������, ���� �������� - ��������).</para> - - <para>���� �� �� ������ ����� ���������� � ��ģ����� ����� ��� - ��������� ��������������� �����, �� �� ���� ������ ���������� ��� �� - ������� <systemitem>ftp.FreeBSD.org</systemitem>; ������ ��� �������� - ������������� �������. �������������� ���� ������ - ���� ����ݣ� � ������� <filename>~/public_distfiles/</filename> - ������ �� ������������� ������ <systemitem>freefall</systemitem>. ��������� - ����, ��� ��������� ��� ����, ������� ���. ���� ������� ����� ������ - ���������� <varname>MASTER_SITES</varname> �������� - <varname>MASTER_SITE_LOCAL</varname>, � � ���������� - <varname>MASTER_SITE_SUBDIR</varname> ������ ��ϣ ��� ������������ - � ������ <systemitem>freefall</systemitem>.</para> - - <para>���� �������������� ����� ������ ����� ��������� �������� �� - ����������� �������� ��� ��������� ������ �� ������� ������, �������� - ������ ��������� ����������� �� ���� �������� Web-�������� � ������� - ţ ������ � ������ <varname>MASTER_SITES</varname>. ���� ������, - ����������� ������������ � ������� ����� �� ����; ��� ������������� - �������� � ���������� ���������� ���������� �������� �����. - ���������� ����������� ������ ������� �������� ��������� ������ � - ������������� ���� <errorname>checksum mismatch</errorname>, � - ����� �������� �������� �� �����, �������������� ��� FTP-������. - �����, ���� � ����� ������� ������ ���� �������� ������, �� - ������������� ��������� �������� ����� �� ���� ���� � ������� ��� � - ������ <varname>MASTER_SITES</varname> ������.</para> - - <para>���� ������ ����� ��������� �������������� `�����', ��������� - � ��������, �������� ����� � ��, �������� � ������� - <varname>DISTDIR</varname>. �� ����������, ���� ��� ��������� �� - �� ��� �� �����, ������ ���� �������������� �����, �� ����� - ������������ ����� �������� (�������� �������� <link linkend="porting-patchfiles">PATCHFILES</link> ����).</para> - </sect1> - - <sect1 xml:id="slow-modifying"> - <title>����������� �����</title> - - <para>���������� ����� ��������������� ����� � ��������� ������� � - ������� ���������, ������� ���������� ��� ����, ����� ���� - �������������� ��������� � ������� ������ &os;. - <emphasis>��������� ������������</emphasis> ���, ��� �� �������, - ���� ������� ��� ��������� ����������������. ���, ������� ��������, - ���������� ��� ����������� � ������ ������ ����� ����������� - ������������� � ������� �������� ��� ������ ������, ����� �� - ��������� ������ ��� ������.</para> - - <para>���� ������ ����� �� ����� ����������, ��������� � ��������� - ��������� �������� ����� ����������������� � �������������, �� - ���������� �� ���� �� ������������ �������� - <application>Configure</application> ����� ����� (Larry Wall) � - �������� ���� ���-���� ��������. �������������� ����� ��������� - ������ - ��� ������� ������ ���������� � ����� - <quote>plug-and-play</quote> ���������, ��������� ��� ������ �������� - ��� ��������� ������������ ��� ����������� ������������� ��������� - ������������.</para> - - <note> - <para>���� ���� �� ������� ��������, �� �����, ������� � ������ - �����, ������� �� ������� � ������������ ��� ��������� ������ - &os;, ������ ��������� ��� ����������� ������� �������� - BSD.</para> - </note> - </sect1> - - <sect1 xml:id="slow-patch"> - <title>�������� ������</title> - - <para>�����, ������� ����������� ��� ���������� � �������� �������� - �����, ����� ���� �������� ���������� &man.diff.1;, - � ��������� ������ ���� ��������� ����� ���� � ���������� ������� - ��������� &man.patch.1;. ����� �������� � ������� ������ - ������������� ���������� ����� ����� � �������������� ���������� - ����� ��������� �����-���� ���������.</para> - - <screen>&prompt.user; <userinput>cp <replaceable>file</replaceable> <replaceable>file</replaceable>.orig</userinput></screen> - - <para>����� ����������� � ���� ������ � ������ - <filename>patch-*</filename>, ��� - <replaceable>*</replaceable> ���������� ���� � �����, - � �������� ����������� ����, ����� ��� - <filename>patch-Imakefile</filename> ��� - <filename>patch-src-config.h</filename>.</para> - - <para>����� ���� ��� ���� ��� ����Σ�, ������������ &man.diff.1; - ��� ��������� ������� ����� �������������� � ����Σ���� - ��������. �������� <option>-u</option> ��������� &man.diff.1; - �������� ������� � <quote>���������������</quote> �������, - ������� ����� �������� ����������������.</para> - - <screen>&prompt.user; <userinput>diff -u <replaceable>file</replaceable>.orig <replaceable>file</replaceable> > patch-<replaceable>pathname-file</replaceable></userinput></screen> - - <para>��� ���������� ������ ��� ����� ����������� ������ - ������������ �������� <option>-N</option>, ������� ���������� - &man.diff.1; ���������� �������������� ������ ����� ��� ���� - �� ��� ������������, �� ����� ������ ����������:</para> - - <screen>&prompt.user; <userinput>diff -u -N <replaceable>newfile</replaceable>.orig <replaceable>newfile</replaceable> > patch-<replaceable>pathname-newfile</replaceable></userinput></screen> - - <para>����� � ������� ���������� � - �������� <varname>PATCHDIR</varname> - (��� �������, ��� <filename class="directory">files/</filename>), - ������ ��� ����� ����� �������������. ��� ����� ������� ���� ������� - ������������ �������� <varname>WRKSRC</varname> (��� �������, - ��� �������, � ������� ��������������� �������� ����� � ��� ����� - ����������� ����������). ��� ��������� �������� ��������� � - ���������� ��������� ������� ����� ��� ������ ����� ��� - ������ � ���� �� ����� (��������, ������ - <filename>patch-file</filename> � <filename>patch-file2</filename>, - ��� �������� ���� <filename>WRKSRC/foobar.c</filename>). - �������� ��������, ��� ���� ���� � ����������� ����� �������� ������ - ������������� (<literal>_</literal>), �� ���� ������ ��������� � ����� - ����� ��� ������������� ������ ������. ��������, ��� ���������� ����� - �� ���� � ������ <filename>src/freeglut_joystick.c</filename> - ��������������� ���� ������� ������� - <filename>patch-src-freeglut__joystick.c</filename>.</para> - - <para>����������, ����������� ��� ���������� ������ ������ ������� - <literal>[-+._a-zA-Z0-9]</literal>. �� ����������� ����� ������ - �������, ����� ����. �� ��������� ����� ��� - <filename>patch-aa</filename> ��� <filename>patch-ab</filename>, - ������ ���������� �� ���� � �������� ����� � ��������� ����� - ������.</para> - - <para>���������� �������������� ����ݣ���� ������ �������� - ������ ��� ������������ ������. ������ ���� �� �� �����: - �������� ����� ������Σ����� ����� � ����������� - <filename>.orig</filename> � �������� ���������. ����� ����� - ����������� <command>make makepatch</command>, ����� �������� - ����� � ������� � �������� <filename>files</filename> ������� - �����.</para> - - <para>�� ��������� ������ RCS � �����. - <application>Subversion</application> ����� �������� �� ��� - ��������� ������ � ������ ������, � ����� �� ����� �� ������ - ���������, ��� ����� ��� ������, ������� ���������� ������ - ��������� ��������. ������� RCS ������������ ������ ������� - (<literal>$</literal>), � ������ ���������� � - <literal>$Id</literal> ��� - <literal>$RCS</literal>.</para> - - <para>������������� ��������� �������� (<option>-r</option>) � �������� - &man.diff.1; ��� ��������� ������ - ��� ������, �� �ӣ ��, - ����������, �������� �� ������������ �����, ����� ��������� � - ���������� ��������� ������. � ���������, diff-������ ����� ����� - ���������� ������� ������, ����� <filename>Makefile</filename>, ����� - ��� ���� ���������� <command>Imake</command> ��� - GNU-������ ��������� <command>configure</command>, � ��� �����, - �� �����, � ������ ���� �������. ���� ���� ���������� - ��������������� ���� <filename>configure.in</filename> � - ��������� <command>autoconf</command> ��� ������������� - <command>configure</command>, �� ����� �������� ����� diff ��� - <command>configure</command> (��� ��������� ��������� �� ���������� - ����� �����!). ������ ����� ������� - <literal>USE_AUTOTOOLS=autoconf:261</literal> � - �������� diff-���� ��� <filename>configure.in</filename>.</para> - - <para>���������� �������������� � ������ ��ߣ� - ���������������� ��������� � ������� ���������. � ���� ��������� - ��������� ���� �������� ���������������� ���������� ������������� - ��������� ������� ������� ������� ����, �� � ���������� ������� - � ��������� ��������. ��� ����������� ���������� �������������� - ����� �� ������ ������� ��� ����������� ������� ������� � ������, - ������ ���������, ����������: ���������� ������������ ���� - ����� ��������� ����� ���������������� ���������. ��� �� ������ - ����������� ������ ����������� <application>Subversion</application>, - �� ����� ��������� ����� ����, - ��� ��������� ������� �������� � ��� ������ ����������.</para> - - <para>���� ����� ������� ����, �������� ��� ��� ���������� ���� - <buildtarget>post-extract</buildtarget>, ������ ���� ����� - ��������� ��� ��� ����� �����.</para> - - <para>������� ����������� ����� ���� ��������� ��������������� �� - <filename>Makefile</filename> ����� � �������������� &man.sed.1; � - ������ in-place. ��� ������, ����� ��� ��������� ������������ - �������� ����������:</para> - - <programlisting>post-patch: - @${REINPLACE_CMD} -e 's|for Linux|for FreeBSD|g' ${WRKSRC}/README</programlisting> - - <para>�������� ����� � �������� ������ ������������ ������������ - ����������� ������������ ��������� CR/LF. ��� ����� ����� - �������� ������� � ���������� ���������, ���������������� - ����������� ��� ����������� �������� (����� ��� - <literal>/bin/sh^M not found</literal>). ��� �������� - �������������� ���� ������ �� CR/LF ������ � LF �������� - � <filename>Makefile</filename> ����� ��� ������:</para> - - <programlisting>USES= dos2unix</programlisting> - - <para>����� ���� ����� ������ ������ ������������� ������:</para> - - <programlisting>USES= dos2unix -DOS2UNIX_FILES= util.c util.h</programlisting> - - <para>����������� <varname>DOS2UNIX_REGEX</varname>, ����� - ������������� ������ ������ � ������ ������������. - ��� ���������� �������� ���������� ���������, ����������� � - &man.find.1;. ��������� � ������� � &man.re.format.7;. - ����� ������� ������ ��� �������������� ���� ������ ��������� - ����������. ��� �������, ����������� ��� �������� �����, - �� ���������� �������� �����:</para> - - <programlisting>USES= dos2unix -DOS2UNIX_REGEX= .*\.([ch]|cpp)</programlisting> - - <para>������ ��������� �������� ������������� - <varname>DOS2UNIX_GLOB</varname>, ������� �������� - <command>find</command> ��� ������� �� ������������� � Σ� - ���������.</para> - - <programlisting>USES= dos2unix -DOS2UNIX_GLOB= *.c *.cpp *.h</programlisting> - </sect1> - - <sect1 xml:id="slow-configure"> - <title>����������������</title> - - <para>��������� ��� �������������� �������, ��������� ��� ���������, - � ��� ������ <filename>configure</filename> � ��������� ��� � - ����������� <filename>scripts</filename>. ��� �������� ����, �� - ������ ������� ��� ������ � ����� <filename>Makefile</filename> - �/��� ��������� � ������� <filename>pre-configure</filename> ��� - <filename>post-configure</filename>.</para> - </sect1> - - <sect1 xml:id="slow-user-input"> - <title>��������� ����������������� �����</title> - - <para>���� ��� ����������, ������������ ��� ��������� ������ ����� - ��������� ��������� ���� �� ������� ������������, �� �� ������ ������ - ���������� <varname>IS_INTERACTIVE</varname> � ����� ����� - <filename>Makefile</filename>. � ������ <quote>������� - ����������</quote> ��� �������� ���������� - ��� ����, ���� ������������ � ����� ��������� ����� ���������� - <envar>BATCH</envar> (� ���� ������������ ��������� ���������� - <envar>INTERACTIVE</envar>, �� ����� ��������� - <emphasis>������</emphasis> �����, ������� ������� �������������� - � �������������. ��� ��������� ������������ ���������� ������� �� - ����� �����, ������� ��������� ������ ����� (�������� ����).</para> - - <para>��� ������� �������� ������� �� ���������� �������, ���������� �� - ���������, ����� ������������� ��������� ���������� - <varname>PACKAGE_BUILDING</varname> � ��������� ������������� ������, - ���� �� ����. ��� �������� ��� ������� ������ ��� ��������� �� - �������-����� � FTP-�������.</para> - </sect1> - </chapter> - - <chapter xml:id="makefile"> - <title>��������� ����� Makefile</title> - - <para>��������� ����� <filename>Makefile</filename> ���������� ������, � - �� ����� ������������, ��� ����� ���, ��� ������, �� ���������� �� - ������������ �������. � ���� �� � ���� ����������� ������� <link linkend="porting-samplem">��������� Makefile</link>, ��� ��� ��������� - �� ���� �, ����������, �������� ������� ���������� � �������� � ���� - �������, ����� ��������� ������ ������ ����� ������� ������.</para> - - <para>����, ���������� �������� ������ � ������� �� ������������� ��� - �������� ������ ������ ����� <filename>Makefile</filename>:</para> - - <sect1 xml:id="makefile-source"> - <title>������������ �������� ���</title> - - <para>��������� �� �� � �������� <varname>DISTDIR</varname> � ���� - ������������ ������������ ����������� <command>gzip</command> - tar-������ � ������ ���� - <filename>foozolix-1.2.tar.gz</filename>? ���� ��� ���, - ����� ������� � ���������� ����. ���� ���, �� �� ������ ���������� - �������������� ��������� �� ���������� - <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>� ������ ������ �� ������ ������ ���������� ���� ����������� ���� - <buildtarget>do-extract</buildtarget> ��� ��������������� �������� �� - ���������, ���� � ����� ����� ����� ��������� � ����� ������ �������, - ���� ������ ���ģ���.</para> - </sect1> - - <sect1 xml:id="makefile-naming"> - <title>����������</title> - - <para>� ������ ����� <filename>Makefile</filename> ����� ��� ������ - ��������, ����������� ��� ����� ������ � �������������� � ���������� - ���������.</para> - - <sect2> - <title><varname>PORTNAME</varname> � - <varname>PORTVERSION</varname></title> - - <para>� ���������� <varname>PORTNAME</varname> �� ������ ������� - �������� ����� ����� ������ �����, � � ���������� - <varname>PORTVERSION</varname> - ����� ������.</para> - </sect2> - - <sect2 xml:id="makefile-naming-revepoch"> - <title><varname>PORTREVISION</varname> � - <varname>PORTEPOCH</varname></title> - - <sect3> - <title><varname>PORTREVISION</varname></title> - - <para>���������� <varname>PORTREVISION</varname> ������������ ����� - ��������� ��������������� �����, ������� ���������� ��� ������ - ���������� �������� ���������� <varname>PORTVERSION</varname> (�� - ���� ������ ���, ����� ����������� ����������� ����� ����������� - �����), � ����������� � ����� ������, ���� ��� �� ����� ����. - ��������� � <varname>PORTREVISION</varname> ������������ - ������������������� ������������� (��������, - <command>pkg version</command>, ��. &man.pkg-version.8;) - ��� ����������� ����� ��������� ������ ������.</para> - - <para>�������� <varname>PORTREVISION</varname> ������ ������������� - ������ ���, ����� � ����� FreeBSD �������� ���������, ������� - ���-���� ������ ���������� �����. ���� ��������� ������ - ���������, ������������� ���������� ������ � <link - linkend="makefile-options">�����������</link> �� - ���������.</para> - - <para>������� �������, ����� �������� <varname>PORTREVISION</varname> - ������ ���� ���������:</para> - - <itemizedlist> - <listitem> - <para>���������� ������ ��� ����������� �����������, - ������, ��� ���������� ����� ���������������� � ����.</para> - </listitem> - - <listitem> - <para>��������� � ����� <filename>Makefile</filename> ����� ��� - ��������� � ���������� ����������, ������������ ��� ���������� - ������.</para> - </listitem> - - <listitem> - <para>��������� � ������ �������� ��� � ��������� ������ �� - ����� ��� ��������� (��������, ��������� �������, ������������� - ��������� ������ ��� ������, �����, ��� ssh-����� ��� - �����).</para> - </listitem> - - <listitem> - <para>���������� ������ ������������ ����������, �� ������� - ������� ���� (� ���� ������ ���, ��� ���������� ���������� - ������ ����� ����� ��������� ����� ����� ������ ����������, - �� ������ ����� �������, ������ ��� ��� ���� ����� �������� - ����� ������ ���������� libfoo.x, � �� libfoo.(x+1)).</para> - </listitem> - - <listitem> - <para>������� �������������� ��������� � �������������� ����� - �����, ������������ ��� ����������, � ���������� � ������� - ����������, �� ���� ��������� � ������������ ������� - ������������� ����� <filename>distinfo</filename> ��� - ���������������� ��������� <varname>PORTVERSION</varname>, - ����� ��� ������� <command>diff -ru</command> ����� ����� - � ������ �������� ���������� ������������� ��������� � - ����.</para> - </listitem> - </itemizedlist> - - <para>������� ���������, ������� �� ������� ���������� ���������� - <varname>PORTREVISION</varname>:</para> - - <itemizedlist> - <listitem> - <para>��������� ����� � ������� ����� ��� �������������� ��������� - � ������.</para> - </listitem> - - <listitem> - <para>��������� � ���������� <varname>MASTER_SITES</varname> ��� - ������ �������������� ��������� �����, ������� �� ����������� - ������������� ������.</para> - </listitem> - - <listitem> - <para>����������� ����� � ��������������� �����, �����, ��� - ����������� ��������, ������� �� ��� �� �����, ��� ������������ - ������ ������ ����������� �����������.</para> - </listitem> - - <listitem> - <para>�����������, ���������� ����� ����������, ������� ������ - ��������� ���������� ������, ���� ����� ��� ���� ���������� - ������� (���� ��������� �� �������� � ��������� ������ �� ����� - ������ ����������, �� ������� ���� ����� ��������). ��� ��� - <varname>PORTREVISION</varname> �������� ���������� ������, - ��, ���� ����� ����� �� ��������, �� ��� ����� ����������� - <varname>PORTREVISION</varname> ��� ������� ���������.</para> - </listitem> - </itemizedlist> - - <para>�������, �������� ����� �������������� ���������, ����������� � - ���, ��� ����� ���������� ����, �������� �� �������� � ���� - ��������� �����, ��� �� ���� �������� ��� (� ���� - ������������������, ����������� ��� ��������� ����, ��� ����� - ����� ����� ������ ���������������), � ������� �� �������� ��� - ����, ��� ��� ���� ���, ��� ��������� ��������� ��ϣ ������ ������, - ����� ������� ��� �������. ���� ��� ���, �� ���������� - <varname>PORTREVISION</varname> ������ ���� ���������.</para> - </sect3> - - <sect3> - <title><varname>PORTEPOCH</varname></title> - - <para>����� �� ������� ����������� ������������ ����������� ��� - ��������� ����� &os; ������ ���-�� �� ��� � ��������� ������ - ���������, ����� ������� ������ ���������� ������. �������� ����� - �������� ����, �������� �������� �������� � foo-20000801 �� foo-1.0 - (���������� ��� �� ��������� �� ����� ����� �������, ��� ��� - 20000801 �������� ������, ��� 1).</para> - - <tip> - <para>��������� ��������� ������ ������ �� ������ ��������. - ��� ���������� ��������� ���� ����� � ������� ������ ����� - ������������ <command>pkg version</command> - (��. &man.pkg-version.8;). ��������:</para> - - <screen>&prompt.user; <userinput>pkg_version -t 0.031 0.29</userinput> -></screen> - - <para>��� ������������� <application>pkgng</application>:</para> - - <screen>&prompt.user; <userinput>pkg version -t 0.031 0.29</userinput> -></screen> - - <para>������ <literal>></literal> � ������ ������� ��������, - ��� ������ 0.031 ��������� ����, ��� ������ 0.29, ��� ����� - ���� �� �������� ��� ����, ��� ��������� ������������.</para> - </tip> - - <para>� ���������, �������� ����, ������ ���� ��������� �������� - <varname>PORTEPOCH</varname>. ���� �������� - <varname>PORTEPOCH</varname> �� ����� ����, �� ��� ����������� � - ����� ������, ��� ������� � ������� ����. �������� - <varname>PORTEPOCH</varname> ������� �� ������ ����������� ��� - ������������ � ����, ������ ��� ��� �����ģ� � ������ ��������� � - ������� � ������� ������� ����� (�� ���� ��, ��� ����� �������, - ���������� �� �����): ����� ����� ������ (��������, - <literal>1.0,1</literal> � ������� ����) ��������� ������, ��� - ����� ���������� ������ (20000801), ������ ������� - <literal>,1</literal> ���������������� ���������� - ������������������� ��������� ������ �������, � �������� ������, - ��� �������������� ������� <literal>,0</literal> ����� ������� - ������).</para> - - <para>������������ ���������� ��� ����� <varname>PORTEPOCH</varname> - �������� � ��������� ������������; ���� �� �� ������, � ޣ� ��� - ���� �����, ����������, �ӣ �� ����������� � ����, ���� �������� - � ������� ��������.</para> - - <para>��������������, ��� � ����������� ������ ���������� - <varname>PORTEPOCH</varname> �������������� �� �����, �� ��� - ���������� ������������� <varname>PORTVERSION</varname> ����� - ��������� ������������� ţ �����, ���� � ������� ������� - ����������� ����������� ������ �������� ��������� ������ ������. - ������ ���������� ������ ��� &os; ����� ���� �������������, ����� - ����������� ��������� ����� ��� ������������ ������ ������ — - ������ <quote>�������������</quote> ������. ������� ������� - �������� ����� ����� ��� ������, ��� ����� ������� ��������, ��� � - � ������� ����, ����� ����� ������� ����� - <quote>�����������</quote> �����.</para> - - <para>��������, ���� ������������� ����� ������� ����� 20000917, � - ���������� ������ ������������ ����������� ����� ����� 1.2, �� - �������������� ������ ������ ���� ���������� � ������������ - �������� <varname>PORTVERSION</varname>, ������ 1.2.20000917 ��� - ���-�� �������, �� �� 20000917, ��� ��� ����������� �����, ������, - 1.3, ������ ����� �������� ������� ��������.</para> - </sect3> - - <sect3> - <title>������ ������������� ���������� - <varname>PORTREVISION</varname> � - <varname>PORTEPOCH</varname></title> - - <para>�������� ������ ����� <literal>gtkmumble</literal>, ������ - <literal>0.10</literal>, � ��������� ������.</para> - - <programlisting>PORTNAME= gtkmumble -PORTVERSION= 0.10</programlisting> - - <para>�������� <varname>PKGNAME</varname> ������ ������ - <literal>gtkmumble-0.10</literal>.</para> - - <para>���������� ����� � ������������, ����������� ������� - ����������� �������� - ���������� ����� ��� &os;. �������������� ���� ��������� - �������� ���������� <varname>PORTREVISION</varname>.</para> - - <programlisting>PORTNAME= gtkmumble -PORTVERSION= 0.10 -PORTREVISION= 1</programlisting> - - <para><varname>PKGNAME</varname> ��������� �������� - <literal>gtkmumble-0.10_1</literal></para> - - <para>������������� �������� ����� ������ � ������� - <literal>0.2</literal> (���������, ��� ��� ������� - <literal>0.10</literal> ����� ���� � ���� - <literal>0.1.0</literal>, � �� <quote>��, ��� ����� �������� ����� - ������ 0.9</quote> - ��������, ������ ��� ������). ��� ��� ����� - ������� ����� ������ <literal>2</literal> �� �������� ������, ��� - ����� ���������� ������ <literal>10</literal>, �� ������ ���� - ��������� �������� <varname>PORTEPOCH</varname> ��� ����, ����� - ��������� ������������ ����� ����������� ����� ��� <quote>����� - �����</quote>. ��� ��� ��� ����� ����� ���������, �� - <varname>PORTREVISION</varname> ���������� (��� ��������� �� - ����� <filename>Makefile</filename>).</para> - - <programlisting>PORTNAME= gtkmumble -PORTVERSION= 0.2 -PORTEPOCH= 1</programlisting> - - <para><varname>PKGNAME</varname> ��������� �������� - <literal>gtkmumble-0.2,1</literal></para> - - <para>��������� ����� ����� ����� ������ 0.3. ��� ��� �������� - ���������� <varname>PORTEPOCH</varname> ������� �� �����������, ��� - ����������, ������������ ������, ������ �������� ���:</para> - - <programlisting>PORTNAME= gtkmumble -PORTVERSION= 0.3 -PORTEPOCH= 1</programlisting> - - <para><varname>PKGNAME</varname> ��������� �������� - <literal>gtkmumble-0.3,1</literal></para> - - <note> - <para>���� �������� <varname>PORTEPOCH</varname> ���� ����������� - ���� �� �������� � <literal>0</literal>, �� ���-������, ������� - ������������� ����� <literal>gtkmumble-0.10_1</literal>, �� - ���� �� �������� ����� <literal>gtkmumble-0.3</literal> ��� - ����� �����, ��� ��� <literal>3</literal> ���� �� ������, ��� - <literal>10</literal>. �������, ��� � ������ ������� ��� - �������� <varname>PORTEPOCH</varname>.</para> - </note> - </sect3> - </sect2> - - <sect2> - <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>. � ���������, � ���������� - <varname>PORTVERSION</varname> <emphasis>�� �����������</emphasis> - ������������� ������ (<literal>-</literal>). ����� ����, ���� � - ����� ������ ������������ ����� <replaceable>language-</replaceable> - ��� <replaceable>-compiled.specifics</replaceable> (�������� ����), - �� ����������� ���������� <varname>PKGNAMEPREFIX</varname> � - <varname>PKGNAMESUFFIX</varname>, ��������������. �� ������� �� - ������ �������� ���������� <varname>PORTNAME</varname>.</para> - </sect2> - - <sect2 xml:id="porting-pkgname"> - <title>���������� �� ���������� �������</title> - - <para>����� ������� ��������� ����������, ������� �� ������ ��������� - � ���������� ����� �������. ��� ���� ����������� ��� ���������� - ��������� ��������, ��� ��� ������� ��� ������ �������, � - ������������ ���������� �� ���, ���� ������ �� ���������� �� - �����!</para> - - <para>��� ������ ������ ����� ��� - <filename>language_region-name-compiled.specifics-version.numbers</filename>.</para> - - <para>��� ������ ������������ ��� - <literal>${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}</literal>. - �� ������ �������� �������� ���������� � ������������ � ���� - ��������.</para> - - <orderedlist> - <listitem> - <para>&os; �������� ������������ �����, �� ������� ������������� - ţ ������������. ����� <replaceable>language-</replaceable> - ������ ���� �������������� ����������� �� �������� ����� �� - ��������� ISO-639, ���� ���� ���������� ��� ����������� �����. - ��������� �������� <literal>ja</literal> ��� ���������, - <literal>ru</literal> ��� ��������, <literal>vi</literal> ��� - ������������, <literal>zh</literal> ��� ����������, - <literal>ko</literal> ��� ���������� � <literal>de</literal> ��� - ��������� ������.</para> - - <para>���� ��� ���� ���������� ��� ����������� ������� ������ - ������� ������������� �����, �������� ����� �������������� ��� - ������. ��������� �������� <literal>en_US</literal> ��� US - English � <literal>fr_CH</literal> ��� Swiss French.</para> - - <para>����� <replaceable>language-</replaceable> ������ ���������� - � ���������� <varname>PKGNAMEPREFIX</varname>.</para> - </listitem> - - <listitem> - <para>������ ����� ����� <filename>name</filename> ������ ���� � - ������ ��������. (���������� ����� �������� ����� ��������� - ����� � ������� ��������, ��� ��� ���������� ������� ����, ����� - ������������ ��� ������������ ������, ����������� � ����� - ��������� ���������� ��������� ����.) ���������� �������� - ��������� ������ ��� <literal>Perl 5</literal>, �������� ������� - <literal>p5-</literal> � ���������� ���� ��������� � - �����; ��������, ������ <literal>Data::Dumper</literal> ����� - ����������� <literal>p5-Data-Dumper</literal>.</para> - </listitem> - - <listitem> - <para>���������, ��� ��� ����� � ������ ����� �������� � - ����������� � ���������� <varname>PORTNAME</varname> � - <varname>PORTVERSION</varname>. ������������ �������, �� - ������� <varname>PORTNAME</varname> �������� ���������� �����, - ��� ���� ���������� ����������� ��� ������ ����� �������, ��� - ��� ������� ��� ������ <filename>textproc/libxml2</filename> - ��� <filename>japanese/kinput2-freewnn</filename>. � ��������� - ������ <varname>PORTNAME</varname> �� ������ ��������� ������� - ����������, ����������� �� ������. ��, ��� ��������� ����� - ����� ���������� <varname>PORTNAME</varname>, �������� ������ - ����������, ��� ��� ������ <filename>www/apache*</filename>; - � ���� ������ ��������� ������ (� ��������� ������ � �������) - ���������� �� ��������� <varname>PKGNAMEPREFIX</varname> - � <varname>PKGNAMESUFFIX</varname>.</para> - </listitem> - - <listitem> - <para>���� ���� ����� ���� �������� � ���������� <link linkend="makefile-masterdir">���������� ��������� ���������� �� - ���������</link> (������ ��� ����� ����� �������� � ��������� - ������), �� ����� <replaceable>-compiled.specifics</replaceable> - ������ ���������� ���������������� �������� �� ��������� (����� - �� ����������). ��������� �������� ������� ������ � - �������.</para> - - <para>����� <replaceable>-compiled.specifics</replaceable> ������ - ���������� � ���������� <varname>PKGNAMESUFFIX</varname>.</para> - </listitem> - - <listitem> - <para>������ � ������� ������ ������ ��������� �� ������� - (<literal>-</literal>) � �������� ������� ����������� ���������� - ����� � ���� � ������ ��������. � ���������, �� ����������� - ����� ��� ���� ����� ������ ������ � ������������ ������ ������. - ������������ ����������� �������� ������� <literal>pl</literal> - (���������� <quote>patchlevel</quote>), ������� ����� - �������������� <emphasis>������</emphasis> �����, ����� � - ������������ ����������� ��� �������� � �������� ������ ������. - ���� � ����� ������ ������������ ����������� �������� ������� - ���� <quote>alpha</quote>, <quote>beta</quote>, - <quote>rc</quote> ��� <quote>pre</quote>, �������� �� �ţ ������ - ����� � ��������� ţ ��������������� ����� �����. ���� ����� - ����� ����� ����� ������ �ݣ ������������, �� ����� ����� ������ - ��������� ����� ��� �������������� ����������� �����.</para> - - <para>����� ������ ������� ����������� � �������� ���������� ������ - �� ������ ������. � ���������, ������� �� ���, ����� ���������� - ������ ������ ����������� ������, � ���� ��� ������������ ����, - �� ����������� ������ - <literal>0.0.yyyy.mm.dd</literal>, �� �� - <literal>dd.mm.yyyy</literal> - ��� �� ����������� � ��������� Y2K - <literal>yy.mm.dd</literal>. - ���������� � ������ �������� <literal>0.0.</literal> �������� - ������, � ������ ���� ������� ����� � ����������� ��������� - ������, ������� � �������� �������������, ������� ��, ����� - ����, ��� - <literal>yyyy</literal>.</para> - </listitem> - </orderedlist> - - <para>��� ��������� (��������) �������� ����, ��� ������������� ��� �� - �������������, ������������ ��������, � ����������� ��� ����� - ������:</para> - - <informaltable frame="none" pgwide="1"> - <tgroup cols="6"> - <thead> - <row> - <entry>��� ������������</entry> - - <entry><varname>PKGNAMEPREFIX</varname></entry> - - <entry><varname>PORTNAME</varname></entry> - - <entry><varname>PKGNAMESUFFIX</varname></entry> - - <entry><varname>PORTVERSION</varname></entry> - - <entry>�����������</entry> - </row> - </thead> - - <tbody> - <row> - <entry>mule-2.2.2</entry> - <entry>(�����)</entry> - <entry>mule</entry> - <entry>(�����)</entry> - <entry>2.2.2</entry> - <entry>��������� �� �������������</entry> - </row> - - <row> - <entry>EmiClock-1.0.2</entry> - <entry>(�����)</entry> - <entry>emiclock</entry> - <entry>(�����)</entry> - <entry>1.0.2</entry> - <entry>��� ��������� �������� ����� � ���������� ������� - ���������</entry> - </row> - - <row> - <entry>rdist-1.3alpha</entry> - <entry>(�����)</entry> - <entry>rdist</entry> - <entry>(�����)</entry> - <entry>1.3.a</entry> - <entry>������� ���� <literal>alpha</literal> ���������</entry> - </row> - - <row> - <entry>es-0.9-beta1</entry> - <entry>(�����)</entry> - <entry>es</entry> - <entry>(�����)</entry> - <entry>0.9.b1</entry> - <entry>������� ���� <literal>beta</literal> ���������</entry> - </row> - - <row> - <entry>mailman-2.0rc3</entry> - <entry>(�����)</entry> - <entry>mailman</entry> - <entry>(�����)</entry> - <entry>2.0.r3</entry> - <entry>������� ���� <literal>rc</literal> ���������</entry> - </row> - - <row> - <entry>v3.3beta021.src</entry> - <entry>(�����)</entry> - <entry>tiff</entry> - <entry>(�����)</entry> - <entry>3.3</entry> - <entry>��� ��� ����� ���� ������?</entry> - </row> - - <row> - <entry>tvtwm</entry> - <entry>(�����)</entry> - <entry>tvtwm</entry> - <entry>(�����)</entry> - <entry>pl11</entry> - <entry>������ ��������� �������� ������ ������</entry> - </row> - - <row> - <entry>piewm</entry> - <entry>(�����)</entry> - <entry>piewm</entry> - <entry>(�����)</entry> - <entry>1.0</entry> - <entry>������ ��������� �������� ������ ������</entry> - </row> - - <row> - <entry>xvgr-2.10pl1</entry> - <entry>(�����)</entry> - <entry>xvgr</entry> - <entry>(�����)</entry> - <entry>2.10.1</entry> - <entry><literal>pl</literal> ��������� ������ ��� ���������� - ��������/�������� ������ ������</entry> - </row> - - <row> - <entry>gawk-2.15.6</entry> - <entry>ja-</entry> - <entry>gawk</entry> - <entry>(�����)</entry> - <entry>2.15.6</entry> - <entry>������ �� �������� �����</entry> - </row> - - <row> - <entry>psutils-1.13</entry> - <entry>(�����)</entry> - <entry>psutils</entry> - <entry>-letter</entry> - <entry>1.13</entry> - <entry>������ ������ �������� ���������� �� ����� ���������� - ������</entry> - </row> - - <row> - <entry>pkfonts</entry> - <entry>(�����)</entry> - <entry>pkfonts</entry> - <entry>300</entry> - <entry>1.0</entry> - <entry>����� ��� ������� 300dpi</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>���� � �������� ���� ��������� ��� ���������� � ������ ������ � - �� ������, ��� ����� ���������� ��������� ������ ������, �� � - �������� ������ ������ ������� ������ <literal>1.0</literal> (��� � - ������� � <literal>piewm</literal> ����). � ��������� ������ - �������� ������ ��������� ��� ����������� ���� - (<literal>0.0.yyyy.mm.dd</literal>) - � �������� ������ ������.</para> - </sect2> - </sect1> - - <sect1 xml:id="makefile-categories"> - <title>���������� �� ����������</title> - - <sect2> - <title><varname>CATEGORIES</varname></title> - - <para>� �������� �������� ������ �� ���������� � ������� - <filename>/usr/ports/packages/All</filename>, � � ����� ��� ����� - ������������ �� <filename>/usr/ports/packages</filename> - ��������� �� ���� ������. ����� ���� ������������ ������������ - ���������� <varname>CATEGORIES</varname>. ����� ����� ����� ��� - ���������� ����� ������������, ����� �� ������������ � ������ - ������� �� FTP-������� ��� �������-�����. ����������, ���������� �� - <link linkend="porting-categories">������� ������ ���������</link> - � �������� �� �� ���, - ������� ����� ����� �������� � ������ �����.</para> - - <para>���� ������ ����� ����������, ���� � ������ ������ ����� ������� - ����. ���� �� ������� ����� ����� ����� ���������, �� - ��������������, ��� ����� ����� ����� �������� � ���������� � ������ - ������ ���������. ���������� <link linkend="choosing-categories">����</link> ��� ��������� - ��������� ���������� � ���, ��� ��������� ������� ���������.</para> - </sect2> - - <sect2 xml:id="porting-categories"> - <title>������� ������ ���������</title> - - <para>��� ������� ������ ���������. ��, ������� �������� - �ף������� (<literal>*</literal>), �������� - <emphasis>������������</emphasis> �����������—��� �� ����� - ������������ ����������� � ������ ������. ��� ������������ ������ � - �������� ��������� ���������, � ������ ��� ������.</para> - - <note> - <para>��� ������������� ��������� ������� ������������ �������� - � <varname>COMMENT</varname> � <filename>Makefile</filename> - ���������������� �����������.</para> - </note> - - <informaltable frame="none" pgwide="1"> - <tgroup cols="3"> - <thead> - <row> - <entry>���������</entry> - - <entry>��������</entry> - - <entry>����������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><filename>accessibility</filename></entry> - <entry>����� ��� ������ ������������� � ������������� - �������������.</entry> - <entry/> - </row> - - <row> - <entry><filename>afterstep*</filename></entry> - <entry>�����, �������������� �������� ���� <link xlink:href="http://www.afterstep.org">AfterStep</link>.</entry> - <entry/> - </row> - - <row> - <entry><filename>arabic</filename></entry> - <entry>��������� ��������� �����.</entry> - <entry/> - </row> - - <row> - <entry><filename>archivers</filename></entry> - <entry>����������� ��� ������ � ��������.</entry> - <entry/> - </row> - - <row> - <entry><filename>astro</filename></entry> - <entry>����������, ��������� � �����������.</entry> - <entry/> - </row> - - <row> - <entry><filename>audio</filename></entry> - <entry>��������� ������ �� ������.</entry> - <entry/> - </row> - - <row> - <entry><filename>benchmarks</filename></entry> - <entry>������� ��� ��������� ������������������ �������.</entry> - <entry/> - </row> - - <row> - <entry><filename>biology</filename></entry> - <entry>����������� �����������, ��������� � ���������.</entry> - <entry/> - </row> - - <row> - <entry><filename>cad</filename></entry> - <entry>����������� ������ ������������������� - ��������������.</entry> - <entry/> - </row> - - <row> - <entry><filename>chinese</filename></entry> - <entry>��������� ���������� �����.</entry> - <entry/> - </row> - - <row> - <entry><filename>comms</filename></entry> - <entry>���������������� ����������� �����������.</entry> - <entry>� �������� ��������� ��� ������ � ���������������� - ������.</entry> - </row> - - <row> - <entry><filename>converters</filename></entry> - <entry>������� ��� �������������� ���������� ��������.</entry> - <entry/> - </row> - - <row> - <entry><filename>databases</filename></entry> - <entry>���� ������.</entry> - <entry/> - </row> - - <row> - <entry><filename>deskutils</filename></entry> - <entry>��, ��� ���� �� ����� �� ����������� �����������.</entry> - <entry/> - </row> - - <row> - <entry><filename>devel</filename></entry> - <entry>������� ��� ���������� ������������ �����������.</entry> - <entry>�� ��������� ���� ���������� ������ ������ ��� ��� - ����������—���� ��� ��������� ��� �����-�� ������ - ���������, �� �� ���� ����� �� ������.</entry> - </row> - - <row> - <entry><filename>dns</filename></entry> - <entry>����������� ����������� ��� ������ � DNS.</entry> - <entry/> - </row> - - <row> - <entry><filename>docs*</filename></entry> - <entry>����-����� ��� ������������ &os;.</entry> - <entry/> - </row> - - <row> - <entry><filename>editors</filename></entry> - <entry>��������� ������ ����������.</entry> - <entry>������������������ ��������� ������� � ������� ��� - ��������������� ������������ (��������, �������� - �������������� ������ �������� � - ��������� <filename>math</filename>).</entry> - </row> - - <row> - <entry><filename>elisp*</filename></entry> - <entry>����� ��� Emacs lisp.</entry> - <entry/> - </row> - - <row> - <entry><filename>emulators</filename></entry> - <entry>��������� ������ ������������ ������.</entry> - <entry>��������� ���������� ���� <emphasis>��</emphasis> - ���������—��, ������� ����������� ��� X, ������ ���� � - ��������� <filename>x11</filename>, � ��������� � - <filename>comms</filename> ��� <filename>misc</filename>, � - ����������� �� ����������� �� ��������������.</entry> - </row> - - <row> - <entry><filename>finance</filename></entry> - <entry>���������� ��� ������ � ��������, ��������� � ����, ��� - � ���� �������.</entry> - <entry/> - </row> - - <row> - <entry><filename>french</filename></entry> - <entry>��������� ������������ �����.</entry> - <entry/> - </row> - - <row> - <entry><filename>ftp</filename></entry> - <entry>������� � ������� FTP.</entry> - <entry>���� ��� ���� �������� ��� FTP, - ��� � HTTP, ��������� ��� � ��������� - <filename>ftp</filename> � ������� ��������� ��������� - <filename>www</filename>.</entry> - </row> - - <row> - <entry><filename>games</filename></entry> - <entry>����.</entry> - <entry/> - </row> - - <row> - <entry><filename>geography*</filename></entry> - <entry>����������� �����������, ��������� � ����������.</entry> - <entry/> - </row> - - <row> - <entry><filename>german</filename></entry> - <entry>��������� ��������� �����.</entry> - <entry/> - </row> - - <row> - <entry><filename>gnome*</filename></entry> - <entry>����� ������� <link xlink:href="http://www.gnome.org">GNOME</link>.</entry> - <entry/> - </row> - - <row> - <entry><filename>gnustep*</filename></entry> - <entry>����������� ����������� ��� ��������� �������� - ����� GNUstep.</entry> - <entry/> - </row> - - <row> - <entry><filename>graphics</filename></entry> - <entry>����������� �������.</entry> - <entry/> - </row> - - <row> - <entry><filename>hamradio*</filename></entry> - <entry>����������� ����������� ��� ������������� �����</entry> - <entry/> - </row> - - <row> - <entry><filename>haskell*</filename></entry> - <entry>����������� �����������, ��������� � ������ - Haskell.</entry> - <entry/> - </row> - - <row> - <entry><filename>hebrew</filename></entry> - <entry>��������� ������.</entry> - <entry/> - </row> - - <row> - <entry><filename>hungarian</filename></entry> - <entry>��������� ����������� �����.</entry> - <entry/> - </row> - - <row> - <entry><filename>ipv6*</filename></entry> - <entry>����������� �����������, ��������� � IPv6.</entry> - <entry/> - </row> - - <row> - <entry><filename>irc</filename></entry> - <entry>������� ��� ������ � Internet Relay Chat.</entry> - <entry/> - </row> - - <row> - <entry><filename>japanese</filename></entry> - <entry>��������� ��������� �����.</entry> - <entry/> - </row> - - <row> - <entry><filename>java</filename></entry> - <entry>����������� �����������, ��������� � ������ - Java™.</entry> - <entry>��������� <filename>java</filename> �� � ���� ������ - �� ������ ���� ������������ ��� �����. �������� ��� ������, - ��������������� ������� ��������� � ����� Java, �������� - ����� ������������� �� ������������ - <filename>java</filename> ��� �������� ��������� - �����.</entry> - </row> - - <row> - <entry><filename>kde*</filename></entry> - <entry>����� ������� - <link xlink:href="http://www.kde.org">KDE</link>.</entry> - <entry/> - </row> - - <row> - <entry><filename>kld*</filename></entry> - <entry>����������� ������ ����.</entry> - <entry/> - </row> - - <row> - <entry><filename>korean</filename></entry> - <entry>��������� ���������� �����.</entry> - <entry/> - </row> - - <row> - <entry><filename>lang</filename></entry> - <entry>����� ����������������.</entry> - <entry/> - </row> - - <row> - <entry><filename>linux*</filename></entry> - <entry>Linux ���������� � �������.</entry> - <entry/> - </row> - - <row> - <entry><filename>lisp*</filename></entry> - <entry>����������� �����������, ��������� � ������ - Lisp.</entry> - <entry/> - </row> - - <row> - <entry><filename>mail</filename></entry> - <entry>��������� ��� ������ � ����������� ������.</entry> - <entry/> - </row> - - <row> - <entry><filename>math</filename></entry> - <entry>����������� ����������� ��� ��������� ���������� � - ������ �������, ��������� � �����������.</entry> - <entry/> - </row> - - <row> - <entry><filename>mbone*</filename></entry> - <entry>���������� ��� MBone.</entry> - <entry/> - </row> - - <row> - <entry><filename>misc</filename></entry> - <entry>��������� �������</entry> - <entry>� �������� ��, ��� �� �������� � - ������ ���������. ���� ��� ��������, ���������� ����� - ����� ����������, ��� <literal>misc</literal>, ��������� ��� - ������ �����, ��� ��� ����� ����� ��������.</entry> - </row> - - <row> - <entry><filename>multimedia</filename></entry> - <entry>����������� ����������� ��� ������ � - �����������.</entry> - <entry/> - </row> - - <row> - <entry><filename>net</filename></entry> - <entry>��������� ������� ����������� �����������.</entry> - <entry/> - </row> - - <row> - <entry><filename>net-im</filename></entry> - <entry>��������� ����������� ������ �����������.</entry> - <entry/> - </row> - - <row> - <entry><filename>net-mgmt</filename></entry> - <entry>����������� ����������� ��� �������� ����������.</entry> - <entry/> - </row> - - <row> - <entry><filename>net-p2p</filename></entry> - <entry>���������� ��� ���������� �����.</entry> - <entry/> - </row> - - <row> - <entry><filename>news</filename></entry> - <entry>����������� ����������� ��� ������ � ������������� - USENET.</entry> - <entry/> - </row> - - <row> - <entry><filename>palm</filename></entry> - <entry>����������� ��������� <link xlink:href="http://www.palm.com/">Palm™</link>.</entry> - <entry/> - </row> - - <row> - <entry><filename>parallel*</filename></entry> - <entry>����������, ��������� � ������������� - ������������.</entry> - <entry/> - </row> - - <row> - <entry><filename>pear*</filename></entry> - <entry>�����, ����������� � ���������� Pear PHP.</entry> - <entry/> - </row> - - <row> - <entry><filename>perl5*</filename></entry> - <entry>�����, ������� ��� ������ ��������� - <application>Perl</application> ������ 5.</entry> - <entry/> - </row> - - <row> - <entry><filename>plan9*</filename></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/> - </row> - - <row> - <entry><filename>ports-mgmt</filename></entry> - <entry>����� ��� ����������, ��������� � ���������� - ������ � ������� &os;.</entry> - <entry/> - </row> - - <row> - <entry><filename>portuguese</filename></entry> - <entry>��������� �������������� �����.</entry> - <entry/> - </row> - - <row> - <entry><filename>print</filename></entry> - <entry>����������� ����������� ��� ������.</entry> - <entry>����������� ��� ף����� (������������ � ���� ��������) - ���� ��������� ����.</entry> - </row> - - <row> - <entry><filename>python*</filename></entry> - <entry>����������� �����������, ��������� � ������ <link xlink:href="http://www.python.org/">Python</link>.</entry> - <entry/> - </row> - - <row> - <entry><filename>ruby*</filename></entry> - <entry>����������� �����������, ��������� � ������ <link xlink:href="http://www.ruby-lang.org/">Ruby</link>.</entry> - <entry/> - </row> - - <row> - <entry><filename>rubygems*</filename></entry> - <entry>����� ��� ������� <link xlink:href="http://www.rubygems.org/">RubyGems</link>.</entry> - <entry/> - </row> - - <row> - <entry><filename>russian</filename></entry> - <entry>��������� �������� �����.</entry> - <entry/> - </row> - - <row> - <entry><filename>scheme*</filename></entry> - <entry>����������� �����������, ��������� � ������ - Scheme.</entry> - <entry/> - </row> - - <row> - <entry><filename>science</filename></entry> - <entry>������� ���������, ������� �� ��������� ��� ������ - ���������, ������, <filename>astro</filename>, - <filename>biology</filename> ��� - <filename>math</filename>.</entry> - <entry/> - </row> - - <row> - <entry><filename>security</filename></entry> - <entry>���������, �������������� ������������ �������.</entry> - <entry/> - </row> - - <row> - <entry><filename>shells</filename></entry> - <entry>��������� ��������� ����������.</entry> - <entry/> - </row> - - <row> - <entry><filename>sysutils</filename></entry> - <entry>��������� �������.</entry> - <entry/> - </row> - - <row> - <entry><filename>spanish*</filename></entry> - <entry>��������� ���������� �����.</entry> - <entry/> - </row> - - <row> - <entry><filename>tcl*</filename></entry> - <entry>�����, ��� ������ ������� ����� Tcl.</entry> - <entry/> - </row> - - <row> - <entry><filename>textproc</filename></entry> - <entry>������� ��� ��������� �������.</entry> - <entry>����������� ��� ף����� ���������� � ��������� - <filename>print</filename>, � �� ����.</entry> - </row> - - <row> - <entry><filename>tk*</filename></entry> - <entry>�����, ��� ������ ������� ����� Tk.</entry> - <entry/> - </row> - - <row> - <entry><filename>ukrainian</filename></entry> - <entry>��������� ����������� �����.</entry> - <entry/> - </row> - - <row> - <entry><filename>vietnamese</filename></entry> - <entry>��������� ������������ �����.</entry> - <entry/> - </row> - - <row> - <entry><filename>windowmaker*</filename></entry> - <entry>�����, �������������� �������� ���� WindowMaker.</entry> - <entry/> - </row> - - <row> - <entry><filename>www</filename></entry> - <entry>����������� �����������, ��������� � World Wide - Web.</entry> - <entry>��������� ����� HTML ��������� ���� ��.</entry> - </row> - - <row> - <entry><filename>x11</filename></entry> - <entry>X Window System � ��� � ����.</entry> - <entry>��� ��������� - ������������� ������ ��� ������������ �����������, ������� - ������������ ���� ������� �������. �� ��������� ���� - ������� ���������� ��� X: ����������� �� ��� ������ ���� - ���������� � ������ ��������� <filename>x11-*</filename> - (�������� ����).</entry> - </row> - - <row> - <entry><filename>x11-clocks</filename></entry> - <entry>���� ��� X11.</entry> - <entry/> - </row> - - <row> - <entry><filename>x11-drivers</filename></entry> - <entry>�������� X11.</entry> - <entry/> - </row> - - <row> - <entry><filename>x11-fm</filename></entry> - <entry>��������� ������ ��� X11.</entry> - <entry/> - </row> - - <row> - <entry><filename>x11-fonts</filename></entry> - <entry>������ ��� X11 � ������� ��� ������ � ����.</entry> - <entry/> - </row> - - <row> - <entry><filename>x11-servers</filename></entry> - <entry>������� ��� X11.</entry> - <entry/> - </row> - - <row> - <entry><filename>x11-themes</filename></entry> - <entry>���� ��� X11.</entry> - <entry/> - </row> - - <row> - <entry><filename>x11-toolkits</filename></entry> - <entry>������ ������������ ��� X11.</entry> - <entry/> - </row> - - <row> - <entry><filename>x11-wm</filename></entry> - <entry>������� ��������� ��� X11.</entry> - <entry/> - </row> - - <row> - <entry><filename>xfce*</filename></entry> - <entry>�����, ��������� � ���������� �������� ����� - <link xlink:href="http://www.xfce.org/">Xfce</link>.</entry> - <entry/> - </row> - - <row> - <entry><filename>zope*</filename></entry> - <entry>��������� <link xlink:href="http://www.zope.org/">Zope</link>.</entry> - <entry/> - </row> - </tbody> - </tgroup> - </informaltable> - </sect2> - - <sect2 xml:id="choosing-categories"> - <title>����� ���������� ���������</title> - - <para>��� ��� ������ ��������� �������������, ��� ����� ���������� - ����� ��������, ����� �� ��� ������ ���� �������� ��� ������ �����. - ���� ��������� ������, �� ������� ����� ������ ���� ������. ��� - ������ �����������, � ������������� ������� ������������:</para> - - <itemizedlist> - <listitem> - <para>������ ��������� ������ ���� ���������� ��������� (�������� - <link linkend="porting-categories">����</link>). ��� - ���������� ��� �������� �������. ����� ����� ����������� - � ���������� ��������� ����� �����������.</para> - </listitem> - - <listitem> - <para>������� ������ ���� ���������, ����������� ��� ������. - ��������, ���� ��� ���� ������������� �������� ������ ��� X11, - �� ������� <varname>CATEGORIES</varname> ������ ����� ��� - <filename>japanese x11-fonts</filename>.</para> - </listitem> - - <listitem> - <para>����� ���������� ��������� ���� ������� ����� ����� - ������. � ���������, �������� HTML ������ ���� ������ ��� - <filename>www editors</filename>, � �� ��������. ����� ����, �� - �� ������ ��������� ��������� <filename>net</filename>, ���� ���� - ��������� � ����� �� ��������� <filename>irc</filename>, - <filename>mail</filename>, - <filename>news</filename>, <filename>security</filename> ��� - <filename>www</filename>, ��� ��� <filename>net</filename> - ���������� �������������.</para> - </listitem> - - <listitem> - <para><filename>x11</filename> ������������ ��� ��������� ��������� - ������ � ������, ���� � �������� �������� ��������� ������ - ������������ ����. � ���������, ��� �� ����� ��������� - <filename>x11</filename> � �������� ��������� ��� - ���������� X.</para> - </listitem> - - <listitem> - <para>������ ��� ��������� <application>Emacs</application> ������ - ���������� � �� �� ���������, ��� � ����������, ������� - �������������� ���� �������, � �� � <filename>editors</filename>. - ��������, ����� <application>Emacs</application> ��� - �������������� ��������� ���� ���������� ����� ���������������� - ������ ���� ������� � ��������� <filename>lang</filename>.</para> - </listitem> - - <listitem> - <para>�����, ��������������� ����������� ������ ����, ������ - ��������� ����������� ��������� <filename>kld</filename> � - ������ <varname>CATEGORIES</varname>. ��� ���� �� ��������, - ����������� ������������� � ����������� - <literal>kmod</literal> � ������ <varname>USES</varname>. - </para> - </listitem> - - <listitem> - <para><filename>misc</filename> - �� ������ ����������� ������ � ����� ������ ������������� - ����������. ���� �� ���������� <literal>misc</literal> - ������ � ���-�� �ݣ � ������ <varname>CATEGORIES</varname>, - ��� ������, ��� �� ������ �������� ������� - <literal>misc</literal> � ������ ��������� ���� � ���� - ������ ����������!</para> - </listitem> - - <listitem> - <para>���� ��� ���� ����������� ������� �� ��������� �� ��� ����� - ���������, ��������� ��� � <filename>misc</filename>.</para> - </listitem> - </itemizedlist> - - <para>���� �� �� ������� � ������������ ������ ���������, ����������, - �������� ��� � ����� ��������� ����� &man.send-pr.1;, ����� �� - ����� �������� ��� �� ����, ��� �������� ���� � ���������. ���� �� - ��������� �����������, ������� ��������� �� ����� &a.ports;, ����� �� - ����� �������� ���. �������� ����� ����� ���������� �� � �� - ��������� ������ ��� ����, ����� �� ������ ����� �� �������. - ��� �������� � ��������� � ��������� ����� ��������� ��������� - �������� �������.</para> - </sect2> - - <sect2 xml:id="proposing-categories"> - <title>����������� ����� ���������</title> - - <para>��������� �� �������� ��������� ������ �����������, �� � ����� - � ���� ���� ��������� ��������� ����� ���������. ����� ��������� - ����� ���� ��� <emphasis>������������</emphasis> �����������— - ������� �� ����� ���������������� ����������� � ������ ������— - ��� <emphasis>�����������</emphasis> �����������—� ������� - �� ����. ��������� ����� �������� ���������� ��������, ����������� - ��� �������� ����� ���������� ���������, ����� �� ����� �������� - ��, ����� ���������� ����� ���������.</para> - - <para>� ������������ � ������������ ��������� �� �������� �������� - ����� ���������� ���������, ���� ���������� ������� ����� ������ - ��������� �� �� ����������� ��� �� �����, ������� ����� �� �� - ������������, �� �������� ��������� ������������ �������, - �������������� ��� ���� ������������ ������� (� ���������, - ���������, ����������� � ������������ ������); ��������������� - ���������� ����� �������.</para> - - <para>�������� �������� ��� ����� �������� ��, ��� ����� ��������� - ������� <link xlink:href="&url.articles.committers-guide;/#ports">�������� - ���������� ������</link> � ��� �����������, � ��� ���� ��� - �������������, ������� ����������� ��������� � ��������� ������. - � ����������, ������������ ��������� ������� ������������ - �����������. (�������, ������ ��� �� ���������� ������� ����������, - �������� �� ��������� <quote>������� �������</quote>, ��� ������ - �� ��������� ������������� ���� ��� ��������� (�, ����� �������, - ����� ���������� ��������� ���� �� ��������� ���������), � ��� - �����.)</para> - - <para>���������:</para> - - <procedure> - <step> - <para>���������� ����� ��������� �� &a.ports;. ��� ������� - �������� ��� ����� ��������� ��������� �����������, � ��� ����� - ������ �� ��������, ��� ������������ ��������� �� �������� - ������������, � ������ ������������ ������, ������������ ��� - �����������. (���� ���� ����� �����, ��������� � - <application>GNATS</application> � ���������� � ��� ���������, - �� ������� �� ����.) ���� �� ��������� �������������� �/��� - ������������, �� ������� ��� ��������������, ��� ��� ��� ����� - ������ ��� � ����� ����.</para> - </step> - - <step> - <para>���������� ������� � ����������.</para> - </step> - - <step> - <para>���� �������, ��� ��� ����� ���� ��������� ���������, - ��������� PR, ������� ����� �������� ����������� � ������ - ������������ ������, ������� ���� �����������. � ������ - ���� PR ������ ����� �������� ����� ��� ����������:</para> - - <itemizedlist> - <listitem> - <para><filename>Makefile</filename>'� ��� ����� ������ � - ���������� ������������� �����������</para> - </listitem> - - <listitem> - <para><filename>Makefile</filename> ��� ��������� ������ - ������</para> - </listitem> - - <listitem> - <para><filename>Makefile</filename>'� ��� ������, ��������� - �� ������ ������</para> - </listitem> - - <listitem> - <para>(� ����������, �� ������ �������� ������ �����, - ��������� ���������, �������� ��������� �� ����������� - ����������.)</para> - </listitem> - </itemizedlist> - </step> - - <step> - <para>��������� ��� ����������� �������������� ������ � - ���������� �� ������ ���������� ������������� �����������, �� - �����, ��������, � ���������� ������������ ������ �� �������� - ����������, �� PR ������ ��������� ���� &a.portmgr;.</para> - </step> - - <step> - <para>���� ���� PR �������, �� ���������� ����� ���������� - ��������� ����� ���������, ������� <link xlink:href="&url.articles.committers-guide;/article.html#PORTS"> - �������� � ����������� ����������</link>.</para> - </step> - </procedure> - - <para>����������� ����� ����������� ��������� ������ ���� ������ - � ��������������, �� ��� ���� ����������� ������� ������, - ��������� �� ���� �� ������ �� ����� ��������� � ����������������. - � ���� ������ ������������� �������, ����������� � PR, ����� - ��, ��� ��������� ����� ��������� � <varname>CATEGORIES</varname> - ������� �� ������������� ������.</para> - </sect2> - - <sect2 xml:id="proposing-reorg"> - <title>����������� ������������� ���� ���������</title> - - <para>����� �� ������� ���-������ ���������� ���������� ������������� - ��������� ���� �� �������������, ���� ������� ���� �� ������ - �������� ����. �� ������ ������ �� ���� ����������� ������ �� - ����������, ������ ���, ���� ��� ������ � ����������, �� - �������������� ��������� ���� ��������� ������ �� ������� ���� - �������� � ������. ����������, �������� ������� ���� ����������� - � ������� �������� ����� ���, ��� ��������� ���� �����������; - ����� ����, �� ������ ���� ������ ����������� ���������� - ��������.</para> - </sect2> - </sect1> - - <sect1 xml:id="makefile-distfiles"> - <title>�������������� �����</title> - - <para>�� ������ ����� <filename>Makefile</filename> ��������, ����� - ����� � ������ ������ ���� �������� ��� ����, ����� ��������� - ����.</para> - - <sect2> - <title><varname>DISTVERSION/DISTNAME</varname></title> - - <para>� ���������� <varname>DISTNAME</varname> ����������� ��� ����� - ���, ��� ������� ��� ��������� ������������ �����������. �������� - <varname>DISTNAME</varname> �� ��������� ��������� � - <literal>${PORTNAME}-${PORTVERSION}</literal>, ��� ��� - ��������������� ţ �������� ������ � ������ �������������. - <varname>DISTNAME</varname> ������������ ������ � ���� ������. - ��-������, ������ �������������� ������ - (<varname>DISTFILES</varname>) �� ��������� ������� �� - <varname>${DISTNAME}</varname><varname>${EXTRACT_SUFX}</varname>. � - ��-������, ��������������, ��� �������������� ���� ����� ���������� � - ���������� � ������ <varname>WRKSRC</varname>, �������� �������� �� - ��������� ���� �� ��� ����, ��� - <filename>work/${DISTNAME}</filename>.</para> - - <para>�������� ��������� �������������, ������� �� ������������ � - <literal>${PORTNAME}-${PORTVERSION}</literal>-�����, ����� ���� - ������������� ���������� ����������� ��������� ���������� - <varname>DISTVERSION</varname>. <varname>PORTVERSION</varname> � - <varname>DISTNAME</varname> ����� ������������ �������������, �� - ������� �� ����� ���� ��������������. ��������� ������� - ������������� ��������� �������:</para> - - <informaltable frame="none" pgwide="0"> - <tgroup cols="2"> - <thead> - <row> - <entry><varname>DISTVERSION</varname></entry> - <entry><varname>PORTVERSION</varname></entry> - </row> - </thead> - - <tbody> - <row> - <entry>0.7.1d</entry> - <entry>0.7.1.d</entry> - </row> - - <row> - <entry>10Alpha3</entry> - <entry>10.a3</entry> - </row> - - <row> - <entry>3Beta7-pre2</entry> - <entry>3.b7.p2</entry> - </row> - - <row> - <entry>8:f_17</entry> - <entry>8f.17</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <note> - <para>�������� ���������� <varname>PKGNAMEPREFIX</varname> - � <varname>PKGNAMESUFFIX</varname> �� ������ �� �������� - <varname>DISTNAME</varname>. �������� �����, ��� ���� �������� - <varname>WRKSRC</varname> ����� - <filename>work/${PORTNAME}-${PORTVERSION}</filename>, - � � ������, ����� ������������ ����� ���������� �� �����, �������� - �� <varname>${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX}</varname>, - ������ �����, �� ������ �������� <varname>DISTNAME</varname> - ��� ����— ����� �������������� <varname>DISTFILES</varname>, - ��� �������� �������� ��� - <varname>DISTNAME</varname>, ��� � <varname>WRKSRC</varname> - (�, ��������, �ݣ � <varname>EXTRACT_SUFX</varname>).</para> - </note> - </sect2> - - <sect2> - <title><varname>MASTER_SITES</varname></title> - - <para>�������� ����� � ��������� FTP/HTTP-URL, ������� ��������� �� - ������������ ����� �� ������� <varname>MASTER_SITES</varname>. �� - �������� ���������� ���� (<filename>/</filename>)!</para> - - <para>������ ������� <command>make</command> ����� �������� - ��������������� ���� ���������� ��� ��������� ��������������� ����� - � ������� ��������� <varname>FETCH</varname>, ���� �� �� ����� ������ - � �������.</para> - - <para>������������� �������� � ������ ����� ������, ��������������� � - ������ �����������. ��� ������� ��� ������� ������� � ������� �����. - �� ���� ��������� �������� ��������� ��������������� ����������� - ���������� ����� � ������� ������ ������; ������� ���������� ������ - ����� �������������� ����� ���������.</para> - - <para>���� ������������ ����� ��������� �� ����� �� ����� ���������� - ��������, ��� SourceForge, GNU ��� Perl CPAN, �� ���������� ��� - ����� � ������� ����� ��� ������ - <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} -MASTER_SITE_SUBDIR= make</programlisting> - - <para>��� ����� ������������ ����������� ������:</para> - - <programlisting>MASTER_SITES= GNU/make</programlisting> - - <para>��� ���������� ���������� � ����� - <filename>/usr/ports/Mk/bsd.sites.mk</filename>. �ӣ ����� - ����������� ����� ������, ��� ��� ����������� � ��������� ������ - ����� ����� ����� ���, ��� ������� ��� ���� ����.</para> - - <para>��� ���������� ������ ���������� ��������� - <emphasis>����������</emphasis> �������� � ������� ��������� - ���������� ���������. ����������� ��� ��� ����������, � ������� - ���������� ������� ��� ��� ���������� ����������.</para> - - <programlisting>MASTER_SITES= SF</programlisting> - - <para>���� ������� ������� �� �������, �� ��� ����� ���� ���������� - ��������� �������.</para> - - <programlisting>MASTER_SITES= SF/stardict/WyabdcRealPeopleTTS/${PORTVERSION}</programlisting> - - <para>��� ����� ����� �������� � ����� ����:</para> - - <programlisting>MASTER_SITES= SF -MASTER_SITE_SUBDIR= stardict/WyabdcRealPeopleTTS/${PORTVERSION}</programlisting> - - <table frame="none"> - <title>���������� ���������� ������� ��� - <varname>MASTER_SITES</varname></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>Macro</entry> - - <entry>Assumed subdirectory</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>BERLIOS</varname></entry> - - <entry><varname>/${PORTNAME:L}</varname></entry> - </row> - - <row> - <entry><varname>CHEESESHOP</varname></entry> - - <entry><varname>/packages/source/source/${DISTNAME:C/(.).*/\1/}/${DISTNAME:C/(.*)-[0-9].*/\1/}</varname></entry> - </row> - - <row> - <entry><varname>DEBIAN</varname></entry> - - <entry><varname>/debian/pool/main/${PORTNAME:C/^((lib)?.).*$/\1/}/${PORTNAME}</varname></entry> - </row> - - <row> - <entry><varname>GCC</varname></entry> - - <entry><varname>/pub/gcc/releases/${DISTNAME}</varname></entry> - </row> - - <row> - <entry><varname>GNOME</varname></entry> - - <entry><varname>/pub/GNOME/sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}</varname></entry> - </row> - - <row> - <entry><varname>GNU</varname></entry> - - <entry><varname>/gnu/${PORTNAME}</varname></entry> - </row> - - <row> - <entry><varname>MOZDEV</varname></entry> - - <entry><varname>/pub/mozdev/${PORTNAME:L}</varname></entry> - </row> - - <row> - <entry><varname>PERL_CPAN</varname></entry> - - <entry><varname>/pub/CPAN/modules/by-module/${PORTNAME:C/-.*//}</varname></entry> - </row> - - <row> - <entry><varname>PYTHON</varname></entry> - - <entry><varname>/ftp/python/${PYTHON_PORTVERSION:C/rc[0-9]//}</varname></entry> - </row> - - <row> - <entry><varname>RUBYFORGE</varname></entry> - - <entry><varname>/${PORTNAME:L}</varname></entry> - </row> - - <row> - <entry><varname>SAVANNAH</varname></entry> - - <entry><varname>/${PORTNAME:L}</varname></entry> - </row> - - <row> - <entry><varname>SF</varname></entry> - - <entry><varname>/project/${PORTNAME:L}/${PORTNAME:L}/${PORTVERSION}</varname></entry> - </row> - </tbody> - </tgroup> - </table> - </sect2> - - <sect2> - <title><varname>EXTRACT_SUFX</varname></title> - - <para>���� � ��� ������� ���� �������������� ����, � � ��� ����� - ������������ �������� ��������� ��� �������� ���� ������, ������� - ���������� <varname>EXTRACT_SUFX</varname>.</para> - - <para>� �������, ���� �������������� ���� ����� ��� - <filename>foo.tgz</filename>, � �� ����� ��������� - <filename>foo.tar.gz</filename>, �� ������ ��������:</para> - - <programlisting>DISTNAME= foo -EXTRACT_SUFX= .tgz</programlisting> - - <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>. ���� �� ���� �� ���� - ���������� �� ������, �� �������� <varname>EXTRACT_SUFX</varname> - �� ��������� ��������������� � <literal>.tar.gz</literal>.</para> - - <note> - <para>��� �� ����� �������� �������� <varname>EXTRACT_SUFX</varname> - � <varname>DISTFILES</varname> ������������.</para> - </note> - </sect2> - - <sect2> - <title><varname>DISTFILES</varname></title> - - <para>������ ����� ���������� ������ �� ������������� ����� �����. � - �������, ���� ����� ���������� <filename>source.tar.gz</filename> ��� - �������� �������. � ������ ������� �������� ��� ���������� ����� - ������������� � ���������� ������������ �������, � ��� ��� ������ - ���� ��������.</para> - - <para>���� ��� ��� ������, �� ������� � ���������� - <varname>DISTFILES</varname> ������ �����̣���� ��������� �ͣ� - ������, ������� ����� ��������.</para> - - <programlisting>DISTFILES= source1.tar.gz source2.tar.gz</programlisting> - - <para>���� ���������� <varname>DISTFILES</varname> �� ������ ����, �� - ţ ��������� �� ��������� ����� - <literal>${DISTNAME}${EXTRACT_SUFX}</literal>.</para> - </sect2> - - <sect2> - <title><varname>EXTRACT_ONLY</varname></title> - - <para>���� ������ ��������� �� <varname>DISTFILES</varname> ������ ���� - �����������—� �������, ����� �� ��� �������� �������� �����, � - ������ ������������ ����� ������������� - ������������—����������� ����� ������, ������� ������ ���� - �����������, � <varname>EXTRACT_ONLY</varname>.</para> - - <programlisting>DISTFILES= source.tar.gz manual.html -EXTRACT_ONLY= source.tar.gz</programlisting> - - <para>���� <emphasis>�� ����</emphasis> �� <varname>DISTFILES</varname> - �� ������ ���������������, �� ���������� ������ �������� - ���������� <varname>EXTRACT_ONLY</varname>.</para> - - <programlisting>EXTRACT_ONLY=</programlisting> - </sect2> - - <sect2 xml:id="porting-patchfiles"> - <title><varname>PATCHFILES</varname></title> - - <para>���� ������ ����� ��������� ��������� �������������� �����, - ������� �������� �� FTP ��� HTTP, ������� ����� ���� ������ � - ���������� <varname>PATCHFILES</varname>, � � ���������� - <varname>PATCH_SITES</varname> ������� URL ���� ��������, � ������� - ��� ���������� (������ ����� ��, ��� - ��� <varname>MASTER_SITES</varname>).</para> - - <para>���� ���� �� ��������� � ������ ����� ������ �������� ������� - (�� ���� <varname>WRKSRC</varname>), ������ ��� �� �������� ��������� - �������������� ����, ���������� �������������� �������� ���������� - <varname>PATCH_DIST_STRIP</varname>. � ���������, ���� ��� ����� - ����� � ����� ����� �������������� ���� - <literal>foozolix-1.0/</literal> ����� ������ �����, �� ������� - <literal>PATCH_DIST_STRIP=-p1</literal>.</para> - - <para>�� ����������, ���� ����� ���������; ��� ����� ����������� - �������������, ���� ����� ������ ������������ �� - <filename>.gz</filename> ��� <filename>.Z</filename>.</para> - - <para>���� ���� ���������������� ������ � ������-�� ������� �������, - ������, ��� ������������, � ���� tar-������ <command>gzip</command>, - �� �� ������ ������ - ������������ <varname>PATCHFILES</varname>. ���� ��� ��� ������, - �������� ��� � �������������� ������ � ������ � - <varname>DISTFILES</varname> � <varname>MASTER_SITES</varname>. - ����� �������������� ���������� <varname>EXTRA_PATCHES</varname> ��� - �������� ���� ������, � <filename>bsd.port.mk</filename> ������������� - �������� ��� �����. � ���������, <emphasis>�� ���������</emphasis> - ����� � ������� � ������� <varname>PATCHDIR</varname>—���� - ������� ����� ���� ����������� ��� ������.</para> - - <note> - <para>����� ����� ���������� ��� ��������� ����, ��� - ������, � � ���� �� ��� �� ����� ���� �������������, ���� - ��� ������� ����� <command>gzip</command> ��� - <command>compress</command>. ���� �� �������� ���������, - ��������� �������������� ������ ��� ����, ����� �� ������������ - ���-����, ��� ������������ � ���� ��������. ����� �� �������� - �������� ������� ��� �������� �������������� ����� � ���� - <buildtarget>pre-clean</buildtarget>.</para> - </note> - </sect2> - - <sect2 xml:id="porting-master-sites-n"> - <title>��������� �������������� ������ ��� ������ � ��������� �������� - � ������������ (<literal>MASTER_SITES:n</literal>)</title> - - <para>(���� ������ ����� ������� ������� <quote>���������� - ���������</quote>; ��, ��� ������� ���������� � ���� �������, ����� - ���������� ���� ������).</para> - - <para>� ���� ������� ��������� ���������� � ��������� �������, - ��������� ��� <literal>MASTER_SITES:n</literal> � - <literal>MASTER_SITES_NN</literal>. ����� �� ����� �������� ���� - �������� <literal>MASTER_SITES:n</literal>.</para> - - <para>������� ������� ����� ����������. � OpenBSD ������� �������� - �����������, ������������ � ���������� <varname>DISTFILES</varname> � - <varname>PATCHFILES</varname>, ������� ��������� ���������� ����� - ���� ������ � ������ �������������� ���� <literal>:n</literal>. ����� - <literal>n</literal> ����� ���� �� ��������� <literal>[0-9]</literal> - � ���������� ������̣���� ������. � �������:</para> - - <programlisting>DISTFILES= alpha:0 beta:1</programlisting> - - <para>� OpenBSD �������������� ���� <filename>alpha</filename> ����� - ������ � ���������� <varname>MASTER_SITES0</varname>, �� �� � ����� - ����� ���������� <varname>MASTER_SITES</varname>, � ���� - <filename>beta</filename> � ���������� - <varname>MASTER_SITES1</varname>.</para> - - <para>���� ����� ���������� �����������, ������� ����� ��������� ���� - ����������� ����� ����������� ����� ��� �������.</para> - - <para>������ ����������� ���� 2 ����� � <varname>DISTFILES</varname> � - 20 ������ � <varname>MASTER_SITES</varname>; ����� ����� ���������, - ���ޣ� <filename>beta</filename> ��������� �� ���� ������ �� - <varname>MASTER_SITES</varname>, � <filename>alpha</filename> - ����� ���� ������ ������ �� 20-� �����. ����� ����������� ��������� - �� ���, ���� ��������� ����� �� ����, �� ������ ��? ������������ - ������ ��� ����� ���������� ��������!</para> - - <para>������, ����� �� �������� ����� �������������, ������ ����������� - �ݣ ������� ���������� <varname>DISTFILES</varname> � - <varname>MASTER_SITES</varname>. �������, ��� <quote>������� - ����������� �������������</quote> ������������ �������� �������� - �� ����, ������� ��� ����.</para> - - <para>� ����������� �������� ���������� ����� �������� ������ � - ����������� ���� ���� �� &os;. �� ��������� �������� ��������� - OpenBSD.</para> - - <sect3> - <title>����ݣ���� ����������</title> - - <para>� ���� ������� ��������������, ��� ������ ����������� ������ - ������� ���������� �������������� ������ � ������ � ������ ������ - � ���������. �� ��������� ����� ������ ����ݣ����� ������������� - <literal>MASTER_SITES:n</literal>. ��� ����������� ��������� ����� - ����� ����������. ������, ���� ��� ����� �������������� - ����������, ���������� � ���������� �������.</para> - - <para>��������� ���������� ������� �� ������ �������������� - ������, ������� ������ ���� �������� � ���������� ��������� ������. - � �������, <application>Ghostscript</application> ������� �� - �������� ��������� � �������� ����� ������ ���������, ������� - ������������ � ����������� �� �������� ������������. ��������� �� - ���� ������ ��������� ������������ � �������� ����������, �� ��� - ���� ������ ������ ������ ���� �������� � ��������� ��������� - ������.</para> - - <para>����� ��� ������������, �� ������ ������� � - <varname>DISTFILES</varname> ����� ��������� ������ ��������� � - <quote>��� �����</quote>. �� ������ ������, ������������� � - <varname>MASTER_SITES</varname>, ���� ������� ��������� � �����, - ������� ���������, ����� ����� ������������ ������ ���� �������� - � ����� �����.</para> - - <para>��������, ���������� ����������, �������� ��� �������� �����̣� - �� ��� �����, <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> - - <example xml:id="ports-master-sites-n-example-simple-use-one-file-per-site"> - - <title>����ݣ���� ������������� <literal>MASTER_SITES:n</literal> - � 1 ������ �� ������ �����</title> - - <programlisting>MASTER_SITES= ftp://ftp.example1.com/:source1 \ - ftp://ftp.example2.com/:source2 -DISTFILES= source1.tar.gz:source1 \ - source2.tar.gz:source2</programlisting> - </example> - - <para>��������� �������������� ������ ����� ����� ���� � �� �� �����. - ��������� ���������� ������, �������, ��� ������� � ������ - �������������� ����, <filename>source3.tar.gz</filename>, ������� - ������ ���� ������� � <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 xml:id="ports-master-sites-n-example-simple-use-more-than-one-file-per-site"> - <title>����ݣ���� ������������� <literal>MASTER_SITES:n</literal> � - ����� ��� 1 ������ �� ������ �������</title> - - <programlisting>MASTER_SITES= ftp://ftp.example1.com/:source1 \ - ftp://ftp.example2.com/:source2 -DISTFILES= source1.tar.gz:source1 \ - source2.tar.gz:source2 \ - source3.tar.gz:source2</programlisting> - </example> - </sect3> - - <sect3> - <title>��������� ����������</title> - - <para>���������, �� ������ �� ����������� ������� �� ������� ��� �ӣ, - ��� ��� �����? � ���� ������� �� �������� ������, ��� �������� - �������� <literal>MASTER_SITES:n</literal> ������ ������� � ��� - �� ������ �������� ���� �����, ����� ��� ������������.</para> - - <orderedlist> - <listitem> - <para>�� ���������� ����� ��������� ������� - <literal>:n</literal>, ��� - <replaceable>n</replaceable> ��� <literal>[^:,]+</literal>, �� - ���� <replaceable>n</replaceable> ����� ������������ ���� - ����� ���������-�������� �������, �� ���� �� ����� ������������ - �� <literal>[a-zA-Z_][0-9a-zA-Z_]+</literal>.</para> - - <para>����� ����, ���������� ����� ������������� � ��������; - ������� �������, <literal>n</literal> ���������� �� - <literal>N</literal>.</para> - - <para>������ ��������� ����� �� ����� �������������� ��� ���� - ����, ��� ��� ��� ����� ������ ��������: - <literal>default</literal>, <literal>all</literal> � - <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> - </listitem> - - <listitem> - <para>��������, �� �������� ������� <literal>:n</literal>, - ����������� ������ <literal>n</literal>, - <literal>:m</literal> ��������� � ������ <literal>m</literal> � - ��� �����.</para> - </listitem> - - <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> - - <para>��������� ������� �����������, �� ������ ����� - ��������������:</para> - - <programlisting>MASTER_SITES= alpha</programlisting> - - <programlisting>MASTER_SITES= alpha:DEFAULT</programlisting> - </listitem> - - <listitem> - <para>������ �� �������� �������������, ������� ����� - ������������ � ���������� ������������ ������� ������������, � - ������ ����� ���� ����� ��������� ��������� ���������, ���� �� - ����� �� �����. ������������� �������� � ����� � ��� �� ������ - ����� �������� ������ �������������� ����������.</para> - </listitem> - - <listitem xml:id="porting-master-sites-n-comma-operator"> - <para>���� � ������, ����� ������� ����������� � ���������� - ������� ������������, �� ������ ������������ - ������� (<literal>,</literal>).</para> - - <para>������ ����, ����� ��������� �� ��������� ���, ������ ��� � - ������ ����������, �� ����� ����������� ��������� ����� �� ��� - � ����� ���������. ��������, <literal>:m,n,o</literal> - ���������� �������, ������������� ������� <literal>m</literal>, - <literal>n</literal> � <literal>o</literal>.</para> - - <para>��� ��������� ������� ����� ���� �����, �� ��������� - �������� ����������������:</para> - - <programlisting>MASTER_SITES= alpha alpha:SOME_SITE</programlisting> - - <programlisting>MASTER_SITES= alpha:DEFAULT alpha:SOME_SITE</programlisting> - - <programlisting>MASTER_SITES= alpha:SOME_SITE,DEFAULT</programlisting> - - <programlisting>MASTER_SITES= alpha:DEFAULT,SOME_SITE</programlisting> - </listitem> - - <listitem> - <para>��� ������� ������ ������̣���� ������ ����������� � - ������������ � <varname>MASTER_SORT_AWK</varname>. ��� ������ - � <varname>MASTER_SITES</varname> � - <varname>PATCH_SITES</varname> ���� �����������.</para> - </listitem> - - <listitem xml:id="porting-master-sites-n-group-semantics"> - <para>��������� ����� ����� �������������� � ����� �� ��������� - ���������� <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>��� �������� <varname>MASTER_SITES</varname>, - <varname>PATCH_SITES</varname>, - <varname>MASTER_SITE_SUBDIR</varname> � - <varname>PATCH_SITE_SUBDIR</varname> ������ ������������� - �������� ������� ����� <literal>/</literal>. ���� �����-�� - �������� ����������� �����-�� �������, �������� ������ - <literal>:n</literal> ������ - ��������� ����� ����� ������������ ������� - <literal>/</literal>. �������� - <literal>MASTER_SITES:n</literal> ��������� �� ������� - ������������ ������� <literal>/</literal> �� ��������� - ����������� ���������, ��� <literal>:n</literal> �������� - ���������� ������ �������� � �����������, ��� - <literal>:n</literal> ���������� ������ - <literal>n</literal>. ��� ����� �������������, ��� ��� - ����������� ������ <literal>/</literal> ����� �� - ���������� � ��������� - <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> - - <example xml:id="ports-master-sites-n-example-detailed-use-master-site-subdir"> - <title>��������� ������������� - <literal>MASTER_SITES:n</literal> � - <varname>MASTER_SITE_SUBDIR</varname></title> - - <programlisting>MASTER_SITE_SUBDIR= old:n new/:NEW</programlisting> - - <itemizedlist> - <listitem> - <para>�������� ������ ������ - <literal>DEFAULT</literal> -> old:n</para> - </listitem> - - <listitem> - <para>�������� ������ ������ - <literal>NEW</literal> -> new</para> - </listitem> - </itemizedlist> - </example> - - <example xml:id="ports-master-sites-n-example-detailed-use-complete-example-master-sites"> - <title>��������� ������������� - <literal>MASTER_SITES:n</literal> � ��������, - ����������� �������, ����������� ��������� � - ����������� �������������</title> - - <programlisting>MASTER_SITES= http://site1/%SUBDIR%/ http://site2/:DEFAULT \ - http://site3/:group3 http://site4/:group4 \ - http://site5/:group5 http://site6/:group6 \ - http://site7/:DEFAULT,group6 \ - http://site8/%SUBDIR%/:group6,group7 \ - http://site9/:group8 -DISTFILES= file1 file2:DEFAULT file3:group3 \ - file4:group4,group5,group6 file5:grouping \ - file6:group7 -MASTER_SITE_SUBDIR= directory-trial:1 directory-n/:groupn \ - directory-one/:group6,DEFAULT \ - directory</programlisting> - - <para>���������� ������ �������� � ��������� ������ - �������. ������� ����������� � ������ ������� �� - �������������.</para> - - <itemizedlist> - <listitem> - <para><filename>file1</filename> ����� ���������� - �</para> - - <itemizedlist> - <listitem> - <para><varname>MASTER_SITE_OVERRIDE</varname></para> - </listitem> - - <listitem> - <para>http://site1/directory-trial:1/</para> - </listitem> - - <listitem> - <para>http://site1/directory-one/</para> - </listitem> - - <listitem> - <para>http://site1/directory/</para> - </listitem> - - <listitem> - <para>http://site2/</para> - </listitem> - - <listitem> - <para>http://site7/</para> - </listitem> - - <listitem> - <para><varname>MASTER_SITE_BACKUP</varname></para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para><filename>file2</filename> ����� ���������� ����� - �����, ��� <filename>file1</filename>, ��� ��� ��� - ��� ��������� � ����� � ��� �� ������</para> - - <itemizedlist> - <listitem> - <para><varname>MASTER_SITE_OVERRIDE</varname></para> - </listitem> - - <listitem> - <para>http://site1/directory-trial:1/</para> - </listitem> - - <listitem> - <para>http://site1/directory-one/</para> - </listitem> - - <listitem> - <para>http://site1/directory/</para> - </listitem> - - <listitem> - <para>http://site2/</para> - </listitem> - - <listitem> - <para>http://site7/</para> - </listitem> - - <listitem> - <para><varname>MASTER_SITE_BACKUP</varname></para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para><filename>file3</filename> ����� ������� �</para> - - <itemizedlist> - <listitem> - <para><varname>MASTER_SITE_OVERRIDE</varname></para> - </listitem> - - <listitem> - <para>http://site3/</para> - </listitem> - - <listitem> - <para><varname>MASTER_SITE_BACKUP</varname></para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para><filename>file4</filename> ����� ���������� - �</para> - - <itemizedlist> - <listitem> - <para><varname>MASTER_SITE_OVERRIDE</varname></para> - </listitem> - - <listitem> - <para>http://site4/</para> - </listitem> - - <listitem> - <para>http://site5/</para> - </listitem> - - <listitem> - <para>http://site6/</para> - </listitem> - - <listitem> - <para>http://site7/</para> - </listitem> - - <listitem> - <para>http://site8/directory-one/</para> - </listitem> - - <listitem> - <para><varname>MASTER_SITE_BACKUP</varname></para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para><filename>file5</filename> ����� ������� �</para> - - <itemizedlist> - <listitem> - <para><varname>MASTER_SITE_OVERRIDE</varname></para> - </listitem> - - <listitem> - <para><varname>MASTER_SITE_BACKUP</varname></para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para><filename>file6</filename> ����� ���������� - �</para> - - <itemizedlist> - <listitem> - <para><varname>MASTER_SITE_OVERRIDE</varname></para> - </listitem> - - <listitem> - <para>http://site8/</para> - </listitem> - - <listitem> - <para><varname>MASTER_SITE_BACKUP</varname></para> - </listitem> - </itemizedlist> - </listitem> - </itemizedlist> - </example> - </listitem> - </orderedlist> - </listitem> - - <listitem> - <para>��� ��� ������������� ���� �� ����������� ���������� �� - <filename>bsd.sites.mk</filename>, ��������, - <varname>MASTER_SITE_SOURCEFORGE</varname>?</para> - - <para>���������� <xref linkend="ports-master-sites-n-example-detailed-use-master-site-sourceforge"/>.</para> - - <example xml:id="ports-master-sites-n-example-detailed-use-master-site-sourceforge"> - <title>��������� ������������� - <literal>MASTER_SITES:n</literal> � - <varname>MASTER_SITE_SOURCEFORGE</varname></title> - - <programlisting>MASTER_SITES= http://site1/ ${MASTER_SITE_SOURCEFORGE:S/$/:sourceforge,TEST/} -DISTFILES= something.tar.gz:sourceforge</programlisting> - </example> - - <para><filename>something.tar.gz</filename> ����� ���������� �� - ���� ������ �� - <varname>MASTER_SITE_SOURCEFORGE</varname>.</para> - </listitem> - - <listitem> - <para>��� ��� ������������ ��� � ����������� - <varname>PATCH*</varname>?</para> - - <para>��� ������� ����������� � ����������� - <varname>MASTER*</varname>, � ��� �������� ����� ����� � ��� - <varname>PATCH*</varname>, ��� ��� ����� ������ � <xref linkend="ports-master-sites-n-example-detailed-use-patch-sites"/>.</para> - - <example xml:id="ports-master-sites-n-example-detailed-use-patch-sites"> - <title>����ݣ���� ������������� - <literal>MASTER_SITES:n</literal> � - <varname>PATCH_SITES</varname>.</title> - - <programlisting>PATCH_SITES= http://site1/ http://site2/:test -PATCHFILES= patch1:test</programlisting> - </example> - </listitem> - </orderedlist> - </sect3> - - <sect3> - <title>��� ��������� ��� ������? � ��� �� ���������?</title> - - <orderedlist numeration="lowerroman"> - <listitem> - <para>��� ��������� ����� �������� ��� ���������. ��� ��� - ��������� <literal>MASTER_SITES:n</literal> ������������, ���� - ������ ���� ��������, ������� ������������� �� - <literal>:n</literal>, ��� � - �������� � ������������ � ������������� �����������, �������� - ��� ��� �������� � ������ <xref linkend="porting-master-sites-n-group-semantics"/>.</para> - </listitem> - - <listitem xml:id="porting-master-sites-n-what-changes-in-port-targets"> - <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><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><buildtarget>fetch-list</buildtarget>: �������� �����, - ��� ������ ���� <buildtarget>fetch-list</buildtarget> � ��� - �����������, ��� ��� ����������, ��� � - <buildtarget>do-fetch</buildtarget>.</para> - </listitem> - - <listitem> - <para><buildtarget>master-sites</buildtarget> � - <buildtarget>patch-sites</buildtarget>: - (������������ �� ������� ��������) ������ ���������� - �������� ������ <literal>DEFAULT</literal>; �� ����� ���� - ��� ��������� ���� - <buildtarget>master-sites-default</buildtarget> � - <buildtarget>patch-sites-default</buildtarget> - ��������������.</para> - - <para>����� ����, ������������� ����� - <buildtarget>master-sites-all</buildtarget> ��� - <buildtarget>patch-sites-all</buildtarget> ��������������� - ��� ���������������� �������� - <buildtarget>MASTER_SITES</buildtarget> ��� - <buildtarget>PATCH_SITES</buildtarget>. ����� ������ ������ - �������� � ����������� ������� �� �������������. - ���������� <xref linkend="porting-master-sites-n-new-port-targets-master-sites-all"/> - ��� ��������� ����� �������������� ���������� �� ���� ����� - �����.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>����� ���� ���������� ������</para> - - <orderedlist> - <listitem> - <para>������� ���� - <buildtarget>master-sites-<replaceable>n</replaceable></buildtarget> - � - <buildtarget>patch-sites-<replaceable>n</replaceable></buildtarget>, - ������� ����� ����������� �������� ��������������� ������ - <replaceable>n</replaceable> �� - <varname>MASTER_SITES</varname> � - <varname>PATCH_SITES</varname> ��������������. � �������, - <buildtarget>master-sites-DEFAULT</buildtarget> � - <buildtarget>patch-sites-DEFAULT</buildtarget> ��� ����� - ���������� �������� ������ <literal>DEFAULT</literal>, - <buildtarget>master-sites-test</buildtarget> � - <buildtarget>patch-sites-test</buildtarget> ������ - <literal>test</literal> � ��� �����.</para> - </listitem> - - <listitem xml:id="porting-master-sites-n-new-port-targets-master-sites-all"> - <para>������� ����� ���� - <buildtarget>master-sites-all</buildtarget> � - <buildtarget>patch-sites-all</buildtarget>, ������� ��������� - ������ ������ <buildtarget>master-sites</buildtarget> � - <buildtarget>patch-sites</buildtarget>. ��� ���������� - �������� ���� �����, ��� ���� �� ��� ��� ������������ ����� - � ��� �� ������ � ���, ��� ��� ����������� ����� ������� - <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> - </orderedlist> - </sect3> - </sect2> - - <sect2> - <title><varname>DIST_SUBDIR</varname></title> - - <para>�� ���������� ������ ����� �������� - <filename>/usr/ports/distfiles</filename>. ���� ������ ����� - ��������� �������� ����� ������, ��� �� �������� ��� �����, - ������� ������� ��������� � ������� ������� (��������, - <filename>Makefile</filename>), �� ������� � ���������� - <varname>DIST_SUBDIR</varname> ��� ����� (������ ������� - <literal>${PORTNAME}</literal> ��� - <literal>${PKGNAMEPREFIX}${PORTNAME}</literal>). ��� ������� - �������� ���������� <varname>DISTDIR</varname> �� �������� �� - ��������� <filename>/usr/ports/distfiles</filename> � �������� - <filename>/usr/ports/distfiles/DIST_SUBDIR</filename>, - � � ���������� �ӣ, ��� ��������� ��� �����, ����� �������� � ���� - ����������.</para> - - <para>�� �������� ����� � ���������� � ��� �� ������ �� - �������� ��������� ������� <filename>ftp.FreeBSD.org</filename>. - (����� ������� ���������� <varname>DISTDIR</varname> � ����� ����� - <varname>Makefile</varname> ����� �� �������, ��� ���, ����������, - �������������� <varname>DIST_SUBDIR</varname>.)</para> - - <note> - <para>��� �� ���Σ��� ��� ������ <varname>MASTER_SITES</varname>, - ������� �� ������� � ����� ����� - <filename>Makefile</filename>.</para> - </note> - </sect2> - - <sect2> - <title><varname>ALWAYS_KEEP_DISTFILES</varname></title> - - <para>���� ��� ���� ���������� �������� �������������� ����� � - �������� ���������, ���������, ����� �������� ��� �������������� - ������ � ��������, ����������������� � �������� �����, �������� - GPL, �� <varname>ALWAYS_KEEP_DISTFILES</varname> ���� �������� - ���������� &os; �������� ��������� ����� ������, ��������� � - <varname>DISTFILES</varname>. ������������� ����� ������ ��� - ����� � �������� �� �����, ������� ������� ����� �������� - ���������� � <varname>DISTFILES</varname> �������� - �������������� ������, ������ ����� ���������� ���������� - <varname>PACKAGE_BUILDING</varname>.</para> - - <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>��� ���������� �������������� ������ � <varname>DISTFILES</varname> - ���������, ��� �� �� ����� ���������� � <filename>distinfo</filename>. - ����� ����, �������������� ����� ������ ��������������� ����� � - <varname>WRKDIR</varname>, ��� ��� ��������� ������ ����� �������� - ������������� �������� ������� � ��������� ������ ���������.</para> - </sect2> - </sect1> - - <sect1 xml:id="makefile-maintainer"> - <title><varname>MAINTAINER</varname></title> - - <para>������� ����� ��� ����� ����������� �����. ����������. - <!-- smiley --><emphasis>:-)</emphasis></para> - - <para>��������, ��� � �������� �������� ��� - <varname>MAINTAINER</varname> ��������� ������������� ������ ������ - ������ ��� ���� �����������. ������ �������������� ������ - <literal>user@hostname.domain</literal>. ����������, �� ��������� - �������� ������������� ������, ��������, ������ ���������� ����� � - ��� ������—��� ��������� ������� � ����� - <filename>bsd.port.mk</filename>.</para> - - <para>�������������� ������������ �� ����������� ����� � ���������� - ��������� � ����������� ���������� ������ �����. �� ��������� - ��������� ������������ ��������������� ���� ����������� � ����� - <link xlink:href="&url.articles.contributing-ports.en;/maintain-port.html">The - challenge for port maintainers</link>.</para> - - <para>����� ��������� � ����������� ��������� � ����� ����� ���������� - ��������������� ��� ��������� � ���������. - ���� �������������� ����� �� ������� �� ������ ������������ �� - ���������� � ������� ���� ������ (�������� ������� ���������), - �� ��� ����� ������� ����-����� ���������������, � ���������� ����� - ���� ��������� ��� ������ ������������� �� ���������������. ���� - �������������� �� �������� � ������� �ң� �������, �� ���������, ��� - �� �����������, � ��� �������������� �����, � ������� �ģ� ����, ����� - ���� ����Σ�. ������������ �� ����� ������� �������� �ӣ, ��� - ������������ &a.portmgr; ��� &a.security-officer;. ��������� ������ - ����� ������������������� ��������� � ������, ������� ����� ��� - ������.</para> - - <para>�� ��������� �� ����� ����� �������� ��������� ��������������� - ��� ������� ������������ ������������ ��������� � ����� ��������� - ������ ��� ������ ��������� �� ������� �����������. �����, - ������� ��������� � �������������� ����� ������� ��������� � ����� - ��� �������� ���������������. ����� ��� ��������� ������� �� ����� - ����������� ���������������� �����.</para> - - <para>�� &a.portmgr; ����������� ����� ����� ��� ��������� ����-���� - �������������� �� ����� �������, � �� the &a.security-officer; - ����������� ����� ������ ��� ��������� ����� �� ������������� ����� - �� ������������ �������������� ������������.</para> - </sect1> - - <sect1 xml:id="makefile-comment"> - <title><varname>COMMENT</varname></title> - - <para>�������� ������������ �������� �����. ����������, ���������� - ��������� �������:</para> - - <orderedlist> - <listitem> - <para>���������� ������ ������ COMMENT ������ �� ������, ��� 70 - ��������, ��� ��� ��� ������ ����� ������������ �������� - <command>pkg info</command> (��. &man.pkg-info.8;) ��� - ����������� ������������� �������� �����;</para> - </listitem> - - <listitem> - <para><emphasis>��</emphasis> ��������� ���� �������� ������ - (��� ����� ������ ������������ �����������);</para> - </listitem> - - <listitem> - <para>����������� ������ ���������� � ��������� ����� � �� - ������������� ������;</para> - </listitem> - - <listitem> - <para>�� ��������� ����������� � ��������̣����� ������� (A - ��� An);</para> - </listitem> - - <listitem> - <para>����� ������� � ��������� ����� (��������, Apache, - JavaScript. Perl);</para> - </listitem> - - <listitem> - <para>��� ������������ ����������� ���������� ����������� - ������� (����. Oxford comma) (��������, green, - red<emphasis>,</emphasis> and blue);</para> - </listitem> - - <listitem> - <para>����������� ��������� �������� ����������.</para> - </listitem> - </orderedlist> - - <para>��� ������:</para> - - <programlisting>Cat chasing a mouse all over the screen</programlisting> - - <para>� ����� <filename>Makefile</filename> ���������� COMMENT ������ - ��������� ����� �� ���������� MAINTAINER.</para> - </sect1> - - <sect1 xml:id="makefile-portscout"> - <title><varname>PORTSCOUT</varname></title> - - <para><application>Portscout</application> ������ ����� - ������������������ �������� �������� ����������� �������������� - ������ ��� ��������� ������ &os;, ��������� �������� �������� - ������������� <xref linkend="distfile-survey"/>.</para> - - <para>���������� <varname>PORTSCOUT</varname> ������ ����������� - �������, �������������� ������ <application>Portscout</application> - - ������� �������������� ������.</para> - - <para>��������, ��� ������� ������� ��������� ���������� - <varname>PORTSCOUT</varname>:</para> - - <itemizedlist> - <listitem> - <para>����� ������ �������������� �������������� ����� ��� - ���������� ������ ��� ������� �������. ��������, ����� - ��������� �� �������� ����� ������ �������������� ������ - ������ <replaceable>8.2</replaceable> �� ������� ����, ��� - ��� �������� ����������, �������� ���������:</para> - - <programlisting>PORTSCOUT= ignore:8.2</programlisting> - - </listitem> - <listitem> - <para>����� ������ ����������� ���������� ������ ��� ������� - � ������� ������� �������������� ������. ��������, ���� - ������� ������������ ��������� ������ - <replaceable>0.6.4</replaceable>, ������ ��� ����� ����� - ������ ����� �������� ������������� � &os;, ��������:</para> - - <programlisting>PORTSCOUT= limit:^0\.6\.4</programlisting> - - </listitem> - <listitem> - <para>����� URL, � ������� ������� ��������� ������, ���������� - �� URL �� ��������. ��������, ����� ��������� �������� ����� - ������ �������������� ������ � �������� �������� ��� ����� - <package role="port">databases/pgtune</package>, - ��������:</para> - - <programlisting>PORTSCOUT= site:http://pgfoundry.org/frs/?group_id=1000416</programlisting> - </listitem> - </itemizedlist> - </sect1> - - <sect1 xml:id="makefile-depend"> - <title>�����������</title> - - <para>������ ����� ������� �� ������ ������. ��� ����� ������� - ������������� ����������� ����������� Unix-�������� ������������ - ������, ������� &os;. ��������� ������ ����� ������������ ����� - ����������� ���������, � �� �������� ţ � ������ ������� ����� ��� - ������, ������� � ��� ���������. ������� ���� ����������, - ������� �� ������ ������������ ��� ����������� ����, ��� �ӣ - ��������� ��������� �� ������ ������������. ������� ����� ��������� - ����������̣���� ����������, ���������� ����������� ��� ����� - �������, ���� �ݣ ��������� ��� ���������� ���������� - ������������.</para> - - <sect2> - <title><varname>LIB_DEPENDS</varname></title> - - <para>��� ���������� ���������, �� ����� ��������� ������������ - ��������� ������� ����. ��� ������ ��� - <replaceable>lib</replaceable>:<replaceable>dir</replaceable> - ��� <replaceable>lib</replaceable> - ��� ��� ����������, - <replaceable>dir</replaceable> - ��� �������, � ������� ����� �� - ����� � ������, ���� �� ��� �� ������. ��������,</para> - - <programlisting>LIB_DEPENDS= libjpeg.so:${PORTSDIR}/graphics/jpeg</programlisting> - - <para>�������� ������� ���������� jpeg � ����� ������� ������ � - �������� � ���������� <filename>graphics/jpeg</filename> ������ - ������ ������ ��� �� ���������� � ���������, ���� ���������� - �����������.</para> - - <para>����������� ����������� ������, ���� ��� ������ ���� - <buildtarget>build</buildtarget>, � ����� �� ���� - <buildtarget>install</buildtarget>. ����� ����, ��� ����������� - ���������� � �����, ��� ��� <command>pkg install</command> - (��. &man.pkg-install.8;) ����� - ������������� ţ �������������, ���� ţ ��� �� ���������������� - �������.</para> - </sect2> - - <sect2> - <title><varname>RUN_DEPENDS</varname></title> - - <para>� ���� ���������� ������������� ���������� ����� ��� �����, �� - ������� ������� ������ �����. ��� ������ ��� ���� - <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional>:target</optional> - ��� <replaceable>path</replaceable> - ��� ��� ��������� ��� �����, - � <replaceable>dir</replaceable> - �������, � ������� ����� ����� - ���� � ������, ���� ��� ��� � �������, � - <replaceable>target</replaceable> - ��� ����, ������� ����� ������� - � ���� ��������. ���� <replaceable>path</replaceable> ���������� - �� ����� (<literal>/</literal>), �� �������������� ��� ���� � ��� - ������������� ����������� �������� <command>test -e</command>; � - ��������� ������ ��������������, ��� ��� ���������� ����, � - ��� ����������� ����, ������� �� ��������� � ���� ������, - ������������ ������� <command>which -s</command>.</para> - - <para>��������,</para> - - <programlisting>RUN_DEPENDS= ${LOCALBASE}/news/bin/innd:${PORTSDIR}/news/inn \ - xmlcatmgr:${PORTSDIR}/textproc/xmlcatmgr</programlisting> - - <para>�������� ������������� ����� ��� �������� - <filename>/usr/local/news/bin/innd</filename>, � ���� ������ - �� ����� �������, �� �������� � ��������� ���� �� ����������� - <filename>news/inn</filename> ������ ������. ����� ����� - ��������� ��������, ������������ �� � ���� ������ ����������� - ���� � ������ <command>xmlcatmgr</command>, � �������� � - ���������� <filename>textproc/xmlcatmgr</filename> ������ ������ - ������ ��� ��� ���������� � ���������, ���� �� �� ����� - ������.</para> - - <note> - <para>� ����������� ������� <command>innd</command> �������� - ���������� ������; ���� ���������� ���� ��������� � �����, - ������� ����������� � ������ ����� ������, �� �� ������ ������� - ������ ���� � �����.</para> - </note> - - <note> - <para>����������� ��������� ���������� ������ <envar>PATH</envar>, - ������������ � �������� ���������� ������ ��������</para> - - <programlisting>/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin</programlisting> - </note> - - <para>����������� ����������� ������ ���� - <buildtarget>install</buildtarget>. ����� ����, ��� ����������� - ���������� � �����, ��� ��� <command>pkg install</command> - (��. &man.pkg-install.8;) - ����� ������������� ��� �������������, ���� �� �� ����� ������ - � ���������������� �������. ����� - <replaceable>target</replaceable> ����� ���� �������, ���� ��� - ��������� � <varname>DEPENDS_TARGET</varname>.</para> - - <para>�������� ���������������� �������� ��������, ����� - <varname>RUN_DEPENDS</varname> ��������� ����� �� ��� - <varname>BUILD_DEPENDS</varname>, �������� ���� ����������� - ����������� ����������� �������� �� ����� ���������, ��� ���� - ��� ������� ����� �� ��������� ��� ����������, ��� � ������������ - �� ����� ����������. � ���� ������, ����� ���������� ��� �������� - ������������ �������� ���������� ������ �������:</para> - - <programlisting>RUN_DEPENDS= ${BUILD_DEPENDS}</programlisting> - - <para>��� �� �����, �������� ���������� ����� ���������� ����������� - ������� ���������� ����������, �� �������� � - <varname>BUILD_DEPENDS</varname> ��������� �����. - ����� ��������� ��-�� �������� ���������� � &man.make.1; - ������������� ����������. ����������� <filename>Makefile</filename> - � ����������� <varname>USE_<replaceable>*</replaceable></varname>, - ������� �������������� � <filename>ports/Mk/bsd.*.mk</filename> - ��� ���������� �������������� ������������ ����������. ��������, - <literal>USES= gmake</literal> ��������� - <package role="port">devel/gmake</package> � - <varname>BUILD_DEPENDS</varname>. ��� �������������� ����������� - <varname>RUN_DEPENDS</varname> ��������� ��������������� - ������������� ���������� ������������ � ����������� � ����������, - �.�. � ���������� �������� ����� ��� ����������� ����������:</para> - - <programlisting>RUN_DEPENDS:= ${BUILD_DEPENDS}</programlisting> - </sect2> - - <sect2> - <title><varname>BUILD_DEPENDS</varname></title> - - <para>� ���� ���������� ������������� ���������� ��� ������� �����, - ������� ��������� ����� ��� ��� ����������. ��� � - <varname>RUN_DEPENDS</varname>, ��� ������ ��� - <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional>:target</optional> - ��������,</para> - - <programlisting>BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip</programlisting> - - <para>����� ��������� - ������� ����������� ���� � ������ <command>unzip</command> � - �������� � ���������� <filename>archivers/unzip</filename> ������ - ������ ������ ��� ��� ���������� � ���������, ���� ��������� �� - ����� ������.</para> - - <note> - <para>��� <quote>�����������</quote> ����� ���������� �ӣ, �� - ���������� �� ����������. ����������� ����������� �� ���� - <buildtarget>extract</buildtarget>. ����� - <replaceable>target</replaceable> ����� ���� �������, ���� ��� - ��������� � <varname>DEPENDS_TARGET</varname>.</para> - </note> - </sect2> - - <sect2> - <title><varname>FETCH_DEPENDS</varname></title> - - <para>� ���� ���������� ������������� ����������� ����� ��� ������ - �����, ������� ��������� ����� ��� �������. ��� � ���������� ��� - ����������, ��� ������ ��� - <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional>:target</optional> - ��������,</para> - - <programlisting>FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2</programlisting> - - <para>����� ��������� - ������� ������������ ����� � ������ <command>ncftp2</command> � - �������� � ������� <filename>net/ncftp2</filename> ������ ������ - ������ ��� ��� ���������� � ���������, ���� ��� �� ����� - ������.</para> - - <para>����������� ����������� ��� ���������� ���� - <buildtarget>fetch</buildtarget>. ����� - <replaceable>target</replaceable> ����� ���� �������, ���� ��� - ��������� � <varname>DEPENDS_TARGET</varname>.</para> - </sect2> - - <sect2> - <title><varname>EXTRACT_DEPENDS</varname></title> - - <para>� ���� ���������� ����������� ��������� ��� �����, ������� - ��������� ��� ���������� �����. ��� � � ���������� �������, ��� - ������ ��� ���� - <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional>:target</optional>. - ��������,</para> - - <programlisting>EXTRACT_DEPENDS= unzip:${PORTSDIR}/archivers/unzip</programlisting> - - <para>����� ��������� - ������� ��������� � ������ <command>unzip</command>, � �����ģ� � - ���������� <filename>archivers/unzip</filename> ������ ������ - ������ ��� ţ ���������� � ���������, ���� ����� ��������� �� ����� - �������.</para> - - <para>����������� ����������� ������ ���� - <buildtarget>extract</buildtarget>. ����� - <replaceable>target</replaceable> ����� ���� �������, ���� ��� - ��������� � <varname>DEPENDS_TARGET</varname>.</para> - - <note> - <para>����������� ��� ����������, ������ ���� ���������� �� - �������� (�� ��������� �������������� ������������� - <command>gzip</command>) � ��� �� ������������ ��� ������ - <varname>USE_ZIP</varname> ��� <varname>USE_BZIP2</varname>, - ������� ������� � <xref linkend="use-vars"/>.</para> - </note> - </sect2> - - <sect2> - <title><varname>PATCH_DEPENDS</varname></title> - - <para>��� ���������� ��������� �� ��������� ��� �����, ������� ����� - ����� ��� ���������� ������. ��� � � ���������� �������, ��� - ������ ��� ���� - <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional>:target</optional>. - ��������,</para> - - <programlisting>PATCH_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/java/jfc:extract</programlisting> - - <para>����� - ���������� � ���������� <filename>java/jfc</filename> ������ ������ - ������ ��� ����������.</para> - - <para>����������� ����������� ������ ���� - <buildtarget>patch</buildtarget>. ����� - <replaceable>target</replaceable> ����� ���� �������, ���� ��� - ��������� � <varname>DEPENDS_TARGET</varname>.</para> - </sect2> - - <sect2 xml:id="uses"> - <title><varname>USES</varname></title> - - <para>����� ���� ��������� ��������� ��� ����������� ��������� - ����������� ������������ � ������������, �������� - �������� ������ ����. ��� ����������� ��ԣ� ���������� - � <filename>Makefile</filename> ���� ������:</para> - - <programlisting>USES= feature[:arguments]</programlisting> - - <para>��� ��������� ������� ������ �������� �������� - <xref linkend="uses-values"/>.</para> - - <warning> - <para>�������� <varname>USES</varname> ������ ����������� - ����� ����������� <filename>bsd.port.pre.mk</filename>.</para> - </warning> - </sect2> - - <sect2 xml:id="use-vars"> - <title><varname>USE_<replaceable>*</replaceable></varname></title> - - <para>��� ����������� ����� ������������, ��������� ������������ - ������� �������, ������������� ��������� ����������. �� - ������������� �������� ��������������, �� �������� ��������� - ������������ ������ <filename>Makefile</filename> �����. - ������ �� ��� ����������� ��� - <varname>USE_<replaceable>*</replaceable></varname>. ��� - ���������� ����� ������������ ������ � <filename>Makefile</filename> - ����� � <filename>ports/Mk/bsd.*.mk</filename>. ��� �� - ������������� ��� ��������� �������������� ���������� — - ����������� ��� ���� ����� <varname>PORT_OPTIONS</varname>.</para> - - <note> - <para>��������� ����� <varname>USE_<replaceable>*</replaceable></varname> - � <filename>/etc/make.conf</filename> <emphasis>������</emphasis> - �������� ��������� ���������. � ���������, ���������</para> - - <programlisting>USE_GCC=X.Y</programlisting> - - <para>(��� X.Y ������������� ������) ������� ����������� - �� gccXY � ������� �����, ������� � ��� - <literal>lang/gccXY</literal>!</para> - </note> - - <table frame="none"> - <title>���������� - <varname>USE_<replaceable>*</replaceable></varname></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>����������</entry> - - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>USE_BZIP2</varname></entry> - - <entry>tar-������ ����� ��������� ��� ������ - <command>bzip2</command>.</entry> - </row> - - <row> - <entry><varname>USE_ZIP</varname></entry> - - <entry>tar-������ ����� ��������� ��� ������ - <command>zip</command>.</entry> - </row> - - <row> - <entry><varname>USE_GCC</varname></entry> - - <entry>��� ������ ����� ��������� GCC - (<command>gcc</command> ��� <command>g++</command>). - ��������� ������ �������� ����� ������, ��� ������ - ��������� ��������� ����������� ������. ������ - ������������ �� ��������� <literal>any</literal> (� - ���� ������ ������������ ���������� GCC � ��� - ������� &os;, � ������ ������� �� �ӣ �ݣ ������, - ��� ��������������� ���� - <literal>lang/gcc</literal>, ����� Clang �������� - ������������ C/C++ �� ���������) ��� - <literal>yes</literal> (������ ������������ - ���������� ����������� ������ GCC �� ����� - <literal>lang/gcc</literal>). ����� � �������� - ���������� ����� ������� ������ ������, �������� - <literal>4.7</literal>. ���������� ���������� - ������ ����� ������� ��� <literal>4.6+</literal>. - GCC �� �������� ������� ������������ � ������, ���� - ��� ������ ������������� �����������, ����� - ���������� ���������� ������ ����������� �� ����� � - ��������������� ���������� ���������� - <varname>CC</varname> � <varname>CXX</varname>. - </entry> - </row> - - </tbody> - </tgroup> - </table> - - <para>����������, ����������� � <application>gmake</application> - � �������� <filename>configure</filename>, ������� � - <xref linkend="building"/>, � <application>autoconf</application>, - <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"/> - �������� � ����������� GNOME � <xref linkend="using-kde"/> � KDE. - <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> - � <xref linkend="using-ruby"/>. <xref linkend="using-sdl"/> - ������������� ����������, ������������ ��� ���������� - <application>SDL</application>, �, �������, - <xref linkend="using-xfce"/> �������� ���������� � ���������� - <application>Xfce</application>.</para> - </sect2> - - <sect2> - <title>����������� ������ �����������</title> - - <para>����������� ������ ����������� ����� ���� ������� � ����� - ���������� <varname>*_DEPENDS</varname>, �� ����������� - <varname>LIB_DEPENDS</varname>, � �������������� ���������� - ����������:</para> - - <programlisting>p5-Spiffy>=0.26:${PORTSDIR}/devel/p5-Spiffy</programlisting> - - <para>������ ���� �������� �������� ���������� ������, ������� - ������� ��������� � ������� � ���� ������ �������, ���� ��������� - � ������ ������ ������. ����������� ��������������� ���� �� ������ - ���������� p5-Spiffy-0.26 ��� �����.</para> - </sect2> - - <sect2> - <title>��������� ���������� ������������</title> - - <para>��� ��� �������� ����, �����, ������� ���������� �� ��������� - � ������, ����� ��� ������� �����������, �������� - <buildtarget>DEPENDS_TARGET</buildtarget>. ��� �� ��������� ���� - <literal>install</literal>. ��� ���������������� ����������; ��� - ����� �� ���������� � ����� <filename>Makefile</filename> �����. - ���� ������ ����� ��������� ������ ����� ��������� �����������, - �������������� ������ <literal>:target</literal> ���������� - <varname>*_DEPENDS</varname> ������ ����, ����� �������������� - <varname>DEPENDS_TARGET</varname>.</para> - - <para>����� �� ��������� ������� <command>make clean</command>, - ��� �������� ����� ����������� � ��� ������������� ����� �����. - ���� �� �� ������, ����� ��� ���������, ���������� ���������� - <varname>NOCLEANDEPENDS</varname> � ����� ���������. - ��� ����� ���� �������� ������, ���� ���� ����� �����, ��� �������� - ����� ������� �� ����������, � ��ϣ� ������ ������������, ��������, - KDE, GNOME ��� Mozilla.</para> - - <para>����� ���������� �������� �� ������� �����, ������� ���������� - <varname>${NONEXISTENT}</varname> � �������� ������� ���� - ���������� <varname>BUILD_DEPENDS</varname> ��� - <varname>RUN_DEPENDS</varname>. ����������� ����, ������ ����� ��� - ����� ����� �������� ��� ������� �����. �� ������ ���������� ����� - �� ����������, ������ ����� � ����. ��������,</para> - - <programlisting>BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/graphics/jpeg:extract</programlisting> - - <para>������ ����� ���������� � ������� � ������ - <literal>jpeg</literal> � ������������� ���.</para> - </sect2> - - <sect2> - <title>����������� ����������� ��������</title> - - <important> - <para>�� ��������� ��������������� ����������� � ������ - ������!</para> - </important> - - <para>���������� ���������� ������ �� �������� �� ����������� - ������������. ���� �� ��������� �����, �� � ����-������ � - ���-������ ��������� &os; ����� ���������� �������, � � ��������� - ��������� ��������� �����. ��� �� ����� ���� ����� ������ - ����������; ���� �� ������������, �� ����� ��������� ��������� - ���������, ��� ��������� ���������: <command>cd /usr/ports; make - index</command>. ���� ������� ����� ���� ���������� ��������� �� - ������ �������, ���� �� ������� ������ ������� ���������� - �����—������� ����—�� �������� ���.</para> - </sect2> - - <sect2> - <title>�������������� ����������� � ��������, ������� ��� - ��������</title> - - <para>����������� ������ ���� ������� ���� ����, ���� � - �������������� <link linkend="makefile-options">���������� - OPTIONS</link>. ������������� ������ �������, ����� ��� - �������������� ����������� ������������, ��������� ��������������, - ��� �������� �������� � ���������� ������� � ��������.</para> - - <example> - <title>������������ ���������� �������������� �����������</title> - - <programlisting>.include <bsd.port.pre.mk> - -.if exists(${LOCALBASE}/bin/foo) -LIB_DEPENDS= libbar.so:${PORTSDIR}/foo/bar -.endif</programlisting> - </example> - - <para>�������� ��������������� ���������� ������������ - ����������� � ���, ��� ����� � ��������� �� ��������� ����� - ����� ����������� ��������. ������: ����� ���������� - ������� ��������������� ����� ������. ��� ���� ���� �� - ��� ������������� ����������� ����. �� ���� ����� ������ - ����� ������������, ������ ��� ������������� ���� ���������� - ������� ����� �����������. ������ ����� ���� �� �������� - ������������ ���� ����� ��� ������������, � ������ ���� - ������ ����� ����� ��������� �������������� �����������, - ����������� �� ������������� ������ ������.</para> - - <example> - <title>���������� ���������� �������������� �����������</title> - - <programlisting>OPTIONS_DEFINE= BAR -BAR_DESC= Bar support - -.include <bsd.port.options.mk> - -.if ${PORT_OPTIONS:MBAR} -LIB_DEPENDS= libbar.so:${PORTSDIR}/foo/bar -.endif</programlisting> - </example> - - <para>���������� �������� �������� �������� ���������� ����������. - ���� ������ �� �������� � ��������������� � ������� ������ - ������, ��������� ��������� ���������� �� ���������� �������. - ��� ���� ����� ������������ ������� ������� ��� ������������� - ����������, ��������� � ���������� ���� ������ � ��������������� - �� �������.</para> - </sect2> - - <sect2 xml:id="use-want"> - <title><varname>USE_</varname> � - <varname>WANT_</varname></title> - - <para>���������� <varname>USE_</varname> �������� ������������ - ����� ��� ����������� ������������ �����������, �� �������� - ���� ���� �������. ����, ��� �������� ����� Firefox, - ������</para> - - <programlisting>USE_FIREFOX= yes</programlisting> - - <para>��������� ���������� <varname>USE_</varname> ����� - ��������� ������ ������ ��� ������ ���������. ��������, - ����, ������� ������� Apache 2.2, ������</para> - - <programlisting>USE_APACHE= 22</programlisting> - - <para>� ��������� ������� ��� �������� �������� ��� - ������������� ������������ ���������� <varname>WANT_</varname>, - ������� ��������� ��������� ���������� � ����� ������ �����. - ��������, ��������� �� ���� - <package role="port">mail/squirrelmail</package>. ����� ����� - ����� ��������� ������� PHP, ������� ����������� � ���������� - <varname>USE_PHP</varname>:</para> - - <programlisting>USE_PHP= session mhash gettext mbstring pcre openssl xml</programlisting> - - <para>��� ������ �������� � ������� CLI � web, ������� ������ - web ������� � ���������� <varname>WANT_</varname>:</para> - - <programlisting>WANT_PHP_WEB= yes</programlisting> - - <para>��������� ���������� <varname>USE_</varname> � - <varname>WANT_</varname> ���������� � ������ � - <filename class="directory">/usr/ports/Mk</filename>.</para> - </sect2> - </sect1> - - <sect1 xml:id="makefile-masterdir"> - <title><varname>MASTERDIR</varname></title> - - <para>���� ������ ����� ��������� ���������� �������� ������������� - ������ ������� ����� ���������� (��������, ��������, ����������, - ��� ������ ������), ������� ��������� ��������� ��������, �������� ��� - ������� ������ ��������� ����������, ����� ������������� ���� ����� - ����������, ����� ������� ���������������, �� ���������� ������������ - ��������� ����� ������� ��� ����� ������ ������. � �������� ������ ��� - ����������� ������ ����� �������� ����� <filename>Makefile</filename> - �� ���� ���������, ����� ������, ���� �� ������ ������������ ���������� - � ����. � ��������� ������ <filename>Makefile</filename> �� ������ - ������������ ���������� <varname>MASTERDIR</varname> ��� �������� - ��������, � ������� ��������� ��� ��������� �����. ����� ����������� - ���������� ��� ����� <link linkend="porting-pkgname"><varname>PKGNAMESUFFIX</varname></link>, ����� - ������ ����� ������ �����.</para> - - <para>���������������� ��� �� �������. ��� ����� ����� - <filename>japanese/xdvi300/Makefile</filename>:</para> - - <programlisting> -PORTNAME= xdvi -PORTVERSION= 17 -PKGNAMEPREFIX= ja- -PKGNAMESUFFIX= ${RESOLUTION} - : -# default -RESOLUTION?= 300 -.if ${RESOLUTION} != 118 && ${RESOLUTION} != 240 && \ - ${RESOLUTION} != 300 && ${RESOLUTION} != 400 - @${ECHO_MSG} "Error: invalid value for RESOLUTION: \"${RESOLUTION}\"" - @${ECHO_MSG} "Possible values are: 118, 240, 300 (default) and 400." - @${FALSE} -.endif - </programlisting> - - <para>���� <package role="port">japanese/xdvi300</package> �������� - ����� ��� ������� �����, ����� ��� ������ � ��� �����. ���� �� ������� - ����� ������� <command>make</command>, ��� ������� � �������� ���������� - �������� �� ��������� (300) � �������� ���� ������� �������.</para> - - <para>��� ������� ���������� �������� <emphasis>������</emphasis> - <filename>xdvi118/Makefile</filename>:</para> - - <programlisting>RESOLUTION= 118 -MASTERDIR= ${.CURDIR}/../xdvi300 - -.include "${MASTERDIR}/Makefile"</programlisting> - - <para>(<filename>xdvi240/Makefile</filename> � - <filename>xdvi400/Makefile</filename> ������). ������� - <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> � ����� - <filename>xdvi300/Makefile</filename> � ���� ����� �������� � - ����������� 118.</para> - </sect1> - - <sect1 xml:id="makefile-manpages"> - <title>�������� �����������</title> - - <para>���� ��� ���� ���������� ������ ��� ������ ����������� �������, - �������� �� <varname>PREFIX</varname>, �� ������ ������������ - ���������� <varname>MANDIRS</varname>, ����� ������� ��� ��������. - �������� ��������, ��� ����� ������� ����������� ������� ��������� - � <filename>pkg-plist</filename> ������ � ���������� �������. - <varname>MANDIRS</varname> ������������� ��� ��������������� - ������ ������� �����������, ��� ����� ����� ������ ������������ - �� <filename>.gz</filename>.</para> - </sect1> - - <sect1 xml:id="makefile-info"> - <title>����� � ������� info</title> - - <para>���� � ����� ������ ����� ��������� ������ GNU info, ��� ������ - ���� ����������� � ���������� <varname>INFO</varname> (��� ��������� - <literal>.info</literal>), �� ������ �� ��������. ��������������, - ��� ��� ����� ��������������� � - <filename>PREFIX/INFO_PATH</filename>. - �� ������ �������� <varname>INFO_PATH</varname>, ���� ��� ����� - ���������� ������ ����� ��� ����������. ������, ��� �� ������������� - ������. ��� ������ ����� ���� �������� ���� ������������ - <filename>PREFIX/INFO_PATH</filename>. - ��������, <package role="port">lang/gcc34</package> ������������� - ����� info � - <filename>PREFIX/INFO_PATH/gcc34</filename>, - � � <varname>INFO</varname> ����� ���-�� ����� �����:</para> - - <programlisting>INFO= gcc34/cpp gcc34/cppinternals gcc34/g77 ...</programlisting> - - <para>����� ������������ ������ ��������������� ��� ���������/�������� ����� - ������������� �������� �� ��������� <filename>pkg-plist</filename>.</para> - </sect1> - - <sect1 xml:id="makefile-options"> - <title>����� ��� Makefile</title> - - <para>������ ���������� ����� ���� ��������� � ��������� - ������������� � � �������������� �����������������. ��������, - ����� ������������� (�������������) �����, GUI ������ ��������� - ������ ��� ���� ������������ ���� ������. ������������ ����� - ��������� � ��������� �������������, �������� �� ������������ �� - ���������, ������� � ������� ������ ������������ ��������, - ����������� ������ ����� ��������� ������� ���� ��� ����� - �������� ������������. - ���������� ��������� ���� �������������� ���������� ��������� - ������������� ����� � ���� ��� ��� ����� ����� �� ���� ������.</para> - - <sect2> - <title>Knobs</title> - - <sect3> - <title><varname>WITH_<replaceable>*</replaceable></varname> - � - <varname>WITHOUT_<replaceable>*</replaceable></varname></title> - - <para>��� ���������� ������������� ��� ��������� ��������� - ���������������. ������ �� ��� ��������������� � ����� - <link xlink:href="http://svnweb.FreeBSD.org/ports/head/KNOBS?view=markup"><filename>ports/KNOBS</filename></link>.</para> - - <para>��� �������� ����� �� ������� ��� ��� knob, ����������� - ��� ������� ����������. �� ������� ����� Avahi, ����������� - <varname>WITHOUT_MDNS</varname> ������ - <varname>WITHOUT_AVAHI_MDNS</varname>.</para> - - <note> - <para>�� ����� ������������, ��� - <varname>WITH_<replaceable>*</replaceable></varname> - ����������� ����� ��������������� ���������� - <varname>WITHOUT_<replaceable>*</replaceable></varname>, - � ��������. � ����� ������, �������������� �������� �� - ���������.</para> - </note> - - <note> - <para>���� �������� �� �������, �� ����������� ������ ���� - ��������� ����� ����������, �� �� �� ���������� �������� ���� - <literal>YES</literal> ��� <literal>NO</literal>.</para> - </note> - - <table frame="none"> - <title>�������� ���������� - <varname>WITH_<replaceable>*</replaceable></varname> - � <varname>WITHOUT_<replaceable>*</replaceable></varname></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>����������</entry> - - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>WITH_OPENSSL_BASE</varname></entry> - - <entry>������������ ������ OpenSSL �� ������� �������.</entry> - </row> - - <row> - <entry><varname>WITH_OPENSSL_PORT</varname></entry> - - <entry>������������� ������ OpenSSL �� - <package role="port">security/openssl</package>, - ���� ���� � ������� ������� ��������� ������.</entry> - </row> - </tbody> - </tgroup> - </table> - - </sect3> - - <sect3> - <title>������������ KNOBS</title> - <para>������� ������ ������������ ��� ���������� - knobs ��� ������ �������� ������������� � ��� ����������� - ���������� ������������ knobs � ��������� ����������. - ������ ���������� �������� knobs ����� ����� � ����� <link xlink:href="http://svnweb.FreeBSD.org/ports/head/KNOBS?view=markup"><filename>KNOBS</filename></link> - </para> - - <para>�������� knobs ������ ��������, ��� ��� ����� � ��� - ���������. ���� � ����� ������� ������������ ������� � - <varname>PORTNAME</varname>, �� �� ������ �������������� � - �������� knobs.</para> - </sect3> - </sect2> - - <sect2> - <title><varname>OPTIONS</varname></title> - - <sect3> - <title>��������</title> - <para>��� ��������� ����� ���������� <varname>OPTIONS_*</varname> - ������������� ������������ ���� ������� � ������������ - ��������� ����������, � ������� ��������� ���������� � ���� - <filename>/var/db/ports/${UNIQUENAME}/options</filename>. - ��� ����� �������� ������������ ��� ��������� ���������� - �����.</para> - - <para>����� ������������ ��������� <command>make config</command> - (��� ��������� ������� <command>make build</command>), - �������������� ��������� �������� ������������� ����� - <filename>/var/db/ports/${UNIQUENAME}/options</filename>. - ���� ���� ���� �� ����������, �� ������������ �������� - <varname>OPTIONS_*</varname> � ������������ ���������� ����, - � ������� ��� ��������� ����� �������� ��� ���������. - ����� ����������� ���� ����� <filename>options</filename>, - � ��������� ���������� ������������ ��� ���������� �����.</para> - - <para>���� ����� ������ ����� ��������� ����� �������� - <varname>OPTIONS</varname>, �� ������������ ����� ������������ - ���� ������� � ������������ ������������ ���������� ������ - <varname>OPTIONS.</varname></para> - - <para><command>make showconfig</command> ���������� - ����������� ������������. ��� �������� - ����������� ������������ ����������� - <command>make rmconfig</command>.</para> - </sect3> - - <sect3> - <title>���������</title> - - <para><varname>OPTIONS_DEFINE</varname> �������� ������ - ������������ <varname>OPTIONS</varname>. ��� ���������� - ���� �� ����� � �� �������������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 OPT2</programlisting> - - <para>����� ����� ����������� ������� �������� - <varname>OPTIONS</varname> (�� �������� ������������, - �� ������������ �������������):</para> - - <programlisting>OPT1_DESC= Describe OPT1 -OPT2_DESC= Describe OPT2 -OPT3_DESC= Describe OPT3 -OPT4_DESC= Describe OPT4 -OPT5_DESC= Describe OPT5 -OPT6_DESC= Describe OPT6</programlisting> - - <tip> - <para><filename>ports/Mk/bsd.options.desc.mk</filename> - �������� �������� ��������� �������� ������������ - <varname>OPTIONS</varname>; �������������� ��, ��� - �������, �� �����.</para> - </tip> - - <tip> - <para>��� �������� ���������� ���������� ����������� ���� - �� ����� ������������: <quote>��� ��� ������?</quote> - � <quote>��� ���� �� � ������� �������� ���?</quote> - �� ������� ������� ���������� ��������. ��������, - �������� ��������� <literal>NLS</literal> ��� - <quote>include NLS support</quote> (<quote>�������� - ��������� NLS</quote>) �� ������� ������������, ������� - ��� ����� �������� ���������, �� ����� �� �����, ��� - ��� ��������. ������ ��� ��� <quote>Native Language - Support via gettext utilities</quote> (<quote>��������� - ������������� ����� ����� ������� gettext</quote>), - �� �������� ������������ ������� ������.</para> - </tip> - - <para><varname>OPTIONS</varname> ����� ������������ � ���� - ��������������, ��� ������� �������� ����� ������������� - �������� � ������ ������:</para> - - <programlisting>OPTIONS_SINGLE= SG1 -OPTIONS_SINGLE_SG1= OPT3 OPT4</programlisting> - - <para><varname>OPTIONS</varname> ����� ������������ � ���� - ��������������, ��� ������� �������� ����� ������������� - �������� (��� �� ������) � ������ ������:</para> - - <programlisting>OPTIONS_RADIO= RG1 -OPTIONS_RADIO_RG1= OPT7 OPT8</programlisting> - - <para><varname>OPTIONS</varname> ����� ����� ������������ - � ���� ������� �� ������������� �������, ��� ������� - ������ ���� ������� <emphasis>�� ������� ���� - ����</emphasis> �� ����������:</para> - - <programlisting>OPTIONS_MULTI= MG1 -OPTIONS_MULTI_MG1= OPT5 OPT6</programlisting> - - <para><varname>OPTIONS</varname> ����� ����� ������������ - � ���� ������� �� ������������� �������, ��� ������� - ����� ���� �������� ����� ���������, ������� ���������� - ������:</para> - - <programlisting>OPTIONS_GROUP= GG1 -OPTIONS_GROUP_GG1= OPT9 OPT10</programlisting> - - <para>�� ��������� <varname>OPTIONS</varname> ��������� � - ����������� ���������, ���� ��� ���� ��� ����� ����������� - � ������ <varname>OPTIONS_DEFAULT</varname>:</para> - - <programlisting>OPTIONS_DEFAULT= OPT1 OPT3 OPT6</programlisting> - - <para>����������� <varname>OPTIONS</varname> ������� ��������� - �� ����������� <filename>bsd.port.options.mk</filename>. - ���������� <varname>PORT_OPTIONS</varname> - ����� ���� ��������� ������ ����� - ����������� <filename>bsd.port.options.mk</filename>. - ������ ����� ����� ����� ������������ ����������� - <filename>bsd.port.pre.mk</filename>, ��� ��� ��� ������ - ������������ � ������, ���������� �� ��������� - <filename>bsd.port.options.mk</filename>. �� ������ � ����, - ��� ��������� ����������, ������, ��� ��������� ����� - <varname>USE_*</varname>, - ����� ����������� <filename>bsd.port.pre.mk</filename> ����� - �������� �� ���, ��� ����� �� ��� �������.</para> - - <example xml:id="ports-options-simple-use"> - <title>������� ������������� <varname>OPTIONS</varname></title> - - <programlisting>OPTIONS_DEFINE= FOO BAR -FOO_DESC= Enable option foo -BAR_DESC= Support feature bar - -.include <bsd.port.options.mk> - -.if ${PORT_OPTIONS:MFOO} -CONFIGURE_ARGS+=--with-foo -.else -CONFIGURE_ARGS+=--without-foo -.endif - -.if ${PORT_OPTIONS:MBAR} -RUN_DEPENDS+= bar:${PORTSDIR}/bar/bar -.endif - -.include <bsd.port.mk></programlisting> - </example> - - <example xml:id="ports-options-check-unset"> - <title>�������� ���������� �������� - <varname>OPTIONS</varname></title> - - <programlisting>.if ! ${PORT_OPTIONS:MEXAMPLES} -CONFIGURE_ARGS+=--without-examples -.endif</programlisting> - </example> - - <example xml:id="ports-options-practical-use"> - <title>������ ��������� ������������� - <varname>OPTIONS</varname></title> - - <programlisting>OPTIONS_DEFINE= EXAMPLES - -OPTIONS_SINGLE= BACKEND -OPTIONS_SINGLE_BACKEND= MYSQL PGSQL BDB - -OPTIONS_MULTI= AUTH -OPTIONS_MULTI_AUTH= LDAP PAM SSL - -EXAMPLES_DESC= Install extra examples -MYSQL_DESC= Use MySQL as backend -PGSQL_DESC= Use PostgreSQL as backend -BDB_DESC= Use Berkeley DB as backend -LDAP_DESC= Build with LDAP authentication support -PAM_DESC= Build with PAM support -SSL_DESC= Build with OpenSSL support - -OPTIONS_DEFAULT= PGSQL LDAP SSL - -.include <bsd.port.options.mk> - -.if ${PORT_OPTIONS:MPGSQL} -USE_PGSQL= yes -CONFIGURE_ARGS+= --with-postgres -.else -CONFIGURE_ARGS+= --without-postgres -.endif - -.if ${PORT_OPTIONS:MICU} -LIB_DEPENDS+= libicuuc.so:${PORTSDIR}/devel/icu -.endif - -.if ! ${PORT_OPTIONS:MEXAMPLES} -CONFIGURE_ARGS+= --without-examples -.endif - -# �������� ������ ���������� OPTIONS - -.include <bsd.port.mk></programlisting> - </example> - </sect3> - - <sect3> - <title>��������� �� ���������</title> - <para>��������� ��������� �� ��������� ������ ��������.</para> - <itemizedlist> - <listitem> - <para><literal>DOCS</literal> — ���������� � ��������� - ������������.</para> - </listitem> - <listitem> - <para><literal>NLS</literal> — �������������������.</para> - </listitem> - <listitem> - <para><literal>EXAMPLES</literal> — ���������� � - ��������� �������� �������������.</para> - </listitem> - <listitem> - <para><literal>IPV6</literal> — ��������� ��������� - IPv6.</para> - </listitem> - </itemizedlist> - <note> - <para>��� ������������� ��������� ��� ��������� � - <varname>OPTIONS_DEFAULT</varname>. ��� �� �����, ����� - ���������� �� � ���� ������� ������ ����������, ��� ������ - ���� ��������� � <varname>OPTIONS_DEFINE</varname>.</para> - </note> - </sect3> - </sect2> - - <sect2> - <title>������� �������������� ���������</title> - - <para>��� ������������� �������� GNU configure, ������� �� ���, - ����� �������������� ������� ������������� ����������� - �������������� ���������. ���������� ����� ������� �� - �������������� �������, ������� �� �� ������ �� ������������, - ����� �������� ��������������� <literal>--without-xxx</literal> - ��� <literal>--disable-xxx</literal> � ���������� - <varname>CONFIGURE_ARGS</varname>.</para> - - <example> - <title>������������ ���������� ������</title> - - <programlisting>.if ${PORT_OPTIONS:MFOO} -LIB_DEPENDS+= libfoo.so:${PORTSDIR}/devel/foo -CONFIGURE_ARGS+= --enable-foo -.endif</programlisting> - </example> - - <para>� ����������� ���� ������� ����������� ���� ���������� libfoo, - ������������� � �������. ������������ �� ������, ����� ���������� - ������������ libfoo, � ������� �� ��������� ��������������� ����� - � ������� <literal>make config</literal>. �� �������� configure - ���������� ���������� ������� ���������� � ������� � �������� �� - ��������� � �������� ����������� ����. ������, ����� ������������ - ����� ������� libfoo �� �������, ������� ������ �������� ��� - ������� (�.�. ����������� �� libfoo �� ���� ��������), �� - ���������� ���������� ��������.</para> - - <example> - <title>���������� ���������� ������</title> - - <programlisting>.if ${PORT_OPTIONS:MFOO} -LIB_DEPENDS+= libfoo.so:${PORTSDIR}/devel/foo -CONFIGURE_ARGS+= --enable-foo -.else -CONFIGURE_ARGS+= --disable-foo -.endif</programlisting> - </example> - - <para>�� ������ ������� ���������� libfoo ��������� ����� �������. - �������� configure �� �������� ��������������� ������� � ����������, - �������� �� ����������� ���������� � �������.</para> - - <note> - <para>��� ������������ �������� ����������� ��������� ������ - ������� ����� �������� �������� �� �������� �������������. - ���� �� ��������� ������, ����� ��� <literal>Malformed - conditional</literal>, �� ����� ���� ����������� - �������������� ���������.</para> - - <programlisting>.if !empty(VARIABLE:MVALUE) -# as an alternative to -.if ${VARIABLE:MVALUE}</programlisting> - </note> - </sect2> - - <sect2> - <title>��������������� �������</title> - - <para>���������� ��������� ��������, ���������� ������ �������� - ��������, ������� ���������� � ����������� �� ������ - ����������.</para> - - <para>���� ���������� <varname>OPTIONS_SUB</varname> ����� - �������� <literal>yes</literal>, �� ������ �� ��������� � - <varname>OPTIONS_DEFINE</varname> ���������� ����� �������� - � <varname>PLIST_SUB</varname>. ��������� ������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 -OPTIONS_SUB= yes</programlisting> - - <para>�������������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 - -.include <bsd.port.options.mk> - -.if ${PORT_OPTIONS:MOPT1} -PLIST_SUB+= OPT1="" -.else -PLIST_SUB+= OPT1="@comment " -.endif</programlisting> - - <para><varname>X_CONFIGURE_ENABLE</varname> ���������� � - <varname>CONFIGURE_ARGS</varname> ������ - <literal>--enable-${X_CONFIGURE_ENABLE}</literal> ��� - <literal>--disable-${X_CONFIGURE_ENABLE}</literal> � - ������������ � ���������� <varname>X</varname>. ��������� - ������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 -OPT1_CONFIGURE_ENABLE= test</programlisting> - - <para>�������������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 - -.include <bsd.port.options.mk> - -.if ${PORT_OPTIONS:MOPT1} -CONFIGURE_ARGS+= --enable-test -.else -CONFIGURE_ARGS+= --disable-test -.endif</programlisting> - - <para><varname>X_CONFIGURE_WITH</varname> ���������� � - <varname>CONFIGURE_ARGS</varname> ������ - <literal>--with-${X_CONFIGURE_WITH}</literal> ��� - <literal>--without-${X_CONFIGURE_WITH}</literal> � - ������������ � ���������� <varname>X</varname>. ��������� - ������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 -OPT1_CONFIGURE_WITH= test</programlisting> - - <para>�������������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 - -.include <bsd.port.options.mk> - -.if ${PORT_OPTIONS:MOPT1} -CONFIGURE_ARGS+= --with-test -.else -CONFIGURE_ARGS+= --without-test -.endif</programlisting> - - <para>�������� ���������� <varname>X_CONFIGURE_ON</varname> - ����� �������� � <varname>CONFIGURE_ARGS</varname> � - ������������ � ���������� <varname>X</varname>. ��������� - ������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 -OPT1_CONFIGURE_ON= --add-test</programlisting> - - <para>�������������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 - -.include <bsd.port.options.mk> - -.if ${PORT_OPTIONS:MOPT1} -CONFIGURE_ARGS+= --add-test -.endif</programlisting> - - <para>�������� ���������� <varname>X_CONFIGURE_OFF</varname> - ����� �������� � <varname>CONFIGURE_ARGS</varname> � - ������������ � ���������� <varname>X</varname>. ��������� - ������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 -OPT1_CONFIGURE_OFF= --no-test</programlisting> - - <para>�������������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 -.include <bsd.port.options.mk> -.if ! ${PORT_OPTIONS:MOPT1} -CONFIGURE_ARGS+= --no-test -.endif</programlisting> - - <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> - - <para>�������������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 - -.include <bsd.port.options.mk> - -.if ${PORT_OPTIONS:MOPT1} -CMAKE_ARGS+= -DTEST:BOOL=true -.endif</programlisting> - - <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> - - <para>�������������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 - -.include <bsd.port.options.mk> - -.if ! ${PORT_OPTIONS:MOPT1} -CMAKE_ARGS+= -DTEST:BOOL=false -.endif</programlisting> - - <para>��� ����� �� ��������� ����������:</para> - - <itemizedlist> - <listitem> - <para><varname>ALL_TARGET</varname></para> - </listitem> - - <listitem> - <para><varname>CATEGORIES</varname></para> - </listitem> - - <listitem> - <para><varname>CFLAGS</varname></para> - </listitem> - - <listitem> - <para><varname>CPPFLAGS</varname></para> - </listitem> - - <listitem> - <para><varname>CXXFLAGS</varname></para> - </listitem> - - <listitem> - <para><varname>CONFIGURE_ENV</varname></para> - </listitem> - - <listitem> - <para><varname>DISTFILES</varname></para> - </listitem> - - <listitem> - <para><varname>EXTRA_PATCHES</varname></para> - </listitem> - - <listitem> - <para><varname>INSTALL_TARGET</varname></para> - </listitem> - - <listitem> - <para><varname>LDFLAGS</varname></para> - </listitem> - - <listitem> - <para><varname>MAKE_ARGS</varname></para> - </listitem> - - <listitem> - <para><varname>MAKE_ENV</varname></para> - </listitem> - - <listitem> - <para><varname>PATCH_SITES</varname></para> - </listitem> - - <listitem> - <para><varname>PATCHFILES</varname></para> - </listitem> - - <listitem> - <para><varname>PLIST_FILES</varname></para> - </listitem> - - <listitem> - <para><varname>PLIST_DIRS</varname></para> - </listitem> - - <listitem> - <para><varname>PLIST_DIRSTRY</varname></para> - </listitem> - - <listitem> - <para><varname>USES</varname></para> - </listitem> - </itemizedlist> - - <para>�������� ���������� <varname>X_ABOVEVARIABLE</varname> - ����� �������� � <varname>ABOVEVARIABLE</varname> � - ������������ � ���������� <varname>X</varname>. ��������� - ������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 -OPT1_USES= gmake -OPT1_CFLAGS= -DTEST</programlisting> - - <para>�������������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 - -.include <bsd.port.options.mk> - -.if ${PORT_OPTIONS:MOPT1} -USES+= gmake -CFLAGS+= -DTEST -.endif</programlisting> - - <para>���� ����������� <varname>X_ABOVEVARIABLE_OFF</varname>, - �� ���� <literal>ABOVEVARIABLE</literal> ����� ������������� - ��������� ��� ����������� ��������� <literal>X</literal>. - ��������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 -OPT1_USES_OFF=gmake</programlisting> - - <para>�������������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 - -.include <bsd.port.options.mk> - -.if ! ${PORT_OPTIONS:MOPT1} -USES+= gmake -.endif</programlisting> - - <para>��� ������ �� ��������� ����� �����������:</para> - - <itemizedlist> - <listitem> - <para><varname>PKG_DEPENDS</varname></para> - </listitem> - - <listitem> - <para><varname>EXTRACT_DEPENDS</varname></para> - </listitem> - - <listitem> - <para><varname>PATCH_DEPENDS</varname></para> - </listitem> - - <listitem> - <para><varname>FETCH_DEPENDS</varname></para> - </listitem> - - <listitem> - <para><varname>BUILD_DEPENDS</varname></para> - </listitem> - - <listitem> - <para><varname>LIB_DEPENDS</varname></para> - </listitem> - - <listitem> - <para><varname>RUN_DEPENDS</varname></para> - </listitem> - </itemizedlist> - - <para>�������� ���������� <varname>X_ABOVEVARIABLE</varname> - ����� �������� � <varname>ABOVEVARIABLE</varname> � - ������������ � ���������� <varname>X</varname>. ��������� - ������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 -OPT1_LIB_DEPENDS= liba.so:${PORTSDIR}/devel/a</programlisting> - - <para>�������������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 - -.include <bsd.port.options.mk> - -.if ${PORT_OPTIONS:MOPT1} -LIB_DEPENDS+= liba.so:${PORTSDIR}/devel/a -.endif</programlisting> - - <para>���� ����������� <varname>X_ABOVEVARIABLE_OFF</varname>, - �� ����������� ���� <literal>ABOVEVARIABLE</literal> ����� - ��������� ��� ����������� ��������� <literal>X</literal>. - ��������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 -OPT1_LIB_DEPENDS_OFF= liba.so:${PORTSDIR}/devel/a</programlisting> - - <para>�������������:</para> - - <programlisting>OPTIONS_DEFINE= OPT1 - -.include <bsd.port.options.mk> - -. if ! ${PORT_OPTIONS:MOPT1} -LIB_DEPENDS+= liba.so:${PORTSDIR}/devel/a -.endif</programlisting> - </sect2> - </sect1> - - <sect1 xml:id="makefile-wrkdir"> - <title>������� �������� ��������</title> - - <para>������ ���� ��������������� � ������� �������, ������� ������ ���� - ��������� ��� ������. � ������� ������ �� ��������� - <varname>DISTFILES</varname> ��������������� � ������� � ������ - <literal>${DISTNAME}</literal>. ������� �������, ���� �� - ������:</para> - - <programlisting>PORTNAME= foo -PORTVERSION= 1.0</programlisting> - - <para>�� �������������� ����� ����� �������� ������� �������� ������, - <filename>foo-1.0</filename>, � ��� ����� ����������� � ���� - ��������.</para> - - <para>���� ��� �� ��� ������, �� ������� ��������� ����������, ������� - �� ������ ��������������.</para> - - <sect2> - <title><varname>WRKSRC</varname></title> - - <para>��� ���������� ������ ��� ��������, ������� ��������� ��� - ���������� �������� ������ ����������. � ����� ���������� - ������� ���� �� ���������� ����������� � ������� � ������ - <filename>foo</filename> (� �� - <filename>foo-1.0</filename>), �� �� ������ ��������:</para> - - <programlisting>WRKSRC= ${WRKDIR}/foo</programlisting> - - <para>���, ��� �������</para> - - <programlisting>WRKSRC= ${WRKDIR}/${PORTNAME}</programlisting> - </sect2> - - <sect2> - <title><varname>NO_WRKSUBDIR</varname></title> - - <para>���� ���� ������ �� ��������������� �� � ����� �������, �� �� - ������ ������ ���������� <varname>NO_WRKSUBDIR</varname> ��� �������� - �� ���� ����.</para> - - <programlisting>NO_WRKSUBDIR= yes</programlisting> - </sect2> - </sect1> - - <sect1 xml:id="conflicts"> - <title>���������� ����������</title> - - <para>��� ����������� ��������� ����� �������� � ������� ������������ - ��� ��������� ����������: <varname>CONFLICTS</varname>, - <varname>CONFLICTS_INSTALL</varname> � - <varname>CONFLICTS_BUILD</varname>.</para> - - <note> - <para>���������� ����������� ��������� ������������� ���������� - ���������� <varname>IGNORE</varname>, ������� ����� �������� - ������� � <xref linkend="dads-noinstall"/>.</para> - </note> - - <para>��� �������� ������ �� ������������� ������ ������������� - ��������� ������ <varname>CONFLICTS</varname> � ��� ������ ������ - � ������� ���������� �������, ����� ������������ � ��� �������������, - ������� ����������� �� ������ � ������.</para> - - <sect2> - <title><varname>CONFLICTS_INSTALL</varname></title> - - <para>���� ��� ����� �� ����� ������������ ������ � ������� - (��-�� ��������� ������, ��������������� ������� ���������� � ��� - �����), ����������� ����� ��������� ������� � ���������� - <varname>CONFLICTS_INSTALL</varname>. ����� �� ������ ������������ - ������� ���������� ��������������, ����� ��� <literal>*</literal> - � <literal>?</literal>. ����� ������� ������ ��������� ��� ��, - ��� � <filename>/var/db/pkg</filename>. ����������, ���������, - ��� <varname>CONFLICTS_INSTALL</varname> �� �������� ����� ������ - ����� �����. � ��������� ������ �� ����� �������� ��������� � - �������������� ���������� <varname>FORCE_PKG_REGISTER</varname>. - �������� CONFLICTS_INSTALL ����������� ����� �������� ������ � - �� �������� ���������.</para> - </sect2> - - <sect2> - <title><varname>CONFLICTS_BUILD</varname></title> - - <para>���� ��� ���� �� ����� ���� ������, ����� ��� ���������� - ������, ����������� ����� ��������� ������ � ���������� - <varname>CONFLICTS_BUILD</varname>. ����� �� ������ ������������ - ������� ���������� ��������������, ����� ��� <literal>*</literal> - � <literal>?</literal>. ����� ������� ������ ��������� ��� ��, - ��� � <filename>/var/db/pkg</filename>. �������� CONFLICTS_BUILD - ����������� �� �������� ������. ��������� ������ � ���������� - ������ �� ������������.</para> - </sect2> - - <sect2> - <title><varname>CONFLICTS</varname></title> - - <para>���� ��� ���� �� ����� ���� ������, ����� ��� ���������� - ������, � ���������� ����� �� ����� ������������ ������ � �������, - ����������� ����� ��������� ������� � ���������� - <varname>CONFLICTS</varname>. ����� �� ������ ������������ ������� - ���������� ��������������, ����� ��� <literal>*</literal> � - <literal>?</literal>. ����� ������� ������ ��������� ��� ��, ��� - � <filename>/var/db/pkg</filename>. ����������, ���������, ��� - <varname>CONFLICTS</varname> �� �������� ����� ������ ����� �����. - � ��������� ������ �� ����� �������� ��������� � �������������� - ���������� <varname>FORCE_PKG_REGISTER</varname>. �������� - CONFLICTS ����������� �� ��������� ������ � ���������.</para> - </sect2> - </sect1> - - <sect1 xml:id="install"> - <title>��������� ������</title> - - <sect2 xml:id="install-macros"> - <title>������� INSTALL_*</title> - - <para>����������� �������, ������� ���� � ����� - <filename>bsd.port.mk</filename> ��� ����������� ���������� ���� - ������� ������ � ����� <buildtarget>*-install</buildtarget> - �����. �������������� ����� �������� �������� � - <filename>pkg-plist</filename> ����� ��������������� ������ - <literal>@owner owner</literal> � - <literal>@group group</literal>. ��� ��������� �������� �� - ������� �� ��������������� ��� �� ����� - <filename>pkg-plist</filename>, ������� �� ��������� �� - ����������, ����� ��� ������ �� �����. �� ��������� �������� - ��������������� ��� <literal>root:wheel</literal>.</para> - - <itemizedlist> - <listitem> - <para><varname>INSTALL_PROGRAM</varname> - ��� ������� ��� - ��������� �������� ���������� ������.</para> - </listitem> - - <listitem> - <para><varname>INSTALL_SCRIPT</varname> - ��� ������� ��� ��������� - ���������� ��������.</para> - </listitem> - - <listitem> - <para><varname>INSTALL_LIB</varname> - ��� ������� ��� ��������� - ������������ ���������.</para> - </listitem> - - <listitem> - <para><varname>INSTALL_KLD</varname> - ��� ������� ��� ��������� - ����������� ������� ����. ��������� ����������� ������������, - ����� ��� ������� ����������� ���������� ��������, �� ���� - ������� ����������� ��� ������� ������ - <varname>INSTALL_PROGRAM</varname>.</para> - </listitem> - - <listitem> - <para><varname>INSTALL_DATA</varname> - ��� ������� ��� ��������� - ��������� ������������ ������ ������.</para> - </listitem> - - <listitem> - <para><varname>INSTALL_MAN</varname> - ��� ������� ��� ��������� - ������� ����������� � ������ ������������ (������� ������ ��� �� - �������).</para> - </listitem> - </itemizedlist> - - <para>� ������ ������ ���� �������� ����� ������� - <command>install</command> �� ����� ���������������� �������. - �������� ������ �� ������������� ����.</para> - </sect2> - - <sect2 xml:id="install-strip"> - <title>�������� ���������� ���������� � �������� ������ � - ������������ �����������</title> - - <para>�� �������� ���������� ���������� �� �������� ������ �������, - ���� �� ��� ������. �� ���� �������� ������ ���������� ���������� - ������ ���� �������, � ������ <varname>INSTALL_PROGRAM</varname> - �������� ��������� � �������� ���������� ���������� ������������ - (���������� � ���������� �������). ������ - <varname>INSTALL_LIB</varname> ������ �� �� ����� ��� - ������������ ���������.</para> - - <para>���� ��� ����� ������� ���������� ���������� �� ����� ��� - ������������� �������� <varname>INSTALL_PROGRAM</varname> � - <varname>INSTALL_LIB</varname>, �� ��� ����� ������� ��� ������ - <varname>${STRIP_CMD}</varname>. ������ ��� �������� ������ ���� - <literal>post-install</literal>. � �������:</para> - - <programlisting>post-install: - ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/xdl</programlisting> - - <para>�������� ���������� ���������� �� ���������� - ������:</para> - - <programlisting>post-install: - .for l in geometry media body track world - ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib${PORTNAME}-${l}.so.0 - .endfor</programlisting> - - <para>��� �������� ����, ������� �� ���������� ���������� �� - �����, ����������� &man.file.1;. ��� �������� ������ - &man.file.1; �������� <literal>stripped</literal> ��� - <literal>not stripped</literal>. ����� ����, &man.strip.1; - ����������, ���� �� ��� ������� �� ��������� ���������� - ����������, � � ���� ������ ������ ��������� ���� ������.</para> - </sect2> - - <sect2 xml:id="install-copytree"> - <title>��������� ������ ������ ������</title> - - <para>������ ������ ���� ����������� ������� ���������� ������ - � ����������� �� ������������� �����������. ��������, ����������� - ������ ��������� ������� �� <varname>WRKSRC</varname> � ������� - ������� ������ <varname>PREFIX</varname>. �������� ��������, - ��� <varname>PREFIX</varname>, <varname>EXAMPLESDIR</varname>, - <varname>DATADIR</varname> � ������ ���������� ���� ������ - ������ ������������ <varname>STAGEDIR</varname>, ����� �� - ������ staging (�������� <xref linkend="staging"/>).</para> - - <para>��� ���� �������� ���������� ��� �������. ������������ �� - ������������� ���� �������� ������ ������� <command>cp</command> - � ���, ��� ��� ����������� ��������� ����������� ��������� � ���� - �� �������� �����. ������ ������, <varname>COPYTREE_BIN</varname>, - ������ ��� ��������������� ����� ������������, ��� �������� ��� - ��������� � <filename>PREFIX/bin</filename>. - ������ ������, <varname>COPYTREE_SHARE</varname>, �� ������������� - �� ����� ����� ����������, �, ����� �������, �������� ��� ��������� - ������ ������ �������� - <filename>PREFIX/share</filename>.</para> - - <programlisting>post-install: - ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} - (cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})</programlisting> - - <para>� ���� ������� ��������������� ���������� �������� - <filename>examples</filename> �� ������������ ������ ������������� - � ���������� ����� ��� �������� ������ �����.</para> - - <programlisting>post-install: - ${MKDIR} ${STAGEDIR}${DATADIR}/summer - (cd ${WRKSRC}/temperatures && ${COPYTREE_SHARE} "June July August" ${STAGEDIR}${DATADIR}/summer)</programlisting> - - <para>� � ���� ������� ����� ����������� ������ ������ ������� � - ���������� <filename>summer</filename> �������� - <filename>DATADIR</filename>.</para> - - <para>� �������� �������� ��������� � ������� - <varname>COPYTREE_*</varname> ����� �������� �������������� - ��������� <command>find</command>. ��������, ����� � ������ - ������� ���������� ��� ����� ����� ������ Makefile, ����� - ������������ ��������� �������.</para> - - <programlisting>post-install: - ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} - (cd ${WRKSRC}/examples && \ - ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR} "! -name Makefile")</programlisting> - - <para>��� ������� �� ���������� ���������� ��������������� - ������ � <filename>pkg-plist</filename>. ��� ������ ���� - ��������� ���� �������. �������������� ����� ������������ - (<varname>PORTDOCS</varname>, �������� - <xref linkend="install-documentation"/>) � �������� - (<varname>PORTEXAMPLES</varname>) ������ ������ ������������ - � <filename>pkg-plist</filename> ���������� - <literal>%%PORTDOCS%%</literal> ��� - <literal>%%PORTEXAMPLES%%</literal>.</para> - </sect2> - - <sect2 xml:id="install-documentation"> - <title>��������� �������������� ������������</title> - - <para>���� � ����� ����������� ������������ ������������ ��������� - ������������, ������������ �� ����������� ������� ����������� � - ������ info, �������, ��� �� �������, ����� ������� �������������, - ���������� �� � ������� - <filename>PREFIX/share/doc</filename>. ��� ����� - ���� �������, ��� � � ���������� �������, � ���� - <buildtarget>post-install</buildtarget>.</para> - - <para>�������� ��� ������ ����� ����� �������. ��� �������� ������ - ��������������� ����, ��� ������������ �� ���� ����. ������ ��� - �������� <varname>PORTNAME</varname>. ������, ���� - �� �������, ��� ������������ ������� ����� ������ ������ �����, - ������������� ������������, �� �� ������ ������������ ������ ��� - <varname>PKGNAME</varname>.</para> - - <para>��������� ��������������� ������ �����, ������������� � - <filename>pkg-plist</filename>, ���������� �������� ����� - ������������� ������������ � <varname>STAGEDIR</varname> - ������ (�������� <xref linkend="staging"/>). �������������, - ����� <literal>.if</literal> ����� ������ ��� ������ - ���������� �������� �������, ��������� ������� ���ޣ� - ������������ ��������� ������� �� �������� �����/������.</para> - - <programlisting>post-install: - ${MKDIR} ${STAGEDIR}${DOCSDIR} - ${INSTALL_MAN} ${WRKSRC}/docs/xvdocs.ps ${STAGEDIR}${DOCSDIR}</programlisting> - - <para>��� ��������� �������� ���������� � ��, ��� ��� ������������� �� - ��������� ��� ������������� � <filename>Makefile</filename>:</para> - - <itemizedlist> - <listitem> - <para><varname>DATADIR</varname> ������������� � - <filename>PREFIX/share/PORTNAME</filename>.</para> - </listitem> - - <listitem> - <para><varname>DATADIR_REL</varname> ������������� � - <filename>share/PORTNAME</filename>.</para> - </listitem> - - <listitem> - <para><varname>DOCSDIR</varname> ������������� � - <filename>PREFIX/share/doc/PORTNAME</filename>.</para> - </listitem> - - <listitem> - <para><varname>DOCSDIR_REL</varname> ������������� � - <filename>share/doc/PORTNAME</filename>.</para> - </listitem> - - <listitem> - <para><varname>EXAMPLESDIR</varname> ������������� � - <filename>PREFIX/share/examples/PORTNAME</filename>.</para> - </listitem> - - <listitem> - <para><varname>EXAMPLESDIR_REL</varname> ������������� � - <filename>share/examples/PORTNAME</filename>.</para> - </listitem> - </itemizedlist> - - <note> - <para>�������� <literal>DOCS</literal> ��������� ���������� - �������������� ������������ � <varname>DOCSDIR</varname>. ��� - �� ��������� � ����������� ��������� ����������� � ��������� info. - ���, ��� ��������������� � <varname>DATADIR</varname> � - <varname>EXAMPLESDIR</varname>, �������������� ����������� - ����� ��������� <literal>DATA</literal> � - <literal>EXAMPLES</literal>.</para> - </note> - - <para>��� ���������� �������������� � <varname>PLIST_SUB</varname>. - �� �������� �������� ��� � ���� �ͣ� ����� ������������ - <filename>PREFIX</filename>, ���� ��� ��������. - �� ���� <filename>share/doc/PORTNAME</filename> - � ������ ������ �� ��������� ����� ������� �� - <literal>%%DOCSDIR%%</literal>, � ��� �����. (�������������� - ���������� � ����������� � <filename>pkg-plist</filename> ����� - ����� <link linkend="plist-sub">�����</link>.)</para> - - <para>��� ������� ��������������� ����� � �������� � ������������� - ������ ���� ����������� � ����� <filename>pkg-plist</filename> � - ��������� <literal>%%PORTDOCS%%</literal>, ��������:</para> - - <programlisting>%%PORTDOCS%%%%DOCSDIR%%/AUTHORS -%%PORTDOCS%%%%DOCSDIR%%/CONTACT -%%PORTDOCS%%@dirrm %%DOCSDIR%%</programlisting> - - <para>� �������� ������������ ������������ ������ ������������ � ����� - <filename>pkg-plist</filename>, ���� ����� ������� � ���������� - <varname>PORTDOCS</varname> ������ �ͣ� ������ � ���������� �������� - ���������� ���������� ��� ���������� � ������������� ������ ������. - ����� ����� ���������� ������������ <varname>DOCSDIR</varname>. - ����� �������, ����, ������������ <varname>PORTDOCS</varname> � - ������������� �������������� ������������, ������ �������� - ��������������� ������� � <varname>DOCSDIR</varname>. ���� ������� - ������ � <varname>PORTDOCS</varname> ��� ������������� ������� ��� - ���� ����������, �� ������ ��������� � ��������� � ���� ������� � - ���������� ����� ���������������� � ������������� ������ ������. - ���� �������� <literal>DOCS</literal> �� �����, �� ����� � ��������, - ������������� � <varname>PORTDOCS</varname>, �� ����� ����������� � - ��������� � ������ ������ �����. ��������� ������������ � - <varname>PORTDOCS</varname>, ��� ��� �������� ����, �������� �� - ����� ������. �������� ������ ������������� - <varname>PORTDOCS</varname> �������� ��������� �������:</para> - - <programlisting>PORTDOCS= README.* ChangeLog docs/*</programlisting> - - <note> - <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">������� �� - ������������� <filename>pkg-message</filename></link>. - ���� <filename>pkg-message</filename> �� ����� ��������� � - <filename>pkg-plist</filename>.</para> - </note> - </sect2> - - <sect2 xml:id="install-subdirs"> - <title>����������� ������ PREFIX</title> - - <para>���������� ��������� ��� ����� ����� � ���������� ������������ - �������� <varname>PREFIX</varname>. ��������� ����� ���������� ��� - ��������� � �������� ��� � ���������� � ������ �����, ��� - �����������. ����� ������ ����� �������� ���, ����� �������� ������, - ������ ���������� � ������� �����������, � ���������� �������� - <filename>lib</filename>, ��� �� ����� ������ �������� � �������� - BSD. ������ ����� ������ ���� ���������� � ���� �� ��������� - ��������������: <filename>etc</filename> - (�����������/���������������� �����), <filename>libexec</filename> - (���������� �����, ����������� �� ������ ��������), - <filename>sbin</filename> (���������� ����� ��� - ���������������/���������� �������), <filename>info</filename> - (������������ � ������� info ��� ������������ info) ��� - <filename>share</filename> (����������� �� ����������� �����). - ���������� � &man.hier.7; ��� ���������� �������; �������, - ����������� <filename>/usr</filename>, ���������� ������ �������� - ����� � � <filename>/usr/local</filename>. ����������� �������� - �����, ������� ���� � <quote>���������</quote> USENET. ��� ����� - ������������ ������� - <filename>PREFIX/news</filename> ��� ��������� - ����� ������.</para> - </sect2> - - </sect1> - - </chapter> - - <chapter xml:id="special"> - <title>������ ����������</title> - - <para>������� �ݣ ��������� �����, ������� �� ������ ����� � ���� ��� - �������� �����. ���� ������ ��������� �������� ����� ������������� �� - ���.</para> - - <sect1 xml:id="staging"> - <title>Staging</title> - - <para><filename>bsd.port.mk</filename> ������� �� ������ ������ - � <quote>��������� ������</quote>. ��� ��������, ��� ���� - ������ ������������� ����� �� �������� � ����������� �������� - (�� ����, ��������, ��� <varname>PREFIX</varname>), � � - ��������� �������, �� �������� ����� ���������� �����. - �� ������ ������� ���������� root ��� ����� �� ���������, - ��� ������ ��������� ������ ������� ��-��� �������������������� - ������������. � ������ staging ���� ���������� � ��������������� - � ������� ������ <varname>STAGEDIR</varname>. ����� ��������� - �� �������� ������ � ����� ��������������� � �������. - � �������������� automake ����� ��������� ��������� - <varname>DESTDIR</varname>; � ������, � &os; - <varname>DESTDIR</varname> ����� ����������� �������� - (�������� <xref linkend="porting-prefix"/>).</para> - - <para>���� ��� ����� �ӣ �ݣ ��������� ��������� ���������� ��� - ���������� ���� <buildtarget>package</buildtarget>, �� � - <filename>Makefile</filename> ������ ���� ��������� ��������� - ������:</para> - - <programlisting>NEED_ROOT= yes</programlisting> - - <para>���������, �� ���� �����, ������� �� ������������� ����� - ���������������, � ������ ������� �� ������ ������, ������ - �� ����������� �������� ���������� &man.mtree.8; � ������� - ������. ��� �������� �������� ��������� ������, � ��� ������ - �������� ����� ��������� �������. ��� �������������� - ���������� &man.mtree.8; �������� ��� ������:</para> - - <programlisting>NO_MTREE= yes</programlisting> - - <para>Staging ������������� ����������� ���������� ���������� - <varname>STAGEDIR</varname> ����� �� �����, ������� ������������ - � ����� <buildtarget>pre-install</buildtarget>, - <buildtarget>do-install</buildtarget> � - <buildtarget>post-install</buildtarget> (�������� ������� - � �����). ������ ���� ��������� - <varname>PREFIX</varname>, <varname>ETCDIR</varname>, - <varname>DATADIR</varname>, <varname>EXAMPLESDIR</varname>, - <varname>MANPREFIX</varname>, <varname>DOCSDIR</varname> � - ��� �����. �������� ������ ����������� ��� ���������� ���� - <buildtarget>post-install</buildtarget>. ��������� - ������������� ���������� �����, ����� ��� ��������.</para> - - <para>��� �������� ������������� ������ <varname>STAGEDIR</varname> - ������ ��������� ������ ��� ���� ����������. ��������:</para> - - <programlisting>${LN} -sf libfoo.so.42 ${STAGEDIR}${PREFIX}/lib/libfoo.so</programlisting> - - <para>�������������� ���� - <filename>${PREFIX}/lib/libfoo.so.42</filename> �������� - ���������, �� �� ����� ����� ���� ������������. ���������� - ���� ����� ��������� �� ������������ �����, ��������, ����� - ���̣���� �������� ������� ������������ �� - <acronym>NFS</acronym> ��� ������������������� ����� - ������������. ������������� ���� ���� ���������� ��������� - � ����� ������� ������.</para> - - <para>�����, ��������������� ������ ����, ������ ���������� ���� - ��������� (�� ��������� <filename>/boot/modules</filename>) - ���������� <varname>STAGEDIR</varname>.</para> - </sect1> - - <sect1 xml:id="porting-shlibs"> - <title>������������ ����������</title> - - <para>���� ��� ���� ������������� ���� ��� ��������� ������������ - ���������, ���������� ���������� <varname>USE_LDCONFIG</varname>, - ������� �����ģ� � ������� �� <filename>bsd.port.mk</filename> ������� - <literal>${LDCONFIG} -m</literal> ������������ ��������, � - ������� ��������������� ����� ���������� (��� �������, ��� - <filename>PREFIX/lib</filename>), �� ����� - ���������� ���� <buildtarget>post-install</buildtarget> ��� ţ - ����������� � ���� ������������ ���������. ��� ����������, ���� ��� - ����������, ����� �����ģ� � ���������� ��������������� ���� ������ - <literal>@exec /sbin/ldconfig -m</literal> � - <literal>@unexec /sbin/ldconfig -R</literal> � ��� ���� - <filename>pkg-plist</filename>, ��� ��� ������������, ��������������� - �����, ������ ����� �� ������������ ������������ ����������, � - �������� ������ �� �����ģ� � ����, ��� ������� ����� ������������, - ��� ���������� �ӣ �ݣ ������� � �������.</para> - - <programlisting>USE_LDCONFIG= yes</programlisting> - - <para>���� �����, �� ������ �������������� ������� �� ���������, - ����� �������� - <varname>USE_LDCONFIG</varname>, � ������� ������ ���� ����������� - ��������, � ������� ��������������� ������������ ����������. ��������, - ���� ��� ���� ������������� ������������ ���������� � �������� - <filename>PREFIX/lib/foo</filename> � - <filename>PREFIX/lib/bar</filename>, �� �� ������ � - ����� <filename>Makefile</filename> ������� ���������:</para> - - <programlisting>USE_LDCONFIG= ${PREFIX}/lib/foo ${PREFIX}/lib/bar</programlisting> - - <para>������ - ����� �������������, �.�. ����� ��� ����� �� �������� ����������� - � ����� ���� ������ ����� � ������� <literal>-rpath</literal> - ��� ��������� <envar>LD_RUN_PATH</envar> �� ����� ���������� (��� - ������� �������� <package role="port">lang/moscow_ml</package>), - ��� � ������� ��������-�£����, ������� ���������� - <varname>LD_LIBRARY_PATH</varname> ����� �������� ������������ ����� - ��� ��� ������ <package role="port">www/seamonkey</package>.</para> - - <para>��� ��������� 32-��������� ��������� �� 64-��������� ������� - ����������� ������ ����� <varname>USE_LDCONFIG32</varname>.</para> - - <para>������������ ��������� ������ ������ ������������ ��������� - � ������� <filename>libfoo.so.0</filename>. ��� ����������� - ����������� ������ � ������� (������) ������.</para> - - <para>���� ��� ���������� ����� ������������� ������� ����� ������ - ����������, �� ��� ���� ������, ����������� � ���������� �����������, - ������� ��������� �������� <varname>PORTREVISION</varname> ��� - ������������ �������������� � ����� ������� ����������.</para> - - </sect1> - - <sect1 xml:id="porting-restrictions"> - <title>����� � ������������� �� ��������������� ��� � - �������� ������������</title> - - <para>�������� ������ ������ �����, � ��������� ����������� ����������� - �� ��, ��� ���������� ����� ���� ��������� � ���� ������, ����� �� - ��� ����������� ��� ���������� ������������ ������, � ��� �����.</para> - - <important> - <para>�� ���, ��� �� ��������, ������������ ����������, ������� - ����������� �������� ������������ ���������� �� ����������� - ����������� � ��������������, ��� ������ &os; �� ����� �������� - �� �����������, ���� ����� ���������� ���������������� ��������� - ���� ��� � �������� ���� �� FTP/HTTP ��� �� CD-ROM. ���� - � ��� �������� ��������, ��, ����������, ���������� � - &a.ports;.</para> - </important> - - <para>� �������� ��������� ����� ������������ ����������, ����������� � - ����������� ��������.</para> - - <sect2> - <title><varname>NO_PACKAGE</varname></title> - - <para>��� ���������� ���������, ��� �� �� ����� ��������� ��� - ���������� �������� �����. � �������, �������� �� ��������� - �������� ��������������� ��� ��� ����� ��������� ��������������� - �������, ��������� �� ����Σ���� ����������.</para> - - <para>������ ����� <varname>DISTFILES</varname> ����� �������� - ��������������� �� FTP/HTTP. ��� ����� ����� ����������������, - ��������� CD-ROM (��� �� ������� ���������), ���� �� ����������� - ���������� <varname>NO_CDROM</varname>.</para> - - <para><varname>NO_PACKAGE</varname> ������ ����� ��������������, ���� - �������� �����, ��� �������, ����������, � ���������� ������ ������ - ��������������� �� ��������� ����. � �������, ���� � ���������� - �� ����� ���������� ֣���� ���������� ���������������� ����������, - ����������� � ���������� �������, �� ������� ���������� - <varname>NO_PACKAGE</varname>.</para> - - <para>��������� ���������� <varname>NO_PACKAGE</varname> ������ ���� - ������, ����������� �������, �� ������� ����� �� ������ - �����������.</para> - </sect2> - - <sect2> - <title><varname>NO_CDROM</varname></title> - - <para>��� ���������� ��������� �� ��, ���, ���� �� ����� ����� - ��������� �������� ������, �� �� ����� �������� ��� ������ ��� - ����� <varname>DISTFILES</varname> ����� �� CD-ROM (��� �� ������� ��������) ��� - �����������. ������ �������� ������ � ����� - <varname>DISTFILES</varname> ����� ����� ���������� - ���������� ����������� FTP/HTTP.</para> - - <para>���� ��� ���������� ��������������� ������ � - <varname>NO_PACKAGE</varname>, �� ������ ����� ����� - <varname>DISTFILES</varname> ����� ��������, � ������ ����������� - FTP/HTTP.</para> - - <para>� �������� �������� <varname>NO_CDROM</varname> ������ - ����������� ������, ����������� �������, �� ������� ���� �� ����� - ���������������� �� CD-ROM. � �������, ��� �����������, ���� - ������������ ���������� ���������� ������������ ������ ��� - <quote>��������������</quote> �������������.</para> - </sect2> - - <sect2> - <title><varname>NOFETCHFILES</varname></title> - - <para>�����, ������������ � ���������� <varname>NOFETCHFILES</varname>, - �� ����� ����������� �� �� ������ �� <varname>MASTER_SITES</varname>. - �������� ������ ����� �������� ����, ������������ �� CD-ROM.</para> - - <para>�����������, ����������� ����������� ���� ������ �� - <varname>MASTER_SITES</varname>, ������ ������������ ��� ����� � - �� �������� � ���.</para> - </sect2> - - <sect2> - <title><varname>RESTRICTED</varname></title> - - <para>������� ��� ����������, ���� �������� �� ���������� �� ��������� - �� ������������� ����� <varname>DISTFILES</varname>, �� �������������� - �������� ����� ����� FTP/HTTP ��� �� CD-ROM.</para> - - <para>�� <varname>NO_CDROM</varname>, �� <varname>NO_PACKAGE</varname> - �� ����� ������������� ������ � <varname>RESTRICTED</varname>, ��� - ��� ��������� ���������� ������������� ������ ���.</para> - - <para>� �������� �������� <varname>RESTRICTED</varname> ������ - ����������� ������, ����������� �������, �� ������� ���� ������ - ��������������. ������ ��� ��������, ��� ���� ���������� �������� - ����������� �����������, � ������������ ������ ������� �������� ����� - <varname>DISTFILES</varname>, ��������, ����� ���������� - ��������������� ����� ��� ������������� ���������� � ��������� - <acronym>EULA</acronym>.</para> - </sect2> - - <sect2> - <title><varname>RESTRICTED_FILES</varname></title> - - <para>���� ������ <varname>RESTRICTED</varname> ��� - <varname>NO_CDROM</varname>, �� �������� ���� ���������� �� ��������� - ������������� <literal>${DISTFILES} ${PATCHFILES}</literal>, � - ��������� ������ ��� �����. ���� ���������� � ��������������� ���� - ��������� �� �������������� ������, �� � ���� ���������� �������� �� - ������.</para> - </sect2> - - <sect2> - <title><varname>LEGAL_TEXT</varname></title> - - <para>���� ���� ����� �������� �����������, ������� �� - ����������� �������������� ���� �����������, �� ���������� - <varname>LEGAL_TEXT</varname> ������� ��������� ������ � - ��������� ������� �����������. ��������, ���� ���� �������� - ������ ���������� ��� &os; �� ��������������� ��������� - �����, �� ��� ���������� ������ ��������� ��������������� - ��������.</para> - </sect2> - - <sect2> - <title><filename>/usr/ports/LEGAL</filename> � - <varname>LEGAL</varname></title> - - <para>����, ���������� ����� �� ������������� ���� ����������, - ����� ������ ���� �������� � <filename>/usr/ports/LEGAL</filename>. - ������ ������� �������� ������ ���������� � ��������������� - �������, �������� ����������� �� ���������������. ������ - ������� �������� ������ �����. ������ ������� �������� - ����� <command>make -VLEGAL</command>.</para> - </sect2> - - <sect2> - <title>������� �������������</title> - - <para>���������������� �������� ���������� ����������� "������ - �������� ������� ��� ����� ����� ������ ����������� ��������������" - �������� ���������:</para> - - <programlisting>.if !exists(${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}) -IGNORE= may not be redistributed because of licensing reasons. Please visit <replaceable>some-website</replaceable> to accept their license and download ${DISTFILES} into ${DISTDIR} -.endif</programlisting> - - <para>��� ������������ � ����������� ������������, � ������������� - ������ ���������� �� ���������������� ������ ��� ������������� - ��������������� �����������.</para> - - <para>�������� ��������, ��� ������ ������ ������ �������������� - ����������� ����� <filename>bsd.port.pre.mk</filename>.</para> - </sect2> - </sect1> - - <sect1 xml:id="building"> - <title>��������� ����������</title> - - <sect2 xml:id="parallel-builds"> - <title>������������ ���������� ������</title> - - <para>�������������� ������ &os; ������������ ������������ - ���������� � �������������� ������������� ������������ - <command>make</command>, ��� ��������� �������� - <acronym>SMP</acronym> ������������� ��� ��������� �������� - <acronym>CPU</acronym>, ��� ����� ����� ���������� ������ ����� - ������� � �����������.</para> - - <para>��� ����������� ��ԣ� �������� ����� <varname>-jX</varname> - ������� &man.make.1;. ����� ���������� ������ �������� - ���������� �� ���������. � ���������, �� ��� ����� ������������ - ������������ ������ ���������� ������, � ������� ����� - ������������� ��������� ���� �������� ����� ������� ��ԣ� - ���������� ���������� <literal>MAKE_JOBS_UNSAFE=yes</literal>. - ��� ���������� ������������ � ������, ����� ��������, ��� ���� - �������� � <varname>-jX</varname>.</para> - </sect2> - - <sect2 xml:id="using-make"> - <title><command>make</command>, <command>gmake</command> � - <command>imake</command></title> - - <para>���� ��� ���� ���������� <application>GNU make</application>, - �� ���������� <literal>USES= gmake</literal>.</para> - - <table frame="none"> - <title>���������� ��� ������, ������������ - <application>gmake</application></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>����������</entry> - - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>USES= gmake</varname></entry> - - <entry>��� ������ ����� ��������� - <command>gmake</command>.</entry> - </row> - - <row> - <entry><varname>GMAKE</varname></entry> - - <entry>������ ���� � ������� <command>gmake</command>, ���� - ����������� � <envar>PATH</envar>.</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>���� ��� ���� �������� ����������� X, ������� ������� ����� - <filename>Makefile</filename> �� <filename>Imakefile</filename>, - ��������� <application>imake</application>, �� ���������� - <literal>USES= imake</literal>. ��� �������� ������ - ���������������� ������������� ��������� <command>xmkmf -a</command>. - ���� ���� <option>-a</option> ������������ ��� ������ ����� - ��������, �� ���������� <literal>XMKMF=xmkmf</literal>. ���� - ���� ���������� <application>imake</application>, �� �� �������� - ���� <buildtarget>install.man</buildtarget>, �� ������� ���������� - <literal>NO_INSTALL_MANPAGES=yes</literal>.</para> - - <para>���� �������� <filename>Makefile</filename> ������ ����� - ����� ���-������ ������ <buildtarget>all</buildtarget> � �������� - �������� ���� ����������, �� ������� ��������������� �������� - <varname>ALL_TARGET</varname>. �� �� �������� - <buildtarget>install</buildtarget> � - <varname>INSTALL_TARGET</varname>.</para> - - </sect2> - - <sect2 xml:id="using-configure"> - <title>�������� <command>configure</command></title> - - <para>���� ��� ���� ���������� �������� <command>configure</command> - ��� ��������� ������ <filename>Makefile</filename> �� ������ - <filename>Makefile.in</filename>, �� ���������� - <literal>GNU_CONFIGURE=yes</literal>. ���� �� ������ ���� - �������������� ��������� �������� <command>configure</command> - (���������� �� ��������� �������� <literal>--prefix=${PREFIX} - --infodir=${PREFIX}/${INFO_PATH} - --mandir=${MANPREFIX}/man - --build=${CONFIGURE_TARGET}</literal>), ���������� ��� ��������� - � <varname>CONFIGURE_ARGS</varname>. �������������� ���������� - ��������� ����� ��������, ��������� ���������� - <varname>CONFIGURE_ENV</varname>.</para> - - <table frame="none"> - <title>���������� ��� ������, ������������ - <command>configure</command></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>����������</entry> - - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>GNU_CONFIGURE</varname></entry> - - <entry>���� ���������� �������� <command>configure</command> - ��� ���������� ����������.</entry> - </row> - - <row> - <entry><varname>HAS_CONFIGURE</varname></entry> - - <entry>�� ��, ��� � <varname>GNU_CONFIGURE</varname>, ����� - ����, ��� ���� configure �� ��������� �� ����������� � - <varname>CONFIGURE_ARGS</varname>.</entry> - </row> - - <row> - <entry><varname>CONFIGURE_ARGS</varname></entry> - - <entry>�������������� ���������, ������������ �������� - <command>configure</command>.</entry> - </row> - - <row> - <entry><varname>CONFIGURE_ENV</varname></entry> - - <entry>�������������� ���������� ���������, ���������� ��� - ������� �������� <command>configure</command>.</entry> - </row> - - <row> - <entry><varname>CONFIGURE_TARGET</varname></entry> - - <entry>�������������� ���� configure �� ���������. ��������� - �� ��������� �������� - <literal>${MACHINE_ARCH}-portbld-freebsd${OSREL}</literal>.</entry> - </row> - </tbody> - </tgroup> - </table> - </sect2> - - <sect2 xml:id="using-cmake"> - <title>������������� <command>cmake</command></title> - - <para>���� ��� ���� ���������� <application>CMake</application>, - ���������� <literal>USES= cmake</literal> ��� - <literal>USES= cmake:outsource</literal> ��� ���������� - �� ������� �������� (��. ����).</para> - - <table frame="none"> - <title>���������� ��� ������, ������������ - <command>cmake</command></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>����������</entry> - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>CMAKE_ARGS</varname></entry> - <entry>����������� ��� ����� ����� - <application>CMake</application>, ������������ - <command>cmake</command>.</entry> - </row> - - <row> - <entry><varname>CMAKE_BUILD_TYPE</varname></entry> - <entry>��� ���������� (����������̣���� ������� - ���������� <application>CMake</application>). �� - ��������� <literal>Release</literal>, - <literal>Debug</literal> ��� ������������� - <varname>WITH_DEBUG</varname>.</entry> - </row> - - <row> - <entry><varname>CMAKE_ENV</varname></entry> - <entry>���������� ��������� ��� �������� - <command>cmake</command>. �� ��������� - <literal>${CONFIGURE_ENV}</literal>.</entry> - </row> - - <row> - <entry><varname>CMAKE_SOURCE_PATH</varname></entry> - <entry>���� � �������� � �������� �����. �� ��������� - <literal>${WRKSRC}</literal>.</entry> - </row> - </tbody> - </tgroup> - </table> - - <table frame="none"> - <title>���������� ���������� <command>cmake</command>, - ��������������� �������������</title> - - <tgroup cols="2"> - <thead> - <row> - <entry>����������</entry> - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>CMAKE_VERBOSE</varname></entry> - <entry>��������� ��������� ����� ��������� ��� - ����������. �������� �� ��������� �� ������, - ���� �� ������ <varname>BATCH</varname> ��� - <varname>PACKAGE_BUILDING</varname>.</entry> - </row> - - <row> - <entry><varname>CMAKE_NOCOLOR</varname></entry> - <entry>��������� ������� ����� ��������� ��� - ����������. �������� �� ��������� �� ������, - ���� �� ������ <varname>BATCH</varname> ��� - <varname>PACKAGE_BUILDING</varname>.</entry> - </row> - </tbody> - </tgroup> - </table> - - <para><application>CMake</application> ������������ ��������� - ������� ����������: <literal>Debug</literal>, - <literal>Release</literal>, - <literal>RelWithDebInfo</literal> � - <literal>MinSizeRel</literal>. ������� - <literal>Debug</literal> � <literal>Release</literal> - ��������� ��������� ����� <literal>*FLAGS</literal>; - <literal>RelWithDebInfo</literal> � - <literal>MinSizeRel</literal> �������������� ���������� - <varname>CFLAGS</varname> �� ��������� - <literal>-O2 -g</literal> � <literal>-Os -DNDEBUG</literal>. - �������� <varname>CMAKE_BUILD_TYPE</varname> �������������� - � ������ �������� � <varname>PLIST_SUB</varname> � ������ - ��������������, ���� ���� ������������� ����� - <literal>*.cmake</literal> � ����������� �� ���� ���������� - (��� ������� ���������� �� - <package role="port">deskutils/strigi</package>). ������� - ���������, ��� ��������� ������� ����� ���������� ����������� - ������� ���������� �/��� ����������� ���������� ��� ���������� - ����� ��������� <literal>CMAKE_BUILD_TYPE</literal> � ������ - <filename>CMakeLists.txt </filename> . ��� ���� ����� ���� - ��� ������ ������� �������� <varname>CFLAGS</varname> � - <varname>WITH_DEBUG</varname>, �� ���� ������ ������ ���� - ������� �������� <literal>CMAKE_BUILD_TYPE</literal>.</para> - - <para>����������� ��������, ���������� �� - <application>CMake</application>, ������������ ����� �������� - (out-of-source) ����������. ��� ����� ������� ���������� - ����� ��������� � �������������� �������� - <literal>:outsource</literal>. � ���� ������ - <varname>CONFIGURE_WRKSRC</varname>, - <varname>BUILD_WRKSRC</varname> � - <varname>INSTALL_WRKSRC</varname> ����� ����� �������� - <literal>${WRKDIR}/.build</literal> ��� ��������, - ����������� �����, ���������� �� ������ ������������ � - ����������; ��� ���� ������� � �������� ����� ����� - ���������� ��� ���������.</para> - - <example xml:id="using-cmake-example"> - <title>������ ������������� - <literal>USES= cmake</literal></title> - - <para>��������� ������� ������������� ������������� - <application>CMake</application> ��� �����. - <varname>CMAKE_SOURCE_PATH</varname> ������ �� ���������, - �� ����� ���� ����������, ����� �������� ��� �� ��������� - � ������� �������� ��� ���� ���� ������������ ��� - ���������� ����� �������.</para> - - <programlisting>USES= cmake:outsource -CMAKE_SOURCE_PATH= ${WRKSRC}/subproject</programlisting> - </example> - </sect2> - - <sect2 xml:id="using-scons"> - <title>������������� <command>scons</command></title> - - <para>���� ��� ���� ���������� <application>SCons</application>, - ���������� <literal>USE_SCONS=yes</literal>.</para> - - <table frame="none"> - <title>���������� ��� ������, ������������ - <command>scons</command></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>����������</entry> - - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>SCONS_ARGS</varname></entry> - - <entry>����������� ��� ����� ����� SCons, ������������ - ��������� SCons.</entry> - </row> - - <row> - <entry><varname>SCONS_BUILDENV</varname></entry> - - <entry>���������� ��� ��������� � ��������� ���������.</entry> - </row> - - <row> - <entry><varname>SCONS_ENV</varname></entry> - - <entry>���������� ��� ��������� � ��������� SCons.</entry> - </row> - - <row> - <entry><varname>SCONS_TARGET</varname></entry> - - <entry>��������� �������� ��� �������� SCons, ������� �� - <varname>MAKE_TARGET</varname>.</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>��� ����, ����� ��������� <filename>SConstruct</filename> - �������������� �����, ��� ���������� SCons � ���������� - <varname>SCONS_ENV</varname> (����� �������, ��� - <varname>CC/CXX/CFLAGS/CXXFLAGS</varname>), ��������� ���� � - <filename>SConstruct</filename>, ��� ����� ���������� ���������� - <literal>Environment</literal> ��������� ��������� �������:</para> - - <programlisting>env = Environment(**ARGUMENTS)</programlisting> - - <para>� ���������� �� ����� �������� ��� ������ - <literal>env.Append</literal> � <literal>env.Replace</literal>.</para> - </sect2> - </sect1> - - <sect1 xml:id="using-autotools"> - <title>������������� GNU autotools</title> - - <sect2 xml:id="using-autotools-introduction"> - <title>��������</title> - - <para>��������� ����������� GNU autotools ������������� �������� - ���������� ��� ���������� ������ ������������ ����������� �� - ������� ������ ������������ ������ � ���������� ����������. - ������ ��������� ������ ��������� ���� ����� ������������ - ��� ����������� ��� ������ ������� �����������:</para> - - <programlisting>USE_AUTOTOOLS= <replaceable>tool</replaceable>:<replaceable>version</replaceable>[:<replaceable>operation</replaceable>] ...</programlisting> - - <para>� ������� ��������� <replaceable>tool</replaceable> - ����� ���� ����� �� <literal>libtool</literal>, - <literal>libltdl</literal>, <literal>autoconf</literal>, - <literal>autoheader</literal>, <literal>automake</literal> ��� - <literal>aclocal</literal>.</para> - - <para><replaceable>version</replaceable> ��������� ���������� - ������ ������������� ����������� (����������� ������ �������� � - <literal>devel/{automake,autoconf,libtool}[0-9]+</literal>).</para> - - <para><replaceable>operation</replaceable> �������� �������������� - ����������� � ��������� �� ������ ������������� - �����������.</para> - - <para>������������ ����� ���� ������� ��������� ������������, - �������� �� ��� �� ����� ������ ��� ��������� ����������� - Makefile <literal>+=</literal>.</para> - - <para>� ����������, ���������� ����������� ���������� �� ��������� - <literal>autotools</literal>, ������� �������� ������� �������� - ��� ��������� ���� ��������� ������ autotools ��� ����������� - ���������� �����-����������. ��� ����� ����� ���� ���������� - ����� ��������� ����� <literal>devel/autotools</literal>.</para> - - </sect2> - - <sect2 xml:id="using-libtool"> - <title><command>libtool</command></title> - - <para>������������ ����������, ������������ �������������� - ���������� GNU, ������ ���������� <application>libtool</application> - ��� ��������� ���������� � ��������� ������������ ��������� � - ������������ � ������������� ������ ������������ �������. - � �������� �������� ������������ ����������� ����������� � - ���������� <command>libtool</command>. ���� ��� ����� - ������������ ������� ������� <command>libtool</command>, �� �� - ������ ������������ ������, ������������ ���������� ������:</para> - - <programlisting>USE_AUTOTOOLS= libtool:<replaceable>version</replaceable>[:env]</programlisting> - - <para>��� ���������� �������������� ��������, - <literal>libtool:version</literal> - �������� �������������� ���������� � ���������� ����� � �������� - configure � ������������� � ������� ������ - <command>libtool</command>. ��������������� ������������� - The <varname>GNU_CONFIGURE</varname> - ����� ����, ��������� ���������� make � �������� shell - ����� ��������� ��� ����������� ������������� ���� ������. - ����������� �������� � <filename>bsd.autotools.mk</filename>.</para> - - <para>��� ������������� �������� <literal>:env</literal> ����� - ��������� ������ ���������.</para> - - <para>�������, <varname>LIBTOOLFLAGS</varname> � - <varname>LIBTOOLFILES</varname> ����� ���������� �� �������, - ����� �������������� �������� ��������� ��������� ��� - <command>libtool</command> � �����, ��������������� ��� - ���������. ����������� ������ ��� ������ ����� �� �����������. - ��� ���������� ������������ �������� - <filename>bsd.autotools.mk</filename>.</para> - </sect2> - - <sect2 xml:id="using-libltdl"> - <title><command>libltdl</command></title> - - <para>��������� ����� ����������� ����� � ����������� - <command>libltdl</command>, ������� �������� ������ ��������� - <command>libtool</command>. ������������� ���� ���������� - �� �������� �������������� ������������� ����� - <command>libtool</command>, �, ����� �������, �������������� - ��������� �����������.</para> - - <programlisting>USE_AUTOTOOLS= libltdl:<replaceable>version</replaceable></programlisting> - - <para>�ӣ, ��� � ��������� ����� ��� ������, ��� ���������� - <varname>LIB_DEPENDS</varname> ��� ����������� ����� - <command>libltdl</command>, ������ ��� ��������������� ��� - ������� ������� ��� ������ � ���������� ������ ������������ �� - ������ autotools ��� �������������� <varname>USE_AUTOTOOLS</varname>. - ��� ����� ����������� �� ���������� �������������� ��������.</para> - - </sect2> - - <sect2 xml:id="using-autoconf"> - <title><command>autoconf</command> � - <command>autoheader</command></title> - - <para>��������� ����� �� �������� �������� configure, �� �������� - ������ autoconf � ����� <filename>configure.ac</filename>. - �� ������ ������������ ��������� ����������, ����� ��������� - <command>autoconf</command> ������� �������� configure, � - <command>autoheader</command> ������� ��������� ������� ��� - ������������� � �������� configure.</para> - - <programlisting>USE_AUTOTOOLS= autoconf:<replaceable>version</replaceable>[:env]</programlisting> - - <para>�</para> - - <programlisting>USE_AUTOTOOLS= autoheader:<replaceable>version</replaceable></programlisting> - - <para>������� ����� ������������� ������������� - <literal>autoconf:version</literal>.</para> - - <para>���������� ������� <command>libtool</command>, ����������� - �������������� �������� <literal>:env</literal> ����� ���� - ����������� ��������� ��� ����������� �������������. ��� ����� - ����������� ��������� ������ � �������������������� �����.</para> - - <para>�������������� �������������� ���������� - <varname>AUTOCONF_ARGS</varname> � <varname>AUTOHEADER_ARGS</varname> - ����� �������������� � <filename>Makefile</filename> �����, - ���� ������� ����� �������. ��� � � ������������� - <command>libtool</command>, ����������� ������ ��� ���� �� - �����������.</para> - </sect2> - - <sect2 xml:id="using-automake"> - <title><command>automake</command> � - <command>aclocal</command></title> - - <para>��������� ������ �������� ������ ����� - <filename>Makefile.am</filename>. ��� ������ ���� ������������� - � ����� <filename>Makefile.in</filename> � �������������� - <application>automake</application> � ���������� ���������� - <command>configure</command> ��� ��������� ���������� - <filename>Makefile</filename>.</para> - - <para>����������, ������ ������ �� ������������ � ���������� - ������� <filename>aclocal.m4</filename>, ����� ��������� ��� - ���������� ������������ �����������. ����� ����� ������� - � <command>aclocal</command>, ������� ������������� - <filename>configure.ac</filename> ��� - <filename>configure.in</filename>.</para> - - <para><command>aclocal</command> ����� ������� ����� � - <command>automake</command>, ��� � <command>autoheader</command> - � <command>autoconf</command>, ��� ������� � ���������� �����. - <command>aclocal</command> ������������� ������������� - <command>automake</command>, ����� �������, �� �����:</para> - - <programlisting>USE_AUTOTOOLS= automake:<replaceable>version</replaceable>[:<replaceable>env</replaceable>]</programlisting> - - <para>�</para> - - <programlisting>USE_AUTOTOOLS= aclocal:<replaceable>version</replaceable></programlisting> - - <para>������� ����� ������������� ������������� - <literal>automake:version</literal>.</para> - - <para>����� ��� � ��� <command>libtool</command> � - <command>autoconf</command>, ����������� �������������� - �������� <literal>:env</literal> ����� ���� ������������� - ��������� ��� ����������� �����������. ��� ����� ����������� - ������������������ ����� �����.</para> - - <para>��� � � ������ � - <command>autoconf</command> � <command>autoheader</command>, ��� - <command>automake</command> � <command>aclocal</command> ����� - �������������� ���������� <varname>AUTOMAKE_ARGS</varname> � - <varname>ACLOCAL_ARGS</varname>, ��������������, ������� ��� - ������������� ����� �������������� � <filename>Makefile</filename> - �����.</para> - - </sect2> - </sect1> - - <sect1 xml:id="using-gettext"> - <title>������������� GNU <literal>gettext</literal></title> - - <sect2> - <title>������� ������� �������������</title> - - <para>���� ��� ������ ����� ��������� <literal>gettext</literal>, - �������� <literal>USES= gettext</literal>, � ��� ���� - ���������� ����������� �� <package role="port">devel/gettext</package>. - <xref linkend="uses-values"/> �������� �������� ������ - �������� ��� ������������� <literal>gettext</literal>.</para> - - <para>�������� ���������������� ������� �������� ������������� � - ����� <literal>gettext</literal> � <command>configure</command>. - ��� �������, GNU <command>configure</command> �������� �������� - <literal>gettext</literal> �������������. ���� �� ��� �� �� - ������ ��� �������, �� ��������� ��� ���������� - <literal>gettext</literal> ����� �������� ����� ���������� ��������� - <envar>CPPFLAGS</envar> � <envar>LDFLAGS</envar>:</para> - - <programlisting>USES= gettext -CPPFLAGS+= -I${LOCALBASE}/include -LDFLAGS+= -L${LOCALBASE}/lib - -GNU_CONFIGURE= yes</programlisting> - - <para>������� ��, ���� ��� ����� �������� � ����� ���������� - ����, ���� ���������� ����� � - <command>configure</command> �� ���������:</para> - - <programlisting>USES= gettext -GNU_CONFIGURE= yes</programlisting> - </sect2> - - <sect2> - <title>����������� �������������</title> - - <para>��������� ����������� �������� ��������� ��������� NLS, - � ������� ����� �������� ��������� <option>--disable-nls</option> - �������� <command>configure</command>. � ���� ������ ��� ���� - ������ ������������ <literal>gettext</literal>, � ����������� - �� �������� <varname>NLS</varname>. - ��� ������ ��������� ��� ������� ��������� �� ������ ���������� - �� ��������� ������:</para> - - <programlisting>GNU_CONFIGURE= yes - -.include <bsd.port.options.mk> - -.if ${PORT_OPTIONS:MNLS} -USES+= gettext -PLIST_SUB+= NLS="" -.else -CONFIGURE_ARGS+= --disable-nls -PLIST_SUB+= NLS="@comment " -.endif - -.include <bsd.port.mk></programlisting> - - <para>��������� ����� � ����� ������ ��� �����������, ����� ����� - �������� ��������� ���������� � ������ �������� �� �������. �����, - �������� � <filename>Makefile</filename>, ��� ���������� ���� - �������. ��������� ����������� � ����� <link linkend="plist-sub"> - ����������� �������� <filename>pkg-plist</filename></link>. �������, - ������ ��������� <literal>%%NLS%%</literal> � - <filename>pkg-plist</filename> ����� �������� �� - <quote><literal>@comment </literal></quote>, ���� NLS ��������, - ��� ������ �������, ���� �������. � ���������� ������, - ������������ <literal>%%NLS%%</literal>, ������ ������������� - � �������� ����� ��������, ���� NLS ��������; �����, ������� ����� - ������ ������. �ӣ, ��� ��� �����, ��� �������� - <literal>%%NLS%%</literal> ����� ������ ����� � ����� �������� - ��������� � <filename>pkg-plist</filename>. ��������:</para> - - <programlisting>%%NLS%%share/locale/fr/LC_MESSAGES/foobar.mo -%%NLS%%share/locale/no/LC_MESSAGES/foobar.mo</programlisting> - - <para>� ����� ������� ������� ��� ������������ ������������ ����� - ����������� �������, ��� ������ ������, ����� ��� <link linkend="plist-dynamic">������������ ������ ��������</link>.</para> - </sect2> - - <sect2> - <title>���������� ���������� ���������</title> - - <para>���������� ������, ������� ������� ��������� ��� ��������� - ������ ��������� ���������. ������� �������� ��� ����������, - ������������� ��� - <filename>LOCALBASE/share/locale</filename>, - ����� ����� ������ ����������� � ��������� ������. ��� - �������� ���������� ������ ������� ����������� ��������, - ������������� � - <filename>PORTSDIR/Templates/BSD.local.dist</filename>. - �������� ��� - ��������� ������ ������ ����������� � ������� ����� - <package role="port">devel/gettext</package>. �������� �������� - �� ��� <filename>pkg-plist</filename> � ����������, ���� ������ - ���� ���������� ���������� ����� ��������� ��������� ��� - ������������� � ����� ���� �����.</para> - </sect2> - </sect1> - - <sect1 xml:id="using-perl"> - <title>������������� <application>Perl</application></title> - - <para>���� <varname>MASTER_SITES</varname> ����������� � �������� - <varname>MASTER_SITE_PERL_CPAN</varname>, �� ���������������� - ��������� <varname>MASTER_SITE_SUBDIR</varname> �������� ��� - �������� �������� ������. ��������, ������������� ��������� ��� - <literal>p5-Module-Name</literal> �������� <literal>Module</literal>. - �������� �������� ������ ����� ���������� �� ����� <link xlink:href="http://cpan.org/modules/by-module/">cpan.org</link>. ��� - ������������ ���� � ������� ��������� ��� ��������� ������ - �������.</para> - - <para>����������� ����� ������� �������� ���������� ���������������� - �������� ��� ����� � ������������� � ���� ��������. � ���� ������ - � �������� <varname>MASTER_SITE_SUBDIR</varname> ����������� - ������������ id ������.</para> - - <para>��� �� ������������� knobs ���� ��������� ���� <literal>YES</literal>, - ���� ������ � ������� ���� <literal>5.8.0+</literal>. - <literal>YES</literal> ��������, ��� ������ ���� ����� ������������ - � ����� �� �������������� ������ Perl. - ���� ���� �������� ������ � ���������� �������� - Perl, �� ��� ����� ���������� ��� ������ - ������ � �������, ����������� �� ����������� ������ (������: - <literal>5.7.3+</literal>), ������������ ������ (������: - <literal>5.8.0-</literal>) ��� ������ ������ (������: - <literal>5.8.3</literal>).</para> - - <table frame="none"> - <title>���������� ��� ������, ������������ - <application>Perl</application></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>����������</entry> - - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>USE_PERL5</varname></entry> - - <entry>Perl 5 ������������ ��� ���������� � ������.</entry> - </row> - - <row> - <entry><varname>USE_PERL5_BUILD</varname></entry> - - <entry>Perl 5 ������������ ��� ����������.</entry> - </row> - - <row> - <entry><varname>USE_PERL5_RUN</varname></entry> - - <entry>Perl 5 ������������ �� ����� ������.</entry> - </row> - - <row> - <entry><varname>PERL</varname></entry> - - <entry>������ ���� � �������������� Perl 5, ���� � - �������, ���� �������������� �� ������, �� ��� ������ ������. - ����������� ���, ���� ��� ����� �������� ������ - <quote><literal>#!</literal></quote> � ��������.</entry> - </row> - - <row> - <entry><varname>PERL_CONFIGURE</varname></entry> - - <entry>������������ ��� ������ MakeMaker ����� Perl. ���ޣ� - <varname>USE_PERL5</varname>.</entry> - </row> - - <row> - <entry><varname>PERL_MODBUILD</varname></entry> - - <entry>������������, ���������� � ��������� � �������������� - Module::Build. ���ޣ� <varname>PERL_CONFIGURE</varname>. - </entry> - </row> - </tbody> - </tgroup> - - <tgroup cols="2"> - <thead> - <row> - <entry>���������� ������ ��� ������</entry> - - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>PERL_VERSION</varname></entry> - - <entry>������ ������ �������������� Perl - (��������, <literal>5.8.9</literal>).</entry> - </row> - - <row> - <entry><varname>PERL_LEVEL</varname></entry> - - <entry>������������� ������ Perl � ����� - ������ ����� ���� <literal>MNNNPP</literal> (��������, - <literal>500809</literal>).</entry> - </row> - - <row> - <entry><varname>PERL_ARCH</varname></entry> - - <entry>�����, � ������� Perl ������ - ������������-��������� ����������. �� ��������� - ��� <literal>${ARCH}-freebsd</literal>.</entry> - </row> - - <row> - <entry><varname>PERL_PORT</varname></entry> - - <entry>�������� �������������� ����� Perl, - (� �������, <literal>perl5</literal>).</entry> - </row> - - <row> - <entry><varname>SITE_PERL</varname></entry> - - <entry>��� ��������, ���� ���������� ����������� ��� ����� - ������ Perl. ��� �������� ����������� � - <varname>PLIST_SUB</varname>.</entry> - </row> - </tbody> - </tgroup> - </table> - - <note> - <para>����� ��� ������� Perl, ������� �� ����� ������������ ��������, - ������ ��������� <systemitem>cpan.org</systemitem> � ������ WWW � ����� - <filename>pkg-descr</filename>. ���������������� ����� URL - <literal>http://search.cpan.org/dist/Module-Name/</literal> - (������� ����������� ����).</para> - </note> - - <note> - <para>�� ����������� <literal>${SITE_PERL}</literal> � ���������� - ������������. ������������� ���� ����������� ������������� - ������� ������������� <filename>bsd.perl.mk</filename>, ��� - �� ������ ���. �����, ��������� �� ����� �����, ������� - ������������ �����������, ���� ����� ����� ����� ����� - ���������� ��� ����������� ����������. ���������� ������ - ���������� ������������ ��� ������� Perl ������� � ������� - ����.</para> - </note> - - <example xml:id="use-perl-dependency-example"> - <title>������ ����������� Perl</title> - - <programlisting>p5-IO-Tee>=0.64:${PORTSDIR}/devel/p5-IO-Tee</programlisting> - </example> - - <para>��� ������ Perl, ������� ������������� �������� �����������, - � <filename>pkg-plist</filename> ����� ������������ ������ - <varname>PERL5_MAN<replaceable>x</replaceable></varname> (��� - <replaceable>x</replaceable> ��������� �������� �� - <literal>1</literal> �� <literal>9</literal>). ��������,</para> - - <programlisting>lib/perl5/5.14/man/man3/AnyEvent::I3.3.gz</programlisting> - - <para>����� �������� ��</para> - - <programlisting>%%PERL5_MAN3%%/AnyEvent::I3.3.gz</programlisting> - </sect1> - - <sect1 xml:id="using-x11"> - <title>������������� X11</title> - - <sect2 xml:id="x11-variables"> - <title>���������� X.Org</title> - - <para>X.Org �������� ����������� X11, ��������� � ��������� ������. - ���� ���� ���������� ������� �� ����������� X, ���������� � - ���������� <varname>USE_XORG</varname> � �������� ��������� - �����������. � ���������� ������� ���������� ������������ - ��������:</para> - - <para><literal>bigreqsproto compositeproto damageproto dmx - dmxproto dri2proto evieproto fixesproto fontcacheproto - fontenc fontsproto fontutil glproto ice inputproto kbproto - libfs oldx pciaccess pixman printproto randrproto - recordproto renderproto resourceproto scrnsaverproto sm - trapproto videoproto x11 xau xaw xaw6 xaw7 xbitmaps - xcmiscproto xcomposite xcursor xdamage xdmcp xevie xext - xextproto xf86bigfontproto xf86dgaproto xf86driproto - xf86miscproto xf86rushproto xf86vidmodeproto xfixes xfont - xfontcache xft xi xinerama xineramaproto xkbfile xkbui - xmu xmuu xorg-server xp xpm xprintapputil xprintutil - xproto xproxymngproto xrandr xrender xres xscrnsaver xt - xtrans xtrap xtst xv xvmc xxf86dga xxf86misc xxf86vm</literal>.</para> - - <para>������ ���������� �������� ����� ����� � - <filename>/usr/ports/Mk/bsd.xorg.mk</filename>.</para> - - <para>������ Mesa �������� �������� ���������� ��������� ���������� - OpenGL. �� ������ ������� ����������� �� ��������� ����������� - ����� ������� ��� ������ ���������� <varname>USE_GL</varname>. - �������������� �����: <literal>glut, glu, glw, glew, gl</literal> � - <literal>linux</literal>. ��� �������� ������������� �������� - <literal>yes</literal> ������������� <literal>glu</literal>.</para> - - <example xml:id="use-xorg-example"> - <title>������ ��� USE_XORG</title> - <programlisting>USE_XORG= xrender xft xkbfile xt xaw -USE_GL= glu</programlisting> - </example> - - <table frame="none"> - <title>���������� ��� ������, ������������ X</title> - - <tgroup cols="2"> - <tbody> - <row> - <entry><varname>USES= imake</varname></entry> - - <entry>���� ���������� <command>imake</command>.</entry> - </row> - - <row> - <entry><varname>XMKMF</varname></entry> - - <entry>�������� ������� �� <command>xmkmf</command>, ���� �� - ����������� � ���������� ��������� <envar>PATH</envar>. �� - ��������� ��� <literal>xmkmf -a</literal>.</entry> - </row> - </tbody> - </tgroup> - </table> - - <example xml:id="using-x11-vars"> - <title>������������� ���������� X11 � �����</title> - - <programlisting># ������������ ��������� ���������� X11 -USE_XORG= x11 xpm</programlisting> - </example> - </sect2> - - <sect2 xml:id="porting-motif"> - <title>�����, ������� ��������� Motif</title> - - <para>���� ������ ����� ��������� Motif, ������� ���������� - <varname>USES= motif</varname> � ����� <filename>Makefile</filename>. - ���������� Motif, ������������ �� ���������, ��������� � - <package role="port">x11-toolkits/open-motif</package>. - ������������ ������ ����� ����� ������� - <package role="port">x11-toolkits/lesstif</package> ����� - ��������� ���������� <varname>WANT_LESSTIF</varname>.</para> - - <para>���������� <varname>MOTIFLIB</varname> ����� ����������� � - <filename>bsd.port.mk</filename>, ����� ��������� �� - ��������������� ���������� Motif. ����������, �������� �������� - ������ ������ ����� �� ������������� - <literal>${MOTIFLIB}</literal> �����, ��� ����������� - ���������� Motif, � �������������� <filename>Makefile</filename> - ��� <filename>Imakefile</filename>.</para> - - <para>���������� ��� ����� ������:</para> - - <itemizedlist> - <listitem> - <para>���� ���� ���������� � ���������� Motif ��� - <literal>-lXm</literal> � ����� ������ - <filename>Makefile</filename> ��� <filename>Imakefile</filename>, - ������ ���������� ������ ���� ��������� - <literal>${MOTIFLIB}</literal>.</para> - </listitem> - - <listitem> - <para>���� ���� ���������� <literal>XmClientLibs</literal> � ����� - ����� <filename>Imakefile</filename>, �������� ��� ��������� �� - <literal>${MOTIFLIB} ${XTOOLLIB} - ${XLIB}</literal>.</para> - </listitem> - </itemizedlist> - - <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> - - </sect2> - - <sect2> - <title>������ ��� X11</title> - - <para>���� ��� ���� ������������� ������ ��� X Window System, - ��������� �� � ������� - <filename>LOCALBASE/lib/X11/fonts/local</filename>. - </para> - - </sect2> - - <sect2> - <title>��������� ����������� <envar>DISPLAY</envar>, ��������� - Xvfb</title> - - <para>��������� ���������� ��� �������� ���������� ������� - ������� ����������� ������� X11. ��� ������� �������� ��� �����, - ������� �������� � ������ headless. ��� ������������� ���������� - ������������� ���� �������������� ���������� - �������� ������ X � ����������� �����������. ����� ���������� - ����������� <envar>DISPLAY</envar> ���������� ��� ����������.</para> - - <programlisting>USES= display</programlisting> - </sect2> - - <sect2 xml:id="desktop-entries"> - <title>�������� �������� �����</title> - - <para>�������� �������� ����� (<link xlink:href="http://standards.freedesktop.org/desktop-entry-spec/latest/">��������� - Freedesktop</link>) ������������� ������ �������������� ��������� - ������� �������� ����� ��� ��������� ����� ���������, �� ������ - ������������� ������������. ��������, ����� ��������� ������������� - ������������ � ���� ���������� ����������� ��������� �������� �����. - �������� �������� ����� ���������� ��������� � ��������� �������� - ����� <application>GNOME</application>, �� � ��������� ����� �������� - ���������� � ����� �������� � <application>KDE</application> � - <application>Xfce</application>. ����� ��������� ������������� - ������������� �������� �������� ��� ������������, � ������ �������� - �������� ����� �������������� � �����������, ������� ����� - ������������ � ��������� �������� �����.</para> - - <sect3> - <title>������������� ���������������� ������ - <filename>.desktop</filename></title> - - <para>�����, ���������� ���������������� ����� - <filename>*.desktop</filename>, ������ �������� ��� ����� � - <filename>pkg-plist</filename> � ������������� �� � ������� - <filename>$LOCALBASE/share/applications</filename>. - ��� ��������� ���� ������ ������������ <link linkend="install-macros">������ <varname>INSTALL_DATA</varname></link>.</para> - </sect3> - - <sect3 xml:id="updating-desktop-database"> - <title>���������� ���� ������ �������� �����</title> - - <para>���� � ����� ����� - <filename>portname.desktop</filename> - ������� ������ MimeType, �� ���� ������ �������� ����� - ������ ���� ��������� ����� ��������� � ��������. ��� - ����� ������� - <varname>USES</varname>= desktop-file-utils.</para> - </sect3> - - <sect3 xml:id="desktop-entries-macro"> - <title>�������� ��������� �������� ����� � �������������� - <varname>DESKTOP_ENTRIES</varname></title> - - <para>�������� �������� ����� ����� ����� ��������� ��� ����������, - ��������� ���������� <varname>DESKTOP_ENTRIES</varname>. - ����� ������������� ������, ���������� � �������� � - <filename>pkg-plist</filename> ���� � ��������� - <filename>name.desktop</filename>. - ���������:</para> - - <programlisting>DESKTOP_ENTRIES= "NAME" "COMMENT" "ICON" "COMMAND" "CATEGORY" StartupNotify</programlisting> - - <para>�������� ��������� ��������� �������� �� <link xlink:href="http://standards.freedesktop.org/menu-spec/latest/apa.html"> - �������� Freedesktop</link>. <varname>StartupNotify</varname> - ���������, ������������ �� ���������� <emphasis>����������� � - �������</emphasis>. ��� �������, ��� ����������� ��������� ���� - ������ ��������� ����, ���� ��� ������, ������� ���������� - ������������ � �������� ���������. ���������, �������������� - ����������� � �������, ������� ���� ��������� ����� �������. - ���������, ������������� � ������������� � �������, �� ����� - ������� ��������� (��������, ������� �������� � ������� - ������������� � ���������), � ������� ������ ����� - <varname>StartupNotify</varname> � ����������� ��������� - <literal>false</literal>; ����� ��������� �� ����� ������������ - ������.</para> - - <para>������:</para> - - <programlisting>DESKTOP_ENTRIES= "ToME" "Roguelike game based on JRR Tolkien's work" \ - "${DATADIR}/xtra/graf/tome-128.png" \ - "tome -v -g" "Application;Game;RolePlaying;" \ - false</programlisting> - </sect3> - </sect2> - </sect1> - - <sect1 xml:id="using-gnome"> - <title>������������� GNOME</title> - - <para>��� ������� ����, ����� ���������� GNOME ���������� ���������� - ����, ������ &os;/GNOME ���������� ����������� ����� ����������. - �� �������� ������� &os;/GNOME �����ݣ� - <link xlink:href="http://www.FreeBSD.org/gnome/docs/porting.html"> - ������������� ������ ���� ����������</link>.</para> - - </sect1> - - <sect1 xml:id="using-qt"> - <title>������������� Qt</title> - - <sect2 xml:id="qt-common"> - <title>�����, ��� ������� ��������� Qt</title> - - <table frame="none"> - <title>���������� ��� ������, ������������ Qt</title> - - <tgroup cols="2"> - <tbody> - <row> - <entry><varname>USE_QT4</varname></entry> - - <entry>��������� ����������� � ���������� � �������� - ������������ ��� ������, ������� ���������� Qt 4. - ��� ��������� ������������ �������� <link linkend="qt4-components">����� ����������� Qt - 4</link>.</entry> - </row> - - <row> - <entry><varname>QT_PREFIX</varname></entry> - - <entry>��������������� � ��������, ���������� ���� � - �������������� Qt (���������� ������ ��� ������).</entry> - </row> - - <row> - <entry><varname>MOC</varname></entry> - - <entry>��������������� � ��������, ���������� ���� � - <command>moc</command> (���������� ������ ��� ������). - �� ��������� ��������������� � ������������ �� ��������� - <varname>USE_QT_VER</varname>.</entry> - </row> - - <row> - <entry><varname>QTCPPFLAGS</varname></entry> - - <entry>�������������� ����� ����������� ��� ����������������� - ������ Qt, ������������ ����� ���������� - <varname>CONFIGURE_ENV</varname>. �� ��������� - ��������������� � ������������ �� ��������� - <varname>USE_QT_VER</varname>.</entry> - </row> - - <row> - <entry><varname>QTCFGLIBS</varname></entry> - - <entry>�������������� ����� ���������� ��� ����������������� - ������ Qt, ������������ ����� ���������� - <varname>CONFIGURE_ENV</varname>. �� ��������� - ��������������� � ������������ �� ��������� - <varname>USE_QT_VER</varname>.</entry> - </row> - - <row> - <entry><varname>QTNONSTANDARD</varname></entry> - - <entry>��������� ��������� <varname>CONFIGURE_ENV</varname>, - <varname>CONFIGURE_ARGS</varname>, - <varname>CPPFLAGS</varname> � - <varname>MAKE_ENV</varname>.</entry> - </row> - - </tbody> - </tgroup> - </table> - - <table frame="none"> - <title>�������������� ���������� ��� ������, - ������������ Qt 4.x</title> - - <tgroup cols="2"> - <tbody> - <row> - <entry><varname>UIC</varname></entry> - - <entry>������������� ���� � <command>uic</command> - (���������� ������ ��� ������).</entry> - </row> - - <row> - <entry><varname>QMAKE</varname></entry> - - <entry>������������� ���� � <command>qmake</command> - (���������� ������ ��� ������).</entry> - </row> - - <row> - <entry><varname>QMAKESPEC</varname></entry> - - <entry>������������� ���� � ����������������� ����� ��� - <command>qmake</command> (���������� ������ ��� ������).</entry> - </row> - - <row> - <entry><varname>QMAKEFLAGS</varname></entry> - - <entry>�������������� ����� ��� - <command>qmake</command>.</entry> - </row> - - <row> - <entry><varname>QT_INCDIR</varname></entry> - - <entry>������������� �������� ��� ���������� Qt 4 - (���������� ������ ��� ������).</entry> - </row> - - <row> - <entry><varname>QT_LIBDIR</varname></entry> - - <entry>������������� ���� � ����������� Qt 4 - (���������� ������ ��� ������).</entry> - </row> - - <row> - <entry><varname>QT_PLUGINDIRC</varname></entry> - - <entry>������������� ���� � �������� Qt 4 - (���������� ������ ��� ������).</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>��� �������� ���������� <varname>USE_QT4</varname> - ����������� ��������� ���������:</para> - - <programlisting>CONFIGURE_ARGS+= --with-qt-includes=${QT_INCDIR} \ - --with-qt-libraries=${QT_LIBDIR} \ - --with-extra-libs=${LOCALBASE}/lib \ - --with-extra-includes=${LOCALBASE}/include -CONFIGURE_ENV+= MOC="${MOC}" UIC="${UIC}" LIBS="${QTCFGLIBS}" \ - QMAKE="${QMAKE}" QMAKESPEC="${QMAKESPEC}" QTDIR="${QT_PREFIX}" -MAKE_ENV+= QMAKESPEC="${QMAKESPEC}" - -PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_REL} \ - QT_LIBDIR_REL=${QT_LIBDIR_REL} \ - QT_PLUGINDIR_REL=${QT_PLUGINDIR_REL}</programlisting> - </sect2> - - <sect2 xml:id="qt4-components"> - <title>����� �����������</title> - - <para>� ���������� <varname>USE_QT4</varname> ������ ����������� - ����������� �� ��������� ������������ � ��������� Qt 4. � ������� - ���������� ����� �������� �������, <literal>_build</literal> - ��� <literal>_run</literal>, ����������, ����� ������ ���� ��������� - �����������, �� ����� ������ ��� ����������, ��������������. ���� - ������� �����������, ����������� �� ���������� ����� � ��� ������� - ������, � ��� ������� ����������. ������, ���������� ��������� - ������ ����������� ��� ���������, ���������� ������������ - � - ��������� <literal>_build</literal>, � ���������� �������� - � - ��������� <literal>_run</literal>. �������� ����� ������������ - ���������� ����������� ���� (��� ��������� ���������� ����������� - � <varname>_USE_QT4_ALL</varname> � ����� - <filename>/usr/ports/Mk/bsd.qt.mk</filename>):</para> - - <table frame="none"> - <title>��������� ������������ ���������� Qt 4</title> - - <tgroup cols="2"> - <thead> - <row> - <entry>��������</entry> - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>corelib</literal></entry> - <entry>�������� ���������� (����� ��������, ���� ���� �� - ���������� ������, ����� <literal>corelib</literal>)</entry> - </row> - - <row> - <entry><literal>gui</literal></entry> - <entry>���������� ������������ ����������������� - ����������</entry> - </row> - - <row> - <entry><literal>network</literal></entry> - <entry>������� ����������</entry> - </row> - - <row> - <entry><literal>opengl</literal></entry> - <entry>���������� OpenGL</entry> - </row> - - <row> - <entry><literal>qt3support</literal></entry> - <entry>���������� ������������� � Qt 3</entry> - </row> - - <row> - <entry><literal>qtestlib</literal></entry> - <entry>���������� ���������� ������������</entry> - </row> - - <row> - <entry><literal>script</literal></entry> - <entry>���������� ���������</entry> - </row> - - <row> - <entry><literal>sql</literal></entry> - <entry>���������� SQL</entry> - </row> - - <row> - <entry><literal>xml</literal></entry> - <entry>���������� XML</entry> - </row> - - </tbody> - </tgroup> - </table> - - <para>�� ������ ����������, �� ����� ��������� ������� ����������, - �������� <command>ldd</command> �� �������� ����������� ���� - ����� �������� ����������.</para> - - <table frame="none"> - <title>��������� ���������� ������������ Qt 4</title> - - <tgroup cols="2"> - <thead> - <row> - <entry>��������</entry> - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>moc</literal></entry> - <entry>����-��������� ���������� (����� ��� ���������� - ����� ��� ������� ���������� Qt)</entry> - </row> - - <row> - <entry><literal>qmake</literal></entry> - <entry>��������� Makefile / ������� ����������</entry> - </row> - - <row> - <entry><literal>rcc</literal></entry> - <entry>���������� �������� (�����, ���� ���������� - ���� ������ � ������� <filename>*.rc</filename> ��� - <filename>*.qrc</filename>)</entry> - </row> - - <row> - <entry><literal>uic</literal></entry> - <entry>���������� ����������������� ���������� (�����, ���� - ���������� ���� ������ � ������� <filename>*.ui</filename>, - ���������� ��� ������ Qt Designer, - �� �������� ������ - ���������� Qt � GUI)</entry> - </row> - - </tbody> - </tgroup> - </table> - - <table frame="none"> - <title>��������� ���������� �������� Qt 4</title> - - <tgroup cols="2"> - <thead> - <row> - <entry>��������</entry> - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>iconengines</literal></entry> - <entry>������ ��� ������ ������ SVG (���� ���������� - ������������ � �������� SVG)</entry> - </row> - - <row> - <entry><literal>imageformats</literal></entry> - <entry>������� ��� ����������� �������� GIF, JPEG, MNG � SVG - (���� ���������� ������������ � ������������ �������)</entry> - </row> - - </tbody> - </tgroup> - </table> - - <example xml:id="qt4-components-example"> - <title>����� ����������� Qt 4</title> - - <para>� ���� ������� ������������� ���������� ���������� ���������� - ������������ ����������������� ���������� Qt 4, �������� ���������� - Qt 4, ��� ����������� ��������� ���� Qt 4 � ��������� Makefile Qt 4. - ��������� ���������� <literal>gui</literal> ������������� - ����������� �� �������� ����������, ��������� - <literal>corelib</literal> ��� �������������. ����������� - ��������� ���� Qt 4 <literal>moc</literal>, <literal>uic</literal> - � <literal>rcc</literal>, � ����� ��������� Makefile - <literal>qmake</literal> ����� ������ ��� ������� ����������, - ������� ��� ������� � ��������� <literal>_build</literal>:</para> - - <programlisting>USE_QT4= gui moc_build qmake_build rcc_build uic_build</programlisting> - </example> - </sect2> - - <sect2 xml:id="using-qmake"> - <title>������������� <command>qmake</command></title> - - <table frame="none"> - <title>���������� ��� ������, ������������ - <command>qmake</command></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>��������</entry> - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>QMAKE_ARGS</varname></entry> - <entry>����������� ��� ����� ����� - <application>QMake</application> ��� �������� - ��������� <command>qmake</command>.</entry> - </row> - - <row> - <entry><varname>QMAKE_ENV</varname></entry> - <entry>���������� ���������, ��������������� ��� - ��������� <command>qmake</command>. �� ��������� - ������������� �������� - <literal>${CONFIGURE_ENV}</literal>.</entry> - </row> - - <row> - <entry><varname>QMAKE_PRO</varname></entry> - <entry>�������� ����� ������� <filename>.pro</filename>. - �� ��������� ��������� ������ �������� (� - �������������� ���������������).</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>���� ������ � ����������� ������ <filename>configure</filename> - ������������ ���� <filename>.pro</filename>, �� ������ ������������ - ���������:</para> - - <programlisting>USES= qmake -USE_QT4= qmake_build</programlisting> - - <para><literal>USES=qmake</literal> ��������� ����� �� - ������������� <command>qmake</command> � �������� - ������������. �������� ��������, ��� - <literal>USES=qmake</literal> �� ������������� ����������� - �� Qt 4 <command>qmake</command>. ��� ����� � �������� - <literal>USE_QT4</literal> ������ �������������� ��������� - <literal>qmake_build</literal>.</para> - - <para>���������� Qt ����� ������� � ������������������ ������, � - X11/Unix ����� �� �������� ��� ��� ���������� ����������, ��� � - ���� ������� ����� �������� � ��������������� ��������� - ��������:</para> - - <itemizedlist> - <listitem> - <para><emphasis>������������� �������������� ���� ��� - ������������ ������.</emphasis> ������ ���������� ���� � - ���������� ������ � ��������� ����, �� ������������ �������� - �� ������� ������������ ������ �/��� ������������ � ��������� - X11. �� ������ �������� <command>qmake</command>, ����� ��� - �������� �������� � ���� ������ ������������ ������ � ��������� - ����� ��������� ������. � �������:</para> - - <programlisting>QMAKE_ARGS+= INCLUDEPATH+=${LOCALBASE}/include \ - LIBS+=-L${LOCALBASE}/lib</programlisting> - </listitem> - - <listitem> - <para><emphasis>��������� ���� ���������.</emphasis> - ������ ������, ����� ��� ������ � ����� .desktop, - ��������������� �� ��������� � ��������, ������� �� - ��������������� XDG-������������ ������������. �������� - �������� <package role="port">editors/texmaker</package> - - ��������� �� <filename>patch-texmaker.pro</filename> �� �������� - <filename>files</filename> ����� �����, ������� ����� ����� - � �������� ������� ����������� ����� ��������������� � ����� - ������� <command>qmake</command>.</para> - </listitem> - </itemizedlist> - - </sect2> - - </sect1> - - <sect1 xml:id="using-kde"> - <title>������������� KDE</title> - - <sect2 xml:id="kde4-variables"> - <title>������� ���������� KDE 4</title> - - <para>���� ���� ���������� ������� �� KDE 4.x, ��������� - <varname>USE_KDE4</varname> ������ ��������� �����������. - ��� ��������������� ���� ����������� ���������� ����� ���� - ������������ �������� <literal>_build</literal> � - <literal>_run</literal> (��������, <literal>baseapps_run</literal>). - ���� ������� �� �����, ����� ����������� ��� ����������� �� - ���������. ���� �� ������ ������������ ��� ����, �������� - ��������� ������ � ������ ���������� (��������, - <literal>automoc4_build automoc4_run</literal>). �������� - �������� ������������ ���������� ����������� ���� (���������� - ���������� ����������������� � ������ ����� - <filename>/usr/ports/Mk/bsd.kde4.mk</filename>):</para> - - <table frame="none"> - <title>��������� ���������� KDE 4</title> - - <tgroup cols="2"> - <thead> - <row> - <entry>��������</entry> - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>kdehier</literal></entry> - <entry>�������� �������� ��������� KDE</entry> - </row> - - <row> - <entry><literal>kdelibs</literal></entry> - <entry>KDE Developer Platform</entry> - </row> - - <row> - <entry><literal>kdeprefix</literal></entry> - <entry>���� �����������, �� ���� ����� ���������� � - <literal>${KDE4_PREFIX}</literal> ������ - <literal>${LOCALBASE}</literal></entry> - </row> - - <row> - <entry><literal>sharedmime</literal></entry> - <entry>���� ������ MIME ����� ��� ������ KDE</entry> - </row> - - <row> - <entry><literal>automoc4</literal></entry> - <entry>automoc ��� ������� Qt 4</entry> - </row> - - <row> - <entry><literal>akonadi</literal></entry> - <entry>������ �������� KDE-Pim</entry> - </row> - - <row> - <entry><literal>soprano</literal></entry> - <entry>��������� Qt 4 RDF</entry> - </row> - - <row> - <entry><literal>strigi</literal></entry> - <entry>��������� ������ �������� �����</entry> - </row> - - <row> - <entry><literal>libkcddb</literal></entry> - <entry>���������� KDE CDDB</entry> - </row> - - <row> - <entry><literal>libkcompactdisc</literal></entry> - <entry>���������� KDE ��� �������������� � �����-CD</entry> - </row> - - <row> - <entry><literal>libkdeedu</literal></entry> - <entry>����������, ������������ ��� ��������������� - ����������</entry> - </row> - - <row> - <entry><literal>libkdcraw</literal></entry> - <entry>���������� KDE LibRaw</entry> - </row> - - <row> - <entry><literal>libkexiv2</literal></entry> - <entry>���������� KDE Exiv2</entry> - </row> - - <row> - <entry><literal>libkipi</literal></entry> - <entry> KDE Image Plugin Interface</entry> - </row> - - <row> - <entry><literal>libkonq</literal></entry> - <entry>�������� ���������� Konqueror</entry> - </row> - - <row> - <entry><literal>libksane</literal></entry> - <entry>���������� KDE SANE ("Scanner Access Now - Easy")</entry> - </row> - - <row> - <entry><literal>pimlibs</literal></entry> - <entry>���������� KDE-Pim</entry> - </row> - - <row> - <entry><literal>kate</literal></entry> - <entry>�������� ��������</entry> - </row> - - <row> - <entry><literal>marble</literal></entry> - <entry>����������� ������</entry> - </row> - - <row> - <entry><literal>okular</literal></entry> - <entry>������������� ����������� ����������</entry> - </row> - - <row> - <entry><literal>korundum</literal></entry> - <entry>�������� Ruby � KDE</entry> - </row> - - <row> - <entry><literal>perlkde</literal></entry> - <entry>�������� Perl � KDE</entry> - </row> - - <row> - <entry><literal>pykde4</literal></entry> - <entry>�������� Python � KDE</entry> - </row> - - <row> - <entry><literal>pykdeuic4</literal></entry> - <entry>���������� ����������������� ���������� PyKDE</entry> - </row> - - <row> - <entry><literal>smokekde</literal></entry> - <entry>���������� KDE SMOKE</entry> - </row> - - </tbody> - </tgroup> - </table> - - <para>����� KDE 4.x - ��������������� � <varname>KDE4_PREFIX</varname>, ��� � - ��������� ����� ������������� <filename>/usr/local/kde4</filename>. - ��� ����������� ����� �������� ���������� <literal>kdeprefix</literal>, - ������� ���������� �������� �� ��������� ��� <varname>PREFIX</varname>. - ��� �� �����, ����� ��������� ����� <varname>PREFIX</varname>, - ������������� ����� ���������� ��������� <envar>MAKEFLAGS</envar> - �/��� ��������� <command>make</command>.</para> - - <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"/>). - <varname>USE_KDE4</varname> ��������� ����������� �� ��������� KDE - � ���������� ����� ������������ <command>automoc4</command> - �� ����� ������. ��������� ���������� KDE � ������ ����������� - ����� ���������� � ������� configure. <varname>USE_KDE4</varname> - �� ������������� <varname>USE_QT4</varname>. ���� ���� ������� - �����-���� �� ����������� Qt 4, �� ������� ������� � - <varname>USE_QT4</varname>.</para> - - <programlisting>USES= cmake:outsource -USE_KDE4= kdelibs kdeprefix automoc4 -USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting> - </example> - </sect2> - - </sect1> - - <sect1 xml:id="using-java"> - <title>������������� Java</title> - - <sect2 xml:id="java-variables"> - <title>������� ����������</title> - - <para>���� ������ ����� ���������� ������� Java™ Development Kit - (JDK™) ��� ����������, ������ ��� ���� ���������� - ��������������� �����, �� � Σ� ������ ���� ������ ���������� - <varname>USE_JAVA</varname>.</para> - - <para>� ��������� ������ ������������ ��������� JDK ��������� - ������������� � ������ ������. ���� ��� ���� ������ ������������ - ���� �� ���� ������, �� �� ������ �������, ����� ������. ����� - ��������� ������� � ������� �� ��������� �������� - <package role="port">java/openjdk6</package>.</para> - - <table frame="none"> - <title>����������, ������� ������� ����� ���������� �������, - ������������� Java</title> - - <tgroup cols="2"> - <thead> - <row> - <entry>����������</entry> - - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>USE_JAVA</varname></entry> - - <entry>������ ���� ���������� ��� ����, ��� ����������� - ���������� �������� � ��������.</entry> - </row> - - <row> - <entry><varname>JAVA_VERSION</varname></entry> - <entry>������ ������ Java, ������������� ����� ������, - ���������� ��� �����. ������������ ���� - <literal>"+"</literal> ��������� ��� ������� �������� - ������ (��������� ��������: - <literal>1.5[+] 1.6[+] 1.7[+] - </literal>).</entry> - </row> - - <row> - <entry><varname>JAVA_OS</varname></entry> - <entry>������ ������������ ������, ������������� ����� ������, - ����� JDK ��� ������� �������� ��� ����� (��������� ��������: - <literal>native linux</literal>).</entry> - </row> - - <row> - <entry><varname>JAVA_VENDOR</varname></entry> - <entry>������ ������������� ������ JDK, ������������� ����� - ������, ������� �������� ��� ����� (��������� ��������: - <literal>freebsd bsdjava sun - openjdk</literal>).</entry> - </row> - - <row> - <entry><varname>JAVA_BUILD</varname></entry> - <entry>���� ������, �� ��������, ��� ��������� ���� JDK ������ - ���� �������� � ������������ ����� ��� ��� - ����������.</entry> - </row> - - <row> - <entry><varname>JAVA_RUN</varname></entry> - <entry>���� ������, �� ��������, ��� ��������� ���� JDK ������ - ���� �������� � ������������ ����� ��� ��� ������.</entry> - </row> - - <row> - <entry><varname>JAVA_EXTRACT</varname></entry> - <entry>���� ������, �� ��������, ��� ��������� ���� JDK ������ - ���� �������� � ������������ ����� ��� ���������� ��� - �������������� ������.</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>���� ������������� ��� ��������, ������� ��������� ���������� - ����� ������� ���������� <varname>USE_JAVA</varname>:</para> - - <table frame="none"> - <title>����������, ��������� � ������, ������������ Java</title> - - <tgroup cols="2"> - <thead> - <row> - <entry>����������</entry> - - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>JAVA_PORT</varname></entry> - <entry>�������� ����� JDK (� �������, - <literal>'java/openjdk6'</literal>).</entry> - </row> - - <row> - <entry><varname>JAVA_PORT_VERSION</varname></entry> - <entry>������ ������������ ������ ����� JDK (� �������, - <literal>'1.6.0'</literal>). ���� ��� ����� ������ ������ - ��� ����� ������ ������, ����������� ����������� - <varname>${JAVA_PORT_VERSION:C/^([0-9])\.([0-9])(.*)$/\1.\2/}</varname>.</entry> - </row> - - <row> - <entry><varname>JAVA_PORT_OS</varname></entry> - <entry>������������ �������, ������������ ������ JDK (� �������, - <literal>'native'</literal>).</entry> - </row> - - <row> - <entry><varname>JAVA_PORT_VENDOR</varname></entry> - <entry>����������� ����� JDK (� �������, - <literal>'openjdk'</literal>).</entry> - </row> - - <row> - <entry><varname>JAVA_PORT_OS_DESCRIPTION</varname></entry> - <entry>�������� ������������ �������, ������������ ������ JDK - (� �������, <literal>'Native'</literal>).</entry> - </row> - - <row> - <entry><varname>JAVA_PORT_VENDOR_DESCRIPTION</varname></entry> - <entry>�������� ������������ ����� JDK (� �������, - <literal>'OpenJDK BSD Porting Team'</literal>).</entry> - </row> - - <row> - <entry><varname>JAVA_HOME</varname></entry> - <entry>������� � ������������� �������� JDK (� �������, - <filename>'/usr/local/openjdk6'</filename>).</entry> - </row> - - <row> - <entry><varname>JAVAC</varname></entry> - <entry>������� � ������������� ����������� Java (� �������, - <filename>'/usr/local/openjdk6/bin/javac'</filename>. - </entry> - </row> - - <row> - <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><varname>APPLETVIEWER</varname></entry> - <entry>������� � ������� <command>appletviewer</command> (� - �������, - <filename>'/usr/local/openjdk6/bin/appletviewer'</filename>). - </entry> - </row> - - <row> - <entry><varname>JAVA</varname></entry> - <entry>������� � ������������ ����� <command>java</command>. - ����������� ��� ��� ������� Java-�������� (� �������, - <filename>'/usr/local/openjdk6/bin/java'</filename>).</entry> - </row> - - <row> - <entry><varname>JAVADOC</varname></entry> - <entry>������� � ��������������� ��������� - <command>javadoc</command>.</entry> - </row> - - <row> - <entry><varname>JAVAH</varname></entry> - <entry>������� � ��������� <command>javah</command>.</entry> - </row> - - <row> - <entry><varname>JAVAP</varname></entry> - <entry>������� � ��������� <command>javap</command>.</entry> - </row> - - <row> - <entry><varname>JAVA_KEYTOOL</varname></entry> - <entry>������� � ��������������� ��������� - <command>keytool</command>.</entry> - </row> - - <row> - <entry><varname>JAVA_N2A</varname></entry> - <entry>������� � ������� - <command>native2ascii</command>.</entry> - </row> - - <row> - <entry><varname>JAVA_POLICYTOOL</varname></entry> - <entry>������� � ��������� <command>policytool</command>.</entry> - </row> - - <row> - <entry><varname>JAVA_SERIALVER</varname></entry> - <entry>������� � ��������������� ��������� - <command>serialver</command>.</entry> - </row> - - <row> - <entry><varname>RMIC</varname></entry> - <entry>������� � ���������� ������� �������� RMI, ������� - <command>rmic</command>.</entry> - </row> - - <row> - <entry><varname>RMIREGISTRY</varname></entry> - <entry>������� � ��������� ����������� RMI, - <command>rmiregistry</command>.</entry> - </row> - - <row> - <entry><varname>RMID</varname></entry> - <entry>������� � ���������-������� RMI - <command>rmid</command>.</entry> - </row> - - <row> - <entry><varname>JAVA_CLASSES</varname></entry> - <entry>������� � ������, ������� �������� ����� ������� JDK, - <filename>${JAVA_HOME}/jre/lib/rt.jar</filename>.</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>�� ������ ��������������� make-����� - <literal>java-debug</literal> ��� ��������� ����������, ����������� - ��� ������� ������ �����. ��� ţ ���������� ����� ������ �������� - ������ ���������� ���� ����������.</para> - - <para>����� ����, ��� ������������ ��������� ���� ������ Java - ���������� ��������� ���������:</para> - - <table frame="none"> - <title>���������, ������̣���� ��� ������, ������������ Java</title> - - <tgroup cols="2"> - <thead> - <row> - <entry>���������</entry> - - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>JAVASHAREDIR</varname></entry> - <entry>�������� ������� ��� �����, ��� ������� � Java. - �� ���������: <filename>${PREFIX}/share/java</filename>. - </entry> - </row> - - <row> - <entry><varname>JAVAJARDIR</varname></entry> - <entry>�������, � ������� ������ ��������������� JAR-�����. �� - ���������: - <filename>${JAVASHAREDIR}/classes</filename>.</entry> - </row> - - <row> - <entry><varname>JAVALIBDIR</varname></entry> - <entry>�������, � ������� ��������������� JAR-����� �� - ������ ������. �� ���������: - <filename>${LOCALBASE}/share/java/classes</filename>.</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>��������������� ������ ������������ � ����� ���������� - <varname>PLIST_SUB</varname> (������� � <xref linkend="plist-sub"/>) � <varname>SUB_LIST</varname>.</para> - - </sect2> - - <sect2 xml:id="java-building-with-ant"> - <title>���������� � Ant</title> - - <para>���� ���������� ����� ������������ � �������������� Apache Ant, - �� ���������� ���������� <varname>USE_ANT</varname>. ����� ������� - Ant ���������� ����������� make. ���� � ����� �� ���������� ���� - <literal>do-build</literal>, �� ����� ����������� ���� �� ���������, - ������� ������ ��������� Ant � ������������ �� ��������� - <varname>MAKE_ENV</varname>, <varname>MAKE_ARGS</varname> � - <varname>ALL_TARGET</varname>. ��� ������ �� �������� - <varname>USES= gmake</varname>, ������� ������ � - <xref linkend="building"/>.</para> - - </sect2> - - <sect2 xml:id="java-best-practices"> - <title>������������ ������������</title> - - <para>��� ������������ Java-���������� ��� ���� ������ - ������������� JAR-����(�) � ������� - <filename>${JAVAJARDIR}</filename>, � ��� ��������� ������ � ������� - <filename>${JAVASHAREDIR}/${PORTNAME}</filename> (�� ����������� - ������������, � ������� ���ģ� ���� ����). ��� ���������� ������� - ������������ ����� �� ������ ��������� �� JAR-����(�) ��������������� - � ����� <filename>Makefile</filename>. ������ �������������� - ��������� ���������� (� ������� <filename>myport.jar</filename> - �������� ������ JAR-�����, ���������������� ��� ����� �����):</para> - - <programlisting>PLIST_FILES+= %%JAVAJARDIR%%/myport.jar</programlisting> - - <para>��� ������������ Java-���������� ���� ������ ������������� �ӣ - � ���� ������� (� ��� ����� ��� ���� JAR-�����������). � ���� - ��������� ������������ ������������� ������������� - <filename>${JAVASHAREDIR}/${PORTNAME}</filename>. �� ���������� - ��������� ����� �������� ������� ������� � ���, ������������� �� - �������������� JAR-����������� � ���� ������� ��� �������� - ������������ ��� ������������� (�� �������� - <filename>${JAVAJARDIR}</filename>).</para> - - <para>��� ������������ ���������� &java;, ��� ������� ������� - �������� ��������� ������ ����������, ����� ��� - <package role="port">www/tomcat7</package>, ��� ������������� - � ������� ����� �������� ��������������� ����� - <filename>.war</filename>. ���� <filename>.war</filename> - — ��� ���-���������� �������������� � ��� ��������������� - ��� ������ ������ �����������. ��������� ��������� ����� - <filename>.war</filename> � <filename>pkg-plist</filename>. - ��� �� �������� ��������� ��������. ������ ���������� - ���������� ���������� ������ <filename>war</filename> ��� - ������� ��� ������� ��� �������� �����. ����� ���������� - �������� ������ � ���� ������ ����� ����������� �����, - ���������� ����� � �������� �� � - <filename>pkg-plist</filename>.</para> - - <programlisting>TOMCATDIR= ${LOCALBASE}/apache-tomcat-7.0 -WEBAPPDIR= myapplication - -post-extract: - @${MKDIR} ${WRKDIR}/${PORTDIRNAME} - @${TAR} xf ${WRKDIR}/myapplication.war -C ${WRKDIR}/${PORTDIRNAME} - -do-install: - cd ${WRKDIR} && \ - ${INSTALL} -d -o ${WWWOWN} -g ${WWWGRP} ${TOMCATDIR}/webapps/${PORTDIRNAME} - @cd ${WRKDIR}/${PORTDIRNAME} && ${COPYTREE_SHARE} \* ${WEBAPPDIR}/${PORTDIRNAME}</programlisting> - - <para>��� ����������� �� ���� ������ ����� (���������� ��� ��� - ����������), �������������� ������������ ������ ��������������� - <link linkend="install-documentation">� ���� ����� �����</link>, ��� - � ��� ������ ������. ��������, ��� � ����������� �� ������������ - ������ JDK ������� JavaDoc ���������� ��������� ������ ������. ��� - ������, ������� �� ��������� � ������������� ������̣���� ������ - JDK, ����� ������� ���������� �������������� ���������� ������ ������ - ��� �������� (<filename>pkg-plist</filename>). ��� ���� �� ������, - �� ������� ���������� ������ ������������ ������������� ������������ - ������ <varname>PORTDOCS</varname>. ����� ����, ���� ���� �� ������� - ������� ����� ������, ������� ����� ������������ �������� - <command>javadoc</command>, ������ ������������� ����� - <filename>pkg-plist</filename> �������� �� ������������� - <varname>PORTDOCS</varname>.</para> - - <para>��������� �� ��������� ��� ���������� <varname>DATADIR</varname> - �������� <filename>${PREFIX}/share/${PORTNAME}</filename>. ������� - ����� �������� ��������������� ��� Java-������ �������� - <varname>DATADIR</varname> ��� - <filename>${JAVASHAREDIR}/${PORTNAME}</filename>. �� ����� ���� - <varname>DATADIR</varname> ������������� ����������� � - <varname>PLIST_SUB</varname> (��� ������� � <xref linkend="plist-sub"/>), ��� ��� �� ������� - ������������ <literal>%%DATADIR%%</literal> ��������������� � - <filename>pkg-plist</filename>.</para> - - <para>��� �������� ������ ����� ����������� ������ Java �� �������� - ������� ��� �� ������ ���������� �� �������� �������������, �� �� - ������ �������� ����� ������ ������̣���� �������� �� ���� �ޣ� �� - ����������. ������ ��������� <link xlink:href="http://www.freebsd.org/java/">������� &os; Java</link> - ����������� ���������� ������ ������� �� �� �������� �������, ���� - ��� ������ �������� ���������.</para> - - <para>��� �����������, ������� ���� ������� � ���� �������, ����������� - � ����� <filename>bsd.java.mk</filename>. ���� �� ������������, ��� - ������ ����� ��������� ����� ����������� ��������� Java, ����������, - ��������� ������� �� <link xlink:href="http://svnweb.FreeBSD.org/ports/head/Mk/bsd.java.mk?view=markup">������ - ��������� bsd.java.mk � - <application>Subversion</application></link>, ��� ��� ��� - ���������������� ��������� ��������� ��������� �����-�� �����. - �����, ���� �� �������, ��� �� ��������� ��� ��������� �������� - �������� ��� ������ ������ ������ Java, �������� ��� ������ � - &a.java;.</para> - - <para>���� � ���� ��������� �� ������� ��� ��������������� PR ������� - ��������� <literal>java</literal>, ��� ��������� � ������ ��� - ������������� JDK, ������� �������� ������ &os; Java. ����� �������, - �� ������ �������� ���� Java-����, ��� � ����� ������, � ��������� - <literal>ports</literal>, ���� �������� ���� ������ �� ��������� �� - � ���������� JDK, �� � <filename>bsd.java.mk</filename>.</para> - - <para>������� ������� ���������� �������� �� ��������� � - <varname>CATEGORIES</varname> ����� Java, ������� �������� ������� - � <xref linkend="makefile-categories"/>.</para> - - </sect2> - </sect1> - - <sect1 xml:id="using-php"> - <title>���-����������, Apache � PHP</title> - - <sect2 xml:id="using-apache"> - <title>Apache</title> - - <table frame="none"> - <title>���������� ��� ������, ������������ Apache</title> - - <tgroup cols="2"> - <tbody> - - <row> - <entry><varname>USE_APACHE</varname></entry> - - <entry>���� ������� Apache. ��������� ��������: - <literal>yes</literal> (��ң� ����� ������), - <literal>22</literal>, <literal>24</literal>, - <literal>22-24</literal>, <literal>22+</literal> - � ��� �����. ������ �� ��������� - <literal>22</literal>. ����� ��������� ���������� - ���������� � ����� - <filename>ports/Mk/bsd.apache.mk</filename> � �� - �������� <link xlink:href="http://wiki.freebsd.org/Apache/"> - wiki.freebsd.org/Apache/</link>.</entry> - </row> - - <row> - <entry><varname>APXS</varname></entry> - - <entry>������ ���� � ������������ ����� <command>apxs</command>. - ����� ���� ������������� � ����� �����.</entry> - </row> - - <row> - <entry><varname>HTTPD</varname></entry> - - <entry>������ ���� � ������������ ����� <command>httpd</command>. - ����� ���� ������������� � ����� �����.</entry> - </row> - - <row> - <entry><varname>APACHE_VERSION</varname></entry> - - <entry>������ �������������� Apache (���������� ������ ��� - ������). ��� ���������� �������� ������ ����� ����������� - <filename>bsd.port.pre.mk</filename>. ��������� ��������: - <literal>22</literal>, <literal>24</literal>.</entry> - </row> - - <row> - <entry><varname>APACHEMODDIR</varname></entry> - - <entry>������� ��� ������� Apache. �������� ���������� - ������������� ������������� � <filename>pkg-plist</filename>.</entry> - </row> - - <row> - <entry><varname>APACHEINCLUDEDIR</varname></entry> - - <entry>������� ��� ���������� Apache. �������� ���������� - ������������� ������������� � <filename>pkg-plist</filename>.</entry> - </row> - - <row> - <entry><varname>APACHEETCDIR</varname></entry> - - <entry>������� ��� ���������������� ������ Apache. �������� - ���������� ������������� ������������� � - <filename>pkg-plist</filename>.</entry> - </row> - - </tbody> - </tgroup> - </table> - - <table frame="none"> - <title>������������ ���������� ��� ������������ ������� - Apache</title> - - <tgroup cols="2"> - <tbody> - - <row> - <entry><varname>MODULENAME</varname></entry> - - <entry>�������� ������. ��������� �� ��������� �������� - <varname>PORTNAME</varname>. ������: - <literal>mod_hello</literal></entry> - </row> - - <row> - <entry><varname>SHORTMODNAME</varname></entry> - - <entry>������� �������� ������. ����������� ������������� - �� <varname>MODULENAME</varname>, �� ����� ���� - ��������������. ������: <literal>hello</literal></entry> - </row> - - <row> - <entry><varname>AP_FAST_BUILD</varname></entry> - - <entry>������������ <command>apxs</command> ��� ���������� - � ��������� ������.</entry> - </row> - - <row> - <entry><varname>AP_GENPLIST</varname></entry> - - <entry>����� ������������� ������� - <filename>pkg-plist</filename>.</entry> - </row> - - <row> - <entry><varname>AP_INC</varname></entry> - - <entry>��������� ������� � ���� ������ ���������� - �� ����� ����������.</entry> - </row> - - <row> - <entry><varname>AP_LIB</varname></entry> - - <entry>��������� ������� � ���� ������ ��������� - �� ����� ����������.</entry> - </row> - - <row> - <entry><varname>AP_EXTRAS</varname></entry> - - <entry>�������������� �����, ������������ - <command>apxs</command>.</entry> - </row> - - </tbody> - </tgroup> - </table> - </sect2> - - <sect2 xml:id="web-apps"> - <title>���-����������</title> - - <para>���-���������� ������� ������������� � - <filename>PREFIX/www/appname</filename>. - ��� ������ �������� ���� ���� ��������� �������� � - <filename>Makefile</filename> � <filename>pkg-plist</filename> - ��� ���������� <varname>WWWDIR</varname>, � ���� ������������ - <varname>PREFIX</varname> �������� � <filename>Makefile</filename> - ��� <varname>WWWDIR_REL</varname>.</para> - - <para>������������ � ������ �������� ���-������� �������� ��� - <varname>WWWOWN</varname> � <varname>WWWGRP</varname>, � ������ - ���� ��� ����� �������� ��������� ��� ��������� ������. ��������� - �� ��������� � ��� ���������, � ��� ������ �������� - <literal>www</literal>. ���� �� ������ ������������ � ����� - ����� ������ ��������, �������������� ��� ����� �������� - <literal>WWWOWN?= myuser</literal>, ����� ��������� - ������������ ����� �������������� ��.</para> - - <para>�� ���������� ����������� �� Apache, ���� ���-���������� - ����� ������� �� ��������� � Apache. ����������, ��� ������������ - ����� �������� ��������� ���� ���-���������� �� ������ ���-������� - ������ Apache.</para> - - </sect2> - - <sect2 xml:id="php-variables"> - <title>PHP</title> - - <table frame="none"> - <title>���������� ��� ������, ������������ PHP</title> - - <tgroup cols="2"> - <tbody> - <row> - <entry><varname>USE_PHP</varname></entry> - - <entry>���� ������� PHP. �������� <literal>yes</literal> - ��������� ����������� �� PHP. ������ ����� ����� ���� - ������ �������� ��������� ���������� PHP. ������: - <literal>pcre xml gettext</literal></entry> - </row> - - <row> - <entry><varname>DEFAULT_PHP_VER</varname></entry> - - <entry>�������� ������� ����� ������, � ������� ����� - ���������� PHP ��� ����������� � ������, ����� PHP ��� - �� ����������. �� ��������� <literal>5</literal>. - ��������� ��������: <literal>4</literal>, - <literal>5</literal></entry> - </row> - - <row> - <entry><varname>IGNORE_WITH_PHP</varname></entry> - - <entry>���� �� �������� � PHP ������ ������. ��������� - ��������: <literal>4</literal>, <literal>5</literal></entry> - </row> - - <row> - <entry><varname>USE_PHPIZE</varname></entry> - - <entry>���� ����� �������� ��� ���������� PHP.</entry> - </row> - - <row> - <entry><varname>USE_PHPEXT</varname></entry> - - <entry>���� ����� ��������� ����������� PHP, ������� ��������� - � ����������� � ������� ����������.</entry> - </row> - - <row> - <entry><varname>USE_PHP_BUILD</varname></entry> - - <entry>���������� PHP ��� ����������� ������� ����������.</entry> - </row> - - <row> - <entry><varname>WANT_PHP_CLI</varname></entry> - - <entry>����� CLI (��������� ������) ������ PHP.</entry> - </row> - - <row> - <entry><varname>WANT_PHP_CGI</varname></entry> - - <entry>����� CGI ������ PHP.</entry> - </row> - - <row> - <entry><varname>WANT_PHP_MOD</varname></entry> - - <entry>����� PHP ��� ������ Apache.</entry> - </row> - - <row> - <entry><varname>WANT_PHP_SCR</varname></entry> - - <entry>����� CLI ��� CGI ������ PHP.</entry> - </row> - - <row> - <entry><varname>WANT_PHP_WEB</varname></entry> - - <entry>����� ������ Apache ��� CGI ������ PHP.</entry> - </row> - </tbody> - </tgroup> - </table> - - </sect2> - - <sect2> - <title>������ PEAR</title> - - <para>������������ ������� PEAR �������� ����� ������� - ���������.</para> - - <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> - - <para>���������� - <filename>${PORTSDIR}/devel/pear/bsd.pear.mk</filename> - �� ��������� ������ <filename>Makefile</filename>.</para> - - <example xml:id="pear-makefile"> - <title>������ Makefile ��� ������� PEAR</title> - <programlisting>PORTNAME= Date -PORTVERSION= 1.4.3 -CATEGORIES= devel www pear - -MAINTAINER= example@domain.com -COMMENT= PEAR Date and Time Zone Classes - -BUILD_DEPENDS= ${PEARDIR}/PEAR.php:${PORTSDIR}/devel/pear-PEAR -RUN_DEPENDS:= ${BUILD_DEPENDS} - -FILES= Date.php Date/Calc.php Date/Human.php Date/Span.php \ - Date/TimeZone.php -TESTS= test_calc.php test_date_methods_span.php testunit.php \ - testunit_date.php testunit_date_span.php wknotest.txt \ - bug674.php bug727_1.php bug727_2.php bug727_3.php \ - bug727_4.php bug967.php weeksinmonth_4_monday.txt \ - weeksinmonth_4_sunday.txt weeksinmonth_rdm_monday.txt \ - weeksinmonth_rdm_sunday.txt -DOCS= TODO -_DOCSDIR= . - -.include <bsd.port.pre.mk> -.include "${PORTSDIR}/devel/pear/bsd.pear.mk" -.include <bsd.port.post.mk></programlisting> - - </example> - - </sect2> - - </sect1> - - <sect1 xml:id="using-python"> - <title>������������� Python</title> - - <para>��������� ������ ������������ ������������ ��������� ��������� - ������ Python. ������� ���������, ��� � ������ ������������ - ���������� ������������� <command>python</command> � ������������ - � ���������� <varname>PYTHON_VERSION</varname>, ������������� - �������������. �� ������� ����� ��� �������� ������ ���� � - ������������ ����� <command>python</command> � ��������� �� - �������� ���������� <varname>PYTHON_CMD</varname>.</para> - - <para>�����, ��������������� ����� ��� ������� - <varname>PYTHON_SITELIBDIR</varname>, ������ ������������ ������� - ���� <literal>pyXY-</literal>, ����� ������� �������� ������� ����� - �������� � ���� ������ Python, � ������� ��� �����������.</para> - - <programlisting>PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}</programlisting> - - <table frame="none"> - <title>���������� ��� ������, ������� ���������� Python</title> - - <tgroup cols="2"> - <tbody> - <row> - <entry><varname>USE_PYTHON</varname></entry> - - <entry>��� ����� ����� ����� Python. ����������� ��������� - ������ ����� ���� ������� � ����� ��������� ��� - <literal>2.6+</literal>. ����� ����� ������ �������� - ������ � ����������� ���� ������ ����� ‐, ��������: - <literal>2.6-2.7</literal></entry> - </row> - - <row> - <entry><varname>USE_PYDISTUTILS</varname></entry> - - <entry>������������ �������������� ������� (distutils) Python - ��� ������������, ���������� � ���������. ����������, ���� - ���� ���������� <filename>setup.py</filename>. - �������������� ���� <buildtarget>do-build</buildtarget> � - <buildtarget>do-install</buildtarget> � ����� ����� - �������������� <buildtarget>do-configure</buildtarget>, ���� - �� ���������� <varname>GNU_CONFIGURE</varname>.</entry> - </row> - - <row> - <entry><varname>PYTHON_PKGNAMEPREFIX</varname></entry> - - <entry>������������ ��� <varname>PKGNAMEPREFIX</varname> ��� - ������� �������, ������������ ������ ������ Python. ������: - <literal>py24-</literal></entry> - </row> - - <row> - <entry><varname>PYTHON_SITELIBDIR</varname></entry> - - <entry>��������������� ������ site-packages, ������� �������� - ���� ��������� Python (������, <varname>LOCALBASE</varname>). - ���������� <varname>PYTHON_SITELIBDIR</varname> ����� ���� - ����� �������� ��� ��������� ������� Python.</entry> - </row> - - <row> - <entry><varname>PYTHONPREFIX_SITELIBDIR</varname></entry> - - <entry>������� PYTHON_SITELIBDIR ��� PREFIX. - �� ����������� ������ ����������� - <literal>%%PYTHON_SITELIBDIR%%</literal> � - <filename>pkg-plist</filename>. ��������� �� ��������� ��� - <literal>%%PYTHON_SITELIBDIR%%</literal> �������� - <literal>lib/python%%PYTHON_VERSION%%/site-packages</literal> - </entry> - </row> - - <row> - <entry><varname>PYTHON_CMD</varname></entry> - - <entry>��������� ������ �������������� Python, ������� ����� - ������.</entry> - </row> - - <row> - <entry><varname>PYNUMERIC</varname></entry> - - <entry>������ ����������� ��� ���������� numeric.</entry> - </row> - - <row> - <entry><varname>PYNUMPY</varname></entry> - <entry>������ ����������� ��� ������ ���������� numeric, - numpy (PYNUMERIC �������� ���������� ����������� - ��������������).</entry> - </row> - - <row> - <entry><varname>PYXML</varname></entry> - - <entry>������ ����������� ��� ���������� XML (�� ����� ��� - Python 2.0 � ����, �.�. �������� � �������� �����������). - </entry> - </row> - - </tbody> - </tgroup> - </table> - - <para>������ �������� ��������� ���������� ����� ����� � - <filename>/usr/ports/Mk/bsd.python.mk</filename>.</para> - - <para>��������� ���������� �� Python �������� � ��������� - <varname>DESTDIR</varname> (��������� ��� staging), ������� - �� �������� (� ���������, � Mailman �� ������ 2.1.16). - ����������� ����� ������ ��ԣ� �������������� ���������. - ��������, ��� ����� ��������� � ���� - <buildtarget>post-build</buildtarget>. � �ޣ��� ����, ��� ����� - ��������� �������������� ����� ���������� ��������� Python - ����� ���������� � <varname>PYTHONPREFIX_SITELIBDIR</varname>, - ����� ��������� ��������� �������:</para> - - <programlisting>(cd ${STAGEDIR}${PREFIX} \ - && ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \ - -d ${PREFIX} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;})</programlisting> - - <para>��� ������� ��������������� �������� ����� � ������� ����� - �� ������������� � �������� ������, � ����� ���������� �������� - <varname>PREFIX</varname> ����� ������ �����, ����������� � - �������� ����� � ������������� ��������������, � �������������� - <literal>-d</literal>. <literal>-f</literal> ��������� ��� - ����������� ��������������, � <literal>:S;${PREFIX}/;;</literal> - ������� �������� �� �������� ���������� - <varname>PYTHONPREFIX_SITELIBDIR</varname>, ����� ������� ��� - ������������� � <varname>PREFIX</varname>.</para> - - <para>��� ����� ��������� Python 2.7 ��� ����. ��� �� - �������� � Python 2.6.</para> - </sect1> - - <sect1 xml:id="using-tcl"> - <title>������������� <application>Tcl/Tk</application></title> - - <para>� ��������� ������ �������������� ������������� ��������� - ������������� ������ <application>Tcl/Tk</application>. ����� - ������ �������� ������������ �� ������� ���� ������ - <application>Tcl/Tk</application>, ������������ �� ���������, � - ���� � ������� ���������� <varname>USE_TCL</varname> � - <varname>USE_TK</varname>. �������� ������ <command>tcl</command> - ����� ������� � ���������� <varname>WITH_TCL_VER</varname>.</para> - - <table frame="none"> - <title>�������� �������������� ���������� ��� ������, ������� - ���������� <application>Tcl/Tk</application></title> - - <tgroup cols="2"> - <tbody> - <row> - <entry><varname>USE_TCL</varname></entry> - - <entry>���� ������� �� ���������� - <application>Tcl</application> (�� ��������). - ����������� ��������� ������ ����� ������� � �������������� - ����� ��������, ��� 84+. ��������� ���������������� ������ - ����������� � ���������� - <varname>INVALID_TCL_VER</varname>.</entry> - </row> - - <row> - <entry><varname>USE_TCL_BUILD</varname></entry> - - <entry><application>Tcl</application> ����� ��� ����� ������ - �� ����� ������.</entry> - </row> - - <row> - <entry><varname>USE_TCL_WRAPPER</varname></entry> - - <entry>��� ����� ���������� ������� ������������ ��� ������, - ��� ������� ��������� �������� <application>Tcl</application> - � �� ��������� ���������� ������ <literal>tclsh</literal>. - ������� <literal>tclsh</literal> ��������������� � �������. - ������������ ����� ������� �������� �������� - <command>tcl</command> ��� �������������.</entry> - </row> - - <row> - <entry><varname>WITH_TCL_VER</varname></entry> - - <entry>������������ ������������� ����������, ������� - ������������� �������� ������ - <application>Tcl</application>.</entry> - </row> - - <row> - <entry><varname><replaceable>UNIQUENAME</replaceable>_WITH_TCL_VER</varname></entry> - - <entry>������� <varname>WITH_TCL_VER</varname>, �� ��� - ������� �����.</entry> - </row> - - <row> - <entry><varname>USE_TCL_THREADS</varname></entry> - - <entry>������� ������������� ������ - <application>Tcl/Tk</application>.</entry> - </row> - - <row> - <entry><varname>USE_TK</varname></entry> - - <entry>���� ������� �� ���������� <application>Tk</application> - (�� �� �������������� ��������). ������������� - <varname>USE_TCL</varname> � ��� �� ���������. ��� - ������� ���������� �������� �������� ���������� - <varname>USE_TCL</varname>.</entry> - </row> - - <row> - <entry><varname>USE_TK_BUILD</varname></entry> - - <entry>���������� <varname>USE_TCL_BUILD</varname>.</entry> - </row> - - <row> - <entry><varname>USE_TK_WRAPPER</varname></entry> - - <entry>���������� <varname>USE_TCL_WRAPPER</varname>.</entry> - </row> - - <row> - <entry><varname>WITH_TK_VER</varname></entry> - - <entry>���������� <varname>WITH_TCL_VER</varname>, - ������������� <varname>WITH_TCL_VER</varname> ��� �� - ������.</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>������ �������� ��������� ���������� ��������� � - <filename>/usr/ports/Mk/bsd.tcl.mk</filename>.</para> - </sect1> - - <sect1 xml:id="using-emacs"> - <title>������������� Emacs</title> - - <para>���� ������ �ݣ ��������� ��������.</para> - </sect1> - - <sect1 xml:id="using-ruby"> - <title>������������� Ruby</title> - - <table frame="none"> - <title>�������� ���������� ��� ������, ������������ Ruby</title> - - <tgroup cols="2"> - <thead> - <row> - <entry>����������</entry> - <entry>��������</entry> - </row> - </thead> - <tbody> - <row> - <entry><varname>USE_RUBY</varname></entry> - - <entry>���� ������� Ruby.</entry> - </row> - - <row> - <entry><varname>USE_RUBY_EXTCONF</varname></entry> - - <entry>���� ���������� ��� ������������ - <filename>extconf.rb</filename>.</entry> - </row> - - <row> - <entry><varname>USE_RUBY_SETUP</varname></entry> - - <entry>���� ���������� ��� ������������ - <filename>setup.rb</filename>.</entry> - </row> - - <row> - <entry><varname>RUBY_SETUP</varname></entry> - - <entry>������������� �������������� ��� ��� - <filename>setup.rb</filename>. ���������������� ��������� - �������� <filename>install.rb</filename>.</entry> - </row> - - </tbody> - </tgroup> - </table> - - <para>��������� ������� �������� ��������� ����������, ��������� - ������� ������ ����� �������������� ������. ��� ���������� ������ - �������������� ��� ��������� ������ � ���������� �����������������. - ����������� �� � <filename>pkg-plist</filename> ��� ����� ������. - ��� ���������� �� ������ ���������������� � ����� �����.</para> - - <table frame="none"> - <title>���������� ���������� ������ ��� ������ ��� ������, - ������������ Ruby</title> - - <tgroup cols="3"> - <thead> - <row> - <entry>����������</entry> - <entry>��������</entry> - <entry>��������� ��������</entry> - </row> - </thead> - <tbody> - - <row> - <entry><varname>RUBY_PKGNAMEPREFIX</varname></entry> - - <entry>������������ ��� <varname>PKGNAMEPREFIX</varname> - ��� �������� ������� �� ������ ������ Ruby.</entry> - - <entry><literal>ruby18-</literal></entry> - </row> - - <row> - <entry><varname>RUBY_VERSION</varname></entry> - - <entry>������ ������ Ruby � ����� <literal>x.y.z</literal>.</entry> - - <entry><literal>1.8.2</literal></entry> - </row> - - <row> - <entry><varname>RUBY_SITELIBDIR</varname></entry> - - <entry>���� ��� ��������� ���������������������� ���������.</entry> - - <entry><literal>/usr/local/lib/ruby/site_ruby/1.8</literal></entry> - </row> - - <row> - <entry><varname>RUBY_SITEARCHLIBDIR</varname></entry> - - <entry>���� ��� ��������� �������������������� ���������.</entry> - - <entry><literal>/usr/local/lib/ruby/site_ruby/1.8/amd64-freebsd6</literal></entry> - </row> - - <row> - <entry><varname>RUBY_MODDOCDIR</varname></entry> - - <entry>���� ��� ��������� ������������ ������.</entry> - - <entry><literal>/usr/local/share/doc/ruby18/patsy</literal></entry> - </row> - - <row> - <entry><varname>RUBY_MODEXAMPLESDIR</varname></entry> - - <entry>���� ��� ��������� �������� ������.</entry> - - <entry><literal>/usr/local/share/examples/ruby18/patsy</literal></entry> - </row> - - </tbody> - </tgroup> - </table> - - <para>������ �������� ��������� ���������� ��������� � - <filename>/usr/ports/Mk/bsd.ruby.mk</filename>.</para> - - </sect1> - - <sect1 xml:id="using-sdl"> - <title>������������� SDL</title> - - <para>���������� <varname>USE_SDL</varname> ������������ ��� - �������������� ��������� ������������ ��� ������, ������������ - ���������� �� ������ SDL, ����� ��� - <package role="port">devel/sdl12</package> ��� - <package role="port">graphics/sdl_image</package>.</para> - - <para>��� ������ 1.2 - �� ������ ������ ������������ ��������� SDL-����������:</para> - - <itemizedlist> - <listitem> - <para>sdl: <package - role="port">devel/sdl12</package></para> - </listitem> - - <listitem> - <para>console: <package - role="port">devel/sdl_console</package></para> - </listitem> - - <listitem> - <para>gfx: <package - role="port">graphics/sdl_gfx</package></para> - </listitem> - - <listitem> - <para>image: <package - role="port">graphics/sdl_image</package></para> - </listitem> - - <listitem> - <para>mixer: <package - role="port">audio/sdl_mixer</package></para> - </listitem> - - <listitem> - <para>mm: <package - role="port">devel/sdlmm</package></para> - </listitem> - - <listitem> - <para>net: <package - role="port">net/sdl_net</package></para> - </listitem> - - <listitem> - <para>pango: <package - role="port">x11-toolkits/sdl_pango</package></para> - </listitem> - - <listitem> - <para>sound: <package - role="port">audio/sdl_sound</package></para> - </listitem> - - <listitem> - <para>ttf: <package - role="port">graphics/sdl_ttf</package></para> - </listitem> - </itemizedlist> - - <para>��� ������ 2.0 - �� ������ ������ ������������ ��������� SDL-����������:</para> - - <itemizedlist> - <listitem> - <para>sdl: <package - role="port">devel/sdl20</package></para> - </listitem> - - <listitem> - <para>gfx: <package - role="port">graphics/sdl2_gfx</package></para> - </listitem> - - <listitem> - <para>image: <package - role="port">graphics/sdl2_image</package></para> - </listitem> - - <listitem> - <para>mixer: <package - role="port">audio/sdl2_mixer</package></para> - </listitem> - - <listitem> - <para>net: <package - role="port">net/sdl2_net</package></para> - </listitem> - - <listitem> - <para>ttf: <package - role="port">graphics/sdl2_ttf</package></para> - </listitem> - </itemizedlist> - - <para>����� �������, ���� ���� ����� ����������� �� - <package role="port">net/sdl_net</package> � - <package role="port">audio/sdl_mixer</package>, �� ������ ����� - ���������:</para> - - <programlisting>USE_SDL= net mixer</programlisting> - - <para>����������� �� ����� <package role="port">devel/sdl12</package>, - ������� ��������� ��� <package role="port">net/sdl_net</package> - � <package role="port">audio/sdl_mixer</package>, ����� ����� - ������������� ��������.</para> - - <para>���� �� ����������� <varname>USE_SDL</varname> � ���������� - SDL 1.2, �� �� �������������:</para> - - <itemizedlist> - <listitem> - <para>��������� ����������� �� - <application>sdl12-config</application> - � <varname>BUILD_DEPENDS</varname></para> - </listitem> - - <listitem> - <para>��������� ���������� <varname>SDL_CONFIG</varname> � - <varname>CONFIGURE_ENV</varname></para> - </listitem> - - <listitem> - <para>��������� ����������� �� ��������� ��������� � - <varname>LIB_DEPENDS</varname></para> - </listitem> - </itemizedlist> - - <para>���� �� ����������� <varname>USE_SDL</varname> � ���������� - SDL 2.0, �� �� �������������:</para> - - <itemizedlist> - <listitem> - <para>��������� ����������� �� - <application>sdl2-config</application> � - <varname>BUILD_DEPENDS</varname></para> - </listitem> - - <listitem> - <para>��������� ���������� <varname>SDL2_CONFIG</varname> � - <varname>CONFIGURE_ENV</varname></para> - </listitem> - - <listitem> - <para>��������� ����������� �� ��������� ��������� � - <varname>LIB_DEPENDS</varname></para> - </listitem> - </itemizedlist> - - <para>��� �������� ������� ���������� SDL �� ������ ������ ��� ��� - ������ ���������� <varname>WANT_SDL</varname>:</para> - - <programlisting>WANT_SDL=yes - -.include <bsd.port.pre.mk> - -.if ${HAVE_SDL:Mmixer}!="" -USE_SDL+= mixer -.endif - -.include <bsd.port.post.mk></programlisting> - </sect1> - - <sect1 xml:id="using-wx"> - <title>������������� <application>wxWidgets</application></title> - - <para>��� ����� ��������� ������ ��������� - <application>wxWidgets</application> � ������ ������ � �� ���������� - � �������� ������.</para> - - <sect2 xml:id="wx-introduction"> - <title>��������</title> - - <para>���������� ��������� ������ ��������� - <application>wxWidgets</application>, ������������� ����� ����� - (������������� ����� ��� ��� �� ������). � ������ ������ ��� - �������� ������ ����� ��������� ������ ������ ��� ����������� - ��������� � �������������� ������ ������ � �������� - ��������.</para> - - <para>��������� ����������� ����� �������� ������������� ��������� - ������� ���������� ��� ���������� ������� ������. � �������, - ����������� ���������� ��� ����������� ������� ����������� � ������ - ���������� �������� �������� <command>wx-config</command>. ��� - ������ ��������� ������ ���� �������� ����� ��ϣ ���. ����������� - ���������� ��������� ���������� ��������� ��� ��������� - �������� configure ��� ��������, ����� �������� - <command>wx-config</command> ������� ��������. �� ��� ��������� - ���������� ����������� ����.</para> - </sect2> - - <sect2 xml:id="wx-version"> - <title>����� ������</title> - - <para>��� ����, ����� ��������� ��� ���� ������������ ���������� - ������ <application>wxWidgets</application>, ���������� ��� - ��������� ��� ����������� ���������� (���� ���������� ������ ����, - �� ������ ������ �������� �� ���������):</para> - - <table xml:id="wx-ver-sel-table" frame="none"> - <title>���������� ��� ������ ������ - <application>wxWidgets</application></title> - - <tgroup cols="3"> - <thead> - <row> - <entry>����������</entry> - - <entry>��������</entry> - - <entry>�������� �� ���������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>USE_WX</varname></entry> - - <entry>�������� ������, ������� ���� ����� ������������</entry> - - <entry>��� ��������� ������</entry> - </row> - - <row> - <entry><varname>USE_WX_NOT</varname></entry> - - <entry>�������� ������, ������� ���� �� ����� ������������</entry> - - <entry>���</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>�������� ��������� ������ <application>wxWidgets</application> - � ��������������� �� ������ � ������:</para> - - <table frame="none"> - <title>��������� ������ <application>wxWidgets</application></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>������</entry> - - <entry>����</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>2.4</literal></entry> - - <entry><package - role="port">x11-toolkits/wxgtk24</package></entry> - </row> - - <row> - <entry><literal>2.6</literal></entry> - - <entry><package - role="port">x11-toolkits/wxgtk26</package></entry> - </row> - - <row> - <entry><literal>2.8</literal></entry> - - <entry><package - role="port">x11-toolkits/wxgtk28</package></entry> - </row> - </tbody> - </tgroup> - </table> - - <note> - <para>������ ������� � <literal>2.5</literal> ����� ������������ - � Unicode � ��������������� ����������� ������ � ��������� ��� - ��� � ��������, �� � ��������� <literal>-unicode</literal>, �� - ���� ����� ��������� ��� ������ ���������� (�������� <xref linkend="wx-unicode"/>).</para> - </note> - - <para>���������� � <xref linkend="wx-ver-sel-table"/> ����� ���������� - � ���� ��� ����� ��������� ����������, ����������� ���������:</para> - - <table frame="none"> - <title>����������� ������ ��� - <application>wxWidgets</application></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>��������</entry> - - <entry>������</entry> - </row> - </thead> - - <tbody> - <row> - <entry>��������� ������</entry> - - <entry><literal>2.4</literal></entry> - </row> - - <row> - <entry>���������� ��������</entry> - - <entry><literal>2.4+</literal></entry> - </row> - - <row> - <entry>���������� ��������</entry> - - <entry><literal>2.6-</literal></entry> - </row> - - <row> - <entry>������ �������� (������ ���� ����������)</entry> - - <entry><literal>2.4-2.6</literal></entry> - </row> - </tbody> - </tgroup> - </table> - - <para>����� ����, ���������� ��������� ���������� ��� ������ - �������������� ������ �� ������� ���������. ��� ����� ���� - ����������� � ��������� ������, ������ �� ������� ����� ����� - ���������� ���������.</para> - - <table frame="none"> - <title>���������� ��� ������ �������������� ������ - <application>wxWidgets</application></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>��������</entry> - - <entry>��������������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>WANT_WX_VER</varname></entry> - - <entry>����</entry> - </row> - - <row> - <entry><varname>WITH_WX_VER</varname></entry> - - <entry>������������</entry> - </row> - </tbody> - </tgroup> - </table> - </sect2> - - <sect2 xml:id="wx-components"> - <title>����� �����������</title> - - <para>���������� ������ ����������, �������, ���� � �� �������� - ������������ <application>wxWidgets</application>, �� � ���� ����� - ��������� � ���. ��� ���������� ����� ������� � ���������� - <varname>WX_COMPS</varname>. �������� ��������� ����������:</para> - - <table frame="none"> - <title>��������� ���������� <application>wxWidgets</application></title> - - <tgroup cols="3"> - <thead> - <row> - <entry>��������</entry> - - <entry>��������</entry> - - - <entry>����������� ������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>wx</literal></entry> - - <entry>�������� ����������</entry> - - <entry>���</entry> - </row> - - <row> - <entry><literal>contrib</literal></entry> - - <entry>��������� ����������</entry> - - <entry><literal>���</literal></entry> - </row> - - <row> - <entry><literal>python</literal></entry> - - <entry><application>wxPython</application> - (�������� � <application>Python</application>)</entry> - - <entry><literal>2.4-2.6</literal></entry> - </row> - - <row> - <entry><literal>mozilla</literal></entry> - - <entry><application>wxMozilla</application></entry> - - <entry><literal>2.4</literal></entry> - </row> - <row> - <entry><literal>svg</literal></entry> - - <entry><application>wxSVG</application></entry> - - <entry><literal>2.6</literal></entry> - </row> - </tbody> - </tgroup> - </table> - - <para>��� ����������� ����������� ��� ������ ������� ���������� - ����� ���� ������ ������� ����� ���������� ��������, ����������� - ������ � �������. ���� ������� �����������, �� ����� ������������ - �������� �� ��������� (�������� <xref linkend="wx-def-dep-types"/>). - ��������� ���� �����������:</para> - - <table frame="none"> - <title>��������� ���� ����������� - <application>wxWidgets</application></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>��������</entry> - - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>build</literal></entry> - - <entry>��������� ��������� ��� ����������, ������������ - <varname>BUILD_DEPENDS</varname></entry> - </row> - - <row> - <entry><literal>run</literal></entry> - - <entry>��������� ��������� ��� �������, ������������ - <varname>RUN_DEPENDS</varname></entry> - </row> - - <row> - <entry><literal>lib</literal></entry> - - <entry>��������� ��������� ��� ���������� � �������, - ������������ <varname>LIB_DEPENDS</varname></entry> - </row> - </tbody> - </tgroup> - </table> - - <para>�������� �� ��������� ��� ����������� �������� ��������������� - � ��������� �������:</para> - - <table xml:id="wx-def-dep-types" frame="none"> - <title>���� ����������� <application>wxWidgets</application>, - ������������ �� ���������</title> - - <tgroup cols="2"> - <thead> - <row> - <entry>���������</entry> - - <entry>��� �����������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>wx</literal></entry> - - <entry><literal>lib</literal></entry> - </row> - - <row> - <entry><literal>contrib</literal></entry> - - <entry><literal>lib</literal></entry> - </row> - - <row> - <entry><literal>python</literal></entry> - - <entry><literal>run</literal></entry> - </row> - - <row> - <entry><literal>mozilla</literal></entry> - - <entry><literal>lib</literal></entry> - </row> - - <row> - <entry><literal>svg</literal></entry> - - <entry><literal>lib</literal></entry> - </row> - </tbody> - </tgroup> - </table> - - <example xml:id="wx-components-example"> - <title>����� ����������� - <application>wxWidgets</application></title> - - <para>��������� �������� ��������� � �����, � ������� ������������ - <application>wxWidgets</application> ������ 2.4 � ��� ���������� - ������������.</para> - - <programlisting>USE_WX= 2.4 -WX_COMPS= wx contrib</programlisting> - </example> - </sect2> - <sect2 xml:id="wx-unicode"> - <title>Unicode</title> - - <para>���������� <application>wxWidgets</application> ������������ - Unicode ������� � ������ <literal>2.5</literal>. � ������ ������ - �������� ��� ������ � ����� ���� ������� � �������������� - ��������� ����������:</para> - - <table xml:id="wx-unicode-var-table" frame="none"> - <title>���������� ��� ������ ������ - <application>wxWidgets</application> � Unicode</title> - - <tgroup cols="3"> - <thead> - <row> - <entry>����������</entry> - - <entry>��������</entry> - - <entry>��������������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>WX_UNICODE</varname></entry> - - <entry>���� �������� <emphasis>������</emphasis> � ������� - Unicode</entry> - - <entry>����</entry> - </row> - - <row> - <entry><varname>WANT_UNICODE</varname></entry> - - <entry>���� �������� � ������ ��������, �� ������������ - ������ � Unicode</entry> - - <entry>����</entry> - </row> - <row> - <entry><varname>WITH_UNICODE</varname></entry> - - <entry>���� ����� ������������ ������ Unicode</entry> - - <entry>������������</entry> - </row> - <row> - <entry><varname>WITHOUT_UNICODE</varname></entry> - - <entry>���� ����� ������������ ������� ������, ���� ��� - �������������� (����� <varname>WX_UNICODE</varname> - �� ����������)</entry> - - <entry>������������</entry> - </row> - </tbody> - </tgroup> - </table> - - <warning> - <para>�� ����������� <varname>WX_UNICODE</varname> ��� ������, - ������� ����� ������������ ��� ������. ���� �� ������, ����� - ���� �� ��������� ����������� Unicode, ���������� ������ ����� - <varname>WANT_UNICODE</varname>.</para> - </warning> - </sect2> - - <sect2 xml:id="wx-version-detection"> - <title>����������� ������������� ������</title> - - <para>��� ����������� ������������� ������ ��� ���������� ������ - ���������� <varname>WANT_WX</varname>. ���� �� �� ��������� �� - ������������ ������, �� ���������� ������� ������� ������. - ���������� <varname>HAVE_WX</varname> ����� ��������� ����� - �����������.</para> - - <example xml:id="wx-ver-det-example"> - <title>����������� ������������� ������ � ����������� - <application>wxWidgets</application></title> - - <para>��������� �������� ����� ���� ����������� � �����, ������� - ���������� <application>wxWidgets</application>, � ������ ���� - �� ���������� ��� ������ ��������������� ��������.</para> - - <programlisting>WANT_WX= yes - -.include <bsd.port.pre.mk> - -.if defined(WITH_WX) || !empty(PORT_OPTIONS:MWX) || !empty(HAVE_WX:Mwx-2.4) -USE_WX= 2.4 -CONFIGURE_ARGS+=--enable-wx -.endif</programlisting> - - <para>��������� �������� ����� ���� ����������� � �����, ������� - ����������� ��������� <application>wxPython</application>, - � ������ ���� �� ���������� ��� ������ ��������������� ��������, - � ���������� � <application>wxWidgets</application>, ��� ������ - <literal>2.6</literal>.</para> - - <programlisting>USE_WX= 2.6 -WX_COMPS= wx -WANT_WX= 2.6 - -.include <bsd.port.pre.mk> - -.if defined(WITH_WXPYTHON) || !empty(PORT_OPTIONS:MWXPYTHON) || !empty(HAVE_WX:Mpython) -WX_COMPS+= python -CONFIGURE_ARGS+=--enable-wxpython -.endif</programlisting> - </example> - </sect2> - - <sect2 xml:id="wx-defined-variables"> - <title>���������� ��� �����������</title> - - <para>��������� ���������� �������� � ����� (����� ����������� ����� - �� ���������� �� <xref linkend="wx-ver-sel-table"/>).</para> - - <table frame="none"> - <title>����������, ������������ ��� ������, ������������ - <application>wxWidgets</application></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>��������</entry> - - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>WX_CONFIG</varname></entry> - - <entry>���� � �������� <application>wxWidgets</application> - <command>wx-config</command> (� ������ ������)</entry> - </row> - - <row> - <entry><varname>WXRC_CMD</varname></entry> - - <entry>���� � ��������� <application>wxWidgets</application> - <command>wxrc</command> (� ������ ������)</entry> - </row> - - <row> - <entry><varname>WX_VERSION</varname></entry> - - <entry>������ <application>wxWidgets</application>, ������� - ����� �������������� (��������, - <literal>2.6</literal>)</entry> - </row> - - <row> - <entry><varname>WX_UNICODE</varname></entry> - - <entry>���� �� ����������, �� Unicode ����� ��������������, - �� ��� ����� ����������</entry> - </row> - </tbody> - </tgroup> - </table> - </sect2> - - <sect2 xml:id="wx-premk"> - <title>��������� � <filename>bsd.port.pre.mk</filename></title> - - <para>���� ��� ����� ������������ ���������� ��� ������� ������ - ����� ����� ����������� <filename>bsd.port.pre.mk</filename>, �� - ��� ����� ���������� <varname>WX_PREMK</varname>.</para> - - <important> - <para>���� �� ���������� <varname>WX_PREMK</varname>, �� ������, - �����������, ���������� � �������� ���������� �� ����������, � - ������ �� �������� ���������� ����� - <application>wxWidgets</application> <emphasis>�����</emphasis> - ����������� <filename>bsd.port.pre.mk</filename>.</para> - </important> - - <example xml:id="wx-premk-example"> - <title>������������� ���������� <application>wxWidgets</application> - � ��������</title> - - <para>��������� �������� ������������ ������������� ���������� - <varname>WX_PREMK</varname> ����������� ������� �������� - <command>wx-config</command> ��� ��������� ������ � ������ ������� - � ����������� �� ���������� � ��������� � ���������.</para> - - <programlisting>USE_WX= 2.4 -WX_PREMK= yes - -.include <bsd.port.pre.mk> - -.if exists(${WX_CONFIG}) -VER_STR!= ${WX_CONFIG} --release - -PLIST_SUB+= VERSION="${VER_STR}" -.endif</programlisting> - </example> - - <note> - <para>���������� <application>wxWidgets</application> ����� - ��������� ������������ � �������� ������ ����� ��� ������������� - � ������������� <varname>WX_PREMK</varname>.</para> - </note> - </sect2> - - <sect2 xml:id="wx-additional-config-args"> - <title>�������������� ��������� <command>configure</command></title> - - <para>��������� �������� GNU <command>configure</command> �� ����� - ����� <application>wxWidgets</application> ������ � ������������� - ���������� ��������� <literal>WX_CONFIG</literal>, ������ - �������������� ���������. ��� �� �������� ����� ������������ - ���������� <varname>WX_CONF_ARGS</varname>.</para> - - <table frame="none"> - <title>���������� �������� <varname>WX_CONF_ARGS</varname></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>��������� ��������</entry> - - <entry>���������� ��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>absolute</literal></entry> - - <entry><literal>--with-wx-config=${WX_CONFIG}</literal></entry> - </row> - - <row> - <entry><literal>relative</literal></entry> - - <entry><literal>--with-wx=${LOCALBASE} - --with-wx-config=${WX_CONFIG:T}</literal></entry> - </row> - </tbody> - </tgroup> - </table> - </sect2> - </sect1> - - <sect1 xml:id="using-lua"> - <title>������������� <application>Lua</application></title> - - <para>��� ����� ��������� ������ ��������� <application>Lua</application> - � ������ ������ � �� ���������� � ������� ������.</para> - - <sect2 xml:id="lua-introduction"> - <title>��������</title> - - <para>���������� ��������� ������ ��������� - <application>Lua</application> � ��������������� ���������������, - ������������� ����� ����� (������������� ����� ��� ��� �� ������). - � ������ ������ ��� �������� ������ ����� ��������� ������ ������ - � ����������� ����� � �������������� ������ ������ � �������� - ��������.</para> - - <para>��������� ����������� ����� �������� ������������� ��������� - ������� ���������� ��� ���������� ������� ������. �� ��� �������� - ����������� ��������� �������������� ������ ��� ����������� � - ������������.</para> - </sect2> - - <sect2 xml:id="lua-version"> - <title>����� ������</title> - - <para>��� ����, ����� ��������� ��� ���� ������������ ���������� - ������ <application>Lua</application>, ���������� ��� ��������� - ��� ����������� ���������� (���� ���������� ������ ����, �� - ������ ������ �������� �� ���������):</para> - - <table xml:id="lua-ver-sel-table" frame="none"> - <title>���������� ��� ������ ������ - <application>Lua</application></title> - - <tgroup cols="3"> - <thead> - <row> - <entry>����������</entry> - - <entry>��������</entry> - - <entry>�������� �� ���������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>USE_LUA</varname></entry> - - <entry>�������� ������, ������� ���� ����� ������������</entry> - - <entry>��� ��������� ������</entry> - </row> - - <row> - <entry><varname>USE_LUA_NOT</varname></entry> - - <entry>�������� ������, ������� ���� �� ����� - ������������</entry> - - <entry>�����</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>�������� ��������� ������ <application>Lua</application> � - ��������������� ������ � ������:</para> - - <table frame="none"> - <title>��������� ������ <application>Lua</application></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>������</entry> - - <entry>����</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>4.0</literal></entry> - - <entry><package - role="port">lang/lua4</package></entry> - </row> - - <row> - <entry><literal>5.0</literal></entry> - - <entry><package - role="port">lang/lua50</package></entry> - </row> - - <row> - <entry><literal>5.1</literal></entry> - - <entry><package - role="port">lang/lua</package></entry> - </row> - </tbody> - </tgroup> - </table> - - <para>���������� �� <xref linkend="lua-ver-sel-table"/> ����� ����� - ���������� �� ������ ��� ���������� ��������, ����������� - ��������:</para> - - <table frame="none"> - <title>����������� ������ <application>Lua</application></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>��������</entry> - - <entry>������</entry> - </row> - </thead> - - <tbody> - <row> - <entry>��������� ������</entry> - - <entry><literal>4.0</literal></entry> - </row> - - <row> - <entry>���������� ��������</entry> - - <entry><literal>5.0+</literal></entry> - </row> - - - <row> - <entry>���������� ��������</entry> - - <entry><literal>5.0-</literal></entry> - </row> - - <row> - <entry>������ �������� (������ ���� ����������)</entry> - - <entry><literal>5.0-5.1</literal></entry> - </row> - </tbody> - </tgroup> - </table> - - <para>����� ����, ���������� ��������� ���������� ��� ������ - �������������� ������ �� ������� ���������. ��� ����� ���� - ����������� � ��������� ������, ������ �� ������� ����� ����� - ���������� ���������.</para> - - <table frame="none"> - <title>���������� ��� ������ �������������� ������ - <application>Lua</application></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>��������</entry> - - <entry>��������������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>WANT_LUA_VER</varname></entry> - - <entry>����</entry> - </row> - - <row> - <entry><varname>WITH_LUA_VER</varname></entry> - - <entry>������������</entry> - </row> - </tbody> - </tgroup> - </table> - - <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>. - �������� ����� ���� �������������� ������������� � �������������� - ���������� <varname>WITH_LUA_VER</varname>.</para> - - <programlisting>USE_LUA= 5.0-5.1 -WANT_LUA_VER= 5.0</programlisting> - </example> - </sect2> - - <sect2 xml:id="lua-components"> - <title>����� �����������</title> - - <para>���������� ������ ����������, ������� ���� � �� �������� - ������������ <application>Lua</application>, �� ��������� � ���. - ��� ���������� ����� ������� � ���������� - <varname>LUA_COMPS</varname>. �������� ��������� ����������:</para> - - <table frame="none"> - <title>��������� ���������� <application>Lua</application></title> - - <tgroup cols="3"> - <thead> - <row> - <entry>��������</entry> - - <entry>��������</entry> - - - <entry>����������� ������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>lua</literal></entry> - - <entry>�������� ����������</entry> - - <entry>���</entry> - </row> - - <row> - <entry><literal>tolua</literal></entry> - - <entry>���������� ������� � ���� C/C++</entry> - - <entry>4.0-5.0</entry> - </row> - - <row> - <entry><literal>ruby</literal></entry> - - <entry>�������� � Ruby</entry> - - <entry>4.0-5.0</entry> - </row> - </tbody> - </tgroup> - </table> - - <note> - <para>���� � ������ ����������, �� ��� ��������� � ������� ��� - �������������� � �� ������������ ������������ (������ ������� - ��������).</para> - </note> - - <para>��� ����������� ����� ������� ��� ������� ���������� ����� - ���������� ��������, ����������� ������ � �������. � ������ - ���������� ����� ����������� ��� �� ��������� (�������� - <xref linkend="lua-def-dep-types"/>). ��������� ��������� - ����:</para> - - <table frame="none"> - <title>��������� ���� ����������� - <application>Lua</application></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>��������</entry> - - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>build</literal></entry> - - <entry>��������� ��������� ��� ����������, ������������ - <varname>BUILD_DEPENDS</varname></entry> - </row> - - <row> - <entry><literal>run</literal></entry> - - <entry>��������� ��������� ��� �������, ������������ - <varname>RUN_DEPENDS</varname></entry> - </row> - - <row> - <entry><literal>lib</literal></entry> - - <entry>��������� ��������� ��� ���������� � �������, - ������������ <varname>LIB_DEPENDS</varname></entry> - </row> - </tbody> - </tgroup> - </table> - - <para>�������� �� ��������� ��� ����������� �������� ��������������� - � ��������� �������:</para> - - <table xml:id="lua-def-dep-types" frame="none"> - <title>���� ����������� <application>Lua</application>, - ������������ �� ���������</title> - - <tgroup cols="2"> - <thead> - <row> - <entry>���������</entry> - - <entry>��� �����������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>lua</literal></entry> - - <entry><literal>lib</literal> ��� <literal>4.0-5.0</literal> - (������������) � <literal>build</literal> ��� - <literal>5.1</literal> (�����������)</entry> - </row> - - <row> - <entry><literal>tolua</literal></entry> - - <entry><literal>build</literal> (�����������)</entry> - </row> - - <row> - <entry><literal>ruby</literal></entry> - - <entry><literal>lib</literal> (������������)</entry> - </row> - </tbody> - </tgroup> - </table> - - <example xml:id="lua-components-example"> - <title>����� ����������� <application>Lua</application></title> - - <para>��������� �������� ������������� �����, ������������� - <application>Lua</application> ������ <literal>4.0</literal> - � �������� � <application>Ruby</application>.</para> - - <programlisting>USE_LUA= 4.0 -LUA_COMPS= lua ruby</programlisting> - </example> - </sect2> - - <sect2 xml:id="lua-version-detection"> - <title>����������� ������������� ������</title> - - <para>��� ����������� ������������� ������ ��� ���������� ������ - ���������� <varname>WANT_LUA</varname>. ���� �� �� ��������� �� - ������������ ������, �� ���������� ������� ������� ������. - ���������� <varname>HAVE_LUA</varname> ����� ��������� ����� - �����������.</para> - - <example xml:id="lua-ver-det-example"> - <title>����������� ������������� ������ � ����������� - <application>Lua</application></title> - - <para>��������� �������� ����� ������������ ��� �����, ������������� - <application>Lua</application>, ���� ��� �����������, ��� ��� - ������ ��������������� ��������.</para> - - <programlisting>WANT_LUA= yes - -.include <bsd.port.pre.mk> - -.if defined(WITH_LUA5) || !empty(PORT_OPTIONS:MLUA5) || !empty(HAVE_LUA:Mlua-5.[01]) -USE_LUA= 5.0-5.1 -CONFIGURE_ARGS+=--enable-lua5 -.endif</programlisting> - - <para>��������� �������� ����� ������������ ��� �����, ������� - �������� ��������� <application>tolua</application>, ���� - ����� ��������� ����������, ��� ��� ������ ��������������� - �������� � ���������� � <application>Lua</application>, ��� - ����� ������ <literal>4.0</literal>.</para> - - <programlisting>USE_LUA= 4.0 -LUA_COMPS= lua -WANT_LUA= 4.0 - -.include <bsd.port.pre.mk> - -.if defined(WITH_TOLUA) || !empty(PORT_OPTIONS:MTOLUA) || !empty(HAVE_LUA:Mtolua) -LUA_COMPS+= tolua -CONFIGURE_ARGS+=--enable-tolua -.endif</programlisting> - </example> - </sect2> - - <sect2 xml:id="lua-defined-variables"> - <title>���������� ��� �����������</title> - - <para>��������� ���������� �������� � ����� (����� ����������� ����� - �� ���������� �� <xref linkend="lua-ver-sel-table"/>).</para> - - <table frame="none"> - <title>����������, ������������ ��� ������, ������������ - <application>Lua</application></title> - - <tgroup cols="2"> - <thead> - <row> - <entry>��������</entry> - - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>LUA_VER</varname></entry> - - <entry>������ <application>Lua</application>, ������� ����� - �������������� (��������, <literal>5.1</literal>)</entry> - </row> - - <row> - <entry><varname>LUA_VER_SH</varname></entry> - - <entry>������� ����� ������ ������������ ���������� - <application>Lua</application> (��������, - <literal>1</literal>)</entry> - </row> - - <row> - <entry><varname>LUA_VER_STR</varname></entry> - - <entry>������ <application>Lua</application> ��� ����� - (��������, <literal>51</literal>)</entry> - </row> - - <row> - <entry><varname>LUA_PREFIX</varname></entry> - - <entry>�������, � ������� ����������� - <application>Lua</application> (� ����������)</entry> - </row> - - <row> - <entry><varname>LUA_SUBDIR</varname></entry> - - <entry>������� ��� <filename>${PREFIX}/bin</filename>, - <filename>${PREFIX}/share</filename> � - <filename>${PREFIX}/lib</filename>, � ������� ����������� - <application>Lua</application></entry> - </row> - - <row> - <entry><varname>LUA_INCDIR</varname></entry> - - <entry>�������, � ������� ����������� ������������ ����� - <application>Lua</application> � - <application>tolua</application></entry> - </row> - - <row> - <entry><varname>LUA_LIBDIR</varname></entry> - - <entry>�������, � ������� ����������� ���������� - <application>Lua</application> � - <application>tolua</application></entry> - </row> - - <row> - <entry><varname>LUA_MODLIBDIR</varname></entry> - - <entry>�������, � ������� ����������� ������ ���������� - <application>Lua</application> - (<filename>.so</filename>)</entry> - </row> - - <row> - <entry><varname>LUA_MODSHAREDIR</varname></entry> - - <entry>�������, � ������� ����������� ������ - <application>Lua</application> - (<filename>.lua</filename>)</entry> - </row> - - <row> - <entry><varname>LUA_PKGNAMEPREFIX</varname></entry> - - <entry>������� � ������ ������, ������������ �������� - <application>Lua</application></entry> - </row> - - <row> - <entry><varname>LUA_CMD</varname></entry> - - <entry>���� � �������������� - <application>Lua</application></entry> - </row> - - <row> - <entry><varname>LUAC_CMD</varname></entry> - - <entry>���� � ����������� - <application>Lua</application></entry> - </row> - - <row> - <entry><varname>TOLUA_CMD</varname></entry> - - <entry>���� � ��������� - <application>tolua</application></entry> - </row> - </tbody> - </tgroup> - </table> - - <example xml:id="lua-variables-example"> - <title>�������� ��� �����, ��� ������ - <application>Lua</application></title> - - <para>��������� �������� ����������, ��� �������� �����, ������� - ���������� �������� configure, ��� ����������� ������������ - ����� � ���������� <application>Lua</application>.</para> - - <programlisting> -USE_LUA= 4.0 -GNU_CONFIGURE= yes -CONFIGURE_ENV= CPPFLAGS="-I${LUA_INCDIR}" LDFLAGS="-L${LUA_LIBDIR}"</programlisting> - </example> - </sect2> - - <sect2 xml:id="lua-premk"> - <title>��������� � <filename>bsd.port.pre.mk</filename></title> - - <para>���� ��� ����� ������������ ���������� ��� ������� ������ ����� - ����� ����������� <filename>bsd.port.pre.mk</filename>, ��� ����� - ��� ����� ���������� ���������� <varname>LUA_PREMK</varname>.</para> - - <important> - <para>���� �� ������� <varname>LUA_PREMK</varname>, �� ������, - �����������, ���������� � ��� �������� ���������� �� ����� - ��������, � ������ ���� �� �������� ���������� ����� - <application>Lua</application> <emphasis>�����</emphasis> - ����������� <filename>bsd.port.pre.mk</filename>.</para> - </important> - - <example xml:id="lua-premk-example"> - <title>������������� ���������� <application>Lua</application> - � ��������</title> - - <para>��������� �������� ������������ ������������� - <varname>LUA_PREMK</varname> ����������� ������� - �������������� <application>Lua</application> ��� ����, ����� - �������� ������ � ������ �������, ��������� �� � ���������� - � �������� ���������.</para> - - <programlisting>USE_LUA= 5.0 -LUA_PREMK= yes - -.include <bsd.port.pre.mk> - -.if exists(${LUA_CMD}) -VER_STR!= ${LUA_CMD} -v - -CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}" -.endif</programlisting> - </example> - - <note> - <para>���������� <application>Lua</application> ����� ��������� - ������������ � �������� ������ ����� ��� ������������� � - ������������� <varname>LUA_PREMK</varname>.</para> - </note> - </sect2> - </sect1> - - <sect1 xml:id="using-iconv"> - <title>������������� <command>iconv</command></title> - - <para>����� 10-08-2013 (<revnumber>254273</revnumber>) - � ������� &os; 10-CURRENT � ����� ����� ������ ������� - ����������� <command role="port">iconv</command>. � ����� - ������ ������� �������������� ������������ �������� - <package role="port">converters/libiconv</package>.</para> - - <para>��� ������������ �����������, �������� ����� - <command>iconv</command>, ���������� - <literal>USES=iconv</literal>. ������ &os; �� - 10-CURRENT �� 13-08-2013 (<revnumber>254273</revnumber>) �� - ����� ������������ <command>iconv</command>. �� ���� ����� - ������ ������� ����� ������������� ��������� ����������� �� - <package role="port">converters/libiconv</package>.</para> - - <para>����� ���� ������ <literal>USES=iconv</literal>, ���������� - ���������� ��������� ����������:</para> - - <informaltable frame="none" pgwide="0"> - <tgroup cols="4"> - <thead> - <row> - <entry>��� ����������</entry> - <entry>����������</entry> - <entry>�������� �� &os; 10-CURRENT - <revnumber>254273</revnumber> (13-08-2013)</entry> - <entry>�������� ����� &os; 10-CURRENT - <revnumber>254273</revnumber> (13-08-2013)</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>ICONV_CMD</varname></entry> - <entry>������� ���������� ��������� ����� - <command>iconv</command></entry> - <entry><literal>${LOCALBASE}/bin/iconv</literal></entry> - <entry><filename>/usr/bin/iconv</filename></entry> - </row> - - <row> - <entry><varname>ICONV_LIB</varname></entry> - <entry>�������� <command>ld</command> ��� ���������� � - <filename>libiconv</filename> (���� �����)</entry> - <entry><literal>-liconv</literal></entry> - <entry>(�����)</entry> - </row> - - <row> - <entry><varname>ICONV_PREFIX</varname></entry> - <entry>������� ���������� ���������� - <command>iconv</command> (������������ ��� ��������� - ������������)</entry> - <entry><literal>${LOCALBASE}</literal></entry> - <entry><filename>/usr</filename></entry> - </row> - - <row> - <entry><varname>ICONV_CONFIGURE_ARG</varname></entry> - <entry>�������� �������������� ��������� ������������ - ��� ��������� ������������</entry> - <entry><literal>--with-libiconv-prefix=${LOCALBASE}</literal></entry> - <entry>(�����)</entry> - </row> - - <row> - <entry><varname>ICONV_CONFIGURE_BASE</varname></entry> - <entry>�������� �������������� ��������� ������������ - ��� ��������� ������������</entry> - <entry><literal>--with-libiconv=${LOCALBASE}</literal></entry> - <entry>(�����)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>� ��������� ���� �������� ��������������� �������������� - ���������� ���������� ���������� �������� ��� ������, - ������������ <package role="port">converters/libiconv</package> - ��� ����������� <command>iconv</command>.</para> - - <example xml:id="iconv-simple-use"> - <title>������� ������������� <command>iconv</command></title> - - <programlisting>USES= iconv -LDFLAGS+= -L${LOCALBASE}/lib ${ICONV_LIB}</programlisting> - </example> - - <example xml:id="iconv-configure-use"> - <title>������������� <command>iconv</command> � - <command>configure</command></title> - - <programlisting>USES= iconv -CONFIGURE_ARGS+=${ICONV_CONFIGURE_ARG}</programlisting> - </example> - - <para>��� �������� ����, <varname>ICONV_LIB</varname> ����� - ������ �������� � ����������� <command>iconv</command>. ��� - ����������� ����� ������������ ��� ����������� ������������ - <command>iconv</command> � ���������������� ����������.</para> - - <para>������ � ��������� �������� <command>ld</command> ��� ���� - ������ ֣���� ������ � <filename>Makefile</filename> ��� - �������� ������������. ��� ������� ���� �������� ����� - ������������ ��������� ������:</para> - - <example xml:id="iconv-reinplace"> - <title>����������� ֣���� ��������� - <literal>-liconv</literal></title> - - <programlisting>USES= iconv - -post-patch: - @${REINPLACE_CMD} -e 's/-liconv/${ICONV_LIB}/' ${WRKSRC}/Makefile</programlisting> - </example> - - <para>� ��������� ������� ���������� ���������� �������������� - �������� ��� ��������� �������� � ������ ������������� - ������������ <command>iconv</command>. ����� ��������� - �������� <varname>ICONV_LIB</varname> ������ ���� ������ޣ� - <filename>bsd.port.pre.mk</filename>:</para> - - <example xml:id="iconv-conditional"> - <title>�������� ����������� ������������ - <command>iconv</command></title> - - <programlisting>USES= iconv - -.include <bsd.port.pre.mk> - -post-patch: -.if empty(ICONV_LIB) - # ��������� ����������� iconv - @${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.sh -.endif - -.include <bsd.port.post.mk></programlisting> - </example> - </sect1> - - <sect1 xml:id="using-xfce"> - <title>������������� Xfce</title> - - <para>���������� <varname>USE_XFCE</varname> ������������ ��� - �������������� ������������ ������������ ��� ������, ������������ - ���������� ��� ���������� �� ������ Xfce, ����� ��� - <package role="port">x11-toolkits/libxfce4gui</package> � - <package role="port">x11-wm/xfce4-panel</package>.</para> - - <para>� ��������� ����� ������������ ��������� ���������� � ���������� - Xfce:</para> - - <itemizedlist> - <listitem> - <para>libexo: <package - role="port">x11/libexo</package></para> - </listitem> - - <listitem> - <para>libgui: <package - role="port">x11-toolkits/libxfce4gui</package></para> - </listitem> - - <listitem> - <para>libutil: <package - role="port">x11/libxfce4util</package></para> - </listitem> - - <listitem> - <para>libmcs: <package - role="port">x11/libxfce4mcs</package></para> - </listitem> - - <listitem> - <para>mcsmanager: <package - role="port">sysutils/xfce4-mcs-manager</package></para> - </listitem> - - <listitem> - <para>panel: <package - role="port">x11-wm/xfce4-panel</package></para> - </listitem> - - <listitem> - <para>thunar: <package - role="port">x11-fm/thunar</package></para> - </listitem> - - <listitem> - <para>wm: <package - role="port">x11-wm/xfce4-wm</package></para> - </listitem> - - <listitem> - <para>xfdev: <package - role="port">dev/xfce4-dev-tools</package></para> - </listitem> - </itemizedlist> - - <para>������������ ��������� �������������� ���������:</para> - - <itemizedlist> - <listitem> - <para>configenv: �����������, ���� ��� ���� ������� ���������� - ����������� �������� <varname>CONFIGURE_ENV</varname> ��� ������ - ��������� ��� ����� ���������.</para> - - <programlisting>-I${LOCALBASE}/include -L${LOCALBASE}/lib</programlisting> - - <para>����������� � CPPFLAGS � <varname>CONFIGURE_ENV</varname>.</para> - </listitem> - </itemizedlist> - - <para>�������������, ���� � ����� ������� ����������� �� - <package role="port">sysutils/xfce4-mcs-manager</package>, � - ���� ������� ����������� CPPFLAGS � ����� ��������� configure, - �� ��������� ����� ���������:</para> - - <programlisting>USE_XFCE= mcsmanager configenv</programlisting> - </sect1> - - <sect1 xml:id="using-mozilla"> - <title>������������� Mozilla</title> - - <table frame="none"> - <title>���������� ��� ������, ������������ Mozilla</title> - - <tgroup cols="2"> - <tbody> - - <row> - <entry><varname>USE_GECKO</varname></entry> - - <entry>���� �� �������� Gecko, � ������� ����� �������� - ����. ��������� ��������: - <literal>libxul</literal> (<filename>libxul.so</filename>), - <literal>seamonkey</literal> (<filename>libgtkembedmoz.so</filename>, - ����������, ������ �� ������ ��������������).</entry> - </row> - <row> - <entry><varname>USE_FIREFOX</varname></entry> - - <entry>��� ������� ����� ��������� Firefox. - ��������� ��������: - <literal>yes</literal> (������� ������ �� ���������), - <literal>40</literal>, <literal>36</literal>, - <literal>35</literal>. - �� ��������� ������������� ����������� �� ������ - <literal>40</literal>.</entry> - </row> - <row> - <entry><varname>USE_FIREFOX_BUILD</varname></entry> - - <entry>��� ���������� ����� ��������� Firefox. - ��������� ��������: �������� USE_FIREFOX. - ������������� ������������� USE_FIREFOX � ����������� - ���� �� ��������.</entry> - </row> - <row> - <entry><varname>USE_SEAMONKEY</varname></entry> - - <entry>��� ������� ����� ��������� SeaMonkey. - ��������� ��������: - <literal>yes</literal> (������� ������ �� ���������), - <literal>20</literal>, <literal>11</literal> - (��������, ������ �� ������ ��������������). - �� ��������� ������������� ����������� �� ������ - <literal>20</literal>.</entry> - </row> - <row> - <entry><varname>USE_SEAMONKEY_BUILD</varname></entry> - - <entry>��� ���������� ����� ��������� SeaMonkey. - ��������� ��������: �������� USE_SEAMONKEY. - ������������� ������������� USE_SEAMONKEY � ����������� - ���� �� ��������.</entry> - </row> - <row> - <entry><varname>USE_THUNDERBIRD</varname></entry> - - <entry>��� ������� ����� ��������� Thunderbird. - ��������� ��������: - <literal>yes</literal> (������� ������ �� ���������), - <literal>31</literal>, <literal>30</literal> - (��������, ������ �� ������ ��������������). - �� ��������� ������������� ����������� �� ������ - <literal>31</literal>.</entry> - </row> - <row> - <entry><varname>USE_THUNDERBIRD_BUILD</varname></entry> - - <entry>��� ���������� ����� ��������� Thunderbird. - ��������� ��������: �������� USE_THUNDERBIRD. - ������������� ������������� USE_THUNDERBIRD � ����������� - ���� �� ��������.</entry> - </row> - - </tbody> - </tgroup> - </table> - <para>������ �������� ��������� ���������� ����� �������� � ����� - <filename>/usr/ports/Mk/bsd.gecko.mk</filename>.</para> - </sect1> - - <sect1 xml:id="using-databases"> - <title>������������� ��� ������</title> - - <table frame="none"> - <title>���������� ��� ������, ������������ ���� ������</title> - - <tgroup cols="2"> - <thead> - <row> - <entry>����������</entry> - - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>USE_BDB</varname></entry> - - <entry>���� ���������� ����������� � <literal>yes</literal>, - ��������� ����������� �� ����� - <package role="port">databases/db41</package>. - ����� ���������� ����� ��������� ��������: 2, 3, 40, 41, - 42, 43, 44, 46, 47, 48 ��� 51. �� ������ �������� �������� - ����������� ��������, <varname>USE_BDB</varname>=42+ - ����� ������ ������������� ������ � ���������� �������, - �, ���� ������ �� �����������, �������� � 42.</entry> - </row> - - <row> - <entry><varname>USE_MYSQL</varname></entry> - - <entry>���� ���������� ����������� � <literal>yes</literal>, - ��������� ����������� �� ����� - <package role="port">databases/mysql55-client</package>. - ��� ��������� ����������, - <varname>WANT_MYSQL_VER</varname> ����� ���� ����������� - � �������� 323, 40, 41, 50, 51, 52, 55 ��� 60.</entry> - </row> - - <row> - <entry><varname>USE_PGSQL</varname></entry> - - <entry>���� ����������� � <literal>yes</literal>, ��������� - ����������� �� ����� <package role="port">databases/postgresql90-client</package>. - ��� ��������� ����������, - <varname>WANT_PGSQL_VER</varname> ����� ���� ����������� - � �������� 83, 84, 90, 91 ��� 92. �� ������ ������� - ������������ � ����������� ��������; - <varname>WANT_PGSQL_VER</varname>= - <literal> 90+</literal> ������� ���� ��������� �� - ����������� ������ 9.0.</entry> - </row> - - <row> - <entry><varname>USE_SQLITE</varname></entry> - - <entry>���� ���������� ����� �������� <literal>yes</literal>, - ��������� ����������� �� ����� <package role="port">databases/sqlite3</package>. - ���������� ����� ��������� ��������: 3, 2.</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>��������� �������� � <link xlink:href="http://svnweb.FreeBSD.org/ports/head/Mk/bsd.database.mk?view=markup">bsd.database.mk</link>.</para> - </sect1> - - <sect1 xml:id="rc-scripts"> - <title>������ � ��������� ����� (�������� <literal>rc</literal>)</title> - - <para>�������� <filename>rc.d</filename> ������������ ��� ������� ����� - ��� ������� ������� � ���� �������������� ����������� ������ - ���������, ������� � ����������� ������. ����� ������������� � - ��������� �������������� <filename>rc.d</filename>. ����������� - �� ţ ������������� ����� ����� � <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>���������� ����� ���� ��� ����� ��������� - <filename>rc.d</filename>:</para> - - <programlisting>USE_RC_SUBR= doormand</programlisting> - - <para>�������� ������� ����������� � ����������� - <filename>files</filename> � ������������ ����������� �������� - <literal>.in</literal> � ����� �����. ��� ����� ����� ����� - �������������� ����������� ���������� <varname>SUB_LIST</varname>. - ����� �������� �������������� ������������� ���������� - <literal>%%PREFIX%%</literal> � <literal>%%LOCALBASE%%</literal>. - ��������� � <varname>SUB_LIST</varname> � <link linkend="using-sub-files">��������������� �����</link>.</para> - - <para>������� � &os; 6.1-RELEASE ��������� �������� - <filename>rc.d</filename> (������� ������������� �� ������) �������� - � ����� &man.rcorder.8; �������� �������.</para> - - <para>������ �������� �������� <filename>rc.d</filename>:</para> - - <programlisting>#!/bin/sh - -# $FreeBSD$ -# -# PROVIDE: doormand -# REQUIRE: LOGIN -# KEYWORD: shutdown -# -# -# Add the following lines to /etc/rc.conf.local or /etc/rc.conf to enable doorman: -# doorman_enable (bool): Set to "NO" by default. -# Set it to "YES" to enable doorman -# doorman_config (path): Set to "%%PREFIX%%/etc/doormand/doormand.cf" by default. -# Add the following lines to /etc/rc.conf.local or /etc/rc.conf -# to enable this service: -# -# doormand_enable (bool): Set to NO by default. -# Set it to YES to enable doormand. -# doormand_config (path): Set to %%PREFIX%%/etc/doormand/doormand.cf -# by default. -# - -. /etc/rc.subr - -name=doormand -rcvar=doormand_enable - -load_rc_config $name - -: ${doormand_enable:="NO"} -: ${doormand_config="%%PREFIX%%/etc/doormand/doormand.cf"} - -command=%%PREFIX%%/sbin/${name} -pidfile=/var/run/${name}.pid - -command_args="-p $pidfile -f $doormand_config" - -run_rc_command "$1"</programlisting> - - <para>���� ��� ������� ������� ��������� ������ ������ ���� ������, - �������� ������ ������������</para> - - <programlisting>REQUIRE: LOGIN</programlisting> - - <para>���� ������ - �������� ��� ������������ ������������� (�������� �� root), �� - ��� �������� �������������. � �������� ���� �������� �����������</para> - - <programlisting>KEYWORD: shutdown</programlisting> - - <para>������ ��� - ����������� ����, ������� �� ���������� � �������� �������, ��������� - ������, � ��� ������ ��������� ����������� ��� ���������� �������. - ���� �������� �� ��������� ���������� ������, �� ��� �� �������� - �����������.</para> - - <para>��� �������������� ��������� ������������ - ���������� ���������� �� ��������� � ����� "=" - �������� ����� ���������������� �� ��������� �� ������ ":=", - ������������ �����, ��������� ������ ������������� �������� �� - ��������� ������ ���� ���������� �� �����������, � ��������� - ������������� ţ, ���� ���������� �� ����������� - <emphasis>���</emphasis> ��������. ������������ ������ ����� - �������� � ����� ����� <filename>rc.conf.local</filename> - ���-������ ����</para> - - <programlisting>doormand_flags=""</programlisting> - - <para>� ����� ���������� - ���������� ����������� ���������� � �������������� ":=", - ��� ������������� ��������� ������������. ���������� - <literal>_enable</literal> �������� ������������; ��������� - �� ��������� ������ ���� ":".</para> - - <sect2> - <title>����������� ������ ����� ��������� ���������</title> - - <para>����� ���, ��� �������� ���� �� ��������� - <filename>rc.d</filename>, � ��� ����� ����� ��� ��������, - ��������� �� ��������� ����������� �������, ����� ���������, - ��� ���� ��� ����� �����.</para> - - <para>����������� �� ���� �������� ����� ��������� ���� - <package role="port">devel/rclint</package>, �� ��� �� - �������� ������� ����������� ���������.</para> - - <procedure> - <step> - <para>���� ��� ����� ����, ������������� �� �� �� - <filename>.sh</filename>? ���� ��� ���, �� ��� ����� ������ - ���� �������� �� <filename>file.in</filename>, ��������� - ����� <filename>rc.d</filename> �� ����� ������������ - �� ����� ����������.</para> - </step> - - <step> - <para>������������ �� � ����� ��� - <literal>$FreeBSD$</literal>?</para> - </step> - - <step> - <para>������������� �� ���� ����� ��� ����� - (��� <filename>.in</filename>), ������ <literal>PROVIDE</literal> - � <literal>$</literal><replaceable>name</replaceable>? - ��� �����, ����������� � <literal>PROVIDE</literal>, �������� - �������, �������� ��� �������, ��������� � &man.rcorder.8;. - ������������ ����� ����� � - <literal>$</literal><replaceable>name</replaceable> - ����� �������� ���������, ����� ���������� ����� ��������� � - �������� � <filename>rc.conf[.local]</filename>. ��������� - ����� �������� ���, ��� �� ����� �� ������� "���������" - ��� ���� ����� ���������, ������� ��, ��� ������ � ������� - �������.</para> - </step> - - <step> - <para>�������� �� ������ <literal>REQUIRE</literal> �������� - LOGIN? ��� ������� ����������� ��� ���������, ���������� �� - ��-��� �����������������. ���� �������� ����������� ��-��� - �����������������, �� ����� �� ��� ��������� �� - <literal>LOGIN</literal>? ���� ���, �� ��� ������� ��������� - �����, ��� ����� �� ����� �������� ������������� ��������� - �������� � ��� ����� &man.rcorder.8;, ����� ����� ��� �������� - � ������� ������� ��� ����������.</para> - </step> - - <step> - <para>��������� �� �������� ���������� ������? ���� ��, �� �� - ������ ����� <literal>KEYWORD: shutdown</literal>.</para> - </step> - - <step> - <para>��������� � ���, ��� � �������� ����������� - <literal>KEYWORD: &os;</literal>. ��� ��������� ���� - ������ � ������������ ��� ����� ���. ��� ����� ������ - ����������� ����, ��� ����� �������� ��� ���������� �� - �������, ������� ������ �������� ������ ���� ������� ��� - ��������.</para> - </step> - - <step> - <para>���� �������� ���������� ���������������� ����, ����� - ��� <command>perl</command>, <command>python</command> ��� - <command>ruby</command>, �� ���������, ��� �������� - <varname>command_interpreter</varname> ����������� - ������� �������. � ��������� ������</para> - - <screen>&prompt.root; <userinput>service name stop</userinput></screen> - - <para>�������� ����� �������� �����������. �������� &man.service.8; - ��� ��������� �������������� ����������.</para> - </step> - - <step> - <para>��� �� ��������� <filename>/usr/local</filename> ���� - �������� �� <literal>%%PREFIX%%</literal>?</para> - </step> - - <step> - <para>���� �� ���������� ���������� �������� �� ��������� - ����� <function>load_rc_config</function>?</para> - </step> - - <step> - <para>������������ �� ������ ������ ��� ���������� �������� - �� ���������? ����� ���������� ������ ���� �������, �� - �������������, ��� ��� ��������� ����������������� � - ������������ � ������ �����.</para> - </step> - - <step> - <para>������������� �� � ��������� ������������ ��������, - ����������� ����������?</para> - </step> - - <step> - <para>�������� �� ��������� �� ���������, ������������� � - <replaceable>name</replaceable><varname>_flags</varname>, - �������������? ���� ��� ���, �� �� ������� ��������� - � <varname>command_args</varname>. �������� <option>-d</option> - ����� - ��� ��� ������� ���� (����� �������� �� ��������), - ��������� ������ �� ����������� ��� “�����������“ - �������� � ������� �� ����� ���� ������������.</para> - </step> - - <step> - <para>������� �� ��������� ���������� - <replaceable>name</replaceable><varname>_flags</varname> � - <varname>command_args</varname> (� ��������; � ������, ����� - ������ ����������� ����).</para> - </step> - - <step> - <para>��������� �� �������� �����-���� ��� ����������? ��� - ��������. ������ ����� ���� �����/������ ���������� � - <function>start_precmd</function>.</para> - </step> - - <step> - <para>��� ���������� ������� ������ ������������ ������� - <function>checkyesno</function>. �� ������ ���������� - �������� ��� <literal>[Yy][Ee][Ss]</literal>, � ��� �����.</para> - </step> - - <step> - <para>���� � �������� ����������� ���� (��������, �������� - ����-���� ����� �������), ������������ �� ������� ��� - ���������� �����? �� �� ����� ������������ �������� �������� - � ������ ������������� ������.</para> - </step> - - <step> - <para>������� �� �������� ����� ��� ��������, ������� ����� - ������ ����� �������? ��������, ���� <filename>pid</filename>, - ������� ������ ������������ ������������, ��-��� �������� - ����������� �������. ������ ������������ ������ - &man.touch.1;/&man.chown.8;/&man.chmod.1; ��������� �� - ������������� &man.install.1; � ����������� ����������� - ��������� ������, ��� ���� ����� ��������� ��� ��������� �� - ���� ���.</para> - </step> - </procedure> - </sect2> - </sect1> - - <sect1 xml:id="users-and-groups"> - <title>���������� ������������� � �����</title> - - <para>��������� ����� ������� � ������������� ������� ������� - ������������� ������������. �������� ��������� UID � ��������� �� 50 - �� 999 � ��������������� ��� � <filename>ports/UIDs</filename> - (��� �������������) �/��� � <filename>ports/GIDs</filename> (��� - �����). ��������������, ��� �� ����������� UID, ��� ������������ - �������� ��� ������� �������.</para> - - <para>����������, �������� � ���� ��������� ��� ���� ���� ������, - ���� ��� ��������� ������� ������ ������������ ��� ������ ��� - ������ �����.</para> - - <para>����� �� ������� ������������ � ����� <filename>Makefile</filename> - ���������� <varname>USERS</varname> � <varname>GROUPS</varname>, - � ������������ �������������� ��������� ��� ��������� �����.</para> - - <para>������� �������� ����������������� UID � GID ��������� � - <filename>ports/UIDs</filename> � <filename>ports/GIDs</filename>. - </para> - - </sect1> - - <sect1 xml:id="requiring-kernel-sources"> - <title>�����, ��������� ������� �������� ������� ����</title> - - <para>��������� ������ (����� ��� ����������� ������ ����) ��� - ���������� ����� ����� � ��������� �������� ����. ���� ������ - ���������� ������ �����������, ����������� �� ��� �������������:</para> - - <programlisting>USES= kmod</programlisting> - - <para>����� ���� ��������, <literal>kmod</literal> ��������� � - ����������� �������, ������� ������ ����������� � ���� - ������.</para> - </sect1> - - </chapter> - - <chapter xml:id="plist"> - <title>����������� �������� <filename>pkg-plist</filename></title> - <sect1 xml:id="plist-sub"> - <title>��������� ����������� <filename>pkg-plist</filename> � ����������� - �� make-����������</title> - - <para>��������� �����, � ���������, ����� <literal>p5-</literal>, ������ - ������ ���������� ����� ������ <filename>pkg-plist</filename> � - ����������� �� ����, � ������ ����������� ��� ���� ����������������� - (��� � ����������� �� ������ ����� <literal>perl</literal> � ������ - ������ <literal>p5-</literal>). ����� ��������� ���� - �������, ����� ��������� �������� ���� <literal>%%OSREL%%</literal>, - <literal>%%PERL_VER%%</literal> � <literal>%%PERL_VERSION%%</literal> - � ����� <filename>pkg-plist</filename> ����� ���������� ���������������� - ����������. ��������� <literal>%%OSREL%%</literal> �������� ����� - ������ ������������ ������� (��������, <literal>4.9</literal>). - <literal>%%PERL_VERSION%%</literal> � <literal>%%PERL_VER%%</literal> - ���������� ������ ����� ������ <command>perl</command> (��������, - <literal>5.8.9</literal>). ��������� - ������ <literal>%%VARS%%</literal>, ������� - ��������� � ������ ������������ �����, ������� � <link linkend="install-documentation">��������������� �������</link>.</para> - - <para>���� ��� ����� ������� ������ �����������, �� ������ ������� � - ���������� <varname>PLIST_SUB</varname> ������ ��� - <literal>VAR=VALUE</literal>, - � ��� ��������� <literal>%%VAR%%</literal> - � ����� <filename>pkg-plist</filename> ����� ���������� �� �������� - <replaceable>VALUE</replaceable>.</para> - - <para>��������, ���� � ��� ������� ����, ������� ������������� ����� - ������ � �������, ��������� �� ������, �� ������ ������ ����� - ����</para> - - <programlisting>OCTAVE_VERSION= 2.0.13 -PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting> - - <para>� ����� <filename>Makefile</filename> � ������������ - <literal>%%OCTAVE_VERSION%%</literal> �����, ��� ����� ������� - ����� ������ � ����� <filename>pkg-plist</filename>. ����� �������, - ��� ���������� ����� ��� �� ����� ����� ������ ������� (� � ��������� - ������� � �����) ����� � ����� <filename>pkg-plist</filename>.</para> - - <para>���� ��� ���� ������������� ����� � ������������ � �������������� - � ����� �������, �� ������� �������� ���������� �������� ���������� - ��������� <literal>%%TAG%%</literal> ��� ����� - <filename>pkg-plist</filename> � ����������� ����� - <literal>TAG</literal> � ���������� <varname>PLIST_SUB</varname> - ������ <filename>Makefile</filename> �� ����������� ��������� - <literal>@comment</literal>, ������� ��������� �������� ������������ - ������������ ��� ������:</para> - - <programlisting>.if defined(WITH_X11) -PLIST_SUB+= X11="" -.else -PLIST_SUB+= X11="@comment " -.endif</programlisting> - - <para>� � ����� <filename>pkg-plist</filename>:</para> - - <programlisting>%%X11%%bin/foo-gui</programlisting> - - <para>��� ����������� ����� ������� - ����� ����������� ����� <buildtarget>pre-install</buildtarget> � - <buildtarget>do-install</buildtarget>, ����������� ������ ����� - <filename>PLIST</filename> � ������� � ���� - <filename>TMPPLIST</filename> - (�� ��������� ��� ���� - <filename>WRKDIR/.PLIST.mktmp</filename>). ��� - ��� ���� ��� ���� ������ <filename>PLIST</filename> �� ����, ������� - ��� �� ����� ��� �� ���������� ���� - <buildtarget>pre-install</buildtarget>. ����� ����, ���� ������ ����� - ��������� ��������������� ������������ ����, ������� ��� � ���� - <buildtarget>post-install</buildtarget> ���������� ����� - <filename>TMPPLIST</filename>.</para> - - <para>������ ������ ��������� ������ ������ ����� ������� �� - ����������� �������� ���������� <varname>PLIST_FILES</varname>, - <varname>PLIST_DIRS</varname> � <varname>PLIST_DIRSTRY</varname>. - ������ �� ��� ��������������� ��� �������� ����� ��� ������ � - <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> ����� �������������� �������������� - ������ �� <varname>PLIST_DIRS</varname> � - <varname>PLIST_DIRSTRY</varname>. ��� ���� ����� ��������� - �������� � ����, <varname>PLIST_FILES</varname>, - <varname>PLIST_DIRS</varname> � <varname>PLIST_DIRSTRY</varname> - ������ ���������� �� ����, ��� ����� - ������������ <filename>TMPPLIST</filename>, �� - ���� � ���� <buildtarget>pre-install</buildtarget> ��� �ݣ - ������.</para> - </sect1> - - <sect1 xml:id="plist-cleaning"> - <title>������ ��������</title> - - <sect2 xml:id="plist-dir-cleaning"> - <title>������� ������ ���������</title> - - <para>��������� ��� ����� ������� ������ �������� ��� ��������. ������ ��� - ����������� ����������� ����� <literal>@dirrm</literal> ��� ���� - ���������, ������� ��������� ���� ������. ��� ����� ������� - ����������� �� ����, ��� �� ������� ������� ������������ - ��������.</para> - - <programlisting> - : -lib/X11/oneko/pixmaps/cat.xpm -lib/X11/oneko/sounds/cat.au - : -@dirrm lib/X11/oneko/pixmaps -@dirrm lib/X11/oneko/sounds -@dirrm lib/X11/oneko - </programlisting> - - <para>������, ������ <literal>@dirrm</literal> ����� �������� ������, - ������ ��� ������ ����� ���������� ��� �� ����� ����������. �� - ������ ������������ <literal>@dirrmtry</literal> ��� �������� - ������ ������ ��������� ��� ������ ��������������.</para> - - <programlisting>@dirrmtry share/doc/gimp</programlisting> - - <para>��� ������� �� ������� ������� ��������� �� ������� � �� ������� - ���������� ���������� ������ <command>pkg delete</command> - (��. &man.pkg-delete.8;), ���� ���� - ������� <filename>${PREFIX}/share/doc/gimp</filename> - �� ���� ��-�� ����, ��� ������ ����� ���������� ���� �����-�� - �����.</para> - </sect2> - - <sect2 xml:id="plist-dir-empty"> - <title>�������� ������ ���������</title> - - <para>������ ���������, ����������� �� ����� ��������� �����, ����� - ������ ��������. ��� �� ����� ������� ��� ��������� ������, ������ - ��� ������ �������� ������ �����, � <command>pkg add</command> - � <command>pkg install</command> ������� ��� ��� - �������� �� ���� ����������. ����� ���������, ��� ������ ������� - ��������� ��� ��������� ������, �������� ��� ������ � - <filename>pkg-plist</filename> ����� ��������������� ������� - <literal>@dirrm</literal>:</para> - - <programlisting>@exec mkdir -p %D/share/foo/templates</programlisting> - </sect2> - - </sect1> - - <sect1 xml:id="plist-config"> - <title>���������������� �����</title> - - <para>���� ��� ���� ������������� ���������������� ����� � ������� - <filename>PREFIX/etc</filename> (��� ����-�� ���), - <emphasis>��</emphasis> ������� �� �������� ������������ � ����� - <filename>pkg-plist</filename>. ��� �����ģ� � ����, ��� �� ������� - <command>pkg delete</command> ��� ��� ����� ��������� �����, - ��������� ����������������� � ����������� �������������, ����� - ����������.</para> - - <para>������ ����� ���������� ����(�) � ��������� � ����������� - <filename>filename.sample</filename>. - ����� ���������� ���� � �������� �� ����� ���������� ����� - ������������, ���� ������� �ݣ �� ����������. ��� ������������� - �������� ���� ������������ ������ � ��� ������, ���� �� ��������� - ����� � ����������� <filename>.sample</filename>. ��� - ����� ��������� ���� � <filename>Makefile</filename> � � - <filename>pkg-plist</filename> (��� ��������� �� ������).</para> - - <para>������ ����� <filename>Makefile</filename>:</para> - - <programlisting>post-install: - @if [ ! -f ${PREFIX}/etc/orbit.conf ]; then \ - ${CP} -p ${PREFIX}/etc/orbit.conf.sample ${STAGEDIR}${PREFIX}/etc/orbit.conf ; \ - fi</programlisting> - - <para>�������� �� ��� ������ � <filename>pkg-plist</filename> ��� - ������� ����������������� �����, ��� �������� ����:</para> - - <programlisting>@unexec if cmp -s %D/etc/orbit.conf.sample %D/etc/orbit.conf; then rm -f %D/etc/orbit.conf; fi -etc/orbit.conf.sample -@exec if [ ! -f %D/etc/orbit.conf ] ; then cp -p %D/%F %B/orbit.conf; fi</programlisting> - - <para>������ ������ �������� ��������������. �� ����� �������� - ���� � �������� ������������ � ������� ���������������� ������. - ������ ���������� �������� ���������� �����-���� ��������� � - ������� ����� �� ������� ������������, � ������������� ���� ���� - ����� ���� ��������� ���̣�. ��� ��� ���� � �������� �ӣ �ݣ - ������ ������������ ��� ���������, ������ <literal>@unexec</literal> - ������� ����� ������ ����� � �������� ������������. �� ����� - ���������, ���� ������� ���� ������������ �����������, �� - ���������� �� ����� � ��������. ���� � �������� ����������� - ������ ���� ���������� �� �������� �����������, ������� ������ - <literal>@exec</literal> ������� ����� ����� ����� � �������� - ������������.</para> - - <para>��� ��������� ��������������� ����������� ������ �� ����� - ����� �������� ������� �������� <literal>-s</literal> �� ������� - &man.cmp.1;.</para> - - <para>��� ��������� �������������� ��������� �� ������������� - <literal>%D</literal> � ������ �������� ����������� ���������� - � �������� ����������� &man.pkg-create.8;.</para> - - <para>���� ���������� ������������� ������� ������� �� ������������� - ������� ���� ������������ �� ���������, ������� ������ - <literal>@exec</literal> �� <filename>pkg-plist</filename> � - �������� <link linkend="porting-message">���������</link>, - ����������� �� ��, ��� ������������ ������ ����������� � - ��������������� ���� ���� ����� ���, ��� ����������� ����������� - ���Σ� ��������.</para> - </sect1> - - <sect1 xml:id="plist-dynamic"> - <title>������������ ��� ����������� ������ ��������</title> - - <para><emphasis>����������� ������ ��������</emphasis> — ��� ������ - ��������, ������� �������� � ��������� ������ ��� ��� ���� - <filename>pkg-plist</filename> (� ������������ ���������� ��� ��� - �ţ), ��� ��� ���������� � <filename>Makefile</filename> ����������� - <varname>PLIST_FILES</varname>, <varname>PLIST_DIRS</varname> - � <varname>PLIST_DIRSTRY</varname>. - ���� ���� ���������� �������� ������������� ����������� ��� ������ - ����������� ��� � ���������� ���������� ���� � Makefile - <emphasis>��</emphasis> ��������� � ��������� ������ �����������, - �� ������ �ӣ �ݣ ����� ��������� �����������, ��������� ��� - ����� ������ ��� ������������� ���������� ��� ���������� - ������������.</para> - - <para><emphasis>������������ ������ ��������</emphasis> ��� ������ - ��������, ������� ���������� �� ����� ���������� ����� � �������� - �� ������ ��������������� ������ � ���������. ������ ����� ������ - ���������� �� ����, ��� �������� ��� ������������ ���������� - ����� ������ � �������������, ��� ����� ������� - <literal>make clean</literal>.</para> - - <para>���� ������������� ������������ ������ �������� �� ���������, - �������������� ������ ������������ ����������� ������ �������� - �����, ��� ��� ��������, ��������� ��� ��������� ������������� - ��������� &man.grep.1; �� ��������� ������ ��� �����������, ��������, - ������� ���� ������������� ������������ ����. ������������ ������ - ������ ���� ������������ � �������� ��� ������� ������, ��� ������� - ��������� � ������ �������� ������������ ������� �������� �� - �������������� ������������ ����� (�, ����� �������, ����� - ������������� ����������� ������� �������� �����������), ��� ������, - ������� �������� ������ �������� �� ������ ������ ������������� - �� ������������ ����������� (��������, �����, ������� ��������� - ��������� ��� ������ <application>Javadoc</application>).</para> - </sect1> - - <sect1 xml:id="plist-autoplist"> - <title>�������������� �������� ������ ��������</title> - - <para>������ ����� ���������, ��� ��� ���� ����������� ��������� - �����ۣ� � �������� ������� ������ <filename>pkg-plist</filename>. - ����� ����� �� ������ ��������� <command>make makeplist</command> - ��� ��������������� �������� <filename>pkg-plist</filename>. - ���������� ����� ����� ������ ���� ������ �������������.</para> - - <para>���������������� ���������������� ����� ������ ���� ������� - ��� ���� ����������� ��� - <filename>filename.sample</filename>. - ���� <filename>info/dir</filename> �������� � ������ �� �����, �� - ������ ���� ��������� ��������������� ������� - <filename>install-info</filename>, ���, ��� ��� ������� � ������� � <link linkend="makefile-info">������ � ������� info</link>. ��� - ����������, ��������������� ������, ������ ���� ����������� ���, ��� - ��� ������� � ������� � <link linkend="porting-shlibs">������������ �����������</link>.</para> - </sect1> - - </chapter> - - <chapter xml:id="pkg-files"> - <title>����� <filename>pkg-*</filename></title> - - <para>���� ��������� ��ɣ��� ������ � ������� - <filename>pkg-*</filename>, ������� �� �ݣ �� - �������, �� ��� ������ ����� ���� ����� ������.</para> - - <sect1 xml:id="porting-message"> - <title><filename>pkg-message</filename></title> - - <para>���� ��� ����� ������� ��������� ��� ��������, ���������������� - ����������, �� �� ������ ��������� ��������� � ���� - <filename>pkg-message</filename>. ��� ����������� ����� ����������� - �������� ��� ������ �������������� ����� ���������, ������� ����� - ����������� ����� ���������� ������� <command>pkg install</command>, - ��� ��� ������ ���������� � ��������������.</para> - - <para>���� ������ ���������� ��������� ������ � knobs ������� ���������� - ��� ��������������, ����������� <varname>ECHO_MSG</varname>. ���� - <filename>pkg-message</filename> ������ ��� ����������������� �����. - ����� ������� ����� � ���� �������� ����� <varname>ECHO_MSG</varname> - � <varname>ECHO_CMD</varname>. ������ ������������� ��� ������ �� - ����� ��������������� ������, � ������ ��� ��������� ������:</para> - - <programlisting>update-etc-shells: - @${ECHO_MSG} "updating /etc/shells" - @${CP} /etc/shells /etc/shells.bak - @( ${GREP} -v ${PREFIX}/bin/bash /etc/shells.bak; \ - ${ECHO_CMD} ${PREFIX}/bin/bash) >/etc/shells - @${RM} /etc/shells.bak</programlisting> - - <note> - <para>���� <filename>pkg-message</filename> �� ����� ��������� � - <filename>pkg-plist</filename>.</para> - </note> - </sect1> - - <sect1 xml:id="pkg-install"> - <title><filename>pkg-install</filename></title> - - <para>���� ��� ��������� ��������� ������ �� ������� - <command>pkg add</command> ��� <command>pkg install</command> - ������ ����� ����� ��������� �����-�� �������, �� �� ������ - ��� ������� � ������� ������� <filename>pkg-install</filename>. - ���� ������ ����� ������������� �������� � ������ � ����� - ������ ����������� �������� <command>pkg</command>: ������ ��� - � ���� <literal>${SH} pkg-install ${PKGNAME} - PRE-INSTALL</literal>, � ������ ��� ��� - <literal>${SH} {PKGNAME} POST-INSTALL</literal>. - ��� ������������� ����, � ����� ������ ������� ������, ����� - ������������ �������� <literal>$2</literal>. ���������� - ��������� <envar>PKG_PREFIX</envar> ����� ��������� ��������, - ��������������� ��������, � ������� ��������������� �����.</para> - - <note> - <para>���� ������ �� ����������� �������������, ���� �� - �������������� ���� �������� <command>make install</command>. - ���� �� ��� ������������� ���������� ��� ���������, �� ��������� - ��� ���� �� ����� <filename>Makefile</filename> ����� ������� - ���� <literal>PKG_PREFIX=${PREFIX} ${SH} $ - {PKGINSTALL}${PKGNAME} PRE-INSTALL</literal>.</para> - </note> - </sect1> - - <sect1 xml:id="pkg-deinstall"> - <title><filename>pkg-deinstall</filename></title> - - <para>���� ������ ���������� ��� �������� ������.</para> - - <para>���� ������ ����� ������ ����������� �������� - <command>pkg delete</command>. - ������ ��� ��� <literal>${SH} pkg-deinstall - ${PKGNAME} DEINSTALL</literal>, � ������ ��� ��� - <literal>${SH} pkg-deinstall ${PKGNAME} - POST-DEINSTALL</literal>.</para> - </sect1> - - <sect1 xml:id="pkg-names"> - <title xml:id="porting-pkgfiles">��������� �ͣ� ������ - <filename>pkg-*</filename></title> - - <para>��� ����� ������ - <filename>pkg-*</filename> - ������������ � ������� ����������, ��� ��� �� ������ �������� ��, - ���� ��� �����, � ����� ����� <filename>Makefile</filename>. ��� - �������� �������, ���� �� ����������� ���� � �� �� ����� - <filename>pkg-*</filename> - ��������� ����� ����������� ������� ��� - ������ � ���� �� ����������������� ������ (� ����� � <link linkend="porting-wrkdir">������ � ��������, �������� �� - <varname>WRKDIR</varname></link> ���������, ������ �� ������������� - ������������ ������ ��������������� � ����� - <filename>pkg-*</filename>.</para> - - <para>��� ������ �ͣ� ���������� � �� �������� �� ���������. (�������� - <varname>PKGDIR</varname> �� ��������� ����� - <varname>${MASTERDIR}</varname>.)</para> - - <informaltable frame="none" pgwide="0"> - <tgroup cols="2"> - <thead> - <row> - <entry>����������</entry> - - <entry>�������� �� ���������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>DESCR</varname></entry> - <entry><literal>${PKGDIR}/pkg-descr</literal></entry> - </row> - - <row> - <entry><varname>PLIST</varname></entry> - <entry><literal>${PKGDIR}/pkg-plist</literal></entry> - </row> - - <row> - <entry><varname>PKGINSTALL</varname></entry> - <entry><literal>${PKGDIR}/pkg-install</literal></entry> - </row> - - <row> - <entry><varname>PKGMESSAGE</varname></entry> - <entry><literal>${PKGDIR}/pkg-message</literal></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>����������, ��������� �������� ���� ����������, � �� - ��������������� <varname>PKG_ARGS</varname>. ���� �� �������� - �������� ���������� <varname>PKG_ARGS</varname>, �� ��� ����� ��� - ��������� �� ����� ����� ����������� � ������� - <filename>/var/db/pkg</filename> �����������.</para> - </sect1> - - <sect1 xml:id="using-sub-files"> - <title>������������� <varname>SUB_FILES</varname> � - <varname>SUB_LIST</varname></title> - - <para>���������� <varname>SUB_FILES</varname> � - <varname>SUB_LIST</varname> �������� ��� ������� � ������ ����� - ������������ ��������, ����� ��� <varname>PREFIX</varname> ��������� - � <filename>pkg-message</filename>.</para> - - <para>� ���������� <varname>SUB_FILES</varname> ����������� �������� - ������ ��� ��������������� ���������. ������ - <replaceable>file</replaceable> �� ������� <varname>SUB_FILES</varname> - ������ ����� ��������������� - <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> - ��������������� ��������������� ���������� Makefile, ����������� �� - ������������ ������.</para> - - <para>���������� <varname>SUB_LIST</varname> �������� �������� ��� - <literal>VAR=VALUE</literal>. � ������ ����� �� - <varname>SUB_FILES</varname> ��� ������ ���� ����� ����������� - ������ <literal>%%VAR%%</literal> �� <literal>VALUE</literal>. - ��������� ����� ���� ������������ �������������: - <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> - - <para>� ��������� ������� � <filename>pkg-message</filename> - ����� ������� ������ <literal>%%ARCH%%</literal> �� ��������� - �����������:</para> - - <programlisting>SUB_FILES= pkg-message -SUB_LIST= ARCH=${ARCH}</programlisting> - - <para>�������� ��������, ��� � ���� ������� � <varname>FILESDIR</varname> - ����������� ������������� ����� <filename>pkg-message.in</filename>. - </para> - - <para>������ �������� <filename>pkg-message.in</filename>:</para> - - <programlisting>Now it's time to configure this package. -Copy %%PREFIX%%/share/examples/putsy/%%ARCH%%.conf into your home directory -as .putsy.conf and edit it.</programlisting> - - </sect1> - </chapter> - - <chapter xml:id="testing"> - <title>������������ ������ �����</title> - - <sect1 xml:id="make-describe"> - <title>������ <command>make describe</command></title> - - <para>��������� ������� &os; ��� ������������� ������, ��������, - &man.portupgrade.1;, ��������� �� ���� ������ � ������ - <filename>/usr/ports/INDEX</filename>, � ������� ������������� ����� - �������������� ������, ��� �� �����������. ���� - <filename>INDEX</filename> ��������� ��� ������ - <filename>ports/Makefile</filename> �������� ������ �� ������� - <command>make index</command>, ������������ � ���������� ������� - ����� � ����������� � Σ� <command>make describe</command>. ����� - �������, ���� ���������� <command>make describe</command> � - �����-���� ������ ���������� ��������, �� ������ �� ������� ������� - <filename>INDEX</filename>, ��� ���� ����� ����� ������ ������ - ���������.</para> - - <note> - <para>����������� ������������ ���� ���� ����� ����� ��� ����������� - �� ����, ����� ��������� ������������ � - <filename>make.conf</filename>, �������, ����������, ���������, - ����� �����, ��� ������������� ���������� - <literal>.error</literal>, ����� (� �������) ���������� � - ����������� �� ���� �������������. (�������� - <xref linkend="dads-dot-error"/>.)</para> - </note> - - <para>���� ������� <command>make describe</command> ������ �������, � - �� ������, �� ��� ��� ��� ����ģ� �������������. ���������� � ����� - <filename>bsd.port.mk</filename>, ����� �������� �������� ���������� - �����.</para> - - <para>�������� �����, ��� ������ ��������� ������ - <command>portlint</command> (��� ������� � ��������� �������) - �����ģ� � ��������������� ������� ������� - <command>make describe</command>.</para> - </sect1> - - <sect1 xml:id="testing-portlint"> - <title>Portlint</title> - - <para>��������� ���� ������ �������� <link linkend="porting-portlint"><command>portlint</command></link> - ����� ���, ��� ţ �������� ��� ��������� � ������ ������. - <command>portlint</command> ������������� ��� � ������ - ����������Σ���� �������, ��� ��������������, ��� � ��������������. - ��� ������ (��� �������������� ������ ���������) ����� ����� - ���������� �������� ������ <command>portlint -A</command>; ��� - ��� ������������� ����� ���������� ����� ��������� - <command>portlint -C</command>.</para> - - <para>��� ��� ��� ����������� ������ <command>portlint</command> - ���������� ������������� ������, �� �� ����� ���������� � ��������� - ��������������. ����� ����, ����� �� ������� �����, ���������� ��� - ��������������, ��-�� ����������� ��������� �������� ������ �� ����� - ���� ������� ����� �����. ���� �� ������������, �� ����� ����� - �������� � &a.ports;.</para> - </sect1> - - <sect1 xml:id="testing-porttools"> - <title>Port Tools</title> - - <para>��������� <package role="port">ports-mgmt/porttools</package> - ������ � ������ ��������� ������.</para> - - <para><command>port</command> �������� ��������� ��������� �����, - ������� ����� ��������� ��� ������ ������������. ���� �� ������ - ��������� ����� ���� ��� �������� ������������, �� �� ������ - ������������ <command>port test</command> ��� �������� ������ �����, - ������� �������� <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 xml:id="porting-prefix"> - <title><varname>PREFIX</varname> � <varname>DESTDIR</varname></title> - - <para>���������� <varname>PREFIX</varname> ����������, ���� ����� - ���������� ����. �� ��������� ��� <filename>/usr/local</filename>, - �� ����� �������� ������������� �� ����������� ����, ����� ��� - <filename>/opt</filename>. � ����� ����� �������� ���� ���������� - ������ �����������.</para> - - <para>���� ������������ ��������� ���������� <varname>DESTDIR</varname>, - �� ��� ���������� ������ �������������� ���������, ������, ��� jail - ��� ������������� �������, �������������� � �����, �������� �� - <filename>/</filename>. �� ����� ���� ���� ��������������� � - <filename>DESTDIR/PREFIX</filename> - � �������������� � ���� ������ ������� � - <filename>DESTDIR/var/db/pkg</filename>. - ��������� ���������� <varname>DESTDIR</varname> ������������ - ������������� ��������������� ������ � ������� &man.chroot.8;, ��� - �� ����� ������� ��������� ��� ���������� ������ ������������ - ��� ��������� <varname>DESTDIR</varname>-����������� ������.</para> - - <para>�������� ���������� <varname>PREFIX</varname> ����� ����������� - � <varname>LOCALBASE</varname> (�� ��������� - <filename>/usr/local</filename>). ���� - ������ ���������� <varname>USE_LINUX_PREFIX</varname>, �� - <varname>PREFIX</varname> ������ �������� <varname>LINUXBASE</varname> - (�� ��������� <filename>/compat/linux</filename>).</para> - - <para>��������� ���� ������������� ����� <filename>/usr/local</filename> - � �������� ���� ������� ���� ������� ����� ������ � ��������� - ������������� ����������� ������ ��������. ����� ����� ����� - �������� ������� ������� ����� <filename>/usr/local</filename> - � ��������� ������ <filename>Makefile</filename> ������ ����� �� - <literal>${PREFIX}</literal>. ��� ���������� - ������������� ���������� ����� �� ������ ����� ���������� � - ���������.</para> - - <para>���������, ��� ���� ���������� �� ������������� ����-���� � - ������� <filename>/usr/local</filename> ������ - <varname>PREFIX</varname>. ������� ���� ��������� ����� ����� ������ - ��������� ��������� �������:</para> - - <screen>&prompt.root; <userinput>make clean; make package PREFIX=/var/tmp/`make -V PORTNAME`</userinput></screen> - - <para>���� ���-�� ���� ����������� �� ��������� - <varname>PREFIX</varname>, �� ������� �������� ������ ������� �� - ���������� ������.</para> - - <para>��� ����� ����� ��������� � �������������� ��������� - �������� ������ (�������� <xref linkend="staging"/>):</para> - - <screen>&prompt.root; <userinput>make stage && make check-orphans && make package</userinput></screen> - - <para>��� �������� �� ������ ���� ��������� ����� ������ ������ ����� - � �� �������� ������������ ������������� <varname>LOCALBASE</varname> - � �������� ������ �� ����� �� ������ ������. ����, �������� - ������������� � <filename>/var/tmp/`make -V PORTNAME`</filename>, - ������� ��������� �� �����������������, ����� ��������� � ���������� - ������� � ������.</para> - - <para>���������� <varname>PREFIX</varname> �� ������ ���������� ���� � - ����� <filename>Makefile</filename> �����. ������������ ��� ��������� - ����� ����� ������ � <varname>PREFIX</varname> ���� ����������� - �����, � ���� ������ ��������� ��� ��������.</para> - - <para>���������� � ����������/������ �� ������ ������ � - �����������, �������������� ����, ��� �������� ����� ���������. - ��������, ���� ��� ���� �������, ����� ������ <literal>PAGER</literal> - ������� ������ ����� ������� <command>less</command>, �� ����������� - ��������� ���� <filename>/usr/local/bin/less</filename>. ������ - ����� ����������� <literal>${LOCALBASE}</literal>:</para> - - <programlisting>-DPAGER=\"${LOCALBASE}/bin/less\"</programlisting> - - <para>���� � �������������� <varname>LOCALBASE</varname> ����� ������ - ������ ���������� ���������������, ���� ��������� ������������� - ���������� �ӣ ������ <filename>/usr/local</filename> ����-�� � ������ - �����.</para> - </sect1> - - <sect1 xml:id="testing-tinderbox"> - <title>Tinderbox</title> - - <para>���� �� ������ ����������� ������, �� �� ������ �������� - ��������� �� <application>Tinderbox</application>. ��� ������ - ������� ���������� � ������������ ������. - <application>Tinderbox</application> ����� ����������, ��������� - ���� <package role="port">ports-mgmt/tinderbox</package>. - ����������� ���������� ������������ ������������, ��������� - ������������ �� �������� �����������.</para> - - <para>��� ��������� ������������ �������� - <link xlink:href="http://tinderbox.marcuscom.com/">������� Tinderbox</link>.</para> - </sect1> - - <sect1 xml:id="testing-poudriere"> - <title>Poudriere</title> - - <para>���� �� ����������� ������, ��������� �� ��������� - <application>poudriere</application>. ��� ������ ������� - ��� ���������� � ������������ ������. - <application>Poudriere</application> ����� ���������� �� - <package role="port">ports-mgmt/poudriere</package>.</para> - - <para>��� ��������� ��������� ���������� �������� <link - xlink:href="http://fossil.etoilebsd.net/poudriere">������� - Poudriere</link>.</para> - </sect1> - </chapter> - - <chapter xml:id="port-upgrading"> - <title>���������� ���������� �����</title> - - <para>���� �� ��������, ��� ��� ���� ������� �� ��������� � ��������� - ��������� �������, ������ ����� �� ������ �������� ����� - ��������� ������ �����. �� ������ ����� �� � �������� - <filename>ports/ports-current</filename> �� ���������� FTP-�������� &os;. - ������ ���� �� ��������� � ���������� ������� ����������� ������, - ��������, ����� ����� ������������ - <application>Subversion</application> ��� &man.portsnap.8; ��� - ����������� ���� ��������� ������ � ���������� ���������, ��� ��� - ������� � <link xlink:href="&url.books.handbook;/ports-using.html"> - �����������</link>. � ���� �� ��� ���� ����������� ����������� ��� - ����������� ������.</para> - - <para>�� ��������� ���� ���������� ��������, ��� ������� �� ��� ��� - ���������� ����� �������. ��� ����� � ��� ���� ��� �����������. - ���������� ��������� � <link xlink:href="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">���� - ������ ��������� � ��������� FreeBSD (PR)</link> (��������� ����� ��� - <literal>GNATS</literal>) � ���������� �������������. �������� �� - ����������� ������ <literal>ports</literal> � ������� �������� - �����.</para> - - <para>������ ������ ���� �������� ��������� �������� ����� � ���� - Synopsis � ������ ����. � ����� ������ �� ������ ��������������� - <link linkend="portsmon">�������� ����������� ������ &os;</link> - (������� �������� ����� ��� - <literal>portsmon</literal>). � ������ ���� ������� �������� ������� - ���������������� PR, ���������� ������, �� ����� �����. ��� ������ - PR, ����������� � ������̣����� �����, ����������� �������� <link xlink:href="http://portsmon.FreeBSD.org/portoverview.py">��������� - �� ������ �����</link>.</para> - - <para>���� ����� ���������� PR �� ����������, �� �� ��������� ����� - ������� ������� ��������� ����������� ����� ��������, ��������������� - ����, ������� �������� �� ������� <command>make maintainer</command>. - ���� ������� ����� ��� �������� ��� �����������, ��� ����� - ������� �� ��������� ���� ����� ������ (��������, ��-�� ������� �� - ������������� ���������������� ����� ������); - ��� ��� ����� ����������� �� ������. ��������, ��� ���������������� - ����� ������������� � ������� ��������������� - <literal>ports@FreeBSD.org</literal>, ������� �������� ����� ���� - ������� ������ ������ ��������, ��� ��� �������� ���� ���������, - ������ �����, � ������ ������ �� �������.</para> - - <para>���� �������������� ������ ��� ��������� ����������, ���� - �������������� �����������, �� � ��� ���������� ���� ������ &os;, - ���������� ���������� �����! ����������, ������� ��� � �������������� - ������� &man.diff.1; � �������� �������.</para> - - <para>����� ������� ���������� <command>diff</command> ��� ������ �����, - ���������� ����, ������� ����� ����������, � - <replaceable>something.orig</replaceable>, ��������� ���� ��������� � - <replaceable>something</replaceable>, � ����� �������� ���� ����:</para> - - <informalexample> - <screen>&prompt.user; <userinput>diff -u something.orig something > something.diff</userinput></screen> - </informalexample> - - <para>� ��������� ������, ��� ������� ��������������� ������� - <command>svn diff</command> (<xref linkend="svn-diff"/>), ���� - ����������� ���������� ����� � - ��������� ������� � ��������� ��������� ����������� ������� &man.diff.1; - ����� ����� � ������ ���������� ����� (��������, ���� ������� � - ���������������� ������ ���������� <filename>superedit</filename>, - � ������������, ����������� � ����������� � ����� ������ ������, - <filename>superedit.bak</filename>, �� ��������� ��������� ���������� - ������� <command>diff -ruN superedit.bak superedit</command>). - �����ģ� ��� ���������������, ��� � ����������� ����, ������ ���������� - ������ ������ ������������ ��������������� ������. �������� - ������������� ����� <literal>-N</literal>—��� ���������� ������ - ��������� diff ��������� �������� � ������ ���������� ����� ������ ��� - �������� ������. ����� ���, ��� �������� ��� diff-����, ����������, - ��������� ���, ����� ��������� � ���������� ���� ���ӣ���� - ���������. (� ���������, ���������, ��� �� �������� ������� �������� - �������� <command>make clean</command>).</para> - - <para>��� ��������� ������������� �������� � ������� �������� - �� ������ ��������������� �������� - <filename>/usr/ports/Tools/scripts/patchtool.py</filename>. ����� ���, - ��� ��� ���������, ����������, �������� - <filename>/usr/ports/Tools/scripts/README.patchtool</filename>.</para> - - <para>���� ���� ����� �� ��������������, � �� ������� ��� �����������, - ����������, ��������� ��� ���, ����� ����������� ����� ��� - ��������������. �� &os; ������� ����� 4000 ������ ��� ���������, � ��� - ��� ��� �� �������, ��� ������ ����� �����������. (��������� �������� - ������������ ��������������� ����� ����� � ������� � <link xlink:href="&url.books.developers-handbook;/policies.html#POLICIES-MAINTAINER"> - ����������� ������������</link>.)</para> - - <para>����� ����� ������� ��� diff-����, ������� ��� � ������� �� ������� - &man.send-pr.1; (��������� <literal>ports</literal>). ���� �� - ������������� ����, - ����������� ��������� ����� <literal>[maintainer update]</literal> � - ������ ������ �������� � ������� � ���� <quote>Class</quote> - ������ PR ������� <literal>maintainer-update</literal>. - � ��������� ������ � ���� <quote>Class</quote> ������ PR ������ ���� - ������� <literal>change-request</literal>. ������ �����, � ��������� - �������� ��� ����������� ��� ���̣���� �����, ��� ��� ��� ����� - ��������������� ������� &man.svn.1; ��� ���������� �������� �������. - ���� diff-���� ����� ������, ����������� 20��, ������� ��� � ����������� - �������� uuencode; � ��������� ������ ������ �������� ��� ��� ���� - � PR.</para> - - <para>������ ��� ������������ &man.send-pr.1; ����������� ������ - � <link xlink:href="&url.articles.problem-reports;/pr-writing.html">��������� - ��������� � ���������</link> � ������ � ���������� �� �������. �� - �������� ������� ������ ���������� � ���, ��� ������ �������� ��������� - � ���������.</para> - - <important> - <para>���� ���������� ������� ������������� �������������� - ������������ ��� �������� ���أ���� ������ � ��������� �����, - ����������, ���������� &a.portmgr; � ������������� ������������ - �������������� � ���������� ��������������� ������ ������� �����. - � ��������� ������ ������ �� ������������� ������������ - <command>pkg</command> ����� ���������� ������������� ������ - ������ �� ������� <command>pkg install</command> � ������� - �ݣ ���������� ������.</para> - </important> - - <note> - <para>��������� ��� ��� - ��� ������� ���������� ������������ ������ - ����������� ������� &man.diff.1;, � �� &man.shar.1;! ��� ������� - ������ ����������� ������, ��� ������ ���� ��������.</para> - </note> - - <para>������, ����� �� ��������� �ӣ ���, ���������� � ���, ��� - ������������ ���������� ���������, � <xref linkend="keeping-up"/>.</para> - - <sect1 xml:id="svn-diff"> - <title>������������� <application>Subversion</application> ��� - �������� ������</title> - - <para>�� ����������� ���������� ����������� � ������� &man.svn.1; diff. - � ����� ���� �� ����� ������������ �� ��������� � �������� ����� - <quote>������ � �����</quote> ����������. ��� ����� - ������� ��������� � �������� �� � ������, ���� ���-������ - ���������� � ��������� ������ � ��� ���, ��� �� ������ ������, - ���� ���� ��������� ������ ���-�� ���������.</para> - - <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>/usr/ports/</filename>.</para> - </callout> - - <callout arearefs="svn-FreeBSD-org"> - <para><link xlink:href="https://svn0.us-west.FreeBSD.org/">svn0.us-west.FreeBSD.org</link> - — ��� ������������� ������ - <application>Subversion</application>. - �������� ��������� ������� � ��������� ���������� - �������������� ������� �� ������� � ������� <link xlink:href="&url.books.handbook;/svn-mirrors.html">������������� - ������ Subversion</link>.</para> - </callout> - </calloutlist> - - <para>�������� � ������� ��������, ������� ����� ���������, ������� - ������ ������ ��� �����. ��� ���������� ��� �������� ����� - ����������� <command>svn</command> ��� ������������ ���� - ���������:</para> - - <screen>&prompt.user; <userinput>svn add new_file</userinput> -&prompt.user; <userinput>svn remove deleted_file</userinput></screen> - - <para>���������, ��� �� ���������� ���� � ������������ � ������������� - �������� ��������, ��������� � <xref linkend="porting-testing"/> � - <xref linkend="porting-portlint"/>.</para> - - <screen>&prompt.user; <userinput>svn status</userinput> -&prompt.user; <userinput>svn update</userinput> <co xml:id="svn-update"/></screen> - - <calloutlist> - <callout arearefs="svn-update"> - <para>��� ������� ���������� ��������� ������� �������� ����� - ����� ������ � ������� ������� �����������; ����������� ��������� - ���������� �����. ����� ����� ��������� ������� ����� �������� - ��� ���������, ���������� � ���� ������. ��� ��������� ������� - ������ �������� <xref linkend="table-svn-up"/>.</para> - </callout> - </calloutlist> - - <table pgwide="1" frame="none" xml:id="table-svn-up"> - <title>�������� ������ ��� <application>Subversion</application> - update</title> - - <tgroup cols="2"> - <tbody> - <row> - <entry>U</entry> - - <entry>���� �������� ��� �������.</entry> - </row> - - <row> - <entry>G</entry> - - <entry>���� �������� ��� ������� (�� ������� ��� ������ - ��� ������ � ��������� ������������).</entry> - </row> - - <row> - <entry>M</entry> - - <entry>���� � ���������� �����������, ������� ��������� - ��� ����������.</entry> - </row> - - <row> - <entry>C</entry> - - <entry>���� � ���������� �����������, ������� ��������� - � �����������.</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>���� � ���������� ���������� <literal>svn update</literal> - ������������ <literal>C</literal>, �� ��� ��������, ��� ���-�� - ���������� � ����������� <application>Subversion</application> - � &man.svn.1; �� ������ ��������� - ������� ��������� ��������� � ����������� �� �����������. - � ����� ������ ������� �� �������� ����������� ���������, - ��������� &man.svn.1; ������ �� ����� � ���, ����� ������ ���� - ����, ������� ��� ������� ����� (�, ��������, �����) ������ - ������� ��� ���������, ������� �� ����� ������.</para> - - <para>��������� ����� �������� �������� ���������������� &man.diff.1; - ��� ���������� ���������:</para> - - <screen>&prompt.user; <userinput>svn diff > ../`basename ${PWD}`.diff</userinput></screen> - - <note> - <para>���������� � ����� ��������� ������ ������ ���� ����� - ������� ������� � PR, ��������� ������������� � �������� - ����� ��� ���������� ����� ���� ����������.</para> - </note> - - <para>���������� ���� ����� � ������������ � ������������, ��������� � - <xref linkend="port-upgrading"/>.</para> - </sect1> - - <sect1 xml:id="moved-and-updating-files"> - <title>����� <filename>UPDATING</filename> � - <filename>MOVED</filename></title> - - <para>���� ��� ���������� ����� ��������� ����������� ����, ����� ��� - ��������� ������ ������������ ��� ������ ����������� ���������, - �� ��� ������� ��� ����������������� � ����� - <filename>/usr/ports/UPDATING</filename>. ������ ������ � ���� - ����� ���������� ����:</para> - - <programlisting>YYYYMMDD: - AFFECTS: users of portcategory/portname - AUTHOR: Your name <Your email address> - - Special instructions</programlisting> - - <para>���� �� ��������� ������ ���������� portmaster ��� portupgrading, - ����������, ��������� � ���������� ������������� �������� ������ - ��������� ��������.</para> - - <para>���� <filename>/usr/ports/MOVED</filename> �������� ������ - �� ���̣���� ��� ������ݣ���� ������. ������ ������ � ���� - ����� ������� �� �����: �������� �����, �����, ���� �� ��� - ������ݣ�, ���� � ������� �����������. ���� ���� ��� ���̣�, - �� ����, ����������� ����� �����, ����� ���������� �������������. - ���� ������ ����������� �������� <literal>|</literal> (pipe), - ��� ��� �������� ����:</para> - - <programlisting>old name|new name (blank for deleted)|date of move|reason</programlisting> - - <para>���� ������� ������� � ������� <literal>YYYY-MM-DD</literal>. - ����� ������ ������� ��������� � ����� ����� � ��������������� - �������.</para> - - <para>���� ���� ��� ������ݣ�, �� � ���������� ������������ �� - ������� �����, ������� � ���� ����� ������, ���������� - ���������� � �����������.</para> - - <para>���������� ��������� ����� ��������� �������� - <command>Tools/scripts/MOVEDlint.awk</command>.</para> - </sect1> - </chapter> - - <chapter xml:id="security"> - <title>������������ ������</title> - - <sect1 xml:id="security-intro"> - <title>������ ������������ ��� �����</title> - - <para>������ � ����������� ����������� ���������� ��������. ��������, - ����� ������� �� ��� ��, ��� ������� ���������� ������������. � - ����������� ����� ������ �������� ���������� ������ ���� ������� - ����� ����������� ���������� �� ������. ��� �� �����, �������� - ��������� �������������� ������ � ����������� ����� �����������. - </para> - - <para>������� ��������� ������ ����������� ������ ��� �������������, - ������� ����������� ��������� ���������� ��������, ������������ ��� - ������. ����������� � �������� ����� �������� ����, � ������ ����� - ������ ������������ �����������, ���������� �� ������, �� ����������� - ������������� �� ��������� ������ ����� �� ���������� ����������, - ��������� ��� ������ ������� � ��� �� �����������. ����������� - ������, ������� ����� ��������� � ������ ������, ������������ - ��������� ��������. ��� �� �����, ������������������ ������������ - �����, ��� ����������� ��������� ������������, � ����� ��� ����������� - ������, ������ ����� �������� � ������ ������, ������� ��� ��������� - ��������� ����������� ������ ������; �������������, ����������� - ������ ����� ���������� ����� �����.</para> - - <para>� ����������� ������������ �ӣ �����. ��-������, ��� ����� - ����������� �������������� ����� ����, ������ ��� ���� ����� �� - �������� ������ � ������. ��-������, �������� ��������������� - ����� ������������ �� ��� ��������� ����������������� ������� � - �������� �������, ���������� ��� ��������� ������ ������; � ������ - ������ ������������ ���� �� ������� ���������� ����. �-�������, - ����� �������� ������� ����� �������� ������ ������������� ��������� - � ������ �������, ������� �� ����� ���� ����������������� �����. - ����� �������, ���������� ���������� ��� ������� ������������: - ������� ��������� ���� ���������������� ����������� � �������� - �������� � ������������� �����, ��� �������� ������� ���� � - ����������� ���������� ����.</para> - </sect1> - - <sect1 xml:id="security-fix"> - <title>����������� ����������� ������������</title> - - <para>��� �������� ������ � �������, ���������� ������������ - ���������� ����� ��������� � �������� ������������ ��� ������ - �����. � ������ ������, ����������� ��������� ������������ - ����������� ������ ����� ����� �� �������� ���� ��� ����� ������, - � ��� ���� ����������� ����� �������� ���� � ������������ � - ������������ ������. ���� ����������� �� �����-�� ������� - �������������, ��� ������� ���� <link linkend="dads-noinstall">�������� - ���� ��� <varname>FORBIDDEN</varname></link>, ���� �������� � ���� - ��� ����������� ����. � ������ ���������� ����� ������ ��������� - ���� ���� ��� ����� ������. � ����� ������ ����� ��������� - <link linkend="port-upgrading">����������� ��������� �������� ������ - ���������</link>, ���� �� �� ��������� ������� �� ������ ��������� - ��������������� � ������ ������.</para> - - <important> - <para>���� ����������� ������ ������������ ��� ������� ������������� - �����. �������, ��� ������ � ������ ���� ��������������, ������ - ������� �� ������ ���������.</para> - </important> - - <para>����������, ���������, ��� ������� ����� ����� �������� - ���������� ���������. ��� ��� ������������, ����������� - ������������� ������ �� ���������� ������, ������, ��� �� ����� - ��������� ����������. ����� ����, ����� ����� ����� ������ � - ������������� ����� FTP � WWW �������, ������� ��������. - ���� � �������� ����������� ���������� �� ���� �������� �������� - <varname>PORTVERSION</varname>, �� ������ ���� ��������� �������� - <varname>PORTREVISION</varname>. ��� ������� ��������� �������� - <varname>PORTREVISION</varname> ����� ���������� � ���� ����� � - ������, �� �� ����� �� �������� ���� �� ��������� ������ - ������������ �����������, ������� �������� ��� ���� - <varname>PORTVERSION</varname>. �� ���������� ����������� - ����������� � - <link linkend="makefile-naming-revepoch">���������������� - �������</link>.</para> - </sect1> - - <sect1 xml:id="security-notify"> - <title>����������� ���������� �����������</title> - - <sect2 xml:id="security-notify-vuxml-db"> - <title>���� ������ VuXML</title> - - <para>����� ������ � �������������� ����� ��� �������� ��� ����� - ������ ����� ��������� ���������� �������� ����������� ���������� - ������������� ����� �� ���������. ����� ����������� ������ ���� - �����. ��-������, � ������ ������������� ��������� ������, ����� - ������������ ��������� ���������� �����������. ��������, ���������� - ������������� ������� ������ ��� ���� ������� ���� �������, - ���� ���������� �� ����� ���������. ��-������, ����� - ������������� ����� ��������� ��������� ������������� ������ ������ �� - ������ � ������. �� ����������� ��� ������, ��� - <emphasis>������</emphasis> �������� ����� ��� ����������� ����� - �� ����� ��������� ������������ ������.</para> - - <para>�������� �������� ����� ������ � ������, ���������� �� - ������� ������ ��������� ��������� ������������ ��� �������� - ����� � ������ �������� ���������� � ������� ��������� - ������������� ��������� ������. ������� ���������� ������������, - ������������ � ������, ������������ � - <link xlink:href="http://vuxml.freebsd.org/">���� ������ - &os; VuXML</link>. - ����� ������� �������� ������������ ����� ����������� ţ �� - ������� ��������� ��������, ��������� �� �������������.</para> - - <para>���� �� ��������� ������� ����������, �� ������ ��� �������� - ���� ������ VuXML. ��� �� �������� ������� �������� ������������ - � ������������ ������� ������ ���������� ����������. ��� �� - �����, ���� �� �� ��������� ����������� ��� ������, ��� ����� - ������������� ��������� ����������, �� �� - ����������� ��������� � �������� �������� ������������ �������� - ��� ��� ������� �� �������� - <link xlink:href="http://www.freebsd.org/security/#how">�������������� - ������������ &os;</link>.</para> - - <para>���� ������ VuXML �������� ���������� <acronym>XML</acronym>. - ��� �������� ���� <filename>vuln.xml</filename> ���������� - ����� ������ ����� <package role="port">security/vuxml</package>. - �������������, ������ ��� ���� � ����� ����� - <filename>PORTSDIR/security/vuxml/vuln.xml</filename>. - ������ ���, ��� ����������� ���� � ����� ���������� ������������ - �������� �� ���� ������ � ���� ����. ���� �� �� ������� � VuXML, - ������, ��� �� ������ �������, ��� ����� ������������ ������, - ����������� ��� ��� ������, ����� ����������� �� � ������������ - � �������� �������.</para> - </sect2> - - <sect2 xml:id="security-notify-vuxml-intro"> - <title>�������� ���������� � VuXML</title> - - <para>� ������������ <acronym>XML</acronym> �������� ����� - ������� ��������, � ��� �������� ������� ������ �� ����� - ���� �����. ��� �� �����, ��� ���������� ��������� ��������� - ��������� ������ VuXML ��� ����������� ����� ���� ������ ����. - ����� ����� XML ����������� � ������� ������. ������ ����������� - <tag> ������ ����� ����������� ����������� </tag>. - ���� ����� ���� ����������. ��� ����������� ���������� ���� - ������ ���� ������� �� �������� �������. ���������� �������� - �����, �.�. ����� ������� ������� ����������� �����. ��� - ������ �� HTML. �������� ������� � ������������� XML, - �.�. � ����������� ����������� �����. ��-�� ����� ����������� - ��������� XML ������� ����� ������������ ������. � ���������, - XML �������� ��� �������� �������� ����������� ������������.</para> - - <para>������ ���������� ��������� ������ VuXML:</para> - - <programlisting><vuln vid="f4bc80f4-da62-11d8-90ea-0004ac98a7b9"> <co xml:id="co-vx-vid"/> - <topic>Several vulnerabilities found in Foo</topic> <co xml:id="co-vx-top"/> - <affects> - <package> - <name>foo</name> <co xml:id="co-vx-nam"/> - <name>foo-devel</name> - <name>ja-foo</name> - <range><ge>1.6</ge><lt>1.9</lt></range> <co xml:id="co-vx-rng"/> - <range><ge>2.*</ge><lt>2.4_1</lt></range> - <range><eq>3.0b1</eq></range> - </package> - <package> - <name>openfoo</name> <co xml:id="co-vx-nm2"/> - <range><lt>1.10_7</lt></range> <co xml:id="co-vx-epo"/> - <range><ge>1.2,1</ge><lt>1.3_1,1</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>J. Random Hacker reports:</p> <co xml:id="co-vx-bdy"/> - <blockquote - cite="http://j.r.hacker.com/advisories/1"> - <p>Several issues in the Foo software may be exploited - via carefully crafted QUUX requests. These requests will - permit the injection of Bar code, mumble theft, and the - readability of the Foo administrator account.</p> - </blockquote> - </body> - </description> - <references> <co xml:id="co-vx-ref"/> - <freebsdsa>SA-10:75.foo</freebsdsa> <co xml:id="co-vx-fsa"/> - <freebsdpr>ports/987654</freebsdpr> <co xml:id="co-vx-fpr"/> - <cvename>CAN-2010-0201</cvename> <co xml:id="co-vx-cve"/> - <cvename>CAN-2010-0466</cvename> - <bid>96298</bid> <co xml:id="co-vx-bid"/> - <certsa>CA-2010-99</certsa> <co xml:id="co-vx-cts"/> - <certvu>740169</certvu> <co xml:id="co-vx-ctv"/> - <uscertsa>SA10-99A</uscertsa> <co xml:id="co-vx-ucs"/> - <uscertta>SA10-99A</uscertta> <co xml:id="co-vx-uct"/> - <mlist msgid="201075606@hacker.com">http://marc.theaimsgroup.com/?l=bugtraq&amp;m=203886607825605</mlist> <co xml:id="co-vx-mls"/> - <url>http://j.r.hacker.com/advisories/1</url> <co xml:id="co-vx-url"/> - </references> - <dates> - <discovery>2010-05-25</discovery> <co xml:id="co-vx-dsc"/> - <entry>2010-07-13</entry> <co xml:id="co-vx-ent"/> - <modified>2010-09-17</modified> <co xml:id="co-vx-mod"/> - </dates> -</vuln></programlisting> - - <para>����� ����� ������ ���� ��������������������, ����� �� - ��������������� ������ �� �����, ������ ��� ��� ����������:</para> - - <calloutlist> - <callout arearefs="co-vx-vid"> - <para>��� ��� �������� ������ ������ VuXML. � ���� ���� - ������������ ������� <literal>vid</literal>, ����������� �� - ������������� ���������� ������������� (UUID) ��� ���� ������ - (� ��������). �� ������ ����������� UUID ��� ������ ����� - ������ VuXML (� �� �������� �������� �� ��� ������� UUID, - ���� �� �� ������ ������ � ����). ��� ��������� VuXML UUID - �� ������ ������������ &man.uuidgen.1;.</para> - </callout> - - <callout arearefs="co-vx-top"> - <para>������������ �������� ��������� ��������.</para> - </callout> - - <callout arearefs="co-vx-nam"> - <para>����� ����������� ����� ���������� �������. - ����� ���� ���� ��������� ����, ��������� ��������� ������ - ����� ���� �������� �� ����� ������� ����� ��� ����������� - ��������. ���� ����� �������� ���������� ����� � ����� - ����������, �������������� ������ � ����������� �����, - ��������� �� ���������� ������ ������ ��������� ������������, - ��������� �� ����� ����������.</para> - - <important> - <para>����� ���� �������� ������� ��� ��������� ������ VuXML - ������ � ���� ����� ���������������. ������ � ����, ��� - <literal>make search name=foo</literal> ��� ��� ����. - ��������� ����� ��� ������ ���������:</para> - - <itemizedlist> - <listitem> - <para>������� <filename>foo-devel</filename> ��� ����� - <filename>foo</filename>;</para> - </listitem> - - <listitem> - <para>������ �������� � ���������� ���� - <literal>-a4</literal> (��� �������, ��������� � �������), - <literal>-without-gui</literal> (��� ������� � - ����������� ���������� X), ��� ��������;</para> - </listitem> - - <listitem> - <para><literal>jp-</literal>, <literal>ru-</literal>, - <literal>zh-</literal> � ������ ��������� �������������� - �������� � ��������������� ������������ ���������� - ��������� ������.</para> - </listitem> - </itemizedlist> - </important> - </callout> - - <callout arearefs="co-vx-rng"> - <para>����� ������� ���������� ������ ������(-��) ��� ���� ��� - ����� ���������� � �������������� ���������� ��������� - <literal><lt></literal>, <literal><le></literal>, - <literal><eq></literal>, <literal><ge></literal>, - � <literal><gt></literal>. ��������� ���ӣ���� ������ - �� ������ ������������.</para> - - <para>� ������������ ���������� <literal>*</literal> (�ף������) - �������� ���������� ����� ������. � ���������, - <literal>2.*</literal> ������, ��� <literal>2.a</literal>. - ������� ��������� ����� ���� ������������ � ��������� ��� - ���������� �� ����� ���������� <literal>alpha</literal>, - <literal>beta</literal> � <literal>RC</literal> ��������. - ��� �������, - <literal><ge>2.*</ge><lt>3.*</lt></literal> - ��������� �������� � ������� <literal>2.x</literal>, � - <literal><ge>2.0</ge><lt>3.0</lt></literal> - - ���, ��������� ��������� �� �������� - <literal>2.r3</literal> � ��������� � <literal>3.b</literal>. - </para> - - <para>������ ���� ���������, ��� � ���������� ��������� ������ � - <literal>1.6</literal> �� <literal>1.9</literal> ������������, - ������ <literal>2.x</literal> �� <literal>2.4_1</literal> � - ������ <literal>3.0b1</literal>.</para> - </callout> - - <callout arearefs="co-vx-nm2"> - <para>��������� ��������� ������ ������� (� �������� �����, �����) - ����� ���� ������� � ������� <literal><affected></literal>. - ��� ����� ������������, ���� ��������� ����������� �������� - (������, FooBar, FreeBar and OpenBar) �������� ������������ - �� ����� ������� ���� � �ӣ ��� ��������� ���������� ţ ������ - � ����������. ������ � ���� ������� �� ������������ - ������������� �ͣ� � ����� ������� <package>.</para> - </callout> - - <callout arearefs="co-vx-epo"> - <para>��������� ������ ������ ��������� - <varname>PORTEPOCH</varname> � <varname>PORTREVISION</varname>, - ���� ��� ���������. ����������, �������, ��� � ������������ - � ��������� ��������� ����� ������ � ��������� ��������� - <varname>PORTEPOCH</varname> ����, ��� ����� ������ ��� - <varname>PORTEPOCH</varname>, ��������, <literal>3.0,1</literal> - ����, ��� <literal>3.1</literal> ��� ���� <literal>8.9</literal>. - </para> - </callout> - - <callout arearefs="co-vx-bdy"> - <para>������� ���������� � ��������. � ���� ���� - ������������ XHTML. �� ������� ����, ������ ���� ����������� - <literal><p></literal> � <literal></p></literal>. - ����� ���� ������������ ����� ������� ��������, �� ������ � - ����� ������������ � �������: ��� ���������, ����������. - </para> - </callout> - - <callout arearefs="co-vx-ref"> - <para>���� ������ �������� ������ �� ������� ��������� ���������. - �������������� ��� ����� ������� ���������� ������.</para> - </callout> - - <callout arearefs="co-vx-fsa"> - <para>��� - <link xlink:href="http://www.freebsd.org/security/#adv">��������� - ������������ &os;</link>.</para> - </callout> - - <callout arearefs="co-vx-fpr"> - <para>��� - <link xlink:href="http://www.freebsd.org/support.html#gnats">��������� - �� ������ &os;</link>.</para> - </callout> - - <callout arearefs="co-vx-cve"> - <para>������������� - <link xlink:href="http://www.cve.mitre.org/">MITRE - CVE</link>.</para> - </callout> - - <callout arearefs="co-vx-bid"> - <para>��� - <link xlink:href="http://www.securityfocus.com/bid">SecurityFocus - Bug ID</link>.</para> - </callout> - - <callout arearefs="co-vx-cts"> - <para>��������� ������������ - <link xlink:href="http://www.cert.org/">US-CERT</link>.</para> - </callout> - - <callout arearefs="co-vx-ctv"> - <para>���������� � ���������� - <link xlink:href="http://www.cert.org/">US-CERT</link>.</para> - </callout> - - <callout arearefs="co-vx-ucs"> - <para>����������� ������� Cyber Security Alert - <link xlink:href="http://www.cert.org/">US-CERT</link>.</para> - </callout> - - <callout arearefs="co-vx-uct"> - <para>����������� ������� Technical Cyber Security Alert - <link xlink:href="http://www.cert.org/">US-CERT</link>.</para> - </callout> - - <callout arearefs="co-vx-mls"> - <para>URL � ��������� ��������� � ������ ��������. - ������� <literal>msgid</literal> �������� �������������� - � ����� ��������� �� message ID ���������.</para> - </callout> - - <callout arearefs="co-vx-url"> - <para>�������� URL. ������ ���� ����������� � ������, ���� - �� �������� �� ���� �� ��������� ���������.</para> - </callout> - - <callout arearefs="co-vx-dsc"> - <para>���� ���������� ��������� ����� ���������� ������ ������ - (<replaceable>YYYY-MM-DD</replaceable>). ����� ������ �� - ������ �������� ��� ����. ���� ������ ���� ��������� ����� - �������������� ������������ ������.</para> - </callout> - </calloutlist> - </sect2> - - <sect2 xml:id="security-notify-vuxml-testing"> - <title>������������ ����� ��������� � ���� ������ VuXML</title> - - <para>�����������, ��� �� ������ ��� �������� ��� ��������� ������ - �� ���������� � ������ <literal>clamav</literal>, ������� ���� - ���������� � ������ <literal>0.65_7</literal>.</para> - - <para>������ �����, ��� ����� <emphasis>����������</emphasis> - ��������� ������ ������ - <package role="port">ports-mgmt/portaudit</package>, - <package role="port">ports-mgmt/portaudit-db</package> � - <package role="port">security/vuxml</package>.</para> - - <note> - <para>��� ������� <command>packaudit</command> �� ������ �������� - ������� �� ������ � - <filename>DATABASEDIR</filename>; ��� �������, - ��� <filename>/var/db/portaudit</filename>.</para> - - <para>��� ������������� ������� �������� ��������� ���������� - ��������� <filename>DATABASEDIR</filename> - ������ ����.</para> - - <para>���� �� ��������� � ��������, �������� �� - <filename>${PORTSDIR}/security/vuxml</filename>, ��������� - ���������� ��������� - <filename>VUXMLDIR</filename> ���� � ��������, - � ������� ��������� <filename>vuln.xml</filename>.</para> - </note> - - <para>��-������, ���������, ��� �� ��� ������ �� ���� ����������. - ���� ����� ������ ����, ��� �����ģ� � ���������� ������� - ������ <literal>0.65_6</literal>:</para> - - <screen>&prompt.user; <userinput>packaudit</userinput> -&prompt.user; <userinput>portaudit clamav-0.65_6</userinput></screen> - - <para>���� ������ �� �������, ������ �� �������� ������� ���� ��� - ���������� ����� ������ ��� ���� ����������.</para> - - <screen>&prompt.user; <userinput>cd ${PORTSDIR}/security/vuxml</userinput> -&prompt.user; <userinput>make newentry</userinput></screen> - - <para>����� �� ���������, ��������� ��������� � ��������������.</para> - - <screen>&prompt.user; <userinput>make validate</userinput></screen> - - <note> - <para>��� ����������� ���������� �� ������� ���� ���� �� ��������� - �������: <package role="port">textproc/libxml2</package>, - <package role="port">textproc/jade</package>.</para> - </note> - - <para>������ ��������� �������������� ���� ������ - <command>portaudit</command> �� ����� VuXML:</para> - - <screen>&prompt.user; <userinput>packaudit</userinput></screen> - - <para>����� ���������, ��� ������ <literal><affected></literal> - � ����� ������ ��������� � ����������� ��������, ��������� - ��������� �������:</para> - - <screen>&prompt.user; <userinput>portaudit -f /usr/ports/INDEX -r uuid</userinput></screen> - - <note> - <para>��� ������� ��������� ���������� ���� ������� ����������� - � &man.portaudit.1;.</para> - </note> - - <para>���������, ��� ���� ������ �� ���������� ������ ���������� - � ������.</para> - - <para>������ ���������, ��������� �� ���� ������ � ������� �������� - ������:</para> - - <screen>&prompt.user; <userinput>portaudit clamav-0.65_6 clamav-0.65_7</userinput> -Affected package: clamav-0.65_6 (matched by clamav<0.65_7) -Type of problem: clamav remote denial-of-service. -Reference: <http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-0020ed76ef5a.html> - -1 problem(s) found.</screen> - - <para>������ ������ ������ ��������, � ��������� - ���.</para> - - <para>� ���������� ���������, ��� ���-��������, �������������� �� - ���� ������ VuXML, �������� ��� ��������:</para> - - <screen>&prompt.user; <userinput>mkdir -p ~/public_html/portaudit</userinput> -&prompt.user; <userinput>packaudit</userinput> -&prompt.user; <userinput>lynx ~/public_html/portaudit/74a9541d-5d6c-11d8-80e3-0020ed76ef5a.html</userinput></screen> - </sect2> - </sect1> - </chapter> - - <chapter xml:id="porting-dads"> - <title>��� ������ �����, � ��� ������ ������</title> - - <sect1 xml:id="dads-intro"> - <title>��������</title> - - <para>��� ������ ����� ������������� ��������, ������� ����� � ������� - ������ ������ �� ����� �������� ������������. ��������� - ���� �� ����� ������, � ����� ��������� ����� � - <link xlink:href="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">���� - ��������� PR</link>, ������� �������� ������� ������. ���������� - ����� ����������� � ������, ������� �� ���������, ���, ��� ��� ������� - � ������ � <link xlink:href="&url.articles.contributing;/contrib-how.html#CONTRIB-GENERAL"> - ���������� �� ������� � ����� ����������</link>. �������� ������ � - ���� ��������� PR �������� ��� ������� ���������� �� � ��������������, - ��� �� ������, ��� �������.</para> - </sect1> - - <sect1 xml:id="porting-wrkdir"> - <title><varname>WRKDIR</varname></title> - - <para>�� ������ ������ � ����� ��� �������� <varname>WRKDIR</varname>. - ������� <varname>WRKDIR</varname> �������� ������������ ������, - ������� �������������� ����� �������� ��� ������ �� ����� ���������� - ����� (���������� � ����� � <link xlink:href="&url.books.handbook;/ports-using.html#PORTS-CD">��������� ������ � - CDROM</link> �� - �������� ���������� ������ �� ������, ���������� ������ ��� ������). - ���� ��� ����� �������� �����-���� �� ������ - <filename>pkg-*</filename>, �������� ���, - <link linkend="porting-pkgfiles">������������� ����������</link>, �� �� - ������������� ��.</para> - </sect1> - - <sect1 xml:id="porting-wrkdirprefix"> - <title><varname>WRKDIRPREFIX</varname></title> - - <para>��������� ����, ����� ��� ���� �������� �� �������� �������� - ���������� <varname>WRKDIRPREFIX</varname>. ����������� ������ �� - ���� �� ���������. � ���������, ���� �� ����������� � �������� - <varname>WRKDIR</varname> ������� �����, ��������, ��� ��� ���������� - ��������������� �������� - <filename>WRKDIRPREFIXPORTSDIR/subdir/name/work</filename> not <filename>PORTSDIR/subdir/work</filename> - ��� <filename>.CURDIR/../../subdir/name/work</filename> - ��� ���-�� ��������.</para> - - <para>����� ����, ���� �� ���� ������� <varname>WRKDIR</varname>, �� - ������ ��������� ����� ��� ���� - <literal>${WRKDIRPREFIX}${.CURDIR}</literal>.</para> - </sect1> - - <sect1 xml:id="porting-versions"> - <title>���������� ������������ ������ � ������ ��</title> - - <para>�� ������ ����������� � �����, ������� ������� ����������� - ��� �������� ���������� � ����������� �� ����, � ����� ������� &os; - Unix �� ��������. ���������������� �������� ��������� ���� ��� - ������ &os; �������� ������������� �������� - <literal>__FreeBSD_version</literal> � - <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 <sys/param.h></programlisting> - - <para>� ��������������� ����� ����� <filename>.c</filename>. - <literal>__FreeBSD__</literal> ������̣� �� ���� ������� &os; - � �������� �������� ������ ������ �������. ��������, � &os; - 9.x <literal>__FreeBSD__</literal> ������̣� �� ��������� - <literal>9</literal>.</para> - - <programlisting>#if __FreeBSD__ >= 9 -# if __FreeBSD_version >= 901000 - /* ����� ������ ��� ��� ������ 9.1+ */ -# endif -#endif</programlisting> - </sect1> - - <sect1 xml:id="dads-after-port-mk"> - <title>��������� ����-���� ����� - <filename>bsd.port.mk</filename></title> - - <para>�� ������ ������ ����� ������ - <literal>.include <bsd.port.mk></literal>. ���� ������ ����� - ��������, ������� � ���-�� � �������� ������ ����� - <filename>Makefile</filename> ���� - <filename>bsd.port.pre.mk</filename>, � - ���� <filename>bsd.port.post.mk</filename> � �����.</para> - - <note> - <para>��� ����� �������� ���� ���� ������ - <filename>bsd.port.pre.mk</filename>/<filename>bsd.port.post.mk</filename>, - ���� ������ <filename>bsd.port.mk</filename>; �� ����������� ��� ���� - ������ ������������.</para> - </note> - - <para>� ����� <filename>bsd.port.pre.mk</filename> ������������ ���� - ��������� ����������, ������� ����� ���� ������������ � ������ �� - ����� <filename>Makefile</filename>, � ����� - <filename>bsd.port.post.mk</filename> ������ ���������.</para> - - <para>��� ��������� ������ ����������, ������������ � ����� - <filename>bsd.port.pre.mk</filename> (��� �� ������ ������, ��� - ��������� ������� ������ ��������, ����������, ��� ���� - <filename>bsd.port.mk</filename>).</para> - - <informaltable frame="none" pgwide="0"> - <tgroup cols="2"> - <thead> - <row> - <entry>����������</entry> - <entry>��������</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>ARCH</varname></entry> - <entry>����������� ������ � ����, ���������� �� ������� - <command>uname -m</command> (��������, - <literal>i386</literal>)</entry> - </row> - - <row> - <entry><varname>OPSYS</varname></entry> - <entry>��� ������������ �������, ���������� �� ������� - <command>uname -s</command> (��������, - <literal>FreeBSD</literal>)</entry> - </row> - - <row> - <entry><varname>OSREL</varname></entry> - <entry>������ ������ ������������ ������� (��������, - <literal>2.1.5</literal> ��� <literal>2.2.7</literal>)</entry> - </row> - - <row> - <entry><varname>OSVERSION</varname></entry> - - <entry>������ ������������ ������� � ���� �����, �� ��, ��� � <link linkend="freebsd-versions"> - <literal>__FreeBSD_version</literal></link>.</entry> - </row> - - <row> - <entry><varname>LOCALBASE</varname></entry> - <entry>������ ������ <quote>local</quote> (��������, - <literal>/usr/local</literal>)</entry> - </row> - - <row> - <entry><varname>PREFIX</varname></entry> - <entry>����, ����������, ��������������� ���� (���������� � <link linkend="porting-prefix"> - ��������� ���������� � <varname>PREFIX</varname></link>).</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <note> - <para>���� �� ������� ���������� - <varname>MASTERDIR</varname>, ������� ��� �� - ����������� <filename>bsd.port.pre.mk</filename>.</para> - </note> - - <para>��� ��������� �������� ����, ��� �� ������ �������� ����� - <filename>bsd.port.pre.mk</filename>:</para> - - <programlisting># no need to compile lang/perl5 if perl5 is already in system -.if ${OSVERSION} > 300003 -BROKEN= perl is in system -.endif</programlisting> - - <para>�� �� ��������� �� ������������� ��������� ������ �������� - ����� <literal>BROKEN=</literal>, - �� ��� ��? <!-- ������ -->:-).</para> - </sect1> - - <sect1 xml:id="dads-sh-exec"> - <title>������������� ��������� <function>exec</function> - � ��������� �£�����</title> - - <para>���� ���� ������������� �������� �� ����� shell, ������� ������ - ��� ������� ������ ���������, � ���� ������ ���� ��������� �������� - ��������� ��������� ��������, ���������, ��� ������ ��������� - ������������ � �������������� ��������� <function>exec</function>, - ��������:</para> - - <programlisting>#!/bin/sh -exec %%LOCALBASE%%/bin/java -jar %%DATADIR%%/foo.jar "$@"</programlisting> - - <para>��������� <function>exec</function> �������� ������� �������� - �� ��������� ���������. ���� <function>exec</function> ������, - �� ������� �������� �� ����� ������ ��������� �������� � ������, - ��� ���������� ��������� ��������� �������.</para> - - </sect1> - - <sect1 xml:id="dads-rational"> - <title>���������� �������</title> - - <para>���� <filename>Makefile</filename> ������ ��������� �������� - ������ � �������������. ���� �� ������ ������� ���-�� �� ��������� - ����� ������ ��� ����� ����������, �������� ���. � �������� �������� - ����� �������� ������������� ����������� <literal>.if</literal> - ������� make ������ ��������������� ����������� <literal>if</literal> - ���������� ����������, ���������� ��������������� ���� - <buildtarget>do-extract</buildtarget> ��� ����������� ��������������� - <varname>EXTRACT*</varname> � ������������� - <varname>GNU_CONFIGURE</varname> ������ - <literal>CONFIGURE_ARGS+= --prefix=${PREFIX}</literal>.</para> - - <para>���� �� ����������, ��� ��� ���������� ����-�� ���������� ������ - ����� ������ ����, ��, ����������, ����������� ���� - <filename>bsd.port.mk</filename> �� ������� ����, �� �������� �� �� - ���������� ������ ����� ��������. ���� ��� ������ ������, ������� - ����� �������, ���������� ��������, ��� ������� ���� - <filename>bsd.port.mk</filename> ��� �������� ������� �������.</para> - </sect1> - - <sect1 xml:id="dads-cc"> - <title>������ ��� � <varname>CC</varname>, ��� � - <varname>CXX</varname></title> - - <para>���� ������ ��������� �� �������� ��� ���������� - <varname>CC</varname>, ��� � <varname>CXX</varname>. - ��� ���� �� �������������, ��� ���� �� � ���� ������ �� ������ - ������������� �������� ���� ����������, ������������� ��������� - ��������; ������ ����� ����� ��������� ������ �������� � ��� - ���������. ��� ������� � ���, ��� ��������� ����������, - ����������� �� ���� ������, ����� ���� ������ ���������.</para> - - <para>���� ����� �� ��������� �������� ���� ����������, �������� - ������ <literal>NO_PACKAGE=ignores either cc or cxx</literal> - � ���� <filename>Makefile</filename>.</para> - - <para>����� ������� ������ ����� <filename>Makefile</filename>, - ������������� ��� ���������� <varname>CC</varname>, ��� � - <varname>CXX</varname>. �������� �������� �� ������������� �������� - <varname>?=</varname>:</para> - - <programlisting>CC?= gcc</programlisting> - - <programlisting>CXX?= g++</programlisting> - - <para>��� ������, � ������� �� ����������� �� �������� �� ���������� - <varname>CC</varname>, �� <varname>CXX</varname>:</para> - - <programlisting>CC= gcc</programlisting> - - <programlisting>CXX= g++</programlisting> - - <para>� �������� &os; ��� ���������� <varname>CC</varname> � - <varname>CXX</varname> ����� ���� ���������� � ����� - <filename>/etc/make.conf</filename>. � ������ ������� �������� - ��������, ���� ��� ����� �� ���� ���������� � - <filename>/etc/make.conf</filename>, ��� ��������� ����� �����������, - ������ �� ������ ������� � �����. ������ ������ �������������� �ӣ, - ��� ���� ������ �����.</para> - </sect1> - - <sect1 xml:id="dads-cflags"> - <title>������������� <varname>CFLAGS</varname></title> - - <para>���� ������ ��������� �� �������� ���������� - <varname>CFLAGS</varname>. - ��� ���� �� �������������, ��� ���� �� � ���� ������ �� ������ - ������������� �������� ���� ����������, ������������� ��������� - ��������; ������ ����� ����� ��������� ������ �������� � ��� - ���������. ��� ������� � ���, ��� ��������� ����������, - ����������� �� ���� ������, ����� ���� ������ ���������.</para> - - <para>���� ����� �� ��������� �������� ���� ����������, �������� - ������ <literal>NO_PACKAGE=ignores cflags</literal> � ���� - <filename>Makefile</filename>.</para> - - <para>����� ������� ������ ����� <filename>Makefile</filename>, - ������������� ���������� <varname>CFLAGS</varname>. �������� - �������� �� ������������� �������� <varname>+=</varname>:</para> - - <programlisting> -CFLAGS+= -Wall -Werror - </programlisting> - - <para>� ��� ������, � ������� �� ����������� �������� ���������� - <varname>CFLAGS</varname>:</para> - - <programlisting> -CFLAGS= -Wall -Werror - </programlisting> - - <para>� ������� &os; ���������� <varname>CFLAGS</varname> ���������� - � ����� <filename>/etc/make.conf</filename>. � ������ ������� � - ���������� <varname>CFLAGS</varname> ����������� �������������� �����, - ��� ���� ����������� ��� �����������, ������ ����� �� ������ �������. - �� ������ ������� �ӣ, ��� ���� ������ �����, ������������.</para> - - <para>�� ��������� ������ <filename>Makefile</filename> ������� ������� - ����� �����������. ������������� ����� ����������� ��������� � - ��������� ���������� <varname>CFLAGS</varname>. ������ �� - ������������������� <filename>Makefile</filename>:</para> - - <programlisting>CFLAGS= -O3 -funroll-loops -DHAVE_SOUND</programlisting> - - <para>��� ������������� ��������� ������ ����������� - <filename>Makefile</filename> ������ ������� �� ��������� ������:</para> - - <programlisting>CFLAGS+= -DHAVE_SOUND</programlisting> - - </sect1> - - <sect1 xml:id="dads-pthread"> - <title>���������� �������</title> - - <para>�� &os; ���������� ������� ������� ���� ������������ � - ������������ ������� � �������������� ������������ ����� - <literal>-pthread</literal>. ���� ���� ���������� - �� ������ ���������� � <literal>-lpthread</literal>, - �������� ���� ��� ������������� <literal>-pthread</literal> - </para> - - <note> - <para>���� ���������� ����� ������������� ������� - <literal>unrecognized option '-pthread'</literal>, - �� ����� ���� ���������� ������������� <command>cc</command> - � �������� ������������ ����� ��������� - <varname>CONFIGURE_ENV</varname> � <literal>LD=${CC}</literal>. - �������� <literal>-pthread</literal> �������� �������� - <command>ld</command> �� ��������������.</para> - </note> - - </sect1> - - <sect1 xml:id="dads-feedback"> - <title>���������</title> - - <para>��������� ���������� ���������/����� �������/��������������� - ��� ��������� � ��������� �����. ��� ������ ������� ���� ������ - ������� ����� ��� ������ ���������� ������.</para> - </sect1> - - <sect1 xml:id="dads-readme"> - <title><filename>README.html</filename></title> - - <para><filename>README.html</filename> �� �������� ������ ����� - � ������������ ��� ������ <command>make readme</command>. - �� ��������� ���� ���� � ����� ��� �������.</para> - - <note> - <para>���� �� ������� ��������� <command>make readme</command>, - ���������, ��� �������� �� ��������� <varname>ECHO_MSG</varname> - �� ���� �������� ������ �����.</para> - </note> - </sect1> - - <sect1 xml:id="dads-noinstall"> - <title>������� ������������������ ����� ��� <varname>BROKEN</varname>, - <varname>FORBIDDEN</varname> ��� <varname>IGNORE</varname></title> - - <para>� ��������� ������� ������������ �� ������ ����������� � - ��������� �����. ��� ����, ����� �������� ������������, ��� ���� - �� ������� �������������, ������� ��������� - <command>make</command>-����������, ������� ����� ���� ������������ - � ����� <filename>Makefile</filename> �����. �������� ��������� - <command>make</command>-���������� ����� ��������, ������������ - �������������, �� ������� ���� ���������� � ���������. - ����������, ����������� ���������� <command>make</command>-����������, - ��� ��� ������ ���������� make �������� ��������� ��������� ����� - ��� ��� �������������, ��� � ��� ������������������ ������, ������� - ���������� �� ����� <filename>Makefile</filename>, ����� ��� - <link linkend="build-cluster">������� ���������� ������</link>, - <link linkend="freshports">FreshPorts</link> � - <link linkend="portsmon">portsmon</link>.</para> - - <sect2 xml:id="dads-noinstall-variables"> - <title>����������</title> - - <itemizedlist> - <listitem> - <para><varname>BROKEN</varname> ������������� ��� ������, ������� - � ��������� ����� �� �������������, �� ��������������� ��� �� - ��������� ���������. ������� ������������ ��� ������, - ����� �������� ��������� ���������.</para> - - <para>� ������ ������� ������� - ���������� ����� ���������� ������� ������� ��, ����� ��������, - ������ �� �������� ��������. (������, ��� �������, ������� - ����������� ��� ���� �����������.)</para> - - <para>� ���������, ����������� - <varname>BROKEN</varname>, ����� ����:</para> - - <itemizedlist> - <listitem> - <para>�� �������������</para> - </listitem> - - <listitem> - <para>�� ��������� ������� ����� ������������ ��� - ���������</para> - </listitem> - - <listitem> - <para>������������� ����� ����� - <filename>${LOCALBASE}</filename></para> - </listitem> - - <listitem> - <para>�� ������� ��������� ��� ���� ����� ��� ������������� - (��� �� �����, ��� ����� ���� ���������, � �������� - ��� ������, ����������� ����� ���� �����, ���������� - �������������)</para> - </listitem> - </itemizedlist> - - </listitem> - - <listitem> - <para><varname>FORBIDDEN</varname> ������������ ��� ������, ������� - �������� ���������� � �������������� ������������ ��� - �������� ������������ �������� � ����� ����������� �������������� - ������������ ������� &os; ��� ��������� ������� ����� - (��������: �������� ������������ ��������� ��� ���������, ������� - ������������� ����� ������������ �������). ����� ������ - ���������� ��� <varname>FORBIDDEN</varname>, ��� ������ � - ���������� ����������� ����������� ������������ ����������, �� - ���������� �������� �� ����. � ��������� ������ ����� ������ - ����������� ����������� ������ ����� ����������� ����������, - ����� ��������� ����� �������� ������ &os; (��� �������� ����� - ��������� ���������� �������), ������ ������ ��������� - ������������ ��������� ������ ����� ������������ ���������� � - ������� �����̣����� ������ ��������� ������������ �����������. - �� ��������� ���� ��� <varname>FORBIDDEN</varname>, ���� ������� - �� ������� ������������� �������������� ������������.</para> - </listitem> - - <listitem> - <para><varname>IGNORE</varname> ������������� ��� ������, ������� - �� ������ ��������� �� �����-���� ������ �������. ������� - ������������ ��� ������, � ������ ����� �������� ������� - ��������������. ������� ���������� - �� ��� ����� �������� �� ����� ������� �����, ���������� ��� - <varname>IGNORE</varname>. � ���������, ����������� - <varname>IGNORE</varname>, ����� ����:</para> - - <itemizedlist> - <listitem> - <para>�������������, �� �������� �����������</para> - </listitem> - - <listitem> - <para>�� �������� �� ������������� ������ &os;</para> - </listitem> - - <listitem> - <para>����� distfile, ������� �� ����� ���� ������������� - �������� ��-�� ������������ �����������</para> - </listitem> - - <listitem> - <para>�� �������� � �����-���� ������ ������, ������������� - � ��������� ����� (��������, ���� ������� �� - <package role="port">www/apache20</package>, �� ���������� - <package role="port">www/apache22</package>) - </para> - </listitem> - </itemizedlist> - - <note> - <para>���� ���� ����� ������������� � ��� ������������� ������, - (��������, ���� ��� ������������� ���� � �� �� �����, �� - � ���� �������������� �����������), �� - <link linkend="conflicts">����������� - ������ ����� <varname>CONFLICTS</varname></link>. - <varname>CONFLICTS</varname> ��� ��������� �������� - <varname>IGNORE</varname>.</para> - </note> - </listitem> - - <listitem> - <para>���� ���� ����� �������� ��� <varname>IGNORE</varname> - ������ �� ��������� ������������, ��� ����� ���� ��� ������ - ������� ����������, ������� ������������� ��������� ��� ��� - ��������: <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>����������� ��������� <varname>IGNORE</varname> ����� ������ - � �������������� <varname>ONLY_FOR_ARCHS_REASON</varname> � - <varname>NOT_FOR_ARCHS_REASON</varname>. �������� ��� ������ - ����������� ��� �������� � �������������� - <varname>ONLY_FOR_ARCHS_REASON_<replaceable>ARCH</replaceable></varname> - � - <varname>NOT_FOR_ARCHS_REASON_<replaceable>ARCH</replaceable></varname>.</para> - </listitem> - - <listitem> - <para>���� ���� ��������� � ������������� ����������� ����� i386, - �� ������� ���������� <varname>IA32_BINARY_PORT</varname>. - ���� ��� ���������� �����������, ����� ��������� �������� - ����������� �������� <filename>/usr/lib32</filename> ��� - ��������� ������ IA32 � ��������� IA32 � ����. ��� ������������ - ������ �� ���� ������� ����� ������������� ����������� - ���������� <varname>IGNORE</varname>.</para> - </listitem> - - </itemizedlist> - - </sect2> - <sect2 xml:id="dads-noinstall-notes"> - <title>��������� �� ����������</title> - - <para>������ �� ������� ����� � �������. - ����� ���������� ������ ������ ��������� ����������� ��-�� - ������� ����������� ���������� ������������. �������:</para> - - <programlisting>BROKEN= fails to link with base -lcrypto</programlisting> - - <programlisting>IGNORE= unsupported on recent versions</programlisting> - - <para>���������� � ���������� ���������� ������ - <command>make describe</command>:</para> - - <programlisting>===> foobar-0.1 is marked as broken: fails to link with base -lcrypto.</programlisting> - - <programlisting>===> foobar-0.1 is unsupported on recent versions.</programlisting> - </sect2> - </sect1> - - <sect1 xml:id="dads-deprecated"> - <title>������� ����� �� �������� � <varname>DEPRECATED</varname> - ��� <varname>EXPIRATION_DATE</varname></title> - - <para>�������, ��� <varname>BROKEN</varname> � - <varname>FORBIDDEN</varname> ����� ������������ ��� ��������� - ��������, ���� ���� �� �������� ����������. ��������� - ����������������� ����� ������ ��������� ��������� �� ������.</para> - - <para>� ���������� ��������� ������������ ����� ���� ��������� � - ����������� �������� ����� ���������� <varname>DEPRECATED</varname> - � <varname>EXPIRATION_DATE</varname>. ������ - ��� ������ ������, - ���������� ������� ���������������� �������� �����; ������ �������� - ������� � ������� ISO 8601 (YYYY-MM-DD). ��� ����� �������� - ������������.</para> - - <para>���������� <varname>DEPRECATED</varname> ����� ���������� ��� - ������������� <varname>EXPIRATION_DATE</varname> (� ���������, ��� - ������������ ����� ������ �����), �� �������� ������� �� ����� - �������� ������.</para> - - <para>�� ���������� ����������� ��������, ��� ����� ������� ���������� - �����������. ������� �������� ���� ����� ������ ��� ������� ������� - ������������ � ��� ������ ��� ������� ����������. ��� ����� ���� - ������� ������� �� ����������� ������� ����� ���������������� - �����������.</para> - </sect1> - - <sect1 xml:id="dads-dot-error"> - <title>��������� ������������� ����������� - <literal>.error</literal></title> - - <para>���������� �������� ������ ������ ��� <filename>Makefile</filename> - � ���, ��� ���� �� ����� ���� ���������� ��-�� ������-�� �������� - ������� (��������, ������������ ������ ������������ ���������� - ����� ����������), �������� ��������� ��������� �������� ��� - <varname>IGNORE</varname>. ��� �������� ����� �������������� � - �������� ������������ �� ����� <command>make install</command>.</para> - - <para>������������� ��� ���� ����� <literal>.error</literal> �������� - ���������������� �������. �������� � ���, ��� � ���� �������� - ����� ���������� ������ ����������� �������������, ���������� � - ������� ������. ���������� ������� ��� �������������� ��� ������� - ��������� <filename>/usr/ports/INDEX</filename> (�������� <xref linkend="make-describe"/>). ��� �� �����, ���� ����� ������� �������, - ����� ��� <command>make maintainer</command>, � ���� ������ ����� - ������ ������. ��� �� �������� ����������.</para> - - <example xml:id="dot-error-breaks-index"> - <title>��� �������� ������������� <literal>.error</literal></title> - - <para>�� ��������� ���� ��������� ������ ����� - <filename>Makefile</filename> ������ �����ģ� � ���������� - ���������� ������ <command>make index</command>, � ������ - - ���:</para> - - <programlisting>.error "option is not supported"</programlisting> - - <programlisting>IGNORE=option is not supported</programlisting> - </example> - </sect1> - - <sect1 xml:id="dads-sysctl"> - <title>������������� <filename>sysctl</filename></title> - - <para>������������� <filename>sysctl</filename> �� �������������, - ����� ��� ��� ���������� �����. ��� ������� ���, ��� ���������� - ����� <literal>makevar</literal>, ����� ��� �� ����� ������� - <command>make index</command>, � �������������� ������� ���� - �������, ��� ������ ��������� ���� �������.</para> - - <para>&man.sysctl.8; ������� ������ ������������ ����� ���������� - <varname>SYSCTL</varname>, ��������� ��� �������� ��������� �������� - ����, � ��� ������������� ����� ���� ��������������.</para> - </sect1> - - <sect1 xml:id="dads-rerolling-distfiles"> - <title>���������� �������������� �����</title> - - <para>������ ������ ������������ ����������� ������ ���������� - ���������� �������������� ������ ��� ����� ��������. �� ������ - ���������, ��� ��������� �������� ������������ � ����������� - �������. � ������� ������, ��� �������������� ���� ����� ��������� - �� ������ �������� � ���������� ������� ���� ��� ����������������� - ������������ ��������� ������������.</para> - - <para>�������� ������ ���� � ������������� � �������, ��������� �����, - ���������� ��� � �������� ���������� ��� ������ &man.diff.1;. - ���� �� �� ������ ������ ���������������, �� ������ �������� ���� - <filename>distinfo</filename>. ���������, ��� �� ���������� �������� - � ����� PR ��� �������� �������, ����� ������ ���� ���� � �����, ��� - �� ������������ � ���, ��� ������ ������� �� ���������.</para> - - <para>�������� �� ����� �������� ��������� � ������� ����� ������������ - ����������� ��� ������������� ���������.</para> - </sect1> - - <sect1 xml:id="dads-avoiding-linuxisms"> - <title>��������� �����������</title> - - <para>�� ����������� <filename>/proc</filename>, ���� �������� - ����� ������ ��������� ��������� ����������, ��������, - <function>setprogname(argv[0])</function> � - <function>main()</function> � &man.getprogname.3;, � ������ - ���� �� ������ <quote>����� ��ϣ ���</quote>.</para> - - <para>�� ����������� �� ���������, �� ������������������ - <acronym>POSIX</acronym>.</para> - - <para>�� ���������� ������ ��������� ����� � ����������� ����� - ���������� ����������, ���� ����� �������� ��� �����. ��������� - ��������� ����� ����� ���� ���������, � ����������� �� ������� - �������� ������������ ����� � ������������ �������. ���� - ��������� ����� ������������� �����, ���������� ������� - ��������� �������� � ����������� ��� <acronym>API</acronym>, - � ������� ��������������� ��������� ����������� ��������.</para> - - <para>��� ������� ��������� ������� (��������, &man.gettimeofday.2;, - &man.getpid.2;) �������� ������� ������� � &linux; �� ��������� - � ����� ������ ������������ �������� ��-�� ����������� � - ������������ ����������� vsyscall. �� ����������� �� �� - ��������� � ��������� � ������������������ �����������. � - �����, ���������� �������� ��������� ������� ���, ��� ��� - ��������.</para> - - <para>�� ����������� �� ����������� ��� &linux; ��������� ������. - � ���������, ���������� ������� ������ ������ �� ��������� - (��������� ����� &man.setsockopt.2; � <literal>SO_SNDBUF</literal> - � <literal>SO_RCVBUF</literal>, � � �� ����� ��� � &linux; - ��� ���������� ������ ������ &man.send.2; �����������, &os; - ���������� ������ � ������������� <literal>ENOBUFS</literal> - � �������� �������� errno.</para> - - <para>���� ��������� ������������ �� ������������� ���������, - �������������� ��� ������� ������� � ����� ��� ���� - <acronym>API</acronym> � ��������� ��������� �� ����� - ������������, � ���� ��������� ��������� �� �������, - ����������� ����������.</para> - - <para>����������� <link xlink:href="http://www.freebsd.org/cgi/man.cgi">�������� - �����������</link> ��� ��������, ��������� �� ������� � - ���������� <acronym>POSIX</acronym> (����� ������ - <quote>STANDARDS</quote> �� �������� �����������).</para> - - <para>�� ������������� �� ��, ��� � �������� - <filename>/bin/sh</filename> ������������ - <application>bash</application>. ���������, ��� ��������� - ������, ���������� � &man.system.3;, ����� �������� � - <acronym>POSIX</acronym>-����������� ��������.</para> - - <para>������ �������� <application>bash</application>-����� - ���������� <link xlink:href="https://wiki.ubuntu.com/DashAsBinSh">�����</link>.</para> - - <para>���������, ��� ������������ ������������ ����� �������� � - <acronym>POSIX</acronym> ��� ������, ������������� ��������� - �����������, �.�. ��������, ������ ���������� - <filename>sys/types.h</filename> — �� ����� �� �������� - � &linux;, ������ ��� �� ��� �� &os;.</para> - - <para>������������ ������������� ���������� � ������ - <quote>-pthread</quote>, � �� <quote>-lpthread</quote> ��� - ���-���� �ݣ.</para> - </sect1> - - <sect1 xml:id="dads-misc"> - <title>������</title> - - <para>����� <filename>pkg-descr</filename> � - <filename>pkg-plist</filename> ������ ����������� ������. ���� �� - ��������������� ���� � �������, ��� ��� ����� ������� �����, - �������� ���.</para> - - <para>����������, �� ���������� �������������� ����� �������� GNU - General Public License � ����� �������.</para> - - <para>������ ����������� � ������������ ���������! �� ������� �� ��� - ����������� ����������������� ��!</para> - </sect1> - - </chapter> - - <chapter xml:id="porting-samplem"> - <title>��������� <filename>Makefile</filename></title> - - <para>��� ��������� <filename>Makefile</filename>, ������� ����� - ������������ ��� �������� ������ �����. ����������� ������� ��� - �������������� ����������� (��, ������� � �������)!</para> - - <para>��� ������������� ��������� ����� ������� (�������� ������� - ���������� ����������, ������ ������ ����� ���������, � ��� �����). - ���� ������ ���������� ��� ����, ����� ������ ���������� ���� ����� - �������. �� ����������� ��� ��������������� �������� <link linkend="porting-portlint">portlint</link> ��� �������� ����� - <filename>Makefile</filename>.</para> - - <programlisting>[���������...������ ����� ��� ���� ����� ���������������� ����.] -# Created by: Satoshi Asami <asami@FreeBSD.org> -[�������������� ������ <emphasis>Created by:</emphasis> �������� ��� -��������, ���������� �������������� ������ �����. ������� ��������, -��� �� <quote>:</quote> ������� ������, �� �� ������ ���������. ���� -��� ������ ������������, ������� �������������� �� ������ ţ ������ -��� �������, ����� ��� �� ������� ��������������� ������.] - -# $FreeBSD$ -[ ^^^^^^^^^ ��� ������ ����� ������������� �������� �� ������� RCS ID -�������� SVN ��� ���������� �������� ������� � ���� ���������. ��� -���������� ����� �� ��������� ��� ������ ������� � ���� -"$FreeBSD$". SVN ������� ��� �������������.] - -[������ �������� ���������� ����� � ��������� ������� - ������� ������ - PORTNAME � PORTVERSION, �� ��� ������� CATEGORIES, � ����� - MASTER_SITES, �� ������� ����� ���� MASTER_SITE_SUBDIR. - PKGNAMEPREFIX � PKGNAMESUFFIX, ���� ��� �����, ������� �� ����. - ����� ������� DISTNAME, EXTRACT_SUFX �/��� DISTFILES, � �����, ���� ��� �����, - EXTRACT_ONLY.] -PORTNAME= xdvi -PORTVERSION= 18.2 -CATEGORIES= print -[�� ��������� ��� ����������� ����� ����� ("/")! - ���� �� �� ����������� ������� MASTER_SITE_*] -MASTER_SITES= ${MASTER_SITE_XCONTRIB} -MASTER_SITE_SUBDIR= applications -PKGNAMEPREFIX= ja- -DISTNAME= xdvi-pl18 -[������� ���, ���� �������� ��� ������������ �� � ���� - ������������ ����� ".tar.gz"] -EXTRACT_SUFX= .tar.Z - -[������ ������ -- ����� ���� ������] -PATCH_SITES= ftp://ftp.sra.co.jp/pub/X11/japanese/ -PATCHFILES= xdvi-18.patch1.gz xdvi-18.patch2.gz - -[��������������; *������������ ����*! ��� �������, ������� ����������� - ���������� ������������ ����� � ��������������� ��� ����������, � �������� - ������������ ����� ���������� ������� � ��������� �� �������. ��� - ���������� ��� ����� ����� �������� �������� ��������� ������ �� ������ - �� ��������� ����� �����, ����������� �� "ports@FreeBSD.org".] -MAINTAINER= asami@FreeBSD.org -COMMENT= DVI Previewer for the X Window System - -[����������� -- ����� ���� �������] -RUN_DEPENDS= gs:${PORTSDIR}/print/ghostscript - -[���� ������ ��� ��������� ����������� ���������� �� bsd.port.mk, ����� - ���, ��� ����������� ����] -[���� ���� ������ ������� �� ����� ������ ���������, ����������, - ���������...] -IS_INTERACTIVE= yes -[���� ���������� ���������� � �������, �������� �� ${DISTNAME}...] -WRKSRC= ${WRKDIR}/xdvi-new -[���� ����� �������� �� ������������ ${WRKSRC}, ���, ����� ����, �� - �������� �������� ��� ����������] -PATCH_DIST_STRIP= -p1 -[���� ���� ������� ������� "configure", ������������� GNU-������� ��������� - autoconf] -GNU_CONFIGURE= yes -[���� ��� ���������� ����� ��������� GNU-������ ������� make, � �� - /usr/bin/make...] -USES= gmake -[���� ��� ���������� X � ������� ������� "xmkmf -a"...] -USES= imake -[� ��� �����] - -[� �������� ���� ������������ ������������� ����������] -MY_FAVORITE_RESPONSE= "yeah, right" - -[������ ����������� �������, � ������� �� ������] -pre-fetch: - � ���-�� ���������, ����� - -post-patch: - ��� ���-��� ������� ����� ���������� �����, ����������� - -pre-install: - � ����� ��� ���-��� ����� ����������, ��� - -[�, �������, ������] - -.include <bsd.port.mk> - </programlisting> - </chapter> - - - <chapter xml:id="keeping-up"> - <title>������������</title> - - <para>��������� ������ &os; ��������� ����������. ����� ��������� - ��������� ���������� � ���, ��� ������������ ţ � ���������� - ���������.</para> - - <sect1 xml:id="freshports"> - <title>FreshPorts</title> - - <para>����� ������� �������� ����������� ��� ������������ ���������� - �������� �������� �� <link xlink:href="http://www.FreshPorts.org/"> - FreshPorts</link>. ��� ����������� �� ������ ������� ��������� - ������. ������������ ������������ ������������� ����������� �����, - ������ ��� ��� ����� �������� ����������� �� ������ � ����������� - ����������, �� � �� ����������, ��������� ����� ������ ����������� - &os;. (��� ����� ���������� ��� ������������� � ����������� �� ����� - ������ ��������������� ������—���� ����� ���������� ���� �� - ��������� �������������� �� ���, ��� ������ �������� ���������, - ������ ���� ���� ������������ ��� �� ������ �����������. ����� ����, - � ��������� ������� ��������� �� ����� ������� ������ �������������. - �� ��������, ��� ����� ����������� � ����� ��������� ����� - ����������������� ������� �������).</para> - - <para>���� �� ������ ������������ FreshPorts, �� ��� ����� ������ - �ޣ���� ������. ���� ��������������� ����� ����� ����������� ����� - ����� ����� ��� <literal>@FreeBSD.org</literal>, �� ������ �� - Web-��������� �� ������� �������������� ������. ��� ��� �� ���, ��� - ��� ������� �ޣ���� ������ FreshPorts, �� �� ����������� ����������� - ����� ����������� ����� <literal>@FreeBSD.org</literal>, ���������� - ������� ����� �� <literal>@FreeBSD.org</literal>, �����������, � - ����� ������� ��� �������.</para> - - <para>�� FreshPorts ������� ����� ������� �������� ������������, - ������� ������������� ��������� ������ ���������, ���ӣ���� � ������ - ������ &os;. ���� �� ����������� �� ��� ������, �� ������ - ����������� ��� ���� �������, ������������ FreshPorts ��� �������� - ���ӣ���� ���� ���������.</para> - </sect1> - - <sect1 xml:id="svnweb"> - <title>Web-��������� � ��������� �������� �������</title> - - <para>����� � ��������� �������� ������� ����� ������������� ��� ������ - Web-����������. ���������, ������� �������� � ����� ���� ������� - ������, ������ ��������������� � ����� <link xlink:href="http://svnweb.FreeBSD.org/ports/head/CHANGES">CHANGES</link>. - ���������, ���������� ��������� ������, ���������� ������ � - ����� <link xlink:href="http://svnweb.FreeBSD.org/ports/head/UPDATING">UPDATING</link>. - ������ ����������� ����� �� ����� ������ ����� �����, ������ - �������� �������� ��� <link xlink:href="http://svnweb.FreeBSD.org/ports/head/Mk/bsd.port.mk">bsd.port.mk</link> - � ��������� � ��� ������.</para> - </sect1> - - <sect1 xml:id="ports-mailing-list"> - <title>������ �������� &os;, �����ݣ���� ������</title> - - <para>���� �� ������������� �����, �� ������ ������� �� &a.ports;. - � ������ ����������, ������������ �� ������ ������, ����� ���������� - �����, � ����� ��� ����������� � <filename>CHANGES</filename>.</para> - - <para>���� ������ ������ �������� ������� �������� �����������, - �� ������ ����������� &a.ports-announce.name;, ������� ������������ - � �� �������� ������ ��� ���������.</para> - </sect1> - - <sect1 xml:id="build-cluster"> - <title>������� ���������� ������ &os;</title> - - <para>����� �� �������� ��������� ������� ������ &os; �������� ��� - ����, ��� ��� ������������ ���������� ��������� ������ ��� ������� - �� �������� ������� �� ��� ������ ����������� ������ ��������� - Tier-1 ������� ����� ������� �����.</para> - - <para>��������� ����� ����������, ���� ��� ���������� �� �������� ��� - <varname>IGNORE</varname>. ��� ������, ���������� ��� - <varname>BROKEN</varname>, ������� ����� ���������� ��� ����, - ����� �������, ���� �������� �������� ���� ������. (��� ������� - ����� ������������� ���������� <varname>TRYBROKEN</varname> ��� - <filename>Makefile</filename> �����.)</para> - - </sect1> - - <sect1 xml:id="distfile-survey"> - <title>Portscout: ������ �������������� ������ ������ &os;</title> - - <para>������� ���������� ������� ��� ���������� ������ ���������� - ������ ������� �� ������, �������������� ����� ������� ��� ���� - ��������. ������ ��-�� ���������� ��������� � Internet - �������������� ����� ����� ������ ��������. <link xlink:href="http://portscout.FreeBSD.org">Portscout</link>, �������� - ������������ �������������� ������ &os; �������� �������� - ������ �� ������, ��������� ��� ������� ������� �� ������, - ��� ����������� ����, �������� �� �ݣ �������������� �����. - <application>Portscout</application> ����� �������� ��ޣ�� - � <acronym>HTML</acronym> � ��������� ����������� ������ �� - ��������� ����������� ��� ������ ���, ��� ��� �����������. - ����������� ������������ ����������� ������� ���������, ���� - �������, ���� ��������� ����� <acronym>RSS</acronym>.</para> - - <para>������� �������� <application>Portscout</application> - ���������� email ����������� �����, ���������� ������, �� - ������� ������������ ����������, ���������� ������ � ������ - ��������������� ������� � ������� ���������� ������. ������� - ������ ��������� ����� ����������� �� ������ ����������� ����� - � ��������� �������� ����� ����� ������� ��� ������ - �����������.</para> - - <para>��� ������ �� ������ ����������� ����� ����������� - ������������ ������ ���� ��� ������, �����̣���� �� ����������, - ������ � ������� ������� ������, ����������� � ������� ����� - ������, �������� ���������� ���������� ����� � �������� ��� - ��������� ��������. ������� ������ �� ���� �������� ��������� - ������������ ��������� ����� ����������� �����.</para> - - <para>�� ������ �� �������� ����� � ������ ������������ ���������� - � ����� <link xlink:href="http://freshports.org">FreshPorts</link>.</para> - </sect1> - - <sect1 xml:id="portsmon"> - <title>������� ����������� ������ &os;</title> - - <para>������ �������� �������� �������� - <link xlink:href="http://portsmon.FreeBSD.org">������� ����������� - ������ &os;</link> (��������� ����� ��� <literal>portsmon</literal>). - ������� ������������ ����� ���� ������, �������������� ���������� �� - ���������� ���������� � ����������� ������������� �� ��� ������ - Web-����������. �� ������ ������ ������������� ���� ��������� �� - ������� (PR), ��������� ������ �������� ���������� � ��������� ����� - �� ��������� ������. � ������� � ���� ������ ����� ��������� ������� - �������� �������������� ������ � ������ �������.</para> - - <para>��� ������ �� ������ ����������� ��� ���������� � ��������� ����� - ��� ������ �������� <link xlink:href="http://portsmon.FreeBSD.org/portoverview.py">����� - ���������� �����</link>.</para> - - <para>�� ������ ��������� ��� ������������ ��������� ������, ������� - ��� ����� ����� ������ � ������������ ������ PR GNATS. - (����������� PR �� ������ ��������� � �������� ��� �����, ���� - �� ������������, ����� ��� ��� ������.) ����� �������, - <literal>portsmon</literal> ��� ������� ����� ��� ������, ���� �� - ������ ����� ���������� PR �/��� ������ ���������� ��� ������������� - �����; ���� ��������, ��� �� ��� ������� ����� ����, ������� �� - ���������� ������� ����.</para> - </sect1> - </chapter> - - <chapter xml:id="appendices"> - <title>����������</title> - - <sect1 xml:id="uses-values"> - <title>�������� <varname>USES</varname></title> - - <table> - <title>�������� <varname>USES</varname></title> - - <tgroup cols="3"> - <thead> - <row> - <entry>������������</entry> - <entry>���������</entry> - <entry>��������</entry> - </row> - </thead> - <tbody valign="top"> - &values.uses; - </tbody> - </tgroup> - </table> - </sect1> - - <sect1 xml:id="freebsd-versions"> - <title>�������� <literal>__FreeBSD_version</literal></title> - - <para>���� ��� ������� ���������� �������� �������� - <literal>__FreeBSD_version</literal> � ����, ������� ������̣� � - <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> - - <tgroup cols="3"> - <thead> - <row> - <entry>��������</entry> - <entry>����</entry> - <entry>�����</entry> - </row> - </thead> - - <tbody> - &values.versions; - </tbody> - </tgroup> - </table> - - <note> - <para>��������, ��� 2.2-STABLE ������ �������������� ���� ��� - <quote>2.2.5-STABLE</quote> ����� 2.2.5-RELEASE. ����� ������� - ������������� ��� � �����, �� �� ������ �������� ��� �� ����� - ����������� ������� ��������� �������/�������, ������� � ������ - 2.2. ��� ����������� ���, ��� ������������ ���������� � ���������� - ������ ������ ������������ ������������� ������� ������ �� �� - �������� ����� �������. ���� �� ������ ������� ����, ��� �� ����� - ���������� � ������ ������� -CURRENT; ��� ����������� ����� ������ - � �������������� �����.</para> - </note> - </sect1> - </chapter> +&chap.porting-why; +&chap.new-port; +&chap.quick-porting; +&chap.slow-porting; +&chap.makefiles; +&chap.special; +&chap.plist; +&chap.pkg-files; +&chap.testing; +&chap.upgrading; +&chap.security; +&chap.porting-dads; +&chap.porting-samplem; +&chap.keeping-up; +&chap.appendices; </book> diff --git a/ru_RU.KOI8-R/books/porters-handbook/chapters.ent b/ru_RU.KOI8-R/books/porters-handbook/chapters.ent new file mode 100644 index 0000000000..875b323a32 --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/chapters.ent @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="koi8-r"?> +<!-- + $FreeBSD$ + + Original revision: r43840 +--> + +<!ENTITY chap.porting-why SYSTEM "porting-why/chapter.xml"> +<!ENTITY chap.new-port SYSTEM "new-port/chapter.xml"> +<!ENTITY chap.quick-porting SYSTEM "quick-porting/chapter.xml"> +<!ENTITY chap.slow-porting SYSTEM "slow-porting/chapter.xml"> +<!ENTITY chap.makefiles SYSTEM "makefiles/chapter.xml"> +<!ENTITY chap.special SYSTEM "special/chapter.xml"> +<!ENTITY chap.plist SYSTEM "plist/chapter.xml"> +<!ENTITY chap.pkg-files SYSTEM "pkg-files/chapter.xml"> +<!ENTITY chap.testing SYSTEM "testing/chapter.xml"> +<!ENTITY chap.upgrading SYSTEM "upgrading/chapter.xml"> +<!ENTITY chap.security SYSTEM "security/chapter.xml"> +<!ENTITY chap.porting-dads SYSTEM "porting-dads/chapter.xml"> +<!ENTITY chap.porting-samplem SYSTEM "porting-samplem/chapter.xml"> +<!ENTITY chap.keeping-up SYSTEM "keeping-up/chapter.xml"> +<!ENTITY chap.appendices SYSTEM "appendices/chapter.xml"> diff --git a/ru_RU.KOI8-R/books/porters-handbook/keeping-up/Makefile b/ru_RU.KOI8-R/books/porters-handbook/keeping-up/Makefile new file mode 100644 index 0000000000..4a9f0d2f7b --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/keeping-up/Makefile @@ -0,0 +1,17 @@ +# +# Build the Porters Handbook with just the content from this chapter. +# +# $FreeBSD$ +# +# Original revision: r43840 +# + +CHAPTERS= keeping-up/chapter.xml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/ru_RU.KOI8-R/books/porters-handbook/keeping-up/chapter.xml b/ru_RU.KOI8-R/books/porters-handbook/keeping-up/chapter.xml new file mode 100644 index 0000000000..80c2359ba9 --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/keeping-up/chapter.xml @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="koi8-r"?> +<!-- + The FreeBSD Russian Documentation Project + + $FreeBSD$ + + Original revision: r43840 +--> + +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="keeping-up"> + + <title>������������</title> + + <para>��������� ������ &os; ��������� ����������. ����� ��������� + ��������� ���������� � ���, ��� ������������ ţ � ���������� + ���������.</para> + + <sect1 xml:id="freshports"> + <title>FreshPorts</title> + + <para>����� ������� �������� ����������� ��� ������������ ���������� + �������� �������� �� <link xlink:href="http://www.FreshPorts.org/"> + FreshPorts</link>. ��� ����������� �� ������ ������� ��������� + ������. ������������ ������������ ������������� ����������� �����, + ������ ��� ��� ����� �������� ����������� �� ������ � ����������� + ����������, �� � �� ����������, ��������� ����� ������ ����������� + &os;. (��� ����� ���������� ��� ������������� � ����������� �� ����� + ������ ��������������� ������—���� ����� ���������� ���� �� + ��������� �������������� �� ���, ��� ������ �������� ���������, + ������ ���� ���� ������������ ��� �� ������ �����������. ����� ����, + � ��������� ������� ��������� �� ����� ������� ������ �������������. + �� ��������, ��� ����� ����������� � ����� ��������� ����� + ����������������� ������� �������).</para> + + <para>���� �� ������ ������������ FreshPorts, �� ��� ����� ������ + �ޣ���� ������. ���� ��������������� ����� ����� ����������� ����� + ����� ����� ��� <literal>@FreeBSD.org</literal>, �� ������ �� + Web-��������� �� ������� �������������� ������. ��� ��� �� ���, ��� + ��� ������� �ޣ���� ������ FreshPorts, �� �� ����������� ����������� + ����� ����������� ����� <literal>@FreeBSD.org</literal>, ���������� + ������� ����� �� <literal>@FreeBSD.org</literal>, �����������, � + ����� ������� ��� �������.</para> + + <para>�� FreshPorts ������� ����� ������� �������� ������������, + ������� ������������� ��������� ������ ���������, ���ӣ���� � ������ + ������ &os;. ���� �� ����������� �� ��� ������, �� ������ + ����������� ��� ���� �������, ������������ FreshPorts ��� �������� + ���ӣ���� ���� ���������.</para> + </sect1> + + <sect1 xml:id="svnweb"> + <title>Web-��������� � ��������� �������� �������</title> + + <para>����� � ��������� �������� ������� ����� ������������� ��� ������ + Web-����������. ���������, ������� �������� � ����� ���� ������� + ������, ������ ��������������� � ����� <link xlink:href="http://svnweb.FreeBSD.org/ports/head/CHANGES">CHANGES</link>. + ���������, ���������� ��������� ������, ���������� ������ � + ����� <link xlink:href="http://svnweb.FreeBSD.org/ports/head/UPDATING">UPDATING</link>. + ������ ����������� ����� �� ����� ������ ����� �����, ������ + �������� �������� ��� <link xlink:href="http://svnweb.FreeBSD.org/ports/head/Mk/bsd.port.mk">bsd.port.mk</link> + � ��������� � ��� ������.</para> + </sect1> + + <sect1 xml:id="ports-mailing-list"> + <title>������ �������� &os;, �����ݣ���� ������</title> + + <para>���� �� ������������� �����, �� ������ ������� �� &a.ports;. + � ������ ����������, ������������ �� ������ ������, ����� ���������� + �����, � ����� ��� ����������� � <filename>CHANGES</filename>.</para> + + <para>���� ������ ������ �������� ������� �������� �����������, + �� ������ ����������� &a.ports-announce.name;, ������� ������������ + � �� �������� ������ ��� ���������.</para> + </sect1> + + <sect1 xml:id="build-cluster"> + <title>������� ���������� ������ &os;</title> + + <para>����� �� �������� ��������� ������� ������ &os; �������� ��� + ����, ��� ��� ������������ ���������� ��������� ������ ��� ������� + �� �������� ������� �� ��� ������ ����������� ������ ��������� + Tier-1 ������� ����� ������� �����.</para> + + <para>��������� ����� ����������, ���� ��� ���������� �� �������� ��� + <varname>IGNORE</varname>. ��� ������, ���������� ��� + <varname>BROKEN</varname>, ������� ����� ���������� ��� ����, + ����� �������, ���� �������� �������� ���� ������. (��� ������� + ����� ������������� ���������� <varname>TRYBROKEN</varname> ��� + <filename>Makefile</filename> �����.)</para> + + </sect1> + + <sect1 xml:id="distfile-survey"> + <title>Portscout: ������ �������������� ������ ������ &os;</title> + + <para>������� ���������� ������� ��� ���������� ������ ���������� + ������ ������� �� ������, �������������� ����� ������� ��� ���� + ��������. ������ ��-�� ���������� ��������� � Internet + �������������� ����� ����� ������ ��������. <link xlink:href="http://portscout.FreeBSD.org">Portscout</link>, �������� + ������������ �������������� ������ &os; �������� �������� + ������ �� ������, ��������� ��� ������� ������� �� ������, + ��� ����������� ����, �������� �� �ݣ �������������� �����. + <application>Portscout</application> ����� �������� ��ޣ�� + � <acronym>HTML</acronym> � ��������� ����������� ������ �� + ��������� ����������� ��� ������ ���, ��� ��� �����������. + ����������� ������������ ����������� ������� ���������, ���� + �������, ���� ��������� ����� <acronym>RSS</acronym>.</para> + + <para>������� �������� <application>Portscout</application> + ���������� email ����������� �����, ���������� ������, �� + ������� ������������ ����������, ���������� ������ � ������ + ��������������� ������� � ������� ���������� ������. ������� + ������ ��������� ����� ����������� �� ������ ����������� ����� + � ��������� �������� ����� ����� ������� ��� ������ + �����������.</para> + + <para>��� ������ �� ������ ����������� ����� ����������� + ������������ ������ ���� ��� ������, �����̣���� �� ����������, + ������ � ������� ������� ������, ����������� � ������� ����� + ������, �������� ���������� ���������� ����� � �������� ��� + ��������� ��������. ������� ������ �� ���� �������� ��������� + ������������ ��������� ����� ����������� �����.</para> + + <para>�� ������ �� �������� ����� � ������ ������������ ���������� + � ����� <link xlink:href="http://freshports.org">FreshPorts</link>.</para> + </sect1> + + <sect1 xml:id="portsmon"> + <title>������� ����������� ������ &os;</title> + + <para>������ �������� �������� �������� + <link xlink:href="http://portsmon.FreeBSD.org">������� ����������� + ������ &os;</link> (��������� ����� ��� <literal>portsmon</literal>). + ������� ������������ ����� ���� ������, �������������� ���������� �� + ���������� ���������� � ����������� ������������� �� ��� ������ + Web-����������. �� ������ ������ ������������� ���� ��������� �� + ������� (PR), ��������� ������ �������� ���������� � ��������� ����� + �� ��������� ������. � ������� � ���� ������ ����� ��������� ������� + �������� �������������� ������ � ������ �������.</para> + + <para>��� ������ �� ������ ����������� ��� ���������� � ��������� ����� + ��� ������ �������� <link xlink:href="http://portsmon.FreeBSD.org/portoverview.py">����� + ���������� �����</link>.</para> + + <para>�� ������ ��������� ��� ������������ ��������� ������, ������� + ��� ����� ����� ������ � ������������ ������ PR GNATS. + (����������� PR �� ������ ��������� � �������� ��� �����, ���� + �� ������������, ����� ��� ��� ������.) ����� �������, + <literal>portsmon</literal> ��� ������� ����� ��� ������, ���� �� + ������ ����� ���������� PR �/��� ������ ���������� ��� ������������� + �����; ���� ��������, ��� �� ��� ������� ����� ����, ������� �� + ���������� ������� ����.</para> + </sect1> + </chapter> + diff --git a/ru_RU.KOI8-R/books/porters-handbook/makefiles/Makefile b/ru_RU.KOI8-R/books/porters-handbook/makefiles/Makefile new file mode 100644 index 0000000000..6a35c6f691 --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/makefiles/Makefile @@ -0,0 +1,17 @@ +# +# Build the Porters Handbook with just the content from this chapter. +# +# $FreeBSD$ +# +# Original revision: r43840 +# + +CHAPTERS= makefiles/chapter.xml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/ru_RU.KOI8-R/books/porters-handbook/makefiles/chapter.xml b/ru_RU.KOI8-R/books/porters-handbook/makefiles/chapter.xml new file mode 100644 index 0000000000..12e66950df --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/makefiles/chapter.xml @@ -0,0 +1,4315 @@ +<?xml version="1.0" encoding="koi8-r"?> +<!-- + The FreeBSD Russian Documentation Project + + $FreeBSD$ + + Original revision: r43840 +--> + +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="makefiles"> + + <title>��������� ����� Makefile</title> + + <para>��������� ����� <filename>Makefile</filename> ���������� ������, � + �� ����� ������������, ��� ����� ���, ��� ������, �� ���������� �� + ������������ �������. � ���� �� � ���� ����������� ������� <link linkend="porting-samplem">��������� Makefile</link>, ��� ��� ��������� + �� ���� �, ����������, �������� ������� ���������� � �������� � ���� + �������, ����� ��������� ������ ������ ����� ������� ������.</para> + + <para>����, ���������� �������� ������ � ������� �� ������������� ��� + �������� ������ ������ ����� <filename>Makefile</filename>:</para> + + <sect1 xml:id="makefile-source"> + <title>������������ �������� ���</title> + + <para>��������� �� �� � �������� <varname>DISTDIR</varname> � ���� + ������������ ������������ ����������� <command>gzip</command> + tar-������ � ������ ���� + <filename>foozolix-1.2.tar.gz</filename>? ���� ��� ���, + ����� ������� � ���������� ����. ���� ���, �� �� ������ ���������� + �������������� ��������� �� ���������� + <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>� ������ ������ �� ������ ������ ���������� ���� ����������� ���� + <buildtarget>do-extract</buildtarget> ��� ��������������� �������� �� + ���������, ���� � ����� ����� ����� ��������� � ����� ������ �������, + ���� ������ ���ģ���.</para> + </sect1> + + <sect1 xml:id="makefile-naming"> + <title>����������</title> + + <para>� ������ ����� <filename>Makefile</filename> ����� ��� ������ + ��������, ����������� ��� ����� ������ � �������������� � ���������� + ���������.</para> + + <sect2> + <title><varname>PORTNAME</varname> � + <varname>PORTVERSION</varname></title> + + <para>� ���������� <varname>PORTNAME</varname> �� ������ ������� + �������� ����� ����� ������ �����, � � ���������� + <varname>PORTVERSION</varname> - ����� ������.</para> + </sect2> + + <sect2 xml:id="makefile-naming-revepoch"> + <title><varname>PORTREVISION</varname> � + <varname>PORTEPOCH</varname></title> + + <sect3> + <title><varname>PORTREVISION</varname></title> + + <para>���������� <varname>PORTREVISION</varname> ������������ ����� + ��������� ��������������� �����, ������� ���������� ��� ������ + ���������� �������� ���������� <varname>PORTVERSION</varname> (�� + ���� ������ ���, ����� ����������� ����������� ����� ����������� + �����), � ����������� � ����� ������, ���� ��� �� ����� ����. + ��������� � <varname>PORTREVISION</varname> ������������ + ������������������� ������������� (��������, + <command>pkg version</command>, ��. &man.pkg-version.8;) + ��� ����������� ����� ��������� ������ ������.</para> + + <para>�������� <varname>PORTREVISION</varname> ������ ������������� + ������ ���, ����� � ����� FreeBSD �������� ���������, ������� + ���-���� ������ ���������� �����. ���� ��������� ������ + ���������, ������������� ���������� ������ � <link + linkend="makefile-options">�����������</link> �� + ���������.</para> + + <para>������� �������, ����� �������� <varname>PORTREVISION</varname> + ������ ���� ���������:</para> + + <itemizedlist> + <listitem> + <para>���������� ������ ��� ����������� �����������, + ������, ��� ���������� ����� ���������������� � ����.</para> + </listitem> + + <listitem> + <para>��������� � ����� <filename>Makefile</filename> ����� ��� + ��������� � ���������� ����������, ������������ ��� ���������� + ������.</para> + </listitem> + + <listitem> + <para>��������� � ������ �������� ��� � ��������� ������ �� + ����� ��� ��������� (��������, ��������� �������, ������������� + ��������� ������ ��� ������, �����, ��� ssh-����� ��� + �����).</para> + </listitem> + + <listitem> + <para>���������� ������ ������������ ����������, �� ������� + ������� ���� (� ���� ������ ���, ��� ���������� ���������� + ������ ����� ����� ��������� ����� ����� ������ ����������, + �� ������ ����� �������, ������ ��� ��� ���� ����� �������� + ����� ������ ���������� libfoo.x, � �� libfoo.(x+1)).</para> + </listitem> + + <listitem> + <para>������� �������������� ��������� � �������������� ����� + �����, ������������ ��� ����������, � ���������� � ������� + ����������, �� ���� ��������� � ������������ ������� + ������������� ����� <filename>distinfo</filename> ��� + ���������������� ��������� <varname>PORTVERSION</varname>, + ����� ��� ������� <command>diff -ru</command> ����� ����� + � ������ �������� ���������� ������������� ��������� � + ����.</para> + </listitem> + </itemizedlist> + + <para>������� ���������, ������� �� ������� ���������� ���������� + <varname>PORTREVISION</varname>:</para> + + <itemizedlist> + <listitem> + <para>��������� ����� � ������� ����� ��� �������������� ��������� + � ������.</para> + </listitem> + + <listitem> + <para>��������� � ���������� <varname>MASTER_SITES</varname> ��� + ������ �������������� ��������� �����, ������� �� ����������� + ������������� ������.</para> + </listitem> + + <listitem> + <para>����������� ����� � ��������������� �����, �����, ��� + ����������� ��������, ������� �� ��� �� �����, ��� ������������ + ������ ������ ����������� �����������.</para> + </listitem> + + <listitem> + <para>�����������, ���������� ����� ����������, ������� ������ + ��������� ���������� ������, ���� ����� ��� ���� ���������� + ������� (���� ��������� �� �������� � ��������� ������ �� ����� + ������ ����������, �� ������� ���� ����� ��������). ��� ��� + <varname>PORTREVISION</varname> �������� ���������� ������, + ��, ���� ����� ����� �� ��������, �� ��� ����� ����������� + <varname>PORTREVISION</varname> ��� ������� ���������.</para> + </listitem> + </itemizedlist> + + <para>�������, �������� ����� �������������� ���������, ����������� � + ���, ��� ����� ���������� ����, �������� �� �������� � ���� + ��������� �����, ��� �� ���� �������� ��� (� ���� + ������������������, ����������� ��� ��������� ����, ��� ����� + ����� ����� ������ ���������������), � ������� �� �������� ��� + ����, ��� ��� ���� ���, ��� ��������� ��������� ��ϣ ������ ������, + ����� ������� ��� �������. ���� ��� ���, �� ���������� + <varname>PORTREVISION</varname> ������ ���� ���������.</para> + </sect3> + + <sect3> + <title><varname>PORTEPOCH</varname></title> + + <para>����� �� ������� ����������� ������������ ����������� ��� + ��������� ����� &os; ������ ���-�� �� ��� � ��������� ������ + ���������, ����� ������� ������ ���������� ������. �������� ����� + �������� ����, �������� �������� �������� � foo-20000801 �� foo-1.0 + (���������� ��� �� ��������� �� ����� ����� �������, ��� ��� + 20000801 �������� ������, ��� 1).</para> + + <tip> + <para>��������� ��������� ������ ������ �� ������ ��������. + ��� ���������� ��������� ���� ����� � ������� ������ ����� + ������������ <command>pkg version</command> + (��. &man.pkg-version.8;). ��������:</para> + + <screen>&prompt.user; <userinput>pkg_version -t 0.031 0.29</userinput> +></screen> + + <para>��� ������������� <application>pkgng</application>:</para> + + <screen>&prompt.user; <userinput>pkg version -t 0.031 0.29</userinput> +></screen> + + <para>������ <literal>></literal> � ������ ������� ��������, + ��� ������ 0.031 ��������� ����, ��� ������ 0.29, ��� ����� + ���� �� �������� ��� ����, ��� ��������� ������������.</para> + </tip> + + <para>� ���������, �������� ����, ������ ���� ��������� �������� + <varname>PORTEPOCH</varname>. ���� �������� + <varname>PORTEPOCH</varname> �� ����� ����, �� ��� ����������� � + ����� ������, ��� ������� � ������� ����. �������� + <varname>PORTEPOCH</varname> ������� �� ������ ����������� ��� + ������������ � ����, ������ ��� ��� �����ģ� � ������ ��������� � + ������� � ������� ������� ����� (�� ���� ��, ��� ����� �������, + ���������� �� �����): ����� ����� ������ (��������, + <literal>1.0,1</literal> � ������� ����) ��������� ������, ��� + ����� ���������� ������ (20000801), ������ ������� + <literal>,1</literal> ���������������� ���������� + ������������������� ��������� ������ �������, � �������� ������, + ��� �������������� ������� <literal>,0</literal> ����� ������� + ������).</para> + + <para>������������ ���������� ��� ����� <varname>PORTEPOCH</varname> + �������� � ��������� ������������; ���� �� �� ������, � ޣ� ��� + ���� �����, ����������, �ӣ �� ����������� � ����, ���� �������� + � ������� ��������.</para> + + <para>��������������, ��� � ����������� ������ ���������� + <varname>PORTEPOCH</varname> �������������� �� �����, �� ��� + ���������� ������������� <varname>PORTVERSION</varname> ����� + ��������� ������������� ţ �����, ���� � ������� ������� + ����������� ����������� ������ �������� ��������� ������ ������. + ������ ���������� ������ ��� &os; ����� ���� �������������, ����� + ����������� ��������� ����� ��� ������������ ������ ������ — + ������ <quote>�������������</quote> ������. ������� ������� + �������� ����� ����� ��� ������, ��� ����� ������� ��������, ��� � + � ������� ����, ����� ����� ������� ����� + <quote>�����������</quote> �����.</para> + + <para>��������, ���� ������������� ����� ������� ����� 20000917, � + ���������� ������ ������������ ����������� ����� ����� 1.2, �� + �������������� ������ ������ ���� ���������� � ������������ + �������� <varname>PORTVERSION</varname>, ������ 1.2.20000917 ��� + ���-�� �������, �� �� 20000917, ��� ��� ����������� �����, ������, + 1.3, ������ ����� �������� ������� ��������.</para> + </sect3> + + <sect3> + <title>������ ������������� ���������� + <varname>PORTREVISION</varname> � + <varname>PORTEPOCH</varname></title> + + <para>�������� ������ ����� <literal>gtkmumble</literal>, ������ + <literal>0.10</literal>, � ��������� ������.</para> + + <programlisting>PORTNAME= gtkmumble +PORTVERSION= 0.10</programlisting> + + <para>�������� <varname>PKGNAME</varname> ������ ������ + <literal>gtkmumble-0.10</literal>.</para> + + <para>���������� ����� � ������������, ����������� ������� + ����������� �������� + ���������� ����� ��� &os;. �������������� ���� ��������� + �������� ���������� <varname>PORTREVISION</varname>.</para> + + <programlisting>PORTNAME= gtkmumble +PORTVERSION= 0.10 +PORTREVISION= 1</programlisting> + + <para><varname>PKGNAME</varname> ��������� �������� + <literal>gtkmumble-0.10_1</literal></para> + + <para>������������� �������� ����� ������ � ������� + <literal>0.2</literal> (���������, ��� ��� ������� + <literal>0.10</literal> ����� ���� � ���� + <literal>0.1.0</literal>, � �� <quote>��, ��� ����� �������� ����� + ������ 0.9</quote> - ��������, ������ ��� ������). ��� ��� ����� + ������� ����� ������ <literal>2</literal> �� �������� ������, ��� + ����� ���������� ������ <literal>10</literal>, �� ������ ���� + ��������� �������� <varname>PORTEPOCH</varname> ��� ����, ����� + ��������� ������������ ����� ����������� ����� ��� <quote>����� + �����</quote>. ��� ��� ��� ����� ����� ���������, �� + <varname>PORTREVISION</varname> ���������� (��� ��������� �� + ����� <filename>Makefile</filename>).</para> + + <programlisting>PORTNAME= gtkmumble +PORTVERSION= 0.2 +PORTEPOCH= 1</programlisting> + + <para><varname>PKGNAME</varname> ��������� �������� + <literal>gtkmumble-0.2,1</literal></para> + + <para>��������� ����� ����� ����� ������ 0.3. ��� ��� �������� + ���������� <varname>PORTEPOCH</varname> ������� �� �����������, ��� + ����������, ������������ ������, ������ �������� ���:</para> + + <programlisting>PORTNAME= gtkmumble +PORTVERSION= 0.3 +PORTEPOCH= 1</programlisting> + + <para><varname>PKGNAME</varname> ��������� �������� + <literal>gtkmumble-0.3,1</literal></para> + + <note> + <para>���� �������� <varname>PORTEPOCH</varname> ���� ����������� + ���� �� �������� � <literal>0</literal>, �� ���-������, ������� + ������������� ����� <literal>gtkmumble-0.10_1</literal>, �� + ���� �� �������� ����� <literal>gtkmumble-0.3</literal> ��� + ����� �����, ��� ��� <literal>3</literal> ���� �� ������, ��� + <literal>10</literal>. �������, ��� � ������ ������� ��� + �������� <varname>PORTEPOCH</varname>.</para> + </note> + </sect3> + </sect2> + + <sect2> + <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>. � ���������, � ���������� + <varname>PORTVERSION</varname> <emphasis>�� �����������</emphasis> + ������������� ������ (<literal>-</literal>). ����� ����, ���� � + ����� ������ ������������ ����� <replaceable>language-</replaceable> + ��� <replaceable>-compiled.specifics</replaceable> (�������� ����), + �� ����������� ���������� <varname>PKGNAMEPREFIX</varname> � + <varname>PKGNAMESUFFIX</varname>, ��������������. �� ������� �� + ������ �������� ���������� <varname>PORTNAME</varname>.</para> + </sect2> + + <sect2 xml:id="porting-pkgname"> + <title>���������� �� ���������� �������</title> + + <para>����� ������� ��������� ����������, ������� �� ������ ��������� + � ���������� ����� �������. ��� ���� ����������� ��� ���������� + ��������� ��������, ��� ��� ������� ��� ������ �������, � + ������������ ���������� �� ���, ���� ������ �� ���������� �� + �����!</para> + + <para>��� ������ ������ ����� ��� + <filename>language_region-name-compiled.specifics-version.numbers</filename>.</para> + + <para>��� ������ ������������ ��� + <literal>${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}</literal>. + �� ������ �������� �������� ���������� � ������������ � ���� + ��������.</para> + + <orderedlist> + <listitem> + <para>&os; �������� ������������ �����, �� ������� ������������� + ţ ������������. ����� <replaceable>language-</replaceable> + ������ ���� �������������� ����������� �� �������� ����� �� + ��������� ISO-639, ���� ���� ���������� ��� ����������� �����. + ��������� �������� <literal>ja</literal> ��� ���������, + <literal>ru</literal> ��� ��������, <literal>vi</literal> ��� + ������������, <literal>zh</literal> ��� ����������, + <literal>ko</literal> ��� ���������� � <literal>de</literal> ��� + ��������� ������.</para> + + <para>���� ��� ���� ���������� ��� ����������� ������� ������ + ������� ������������� �����, �������� ����� �������������� ��� + ������. ��������� �������� <literal>en_US</literal> ��� US + English � <literal>fr_CH</literal> ��� Swiss French.</para> + + <para>����� <replaceable>language-</replaceable> ������ ���������� + � ���������� <varname>PKGNAMEPREFIX</varname>.</para> + </listitem> + + <listitem> + <para>������ ����� ����� <filename>name</filename> ������ ���� � + ������ ��������. (���������� ����� �������� ����� ��������� + ����� � ������� ��������, ��� ��� ���������� ������� ����, ����� + ������������ ��� ������������ ������, ����������� � ����� + ��������� ���������� ��������� ����.) ���������� �������� + ��������� ������ ��� <literal>Perl 5</literal>, �������� ������� + <literal>p5-</literal> � ���������� ���� ��������� � + �����; ��������, ������ <literal>Data::Dumper</literal> ����� + ����������� <literal>p5-Data-Dumper</literal>.</para> + </listitem> + + <listitem> + <para>���������, ��� ��� ����� � ������ ����� �������� � + ����������� � ���������� <varname>PORTNAME</varname> � + <varname>PORTVERSION</varname>. ������������ �������, �� + ������� <varname>PORTNAME</varname> �������� ���������� �����, + ��� ���� ���������� ����������� ��� ������ ����� �������, ��� + ��� ������� ��� ������ <filename>textproc/libxml2</filename> + ��� <filename>japanese/kinput2-freewnn</filename>. � ��������� + ������ <varname>PORTNAME</varname> �� ������ ��������� ������� + ����������, ����������� �� ������. ��, ��� ��������� ����� + ����� ���������� <varname>PORTNAME</varname>, �������� ������ + ����������, ��� ��� ������ <filename>www/apache*</filename>; + � ���� ������ ��������� ������ (� ��������� ������ � �������) + ���������� �� ��������� <varname>PKGNAMEPREFIX</varname> + � <varname>PKGNAMESUFFIX</varname>.</para> + </listitem> + + <listitem> + <para>���� ���� ����� ���� �������� � ���������� <link linkend="makefile-masterdir">���������� ��������� ���������� �� + ���������</link> (������ ��� ����� ����� �������� � ��������� + ������), �� ����� <replaceable>-compiled.specifics</replaceable> + ������ ���������� ���������������� �������� �� ��������� (����� + �� ����������). ��������� �������� ������� ������ � + �������.</para> + + <para>����� <replaceable>-compiled.specifics</replaceable> ������ + ���������� � ���������� <varname>PKGNAMESUFFIX</varname>.</para> + </listitem> + + <listitem> + <para>������ � ������� ������ ������ ��������� �� ������� + (<literal>-</literal>) � �������� ������� ����������� ���������� + ����� � ���� � ������ ��������. � ���������, �� ����������� + ����� ��� ���� ����� ������ ������ � ������������ ������ ������. + ������������ ����������� �������� ������� <literal>pl</literal> + (���������� <quote>patchlevel</quote>), ������� ����� + �������������� <emphasis>������</emphasis> �����, ����� � + ������������ ����������� ��� �������� � �������� ������ ������. + ���� � ����� ������ ������������ ����������� �������� ������� + ���� <quote>alpha</quote>, <quote>beta</quote>, + <quote>rc</quote> ��� <quote>pre</quote>, �������� �� �ţ ������ + ����� � ��������� ţ ��������������� ����� �����. ���� ����� + ����� ����� ����� ������ �ݣ ������������, �� ����� ����� ������ + ��������� ����� ��� �������������� ����������� �����.</para> + + <para>����� ������ ������� ����������� � �������� ���������� ������ + �� ������ ������. � ���������, ������� �� ���, ����� ���������� + ������ ������ ����������� ������, � ���� ��� ������������ ����, + �� ����������� ������ + <literal>0.0.yyyy.mm.dd</literal>, �� �� + <literal>dd.mm.yyyy</literal> + ��� �� ����������� � ��������� Y2K + <literal>yy.mm.dd</literal>. + ���������� � ������ �������� <literal>0.0.</literal> �������� + ������, � ������ ���� ������� ����� � ����������� ��������� + ������, ������� � �������� �������������, ������� ��, ����� + ����, ��� + <literal>yyyy</literal>.</para> + </listitem> + </orderedlist> + + <para>��� ��������� (��������) �������� ����, ��� ������������� ��� �� + �������������, ������������ ��������, � ����������� ��� ����� + ������:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="6"> + <thead> + <row> + <entry>��� ������������</entry> + + <entry><varname>PKGNAMEPREFIX</varname></entry> + + <entry><varname>PORTNAME</varname></entry> + + <entry><varname>PKGNAMESUFFIX</varname></entry> + + <entry><varname>PORTVERSION</varname></entry> + + <entry>�����������</entry> + </row> + </thead> + + <tbody> + <row> + <entry>mule-2.2.2</entry> + <entry>(�����)</entry> + <entry>mule</entry> + <entry>(�����)</entry> + <entry>2.2.2</entry> + <entry>��������� �� �������������</entry> + </row> + + <row> + <entry>EmiClock-1.0.2</entry> + <entry>(�����)</entry> + <entry>emiclock</entry> + <entry>(�����)</entry> + <entry>1.0.2</entry> + <entry>��� ��������� �������� ����� � ���������� ������� + ���������</entry> + </row> + + <row> + <entry>rdist-1.3alpha</entry> + <entry>(�����)</entry> + <entry>rdist</entry> + <entry>(�����)</entry> + <entry>1.3.a</entry> + <entry>������� ���� <literal>alpha</literal> ���������</entry> + </row> + + <row> + <entry>es-0.9-beta1</entry> + <entry>(�����)</entry> + <entry>es</entry> + <entry>(�����)</entry> + <entry>0.9.b1</entry> + <entry>������� ���� <literal>beta</literal> ���������</entry> + </row> + + <row> + <entry>mailman-2.0rc3</entry> + <entry>(�����)</entry> + <entry>mailman</entry> + <entry>(�����)</entry> + <entry>2.0.r3</entry> + <entry>������� ���� <literal>rc</literal> ���������</entry> + </row> + + <row> + <entry>v3.3beta021.src</entry> + <entry>(�����)</entry> + <entry>tiff</entry> + <entry>(�����)</entry> + <entry>3.3</entry> + <entry>��� ��� ����� ���� ������?</entry> + </row> + + <row> + <entry>tvtwm</entry> + <entry>(�����)</entry> + <entry>tvtwm</entry> + <entry>(�����)</entry> + <entry>pl11</entry> + <entry>������ ��������� �������� ������ ������</entry> + </row> + + <row> + <entry>piewm</entry> + <entry>(�����)</entry> + <entry>piewm</entry> + <entry>(�����)</entry> + <entry>1.0</entry> + <entry>������ ��������� �������� ������ ������</entry> + </row> + + <row> + <entry>xvgr-2.10pl1</entry> + <entry>(�����)</entry> + <entry>xvgr</entry> + <entry>(�����)</entry> + <entry>2.10.1</entry> + <entry><literal>pl</literal> ��������� ������ ��� ���������� + ��������/�������� ������ ������</entry> + </row> + + <row> + <entry>gawk-2.15.6</entry> + <entry>ja-</entry> + <entry>gawk</entry> + <entry>(�����)</entry> + <entry>2.15.6</entry> + <entry>������ �� �������� �����</entry> + </row> + + <row> + <entry>psutils-1.13</entry> + <entry>(�����)</entry> + <entry>psutils</entry> + <entry>-letter</entry> + <entry>1.13</entry> + <entry>������ ������ �������� ���������� �� ����� ���������� + ������</entry> + </row> + + <row> + <entry>pkfonts</entry> + <entry>(�����)</entry> + <entry>pkfonts</entry> + <entry>300</entry> + <entry>1.0</entry> + <entry>����� ��� ������� 300dpi</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>���� � �������� ���� ��������� ��� ���������� � ������ ������ � + �� ������, ��� ����� ���������� ��������� ������ ������, �� � + �������� ������ ������ ������� ������ <literal>1.0</literal> (��� � + ������� � <literal>piewm</literal> ����). � ��������� ������ + �������� ������ ��������� ��� ����������� ���� + (<literal>0.0.yyyy.mm.dd</literal>) + � �������� ������ ������.</para> + </sect2> + </sect1> + + <sect1 xml:id="makefile-categories"> + <title>���������� �� ����������</title> + + <sect2> + <title><varname>CATEGORIES</varname></title> + + <para>� �������� �������� ������ �� ���������� � ������� + <filename>/usr/ports/packages/All</filename>, � � ����� ��� ����� + ������������ �� <filename>/usr/ports/packages</filename> + ��������� �� ���� ������. ����� ���� ������������ ������������ + ���������� <varname>CATEGORIES</varname>. ����� ����� ����� ��� + ���������� ����� ������������, ����� �� ������������ � ������ + ������� �� FTP-������� ��� �������-�����. ����������, ���������� �� + <link linkend="porting-categories">������� ������ ���������</link> + � �������� �� �� ���, + ������� ����� ����� �������� � ������ �����.</para> + + <para>���� ������ ����� ����������, ���� � ������ ������ ����� ������� + ����. ���� �� ������� ����� ����� ����� ���������, �� + ��������������, ��� ����� ����� ����� �������� � ���������� � ������ + ������ ���������. ���������� <link linkend="choosing-categories">����</link> ��� ��������� + ��������� ���������� � ���, ��� ��������� ������� ���������.</para> + </sect2> + + <sect2 xml:id="porting-categories"> + <title>������� ������ ���������</title> + + <para>��� ������� ������ ���������. ��, ������� �������� + �ף������� (<literal>*</literal>), �������� + <emphasis>������������</emphasis> �����������—��� �� ����� + ������������ ����������� � ������ ������. ��� ������������ ������ � + �������� ��������� ���������, � ������ ��� ������.</para> + + <note> + <para>��� ������������� ��������� ������� ������������ �������� + � <varname>COMMENT</varname> � <filename>Makefile</filename> + ���������������� �����������.</para> + </note> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="3"> + <thead> + <row> + <entry>���������</entry> + + <entry>��������</entry> + + <entry>����������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><filename>accessibility</filename></entry> + <entry>����� ��� ������ ������������� � ������������� + �������������.</entry> + <entry/> + </row> + + <row> + <entry><filename>afterstep*</filename></entry> + <entry>�����, �������������� �������� ���� <link xlink:href="http://www.afterstep.org">AfterStep</link>.</entry> + <entry/> + </row> + + <row> + <entry><filename>arabic</filename></entry> + <entry>��������� ��������� �����.</entry> + <entry/> + </row> + + <row> + <entry><filename>archivers</filename></entry> + <entry>����������� ��� ������ � ��������.</entry> + <entry/> + </row> + + <row> + <entry><filename>astro</filename></entry> + <entry>����������, ��������� � �����������.</entry> + <entry/> + </row> + + <row> + <entry><filename>audio</filename></entry> + <entry>��������� ������ �� ������.</entry> + <entry/> + </row> + + <row> + <entry><filename>benchmarks</filename></entry> + <entry>������� ��� ��������� ������������������ �������.</entry> + <entry/> + </row> + + <row> + <entry><filename>biology</filename></entry> + <entry>����������� �����������, ��������� � ���������.</entry> + <entry/> + </row> + + <row> + <entry><filename>cad</filename></entry> + <entry>����������� ������ ������������������� + ��������������.</entry> + <entry/> + </row> + + <row> + <entry><filename>chinese</filename></entry> + <entry>��������� ���������� �����.</entry> + <entry/> + </row> + + <row> + <entry><filename>comms</filename></entry> + <entry>���������������� ����������� �����������.</entry> + <entry>� �������� ��������� ��� ������ � ���������������� + ������.</entry> + </row> + + <row> + <entry><filename>converters</filename></entry> + <entry>������� ��� �������������� ���������� ��������.</entry> + <entry/> + </row> + + <row> + <entry><filename>databases</filename></entry> + <entry>���� ������.</entry> + <entry/> + </row> + + <row> + <entry><filename>deskutils</filename></entry> + <entry>��, ��� ���� �� ����� �� ����������� �����������.</entry> + <entry/> + </row> + + <row> + <entry><filename>devel</filename></entry> + <entry>������� ��� ���������� ������������ �����������.</entry> + <entry>�� ��������� ���� ���������� ������ ������ ��� ��� + ����������—���� ��� ��������� ��� �����-�� ������ + ���������, �� �� ���� ����� �� ������.</entry> + </row> + + <row> + <entry><filename>dns</filename></entry> + <entry>����������� ����������� ��� ������ � DNS.</entry> + <entry/> + </row> + + <row> + <entry><filename>docs*</filename></entry> + <entry>����-����� ��� ������������ &os;.</entry> + <entry/> + </row> + + <row> + <entry><filename>editors</filename></entry> + <entry>��������� ������ ����������.</entry> + <entry>������������������ ��������� ������� � ������� ��� + ��������������� ������������ (��������, �������� + �������������� ������ �������� � + ��������� <filename>math</filename>).</entry> + </row> + + <row> + <entry><filename>elisp*</filename></entry> + <entry>����� ��� Emacs lisp.</entry> + <entry/> + </row> + + <row> + <entry><filename>emulators</filename></entry> + <entry>��������� ������ ������������ ������.</entry> + <entry>��������� ���������� ���� <emphasis>��</emphasis> + ���������—��, ������� ����������� ��� X, ������ ���� � + ��������� <filename>x11</filename>, � ��������� � + <filename>comms</filename> ��� <filename>misc</filename>, � + ����������� �� ����������� �� ��������������.</entry> + </row> + + <row> + <entry><filename>finance</filename></entry> + <entry>���������� ��� ������ � ��������, ��������� � ����, ��� + � ���� �������.</entry> + <entry/> + </row> + + <row> + <entry><filename>french</filename></entry> + <entry>��������� ������������ �����.</entry> + <entry/> + </row> + + <row> + <entry><filename>ftp</filename></entry> + <entry>������� � ������� FTP.</entry> + <entry>���� ��� ���� �������� ��� FTP, + ��� � HTTP, ��������� ��� � ��������� + <filename>ftp</filename> � ������� ��������� ��������� + <filename>www</filename>.</entry> + </row> + + <row> + <entry><filename>games</filename></entry> + <entry>����.</entry> + <entry/> + </row> + + <row> + <entry><filename>geography*</filename></entry> + <entry>����������� �����������, ��������� � ����������.</entry> + <entry/> + </row> + + <row> + <entry><filename>german</filename></entry> + <entry>��������� ��������� �����.</entry> + <entry/> + </row> + + <row> + <entry><filename>gnome*</filename></entry> + <entry>����� ������� <link xlink:href="http://www.gnome.org">GNOME</link>.</entry> + <entry/> + </row> + + <row> + <entry><filename>gnustep*</filename></entry> + <entry>����������� ����������� ��� ��������� �������� + ����� GNUstep.</entry> + <entry/> + </row> + + <row> + <entry><filename>graphics</filename></entry> + <entry>����������� �������.</entry> + <entry/> + </row> + + <row> + <entry><filename>hamradio*</filename></entry> + <entry>����������� ����������� ��� ������������� �����</entry> + <entry/> + </row> + + <row> + <entry><filename>haskell*</filename></entry> + <entry>����������� �����������, ��������� � ������ + Haskell.</entry> + <entry/> + </row> + + <row> + <entry><filename>hebrew</filename></entry> + <entry>��������� ������.</entry> + <entry/> + </row> + + <row> + <entry><filename>hungarian</filename></entry> + <entry>��������� ����������� �����.</entry> + <entry/> + </row> + + <row> + <entry><filename>ipv6*</filename></entry> + <entry>����������� �����������, ��������� � IPv6.</entry> + <entry/> + </row> + + <row> + <entry><filename>irc</filename></entry> + <entry>������� ��� ������ � Internet Relay Chat.</entry> + <entry/> + </row> + + <row> + <entry><filename>japanese</filename></entry> + <entry>��������� ��������� �����.</entry> + <entry/> + </row> + + <row> + <entry><filename>java</filename></entry> + <entry>����������� �����������, ��������� � ������ + Java™.</entry> + <entry>��������� <filename>java</filename> �� � ���� ������ + �� ������ ���� ������������ ��� �����. �������� ��� ������, + ��������������� ������� ��������� � ����� Java, �������� + ����� ������������� �� ������������ + <filename>java</filename> ��� �������� ��������� + �����.</entry> + </row> + + <row> + <entry><filename>kde*</filename></entry> + <entry>����� ������� + <link xlink:href="http://www.kde.org">KDE</link>.</entry> + <entry/> + </row> + + <row> + <entry><filename>kld*</filename></entry> + <entry>����������� ������ ����.</entry> + <entry/> + </row> + + <row> + <entry><filename>korean</filename></entry> + <entry>��������� ���������� �����.</entry> + <entry/> + </row> + + <row> + <entry><filename>lang</filename></entry> + <entry>����� ����������������.</entry> + <entry/> + </row> + + <row> + <entry><filename>linux*</filename></entry> + <entry>Linux ���������� � �������.</entry> + <entry/> + </row> + + <row> + <entry><filename>lisp*</filename></entry> + <entry>����������� �����������, ��������� � ������ + Lisp.</entry> + <entry/> + </row> + + <row> + <entry><filename>mail</filename></entry> + <entry>��������� ��� ������ � ����������� ������.</entry> + <entry/> + </row> + + <row> + <entry><filename>math</filename></entry> + <entry>����������� ����������� ��� ��������� ���������� � + ������ �������, ��������� � �����������.</entry> + <entry/> + </row> + + <row> + <entry><filename>mbone*</filename></entry> + <entry>���������� ��� MBone.</entry> + <entry/> + </row> + + <row> + <entry><filename>misc</filename></entry> + <entry>��������� �������</entry> + <entry>� �������� ��, ��� �� �������� � + ������ ���������. ���� ��� ��������, ���������� ����� + ����� ����������, ��� <literal>misc</literal>, ��������� ��� + ������ �����, ��� ��� ����� ����� ��������.</entry> + </row> + + <row> + <entry><filename>multimedia</filename></entry> + <entry>����������� ����������� ��� ������ � + �����������.</entry> + <entry/> + </row> + + <row> + <entry><filename>net</filename></entry> + <entry>��������� ������� ����������� �����������.</entry> + <entry/> + </row> + + <row> + <entry><filename>net-im</filename></entry> + <entry>��������� ����������� ������ �����������.</entry> + <entry/> + </row> + + <row> + <entry><filename>net-mgmt</filename></entry> + <entry>����������� ����������� ��� �������� ����������.</entry> + <entry/> + </row> + + <row> + <entry><filename>net-p2p</filename></entry> + <entry>���������� ��� ���������� �����.</entry> + <entry/> + </row> + + <row> + <entry><filename>news</filename></entry> + <entry>����������� ����������� ��� ������ � ������������� + USENET.</entry> + <entry/> + </row> + + <row> + <entry><filename>palm</filename></entry> + <entry>����������� ��������� <link xlink:href="http://www.palm.com/">Palm™</link>.</entry> + <entry/> + </row> + + <row> + <entry><filename>parallel*</filename></entry> + <entry>����������, ��������� � ������������� + ������������.</entry> + <entry/> + </row> + + <row> + <entry><filename>pear*</filename></entry> + <entry>�����, ����������� � ���������� Pear PHP.</entry> + <entry/> + </row> + + <row> + <entry><filename>perl5*</filename></entry> + <entry>�����, ������� ��� ������ ��������� + <application>Perl</application> ������ 5.</entry> + <entry/> + </row> + + <row> + <entry><filename>plan9*</filename></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/> + </row> + + <row> + <entry><filename>ports-mgmt</filename></entry> + <entry>����� ��� ����������, ��������� � ���������� + ������ � ������� &os;.</entry> + <entry/> + </row> + + <row> + <entry><filename>portuguese</filename></entry> + <entry>��������� �������������� �����.</entry> + <entry/> + </row> + + <row> + <entry><filename>print</filename></entry> + <entry>����������� ����������� ��� ������.</entry> + <entry>����������� ��� ף����� (������������ � ���� ��������) + ���� ��������� ����.</entry> + </row> + + <row> + <entry><filename>python*</filename></entry> + <entry>����������� �����������, ��������� � ������ <link xlink:href="http://www.python.org/">Python</link>.</entry> + <entry/> + </row> + + <row> + <entry><filename>ruby*</filename></entry> + <entry>����������� �����������, ��������� � ������ <link xlink:href="http://www.ruby-lang.org/">Ruby</link>.</entry> + <entry/> + </row> + + <row> + <entry><filename>rubygems*</filename></entry> + <entry>����� ��� ������� <link xlink:href="http://www.rubygems.org/">RubyGems</link>.</entry> + <entry/> + </row> + + <row> + <entry><filename>russian</filename></entry> + <entry>��������� �������� �����.</entry> + <entry/> + </row> + + <row> + <entry><filename>scheme*</filename></entry> + <entry>����������� �����������, ��������� � ������ + Scheme.</entry> + <entry/> + </row> + + <row> + <entry><filename>science</filename></entry> + <entry>������� ���������, ������� �� ��������� ��� ������ + ���������, ������, <filename>astro</filename>, + <filename>biology</filename> ��� + <filename>math</filename>.</entry> + <entry/> + </row> + + <row> + <entry><filename>security</filename></entry> + <entry>���������, �������������� ������������ �������.</entry> + <entry/> + </row> + + <row> + <entry><filename>shells</filename></entry> + <entry>��������� ��������� ����������.</entry> + <entry/> + </row> + + <row> + <entry><filename>sysutils</filename></entry> + <entry>��������� �������.</entry> + <entry/> + </row> + + <row> + <entry><filename>spanish*</filename></entry> + <entry>��������� ���������� �����.</entry> + <entry/> + </row> + + <row> + <entry><filename>tcl*</filename></entry> + <entry>�����, ��� ������ ������� ����� Tcl.</entry> + <entry/> + </row> + + <row> + <entry><filename>textproc</filename></entry> + <entry>������� ��� ��������� �������.</entry> + <entry>����������� ��� ף����� ���������� � ��������� + <filename>print</filename>, � �� ����.</entry> + </row> + + <row> + <entry><filename>tk*</filename></entry> + <entry>�����, ��� ������ ������� ����� Tk.</entry> + <entry/> + </row> + + <row> + <entry><filename>ukrainian</filename></entry> + <entry>��������� ����������� �����.</entry> + <entry/> + </row> + + <row> + <entry><filename>vietnamese</filename></entry> + <entry>��������� ������������ �����.</entry> + <entry/> + </row> + + <row> + <entry><filename>windowmaker*</filename></entry> + <entry>�����, �������������� �������� ���� WindowMaker.</entry> + <entry/> + </row> + + <row> + <entry><filename>www</filename></entry> + <entry>����������� �����������, ��������� � World Wide + Web.</entry> + <entry>��������� ����� HTML ��������� ���� ��.</entry> + </row> + + <row> + <entry><filename>x11</filename></entry> + <entry>X Window System � ��� � ����.</entry> + <entry>��� ��������� + ������������� ������ ��� ������������ �����������, ������� + ������������ ���� ������� �������. �� ��������� ���� + ������� ���������� ��� X: ����������� �� ��� ������ ���� + ���������� � ������ ��������� <filename>x11-*</filename> + (�������� ����).</entry> + </row> + + <row> + <entry><filename>x11-clocks</filename></entry> + <entry>���� ��� X11.</entry> + <entry/> + </row> + + <row> + <entry><filename>x11-drivers</filename></entry> + <entry>�������� X11.</entry> + <entry/> + </row> + + <row> + <entry><filename>x11-fm</filename></entry> + <entry>��������� ������ ��� X11.</entry> + <entry/> + </row> + + <row> + <entry><filename>x11-fonts</filename></entry> + <entry>������ ��� X11 � ������� ��� ������ � ����.</entry> + <entry/> + </row> + + <row> + <entry><filename>x11-servers</filename></entry> + <entry>������� ��� X11.</entry> + <entry/> + </row> + + <row> + <entry><filename>x11-themes</filename></entry> + <entry>���� ��� X11.</entry> + <entry/> + </row> + + <row> + <entry><filename>x11-toolkits</filename></entry> + <entry>������ ������������ ��� X11.</entry> + <entry/> + </row> + + <row> + <entry><filename>x11-wm</filename></entry> + <entry>������� ��������� ��� X11.</entry> + <entry/> + </row> + + <row> + <entry><filename>xfce*</filename></entry> + <entry>�����, ��������� � ���������� �������� ����� + <link xlink:href="http://www.xfce.org/">Xfce</link>.</entry> + <entry/> + </row> + + <row> + <entry><filename>zope*</filename></entry> + <entry>��������� <link xlink:href="http://www.zope.org/">Zope</link>.</entry> + <entry/> + </row> + </tbody> + </tgroup> + </informaltable> + </sect2> + + <sect2 xml:id="choosing-categories"> + <title>����� ���������� ���������</title> + + <para>��� ��� ������ ��������� �������������, ��� ����� ���������� + ����� ��������, ����� �� ��� ������ ���� �������� ��� ������ �����. + ���� ��������� ������, �� ������� ����� ������ ���� ������. ��� + ������ �����������, � ������������� ������� ������������:</para> + + <itemizedlist> + <listitem> + <para>������ ��������� ������ ���� ���������� ��������� (�������� + <link linkend="porting-categories">����</link>). ��� + ���������� ��� �������� �������. ����� ����� ����������� + � ���������� ��������� ����� �����������.</para> + </listitem> + + <listitem> + <para>������� ������ ���� ���������, ����������� ��� ������. + ��������, ���� ��� ���� ������������� �������� ������ ��� X11, + �� ������� <varname>CATEGORIES</varname> ������ ����� ��� + <filename>japanese x11-fonts</filename>.</para> + </listitem> + + <listitem> + <para>����� ���������� ��������� ���� ������� ����� ����� + ������. � ���������, �������� HTML ������ ���� ������ ��� + <filename>www editors</filename>, � �� ��������. ����� ����, �� + �� ������ ��������� ��������� <filename>net</filename>, ���� ���� + ��������� � ����� �� ��������� <filename>irc</filename>, + <filename>mail</filename>, + <filename>news</filename>, <filename>security</filename> ��� + <filename>www</filename>, ��� ��� <filename>net</filename> + ���������� �������������.</para> + </listitem> + + <listitem> + <para><filename>x11</filename> ������������ ��� ��������� ��������� + ������ � ������, ���� � �������� �������� ��������� ������ + ������������ ����. � ���������, ��� �� ����� ��������� + <filename>x11</filename> � �������� ��������� ��� + ���������� X.</para> + </listitem> + + <listitem> + <para>������ ��� ��������� <application>Emacs</application> ������ + ���������� � �� �� ���������, ��� � ����������, ������� + �������������� ���� �������, � �� � <filename>editors</filename>. + ��������, ����� <application>Emacs</application> ��� + �������������� ��������� ���� ���������� ����� ���������������� + ������ ���� ������� � ��������� <filename>lang</filename>.</para> + </listitem> + + <listitem> + <para>�����, ��������������� ����������� ������ ����, ������ + ��������� ����������� ��������� <filename>kld</filename> � + ������ <varname>CATEGORIES</varname>. ��� ���� �� ��������, + ����������� ������������� � ����������� + <literal>kmod</literal> � ������ <varname>USES</varname>. + </para> + </listitem> + + <listitem> + <para><filename>misc</filename> + �� ������ ����������� ������ � ����� ������ ������������� + ����������. ���� �� ���������� <literal>misc</literal> + ������ � ���-�� �ݣ � ������ <varname>CATEGORIES</varname>, + ��� ������, ��� �� ������ �������� ������� + <literal>misc</literal> � ������ ��������� ���� � ���� + ������ ����������!</para> + </listitem> + + <listitem> + <para>���� ��� ���� ����������� ������� �� ��������� �� ��� ����� + ���������, ��������� ��� � <filename>misc</filename>.</para> + </listitem> + </itemizedlist> + + <para>���� �� �� ������� � ������������ ������ ���������, ����������, + �������� ��� � ����� ��������� ����� &man.send-pr.1;, ����� �� + ����� �������� ��� �� ����, ��� �������� ���� � ���������. ���� �� + ��������� �����������, ������� ��������� �� ����� &a.ports;, ����� �� + ����� �������� ���. �������� ����� ����� ���������� �� � �� + ��������� ������ ��� ����, ����� �� ������ ����� �� �������. + ��� �������� � ��������� � ��������� ����� ��������� ��������� + �������� �������.</para> + </sect2> + + <sect2 xml:id="proposing-categories"> + <title>����������� ����� ���������</title> + + <para>��������� �� �������� ��������� ������ �����������, �� � ����� + � ���� ���� ��������� ��������� ����� ���������. ����� ��������� + ����� ���� ��� <emphasis>������������</emphasis> �����������— + ������� �� ����� ���������������� ����������� � ������ ������— + ��� <emphasis>�����������</emphasis> �����������—� ������� + �� ����. ��������� ����� �������� ���������� ��������, ����������� + ��� �������� ����� ���������� ���������, ����� �� ����� �������� + ��, ����� ���������� ����� ���������.</para> + + <para>� ������������ � ������������ ��������� �� �������� �������� + ����� ���������� ���������, ���� ���������� ������� ����� ������ + ��������� �� �� ����������� ��� �� �����, ������� ����� �� �� + ������������, �� �������� ��������� ������������ �������, + �������������� ��� ���� ������������ ������� (� ���������, + ���������, ����������� � ������������ ������); ��������������� + ���������� ����� �������.</para> + + <para>�������� �������� ��� ����� �������� ��, ��� ����� ��������� + ������� <link xlink:href="&url.articles.committers-guide;/#ports">�������� + ���������� ������</link> � ��� �����������, � ��� ���� ��� + �������������, ������� ����������� ��������� � ��������� ������. + � ����������, ������������ ��������� ������� ������������ + �����������. (�������, ������ ��� �� ���������� ������� ����������, + �������� �� ��������� <quote>������� �������</quote>, ��� ������ + �� ��������� ������������� ���� ��� ��������� (�, ����� �������, + ����� ���������� ��������� ���� �� ��������� ���������), � ��� + �����.)</para> + + <para>���������:</para> + + <procedure> + <step> + <para>���������� ����� ��������� �� &a.ports;. ��� ������� + �������� ��� ����� ��������� ��������� �����������, � ��� ����� + ������ �� ��������, ��� ������������ ��������� �� �������� + ������������, � ������ ������������ ������, ������������ ��� + �����������. (���� ���� ����� �����, ��������� � + <application>GNATS</application> � ���������� � ��� ���������, + �� ������� �� ����.) ���� �� ��������� �������������� �/��� + ������������, �� ������� ��� ��������������, ��� ��� ��� ����� + ������ ��� � ����� ����.</para> + </step> + + <step> + <para>���������� ������� � ����������.</para> + </step> + + <step> + <para>���� �������, ��� ��� ����� ���� ��������� ���������, + ��������� PR, ������� ����� �������� ����������� � ������ + ������������ ������, ������� ���� �����������. � ������ + ���� PR ������ ����� �������� ����� ��� ����������:</para> + + <itemizedlist> + <listitem> + <para><filename>Makefile</filename>'� ��� ����� ������ � + ���������� ������������� �����������</para> + </listitem> + + <listitem> + <para><filename>Makefile</filename> ��� ��������� ������ + ������</para> + </listitem> + + <listitem> + <para><filename>Makefile</filename>'� ��� ������, ��������� + �� ������ ������</para> + </listitem> + + <listitem> + <para>(� ����������, �� ������ �������� ������ �����, + ��������� ���������, �������� ��������� �� ����������� + ����������.)</para> + </listitem> + </itemizedlist> + </step> + + <step> + <para>��������� ��� ����������� �������������� ������ � + ���������� �� ������ ���������� ������������� �����������, �� + �����, ��������, � ���������� ������������ ������ �� �������� + ����������, �� PR ������ ��������� ���� &a.portmgr;.</para> + </step> + + <step> + <para>���� ���� PR �������, �� ���������� ����� ���������� + ��������� ����� ���������, ������� <link xlink:href="&url.articles.committers-guide;/article.html#PORTS"> + �������� � ����������� ����������</link>.</para> + </step> + </procedure> + + <para>����������� ����� ����������� ��������� ������ ���� ������ + � ��������������, �� ��� ���� ����������� ������� ������, + ��������� �� ���� �� ������ �� ����� ��������� � ����������������. + � ���� ������ ������������� �������, ����������� � PR, ����� + ��, ��� ��������� ����� ��������� � <varname>CATEGORIES</varname> + ������� �� ������������� ������.</para> + </sect2> + + <sect2 xml:id="proposing-reorg"> + <title>����������� ������������� ���� ���������</title> + + <para>����� �� ������� ���-������ ���������� ���������� ������������� + ��������� ���� �� �������������, ���� ������� ���� �� ������ + �������� ����. �� ������ ������ �� ���� ����������� ������ �� + ����������, ������ ���, ���� ��� ������ � ����������, �� + �������������� ��������� ���� ��������� ������ �� ������� ���� + �������� � ������. ����������, �������� ������� ���� ����������� + � ������� �������� ����� ���, ��� ��������� ���� �����������; + ����� ����, �� ������ ���� ������ ����������� ���������� + ��������.</para> + </sect2> + </sect1> + + <sect1 xml:id="makefile-distfiles"> + <title>�������������� �����</title> + + <para>�� ������ ����� <filename>Makefile</filename> ��������, ����� + ����� � ������ ������ ���� �������� ��� ����, ����� ��������� + ����.</para> + + <sect2> + <title><varname>DISTVERSION/DISTNAME</varname></title> + + <para>� ���������� <varname>DISTNAME</varname> ����������� ��� ����� + ���, ��� ������� ��� ��������� ������������ �����������. �������� + <varname>DISTNAME</varname> �� ��������� ��������� � + <literal>${PORTNAME}-${PORTVERSION}</literal>, ��� ��� + ��������������� ţ �������� ������ � ������ �������������. + <varname>DISTNAME</varname> ������������ ������ � ���� ������. + ��-������, ������ �������������� ������ + (<varname>DISTFILES</varname>) �� ��������� ������� �� + <varname>${DISTNAME}</varname><varname>${EXTRACT_SUFX}</varname>. � + ��-������, ��������������, ��� �������������� ���� ����� ���������� � + ���������� � ������ <varname>WRKSRC</varname>, �������� �������� �� + ��������� ���� �� ��� ����, ��� + <filename>work/${DISTNAME}</filename>.</para> + + <para>�������� ��������� �������������, ������� �� ������������ � + <literal>${PORTNAME}-${PORTVERSION}</literal>-�����, ����� ���� + ������������� ���������� ����������� ��������� ���������� + <varname>DISTVERSION</varname>. <varname>PORTVERSION</varname> � + <varname>DISTNAME</varname> ����� ������������ �������������, �� + ������� �� ����� ���� ��������������. ��������� ������� + ������������� ��������� �������:</para> + + <informaltable frame="none" pgwide="0"> + <tgroup cols="2"> + <thead> + <row> + <entry><varname>DISTVERSION</varname></entry> + <entry><varname>PORTVERSION</varname></entry> + </row> + </thead> + + <tbody> + <row> + <entry>0.7.1d</entry> + <entry>0.7.1.d</entry> + </row> + + <row> + <entry>10Alpha3</entry> + <entry>10.a3</entry> + </row> + + <row> + <entry>3Beta7-pre2</entry> + <entry>3.b7.p2</entry> + </row> + + <row> + <entry>8:f_17</entry> + <entry>8f.17</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <note> + <para>�������� ���������� <varname>PKGNAMEPREFIX</varname> + � <varname>PKGNAMESUFFIX</varname> �� ������ �� �������� + <varname>DISTNAME</varname>. �������� �����, ��� ���� �������� + <varname>WRKSRC</varname> ����� + <filename>work/${PORTNAME}-${PORTVERSION}</filename>, + � � ������, ����� ������������ ����� ���������� �� �����, �������� + �� <varname>${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX}</varname>, + ������ �����, �� ������ �������� <varname>DISTNAME</varname> + ��� ����— ����� �������������� <varname>DISTFILES</varname>, + ��� �������� �������� ��� + <varname>DISTNAME</varname>, ��� � <varname>WRKSRC</varname> + (�, ��������, �ݣ � <varname>EXTRACT_SUFX</varname>).</para> + </note> + </sect2> + + <sect2> + <title><varname>MASTER_SITES</varname></title> + + <para>�������� ����� � ��������� FTP/HTTP-URL, ������� ��������� �� + ������������ ����� �� ������� <varname>MASTER_SITES</varname>. �� + �������� ���������� ���� (<filename>/</filename>)!</para> + + <para>������ ������� <command>make</command> ����� �������� + ��������������� ���� ���������� ��� ��������� ��������������� ����� + � ������� ��������� <varname>FETCH</varname>, ���� �� �� ����� ������ + � �������.</para> + + <para>������������� �������� � ������ ����� ������, ��������������� � + ������ �����������. ��� ������� ��� ������� ������� � ������� �����. + �� ���� ��������� �������� ��������� ��������������� ����������� + ���������� ����� � ������� ������ ������; ������� ���������� ������ + ����� �������������� ����� ���������.</para> + + <para>���� ������������ ����� ��������� �� ����� �� ����� ���������� + ��������, ��� SourceForge, GNU ��� Perl CPAN, �� ���������� ��� + ����� � ������� ����� ��� ������ + <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} +MASTER_SITE_SUBDIR= make</programlisting> + + <para>��� ����� ������������ ����������� ������:</para> + + <programlisting>MASTER_SITES= GNU/make</programlisting> + + <para>��� ���������� ���������� � ����� + <filename>/usr/ports/Mk/bsd.sites.mk</filename>. �ӣ ����� + ����������� ����� ������, ��� ��� ����������� � ��������� ������ + ����� ����� ����� ���, ��� ������� ��� ���� ����.</para> + + <para>��� ���������� ������ ���������� ��������� + <emphasis>����������</emphasis> �������� � ������� ��������� + ���������� ���������. ����������� ��� ��� ����������, � ������� + ���������� ������� ��� ��� ���������� ����������.</para> + + <programlisting>MASTER_SITES= SF</programlisting> + + <para>���� ������� ������� �� �������, �� ��� ����� ���� ���������� + ��������� �������.</para> + + <programlisting>MASTER_SITES= SF/stardict/WyabdcRealPeopleTTS/${PORTVERSION}</programlisting> + + <para>��� ����� ����� �������� � ����� ����:</para> + + <programlisting>MASTER_SITES= SF +MASTER_SITE_SUBDIR= stardict/WyabdcRealPeopleTTS/${PORTVERSION}</programlisting> + + <table frame="none"> + <title>���������� ���������� ������� ��� + <varname>MASTER_SITES</varname></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>Macro</entry> + + <entry>Assumed subdirectory</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>BERLIOS</varname></entry> + + <entry><varname>/${PORTNAME:L}</varname></entry> + </row> + + <row> + <entry><varname>CHEESESHOP</varname></entry> + + <entry><varname>/packages/source/source/${DISTNAME:C/(.).*/\1/}/${DISTNAME:C/(.*)-[0-9].*/\1/}</varname></entry> + </row> + + <row> + <entry><varname>DEBIAN</varname></entry> + + <entry><varname>/debian/pool/main/${PORTNAME:C/^((lib)?.).*$/\1/}/${PORTNAME}</varname></entry> + </row> + + <row> + <entry><varname>GCC</varname></entry> + + <entry><varname>/pub/gcc/releases/${DISTNAME}</varname></entry> + </row> + + <row> + <entry><varname>GNOME</varname></entry> + + <entry><varname>/pub/GNOME/sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}</varname></entry> + </row> + + <row> + <entry><varname>GNU</varname></entry> + + <entry><varname>/gnu/${PORTNAME}</varname></entry> + </row> + + <row> + <entry><varname>MOZDEV</varname></entry> + + <entry><varname>/pub/mozdev/${PORTNAME:L}</varname></entry> + </row> + + <row> + <entry><varname>PERL_CPAN</varname></entry> + + <entry><varname>/pub/CPAN/modules/by-module/${PORTNAME:C/-.*//}</varname></entry> + </row> + + <row> + <entry><varname>PYTHON</varname></entry> + + <entry><varname>/ftp/python/${PYTHON_PORTVERSION:C/rc[0-9]//}</varname></entry> + </row> + + <row> + <entry><varname>RUBYFORGE</varname></entry> + + <entry><varname>/${PORTNAME:L}</varname></entry> + </row> + + <row> + <entry><varname>SAVANNAH</varname></entry> + + <entry><varname>/${PORTNAME:L}</varname></entry> + </row> + + <row> + <entry><varname>SF</varname></entry> + + <entry><varname>/project/${PORTNAME:L}/${PORTNAME:L}/${PORTVERSION}</varname></entry> + </row> + </tbody> + </tgroup> + </table> + </sect2> + + <sect2> + <title><varname>EXTRACT_SUFX</varname></title> + + <para>���� � ��� ������� ���� �������������� ����, � � ��� ����� + ������������ �������� ��������� ��� �������� ���� ������, ������� + ���������� <varname>EXTRACT_SUFX</varname>.</para> + + <para>� �������, ���� �������������� ���� ����� ��� + <filename>foo.tgz</filename>, � �� ����� ��������� + <filename>foo.tar.gz</filename>, �� ������ ��������:</para> + + <programlisting>DISTNAME= foo +EXTRACT_SUFX= .tgz</programlisting> + + <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>. ���� �� ���� �� ���� + ���������� �� ������, �� �������� <varname>EXTRACT_SUFX</varname> + �� ��������� ��������������� � <literal>.tar.gz</literal>.</para> + + <note> + <para>��� �� ����� �������� �������� <varname>EXTRACT_SUFX</varname> + � <varname>DISTFILES</varname> ������������.</para> + </note> + </sect2> + + <sect2> + <title><varname>DISTFILES</varname></title> + + <para>������ ����� ���������� ������ �� ������������� ����� �����. � + �������, ���� ����� ���������� <filename>source.tar.gz</filename> ��� + �������� �������. � ������ ������� �������� ��� ���������� ����� + ������������� � ���������� ������������ �������, � ��� ��� ������ + ���� ��������.</para> + + <para>���� ��� ��� ������, �� ������� � ���������� + <varname>DISTFILES</varname> ������ �����̣���� ��������� �ͣ� + ������, ������� ����� ��������.</para> + + <programlisting>DISTFILES= source1.tar.gz source2.tar.gz</programlisting> + + <para>���� ���������� <varname>DISTFILES</varname> �� ������ ����, �� + ţ ��������� �� ��������� ����� + <literal>${DISTNAME}${EXTRACT_SUFX}</literal>.</para> + </sect2> + + <sect2> + <title><varname>EXTRACT_ONLY</varname></title> + + <para>���� ������ ��������� �� <varname>DISTFILES</varname> ������ ���� + �����������—� �������, ����� �� ��� �������� �������� �����, � + ������ ������������ ����� ������������� + ������������—����������� ����� ������, ������� ������ ���� + �����������, � <varname>EXTRACT_ONLY</varname>.</para> + + <programlisting>DISTFILES= source.tar.gz manual.html +EXTRACT_ONLY= source.tar.gz</programlisting> + + <para>���� <emphasis>�� ����</emphasis> �� <varname>DISTFILES</varname> + �� ������ ���������������, �� ���������� ������ �������� + ���������� <varname>EXTRACT_ONLY</varname>.</para> + + <programlisting>EXTRACT_ONLY=</programlisting> + </sect2> + + <sect2 xml:id="porting-patchfiles"> + <title><varname>PATCHFILES</varname></title> + + <para>���� ������ ����� ��������� ��������� �������������� �����, + ������� �������� �� FTP ��� HTTP, ������� ����� ���� ������ � + ���������� <varname>PATCHFILES</varname>, � � ���������� + <varname>PATCH_SITES</varname> ������� URL ���� ��������, � ������� + ��� ���������� (������ ����� ��, ��� + ��� <varname>MASTER_SITES</varname>).</para> + + <para>���� ���� �� ��������� � ������ ����� ������ �������� ������� + (�� ���� <varname>WRKSRC</varname>), ������ ��� �� �������� ��������� + �������������� ����, ���������� �������������� �������� ���������� + <varname>PATCH_DIST_STRIP</varname>. � ���������, ���� ��� ����� + ����� � ����� ����� �������������� ���� + <literal>foozolix-1.0/</literal> ����� ������ �����, �� ������� + <literal>PATCH_DIST_STRIP=-p1</literal>.</para> + + <para>�� ����������, ���� ����� ���������; ��� ����� ����������� + �������������, ���� ����� ������ ������������ �� + <filename>.gz</filename> ��� <filename>.Z</filename>.</para> + + <para>���� ���� ���������������� ������ � ������-�� ������� �������, + ������, ��� ������������, � ���� tar-������ <command>gzip</command>, + �� �� ������ ������ + ������������ <varname>PATCHFILES</varname>. ���� ��� ��� ������, + �������� ��� � �������������� ������ � ������ � + <varname>DISTFILES</varname> � <varname>MASTER_SITES</varname>. + ����� �������������� ���������� <varname>EXTRA_PATCHES</varname> ��� + �������� ���� ������, � <filename>bsd.port.mk</filename> ������������� + �������� ��� �����. � ���������, <emphasis>�� ���������</emphasis> + ����� � ������� � ������� <varname>PATCHDIR</varname>—���� + ������� ����� ���� ����������� ��� ������.</para> + + <note> + <para>����� ����� ���������� ��� ��������� ����, ��� + ������, � � ���� �� ��� �� ����� ���� �������������, ���� + ��� ������� ����� <command>gzip</command> ��� + <command>compress</command>. ���� �� �������� ���������, + ��������� �������������� ������ ��� ����, ����� �� ������������ + ���-����, ��� ������������ � ���� ��������. ����� �� �������� + �������� ������� ��� �������� �������������� ����� � ���� + <buildtarget>pre-clean</buildtarget>.</para> + </note> + </sect2> + + <sect2 xml:id="porting-master-sites-n"> + <title>��������� �������������� ������ ��� ������ � ��������� �������� + � ������������ (<literal>MASTER_SITES:n</literal>)</title> + + <para>(���� ������ ����� ������� ������� <quote>���������� + ���������</quote>; ��, ��� ������� ���������� � ���� �������, ����� + ���������� ���� ������).</para> + + <para>� ���� ������� ��������� ���������� � ��������� �������, + ��������� ��� <literal>MASTER_SITES:n</literal> � + <literal>MASTER_SITES_NN</literal>. ����� �� ����� �������� ���� + �������� <literal>MASTER_SITES:n</literal>.</para> + + <para>������� ������� ����� ����������. � OpenBSD ������� �������� + �����������, ������������ � ���������� <varname>DISTFILES</varname> � + <varname>PATCHFILES</varname>, ������� ��������� ���������� ����� + ���� ������ � ������ �������������� ���� <literal>:n</literal>. ����� + <literal>n</literal> ����� ���� �� ��������� <literal>[0-9]</literal> + � ���������� ������̣���� ������. � �������:</para> + + <programlisting>DISTFILES= alpha:0 beta:1</programlisting> + + <para>� OpenBSD �������������� ���� <filename>alpha</filename> ����� + ������ � ���������� <varname>MASTER_SITES0</varname>, �� �� � ����� + ����� ���������� <varname>MASTER_SITES</varname>, � ���� + <filename>beta</filename> � ���������� + <varname>MASTER_SITES1</varname>.</para> + + <para>���� ����� ���������� �����������, ������� ����� ��������� ���� + ����������� ����� ����������� ����� ��� �������.</para> + + <para>������ ����������� ���� 2 ����� � <varname>DISTFILES</varname> � + 20 ������ � <varname>MASTER_SITES</varname>; ����� ����� ���������, + ���ޣ� <filename>beta</filename> ��������� �� ���� ������ �� + <varname>MASTER_SITES</varname>, � <filename>alpha</filename> + ����� ���� ������ ������ �� 20-� �����. ����� ����������� ��������� + �� ���, ���� ��������� ����� �� ����, �� ������ ��? ������������ + ������ ��� ����� ���������� ��������!</para> + + <para>������, ����� �� �������� ����� �������������, ������ ����������� + �ݣ ������� ���������� <varname>DISTFILES</varname> � + <varname>MASTER_SITES</varname>. �������, ��� <quote>������� + ����������� �������������</quote> ������������ �������� �������� + �� ����, ������� ��� ����.</para> + + <para>� ����������� �������� ���������� ����� �������� ������ � + ����������� ���� ���� �� &os;. �� ��������� �������� ��������� + OpenBSD.</para> + + <sect3> + <title>����ݣ���� ����������</title> + + <para>� ���� ������� ��������������, ��� ������ ����������� ������ + ������� ���������� �������������� ������ � ������ � ������ ������ + � ���������. �� ��������� ����� ������ ����ݣ����� ������������� + <literal>MASTER_SITES:n</literal>. ��� ����������� ��������� ����� + ����� ����������. ������, ���� ��� ����� �������������� + ����������, ���������� � ���������� �������.</para> + + <para>��������� ���������� ������� �� ������ �������������� + ������, ������� ������ ���� �������� � ���������� ��������� ������. + � �������, <application>Ghostscript</application> ������� �� + �������� ��������� � �������� ����� ������ ���������, ������� + ������������ � ����������� �� �������� ������������. ��������� �� + ���� ������ ��������� ������������ � �������� ����������, �� ��� + ���� ������ ������ ������ ���� �������� � ��������� ��������� + ������.</para> + + <para>����� ��� ������������, �� ������ ������� � + <varname>DISTFILES</varname> ����� ��������� ������ ��������� � + <quote>��� �����</quote>. �� ������ ������, ������������� � + <varname>MASTER_SITES</varname>, ���� ������� ��������� � �����, + ������� ���������, ����� ����� ������������ ������ ���� �������� + � ����� �����.</para> + + <para>��������, ���������� ����������, �������� ��� �������� �����̣� + �� ��� �����, <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> + + <example xml:id="ports-master-sites-n-example-simple-use-one-file-per-site"> + + <title>����ݣ���� ������������� <literal>MASTER_SITES:n</literal> + � 1 ������ �� ������ �����</title> + + <programlisting>MASTER_SITES= ftp://ftp.example1.com/:source1 \ + ftp://ftp.example2.com/:source2 +DISTFILES= source1.tar.gz:source1 \ + source2.tar.gz:source2</programlisting> + </example> + + <para>��������� �������������� ������ ����� ����� ���� � �� �� �����. + ��������� ���������� ������, �������, ��� ������� � ������ + �������������� ����, <filename>source3.tar.gz</filename>, ������� + ������ ���� ������� � <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 xml:id="ports-master-sites-n-example-simple-use-more-than-one-file-per-site"> + <title>����ݣ���� ������������� <literal>MASTER_SITES:n</literal> � + ����� ��� 1 ������ �� ������ �������</title> + + <programlisting>MASTER_SITES= ftp://ftp.example1.com/:source1 \ + ftp://ftp.example2.com/:source2 +DISTFILES= source1.tar.gz:source1 \ + source2.tar.gz:source2 \ + source3.tar.gz:source2</programlisting> + </example> + </sect3> + + <sect3> + <title>��������� ����������</title> + + <para>���������, �� ������ �� ����������� ������� �� ������� ��� �ӣ, + ��� ��� �����? � ���� ������� �� �������� ������, ��� �������� + �������� <literal>MASTER_SITES:n</literal> ������ ������� � ��� + �� ������ �������� ���� �����, ����� ��� ������������.</para> + + <orderedlist> + <listitem> + <para>�� ���������� ����� ��������� ������� + <literal>:n</literal>, ��� + <replaceable>n</replaceable> ��� <literal>[^:,]+</literal>, �� + ���� <replaceable>n</replaceable> ����� ������������ ���� + ����� ���������-�������� �������, �� ���� �� ����� ������������ + �� <literal>[a-zA-Z_][0-9a-zA-Z_]+</literal>.</para> + + <para>����� ����, ���������� ����� ������������� � ��������; + ������� �������, <literal>n</literal> ���������� �� + <literal>N</literal>.</para> + + <para>������ ��������� ����� �� ����� �������������� ��� ���� + ����, ��� ��� ��� ����� ������ ��������: + <literal>default</literal>, <literal>all</literal> � + <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> + </listitem> + + <listitem> + <para>��������, �� �������� ������� <literal>:n</literal>, + ����������� ������ <literal>n</literal>, + <literal>:m</literal> ��������� � ������ <literal>m</literal> � + ��� �����.</para> + </listitem> + + <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> + + <para>��������� ������� �����������, �� ������ ����� + ��������������:</para> + + <programlisting>MASTER_SITES= alpha</programlisting> + + <programlisting>MASTER_SITES= alpha:DEFAULT</programlisting> + </listitem> + + <listitem> + <para>������ �� �������� �������������, ������� ����� + ������������ � ���������� ������������ ������� ������������, � + ������ ����� ���� ����� ��������� ��������� ���������, ���� �� + ����� �� �����. ������������� �������� � ����� � ��� �� ������ + ����� �������� ������ �������������� ����������.</para> + </listitem> + + <listitem xml:id="porting-master-sites-n-comma-operator"> + <para>���� � ������, ����� ������� ����������� � ���������� + ������� ������������, �� ������ ������������ + ������� (<literal>,</literal>).</para> + + <para>������ ����, ����� ��������� �� ��������� ���, ������ ��� � + ������ ����������, �� ����� ����������� ��������� ����� �� ��� + � ����� ���������. ��������, <literal>:m,n,o</literal> + ���������� �������, ������������� ������� <literal>m</literal>, + <literal>n</literal> � <literal>o</literal>.</para> + + <para>��� ��������� ������� ����� ���� �����, �� ��������� + �������� ����������������:</para> + + <programlisting>MASTER_SITES= alpha alpha:SOME_SITE</programlisting> + + <programlisting>MASTER_SITES= alpha:DEFAULT alpha:SOME_SITE</programlisting> + + <programlisting>MASTER_SITES= alpha:SOME_SITE,DEFAULT</programlisting> + + <programlisting>MASTER_SITES= alpha:DEFAULT,SOME_SITE</programlisting> + </listitem> + + <listitem> + <para>��� ������� ������ ������̣���� ������ ����������� � + ������������ � <varname>MASTER_SORT_AWK</varname>. ��� ������ + � <varname>MASTER_SITES</varname> � + <varname>PATCH_SITES</varname> ���� �����������.</para> + </listitem> + + <listitem xml:id="porting-master-sites-n-group-semantics"> + <para>��������� ����� ����� �������������� � ����� �� ��������� + ���������� <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>��� �������� <varname>MASTER_SITES</varname>, + <varname>PATCH_SITES</varname>, + <varname>MASTER_SITE_SUBDIR</varname> � + <varname>PATCH_SITE_SUBDIR</varname> ������ ������������� + �������� ������� ����� <literal>/</literal>. ���� �����-�� + �������� ����������� �����-�� �������, �������� ������ + <literal>:n</literal> ������ + ��������� ����� ����� ������������ ������� + <literal>/</literal>. �������� + <literal>MASTER_SITES:n</literal> ��������� �� ������� + ������������ ������� <literal>/</literal> �� ��������� + ����������� ���������, ��� <literal>:n</literal> �������� + ���������� ������ �������� � �����������, ��� + <literal>:n</literal> ���������� ������ + <literal>n</literal>. ��� ����� �������������, ��� ��� + ����������� ������ <literal>/</literal> ����� �� + ���������� � ��������� + <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> + + <example xml:id="ports-master-sites-n-example-detailed-use-master-site-subdir"> + <title>��������� ������������� + <literal>MASTER_SITES:n</literal> � + <varname>MASTER_SITE_SUBDIR</varname></title> + + <programlisting>MASTER_SITE_SUBDIR= old:n new/:NEW</programlisting> + + <itemizedlist> + <listitem> + <para>�������� ������ ������ + <literal>DEFAULT</literal> -> old:n</para> + </listitem> + + <listitem> + <para>�������� ������ ������ + <literal>NEW</literal> -> new</para> + </listitem> + </itemizedlist> + </example> + + <example xml:id="ports-master-sites-n-example-detailed-use-complete-example-master-sites"> + <title>��������� ������������� + <literal>MASTER_SITES:n</literal> � ��������, + ����������� �������, ����������� ��������� � + ����������� �������������</title> + + <programlisting>MASTER_SITES= http://site1/%SUBDIR%/ http://site2/:DEFAULT \ + http://site3/:group3 http://site4/:group4 \ + http://site5/:group5 http://site6/:group6 \ + http://site7/:DEFAULT,group6 \ + http://site8/%SUBDIR%/:group6,group7 \ + http://site9/:group8 +DISTFILES= file1 file2:DEFAULT file3:group3 \ + file4:group4,group5,group6 file5:grouping \ + file6:group7 +MASTER_SITE_SUBDIR= directory-trial:1 directory-n/:groupn \ + directory-one/:group6,DEFAULT \ + directory</programlisting> + + <para>���������� ������ �������� � ��������� ������ + �������. ������� ����������� � ������ ������� �� + �������������.</para> + + <itemizedlist> + <listitem> + <para><filename>file1</filename> ����� ���������� + �</para> + + <itemizedlist> + <listitem> + <para><varname>MASTER_SITE_OVERRIDE</varname></para> + </listitem> + + <listitem> + <para>http://site1/directory-trial:1/</para> + </listitem> + + <listitem> + <para>http://site1/directory-one/</para> + </listitem> + + <listitem> + <para>http://site1/directory/</para> + </listitem> + + <listitem> + <para>http://site2/</para> + </listitem> + + <listitem> + <para>http://site7/</para> + </listitem> + + <listitem> + <para><varname>MASTER_SITE_BACKUP</varname></para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> + <para><filename>file2</filename> ����� ���������� ����� + �����, ��� <filename>file1</filename>, ��� ��� ��� + ��� ��������� � ����� � ��� �� ������</para> + + <itemizedlist> + <listitem> + <para><varname>MASTER_SITE_OVERRIDE</varname></para> + </listitem> + + <listitem> + <para>http://site1/directory-trial:1/</para> + </listitem> + + <listitem> + <para>http://site1/directory-one/</para> + </listitem> + + <listitem> + <para>http://site1/directory/</para> + </listitem> + + <listitem> + <para>http://site2/</para> + </listitem> + + <listitem> + <para>http://site7/</para> + </listitem> + + <listitem> + <para><varname>MASTER_SITE_BACKUP</varname></para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> + <para><filename>file3</filename> ����� ������� �</para> + + <itemizedlist> + <listitem> + <para><varname>MASTER_SITE_OVERRIDE</varname></para> + </listitem> + + <listitem> + <para>http://site3/</para> + </listitem> + + <listitem> + <para><varname>MASTER_SITE_BACKUP</varname></para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> + <para><filename>file4</filename> ����� ���������� + �</para> + + <itemizedlist> + <listitem> + <para><varname>MASTER_SITE_OVERRIDE</varname></para> + </listitem> + + <listitem> + <para>http://site4/</para> + </listitem> + + <listitem> + <para>http://site5/</para> + </listitem> + + <listitem> + <para>http://site6/</para> + </listitem> + + <listitem> + <para>http://site7/</para> + </listitem> + + <listitem> + <para>http://site8/directory-one/</para> + </listitem> + + <listitem> + <para><varname>MASTER_SITE_BACKUP</varname></para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> + <para><filename>file5</filename> ����� ������� �</para> + + <itemizedlist> + <listitem> + <para><varname>MASTER_SITE_OVERRIDE</varname></para> + </listitem> + + <listitem> + <para><varname>MASTER_SITE_BACKUP</varname></para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> + <para><filename>file6</filename> ����� ���������� + �</para> + + <itemizedlist> + <listitem> + <para><varname>MASTER_SITE_OVERRIDE</varname></para> + </listitem> + + <listitem> + <para>http://site8/</para> + </listitem> + + <listitem> + <para><varname>MASTER_SITE_BACKUP</varname></para> + </listitem> + </itemizedlist> + </listitem> + </itemizedlist> + </example> + </listitem> + </orderedlist> + </listitem> + + <listitem> + <para>��� ��� ������������� ���� �� ����������� ���������� �� + <filename>bsd.sites.mk</filename>, ��������, + <varname>MASTER_SITE_SOURCEFORGE</varname>?</para> + + <para>���������� <xref linkend="ports-master-sites-n-example-detailed-use-master-site-sourceforge"/>.</para> + + <example xml:id="ports-master-sites-n-example-detailed-use-master-site-sourceforge"> + <title>��������� ������������� + <literal>MASTER_SITES:n</literal> � + <varname>MASTER_SITE_SOURCEFORGE</varname></title> + + <programlisting>MASTER_SITES= http://site1/ ${MASTER_SITE_SOURCEFORGE:S/$/:sourceforge,TEST/} +DISTFILES= something.tar.gz:sourceforge</programlisting> + </example> + + <para><filename>something.tar.gz</filename> ����� ���������� �� + ���� ������ �� + <varname>MASTER_SITE_SOURCEFORGE</varname>.</para> + </listitem> + + <listitem> + <para>��� ��� ������������ ��� � ����������� + <varname>PATCH*</varname>?</para> + + <para>��� ������� ����������� � ����������� + <varname>MASTER*</varname>, � ��� �������� ����� ����� � ��� + <varname>PATCH*</varname>, ��� ��� ����� ������ � <xref linkend="ports-master-sites-n-example-detailed-use-patch-sites"/>.</para> + + <example xml:id="ports-master-sites-n-example-detailed-use-patch-sites"> + <title>����ݣ���� ������������� + <literal>MASTER_SITES:n</literal> � + <varname>PATCH_SITES</varname>.</title> + + <programlisting>PATCH_SITES= http://site1/ http://site2/:test +PATCHFILES= patch1:test</programlisting> + </example> + </listitem> + </orderedlist> + </sect3> + + <sect3> + <title>��� ��������� ��� ������? � ��� �� ���������?</title> + + <orderedlist numeration="lowerroman"> + <listitem> + <para>��� ��������� ����� �������� ��� ���������. ��� ��� + ��������� <literal>MASTER_SITES:n</literal> ������������, ���� + ������ ���� ��������, ������� ������������� �� + <literal>:n</literal>, ��� � + �������� � ������������ � ������������� �����������, �������� + ��� ��� �������� � ������ <xref linkend="porting-master-sites-n-group-semantics"/>.</para> + </listitem> + + <listitem xml:id="porting-master-sites-n-what-changes-in-port-targets"> + <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><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><buildtarget>fetch-list</buildtarget>: �������� �����, + ��� ������ ���� <buildtarget>fetch-list</buildtarget> � ��� + �����������, ��� ��� ����������, ��� � + <buildtarget>do-fetch</buildtarget>.</para> + </listitem> + + <listitem> + <para><buildtarget>master-sites</buildtarget> � + <buildtarget>patch-sites</buildtarget>: + (������������ �� ������� ��������) ������ ���������� + �������� ������ <literal>DEFAULT</literal>; �� ����� ���� + ��� ��������� ���� + <buildtarget>master-sites-default</buildtarget> � + <buildtarget>patch-sites-default</buildtarget> + ��������������.</para> + + <para>����� ����, ������������� ����� + <buildtarget>master-sites-all</buildtarget> ��� + <buildtarget>patch-sites-all</buildtarget> ��������������� + ��� ���������������� �������� + <buildtarget>MASTER_SITES</buildtarget> ��� + <buildtarget>PATCH_SITES</buildtarget>. ����� ������ ������ + �������� � ����������� ������� �� �������������. + ���������� <xref linkend="porting-master-sites-n-new-port-targets-master-sites-all"/> + ��� ��������� ����� �������������� ���������� �� ���� ����� + �����.</para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> + <para>����� ���� ���������� ������</para> + + <orderedlist> + <listitem> + <para>������� ���� + <buildtarget>master-sites-<replaceable>n</replaceable></buildtarget> + � + <buildtarget>patch-sites-<replaceable>n</replaceable></buildtarget>, + ������� ����� ����������� �������� ��������������� ������ + <replaceable>n</replaceable> �� + <varname>MASTER_SITES</varname> � + <varname>PATCH_SITES</varname> ��������������. � �������, + <buildtarget>master-sites-DEFAULT</buildtarget> � + <buildtarget>patch-sites-DEFAULT</buildtarget> ��� ����� + ���������� �������� ������ <literal>DEFAULT</literal>, + <buildtarget>master-sites-test</buildtarget> � + <buildtarget>patch-sites-test</buildtarget> ������ + <literal>test</literal> � ��� �����.</para> + </listitem> + + <listitem xml:id="porting-master-sites-n-new-port-targets-master-sites-all"> + <para>������� ����� ���� + <buildtarget>master-sites-all</buildtarget> � + <buildtarget>patch-sites-all</buildtarget>, ������� ��������� + ������ ������ <buildtarget>master-sites</buildtarget> � + <buildtarget>patch-sites</buildtarget>. ��� ���������� + �������� ���� �����, ��� ���� �� ��� ��� ������������ ����� + � ��� �� ������ � ���, ��� ��� ����������� ����� ������� + <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> + </orderedlist> + </sect3> + </sect2> + + <sect2> + <title><varname>DIST_SUBDIR</varname></title> + + <para>�� ���������� ������ ����� �������� + <filename>/usr/ports/distfiles</filename>. ���� ������ ����� + ��������� �������� ����� ������, ��� �� �������� ��� �����, + ������� ������� ��������� � ������� ������� (��������, + <filename>Makefile</filename>), �� ������� � ���������� + <varname>DIST_SUBDIR</varname> ��� ����� (������ ������� + <literal>${PORTNAME}</literal> ��� + <literal>${PKGNAMEPREFIX}${PORTNAME}</literal>). ��� ������� + �������� ���������� <varname>DISTDIR</varname> �� �������� �� + ��������� <filename>/usr/ports/distfiles</filename> � �������� + <filename>/usr/ports/distfiles/DIST_SUBDIR</filename>, + � � ���������� �ӣ, ��� ��������� ��� �����, ����� �������� � ���� + ����������.</para> + + <para>�� �������� ����� � ���������� � ��� �� ������ �� + �������� ��������� ������� <filename>ftp.FreeBSD.org</filename>. + (����� ������� ���������� <varname>DISTDIR</varname> � ����� ����� + <varname>Makefile</varname> ����� �� �������, ��� ���, ����������, + �������������� <varname>DIST_SUBDIR</varname>.)</para> + + <note> + <para>��� �� ���Σ��� ��� ������ <varname>MASTER_SITES</varname>, + ������� �� ������� � ����� ����� + <filename>Makefile</filename>.</para> + </note> + </sect2> + + <sect2> + <title><varname>ALWAYS_KEEP_DISTFILES</varname></title> + + <para>���� ��� ���� ���������� �������� �������������� ����� � + �������� ���������, ���������, ����� �������� ��� �������������� + ������ � ��������, ����������������� � �������� �����, �������� + GPL, �� <varname>ALWAYS_KEEP_DISTFILES</varname> ���� �������� + ���������� &os; �������� ��������� ����� ������, ��������� � + <varname>DISTFILES</varname>. ������������� ����� ������ ��� + ����� � �������� �� �����, ������� ������� ����� �������� + ���������� � <varname>DISTFILES</varname> �������� + �������������� ������, ������ ����� ���������� ���������� + <varname>PACKAGE_BUILDING</varname>.</para> + + <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>��� ���������� �������������� ������ � <varname>DISTFILES</varname> + ���������, ��� �� �� ����� ���������� � <filename>distinfo</filename>. + ����� ����, �������������� ����� ������ ��������������� ����� � + <varname>WRKDIR</varname>, ��� ��� ��������� ������ ����� �������� + ������������� �������� ������� � ��������� ������ ���������.</para> + </sect2> + </sect1> + + <sect1 xml:id="makefile-maintainer"> + <title><varname>MAINTAINER</varname></title> + + <para>������� ����� ��� ����� ����������� �����. ����������. + <!-- smiley --><emphasis>:-)</emphasis></para> + + <para>��������, ��� � �������� �������� ��� + <varname>MAINTAINER</varname> ��������� ������������� ������ ������ + ������ ��� ���� �����������. ������ �������������� ������ + <literal>user@hostname.domain</literal>. ����������, �� ��������� + �������� ������������� ������, ��������, ������ ���������� ����� � + ��� ������—��� ��������� ������� � ����� + <filename>bsd.port.mk</filename>.</para> + + <para>�������������� ������������ �� ����������� ����� � ���������� + ��������� � ����������� ���������� ������ �����. �� ��������� + ��������� ������������ ��������������� ���� ����������� � ����� + <link xlink:href="&url.articles.contributing-ports.en;/maintain-port.html">The + challenge for port maintainers</link>.</para> + + <para>����� ��������� � ����������� ��������� � ����� ����� ���������� + ��������������� ��� ��������� � ���������. + ���� �������������� ����� �� ������� �� ������ ������������ �� + ���������� � ������� ���� ������ (�������� ������� ���������), + �� ��� ����� ������� ����-����� ���������������, � ���������� ����� + ���� ��������� ��� ������ ������������� �� ���������������. ���� + �������������� �� �������� � ������� �ң� �������, �� ���������, ��� + �� �����������, � ��� �������������� �����, � ������� �ģ� ����, ����� + ���� ����Σ�. ������������ �� ����� ������� �������� �ӣ, ��� + ������������ &a.portmgr; ��� &a.security-officer;. ��������� ������ + ����� ������������������� ��������� � ������, ������� ����� ��� + ������.</para> + + <para>�� ��������� �� ����� ����� �������� ��������� ��������������� + ��� ������� ������������ ������������ ��������� � ����� ��������� + ������ ��� ������ ��������� �� ������� �����������. �����, + ������� ��������� � �������������� ����� ������� ��������� � ����� + ��� �������� ���������������. ����� ��� ��������� ������� �� ����� + ����������� ���������������� �����.</para> + + <para>�� &a.portmgr; ����������� ����� ����� ��� ��������� ����-���� + �������������� �� ����� �������, � �� the &a.security-officer; + ����������� ����� ������ ��� ��������� ����� �� ������������� ����� + �� ������������ �������������� ������������.</para> + </sect1> + + <sect1 xml:id="makefile-comment"> + <title><varname>COMMENT</varname></title> + + <para>�������� ������������ �������� �����. ����������, ���������� + ��������� �������:</para> + + <orderedlist> + <listitem> + <para>���������� ������ ������ COMMENT ������ �� ������, ��� 70 + ��������, ��� ��� ��� ������ ����� ������������ �������� + <command>pkg info</command> (��. &man.pkg-info.8;) ��� + ����������� ������������� �������� �����;</para> + </listitem> + + <listitem> + <para><emphasis>��</emphasis> ��������� ���� �������� ������ + (��� ����� ������ ������������ �����������);</para> + </listitem> + + <listitem> + <para>����������� ������ ���������� � ��������� ����� � �� + ������������� ������;</para> + </listitem> + + <listitem> + <para>�� ��������� ����������� � ��������̣����� ������� (A + ��� An);</para> + </listitem> + + <listitem> + <para>����� ������� � ��������� ����� (��������, Apache, + JavaScript. Perl);</para> + </listitem> + + <listitem> + <para>��� ������������ ����������� ���������� ����������� + ������� (����. Oxford comma) (��������, green, + red<emphasis>,</emphasis> and blue);</para> + </listitem> + + <listitem> + <para>����������� ��������� �������� ����������.</para> + </listitem> + </orderedlist> + + <para>��� ������:</para> + + <programlisting>Cat chasing a mouse all over the screen</programlisting> + + <para>� ����� <filename>Makefile</filename> ���������� COMMENT ������ + ��������� ����� �� ���������� MAINTAINER.</para> + </sect1> + + <sect1 xml:id="makefile-portscout"> + <title><varname>PORTSCOUT</varname></title> + + <para><application>Portscout</application> ������ ����� + ������������������ �������� �������� ����������� �������������� + ������ ��� ��������� ������ &os;, ��������� �������� �������� + ������������� <xref linkend="distfile-survey"/>.</para> + + <para>���������� <varname>PORTSCOUT</varname> ������ ����������� + �������, �������������� ������ <application>Portscout</application> + - ������� �������������� ������.</para> + + <para>��������, ��� ������� ������� ��������� ���������� + <varname>PORTSCOUT</varname>:</para> + + <itemizedlist> + <listitem> + <para>����� ������ �������������� �������������� ����� ��� + ���������� ������ ��� ������� �������. ��������, ����� + ��������� �� �������� ����� ������ �������������� ������ + ������ <replaceable>8.2</replaceable> �� ������� ����, ��� + ��� �������� ����������, �������� ���������:</para> + + <programlisting>PORTSCOUT= ignore:8.2</programlisting> + + </listitem> + <listitem> + <para>����� ������ ����������� ���������� ������ ��� ������� + � ������� ������� �������������� ������. ��������, ���� + ������� ������������ ��������� ������ + <replaceable>0.6.4</replaceable>, ������ ��� ����� ����� + ������ ����� �������� ������������� � &os;, ��������:</para> + + <programlisting>PORTSCOUT= limit:^0\.6\.4</programlisting> + + </listitem> + <listitem> + <para>����� URL, � ������� ������� ��������� ������, ���������� + �� URL �� ��������. ��������, ����� ��������� �������� ����� + ������ �������������� ������ � �������� �������� ��� ����� + <package role="port">databases/pgtune</package>, + ��������:</para> + + <programlisting>PORTSCOUT= site:http://pgfoundry.org/frs/?group_id=1000416</programlisting> + </listitem> + </itemizedlist> + </sect1> + + <sect1 xml:id="makefile-depend"> + <title>�����������</title> + + <para>������ ����� ������� �� ������ ������. ��� ����� ������� + ������������� ����������� ����������� Unix-�������� ������������ + ������, ������� &os;. ��������� ������ ����� ������������ ����� + ����������� ���������, � �� �������� ţ � ������ ������� ����� ��� + ������, ������� � ��� ���������. ������� ���� ����������, + ������� �� ������ ������������ ��� ����������� ����, ��� �ӣ + ��������� ��������� �� ������ ������������. ������� ����� ��������� + ����������̣���� ����������, ���������� ����������� ��� ����� + �������, ���� �ݣ ��������� ��� ���������� ���������� + ������������.</para> + + <sect2> + <title><varname>LIB_DEPENDS</varname></title> + + <para>��� ���������� ���������, �� ����� ��������� ������������ + ��������� ������� ����. ��� ������ ��� + <replaceable>lib</replaceable>:<replaceable>dir</replaceable> + ��� <replaceable>lib</replaceable> - ��� ��� ����������, + <replaceable>dir</replaceable> - ��� �������, � ������� ����� �� + ����� � ������, ���� �� ��� �� ������. ��������,</para> + + <programlisting>LIB_DEPENDS= libjpeg.so:${PORTSDIR}/graphics/jpeg</programlisting> + + <para>�������� ������� ���������� jpeg � ����� ������� ������ � + �������� � ���������� <filename>graphics/jpeg</filename> ������ + ������ ������ ��� �� ���������� � ���������, ���� ���������� + �����������.</para> + + <para>����������� ����������� ������, ���� ��� ������ ���� + <buildtarget>build</buildtarget>, � ����� �� ���� + <buildtarget>install</buildtarget>. ����� ����, ��� ����������� + ���������� � �����, ��� ��� <command>pkg install</command> + (��. &man.pkg-install.8;) ����� + ������������� ţ �������������, ���� ţ ��� �� ���������������� + �������.</para> + </sect2> + + <sect2> + <title><varname>RUN_DEPENDS</varname></title> + + <para>� ���� ���������� ������������� ���������� ����� ��� �����, �� + ������� ������� ������ �����. ��� ������ ��� ���� + <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional>:target</optional> + ��� <replaceable>path</replaceable> - ��� ��� ��������� ��� �����, + � <replaceable>dir</replaceable> - �������, � ������� ����� ����� + ���� � ������, ���� ��� ��� � �������, � + <replaceable>target</replaceable> - ��� ����, ������� ����� ������� + � ���� ��������. ���� <replaceable>path</replaceable> ���������� + �� ����� (<literal>/</literal>), �� �������������� ��� ���� � ��� + ������������� ����������� �������� <command>test -e</command>; � + ��������� ������ ��������������, ��� ��� ���������� ����, � + ��� ����������� ����, ������� �� ��������� � ���� ������, + ������������ ������� <command>which -s</command>.</para> + + <para>��������,</para> + + <programlisting>RUN_DEPENDS= ${LOCALBASE}/news/bin/innd:${PORTSDIR}/news/inn \ + xmlcatmgr:${PORTSDIR}/textproc/xmlcatmgr</programlisting> + + <para>�������� ������������� ����� ��� �������� + <filename>/usr/local/news/bin/innd</filename>, � ���� ������ + �� ����� �������, �� �������� � ��������� ���� �� ����������� + <filename>news/inn</filename> ������ ������. ����� ����� + ��������� ��������, ������������ �� � ���� ������ ����������� + ���� � ������ <command>xmlcatmgr</command>, � �������� � + ���������� <filename>textproc/xmlcatmgr</filename> ������ ������ + ������ ��� ��� ���������� � ���������, ���� �� �� ����� + ������.</para> + + <note> + <para>� ����������� ������� <command>innd</command> �������� + ���������� ������; ���� ���������� ���� ��������� � �����, + ������� ����������� � ������ ����� ������, �� �� ������ ������� + ������ ���� � �����.</para> + </note> + + <note> + <para>����������� ��������� ���������� ������ <envar>PATH</envar>, + ������������ � �������� ���������� ������ ��������</para> + + <programlisting>/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin</programlisting> + </note> + + <para>����������� ����������� ������ ���� + <buildtarget>install</buildtarget>. ����� ����, ��� ����������� + ���������� � �����, ��� ��� <command>pkg install</command> + (��. &man.pkg-install.8;) + ����� ������������� ��� �������������, ���� �� �� ����� ������ + � ���������������� �������. ����� + <replaceable>target</replaceable> ����� ���� �������, ���� ��� + ��������� � <varname>DEPENDS_TARGET</varname>.</para> + + <para>�������� ���������������� �������� ��������, ����� + <varname>RUN_DEPENDS</varname> ��������� ����� �� ��� + <varname>BUILD_DEPENDS</varname>, �������� ���� ����������� + ����������� ����������� �������� �� ����� ���������, ��� ���� + ��� ������� ����� �� ��������� ��� ����������, ��� � ������������ + �� ����� ����������. � ���� ������, ����� ���������� ��� �������� + ������������ �������� ���������� ������ �������:</para> + + <programlisting>RUN_DEPENDS= ${BUILD_DEPENDS}</programlisting> + + <para>��� �� �����, �������� ���������� ����� ���������� ����������� + ������� ���������� ����������, �� �������� � + <varname>BUILD_DEPENDS</varname> ��������� �����. + ����� ��������� ��-�� �������� ���������� � &man.make.1; + ������������� ����������. ����������� <filename>Makefile</filename> + � ����������� <varname>USE_<replaceable>*</replaceable></varname>, + ������� �������������� � <filename>ports/Mk/bsd.*.mk</filename> + ��� ���������� �������������� ������������ ����������. ��������, + <literal>USES= gmake</literal> ��������� + <package role="port">devel/gmake</package> � + <varname>BUILD_DEPENDS</varname>. ��� �������������� ����������� + <varname>RUN_DEPENDS</varname> ��������� ��������������� + ������������� ���������� ������������ � ����������� � ����������, + �.�. � ���������� �������� ����� ��� ����������� ����������:</para> + + <programlisting>RUN_DEPENDS:= ${BUILD_DEPENDS}</programlisting> + </sect2> + + <sect2> + <title><varname>BUILD_DEPENDS</varname></title> + + <para>� ���� ���������� ������������� ���������� ��� ������� �����, + ������� ��������� ����� ��� ��� ����������. ��� � + <varname>RUN_DEPENDS</varname>, ��� ������ ��� + <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional>:target</optional> + ��������,</para> + + <programlisting>BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip</programlisting> + + <para>����� ��������� + ������� ����������� ���� � ������ <command>unzip</command> � + �������� � ���������� <filename>archivers/unzip</filename> ������ + ������ ������ ��� ��� ���������� � ���������, ���� ��������� �� + ����� ������.</para> + + <note> + <para>��� <quote>�����������</quote> ����� ���������� �ӣ, �� + ���������� �� ����������. ����������� ����������� �� ���� + <buildtarget>extract</buildtarget>. ����� + <replaceable>target</replaceable> ����� ���� �������, ���� ��� + ��������� � <varname>DEPENDS_TARGET</varname>.</para> + </note> + </sect2> + + <sect2> + <title><varname>FETCH_DEPENDS</varname></title> + + <para>� ���� ���������� ������������� ����������� ����� ��� ������ + �����, ������� ��������� ����� ��� �������. ��� � ���������� ��� + ����������, ��� ������ ��� + <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional>:target</optional> + ��������,</para> + + <programlisting>FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2</programlisting> + + <para>����� ��������� + ������� ������������ ����� � ������ <command>ncftp2</command> � + �������� � ������� <filename>net/ncftp2</filename> ������ ������ + ������ ��� ��� ���������� � ���������, ���� ��� �� ����� + ������.</para> + + <para>����������� ����������� ��� ���������� ���� + <buildtarget>fetch</buildtarget>. ����� + <replaceable>target</replaceable> ����� ���� �������, ���� ��� + ��������� � <varname>DEPENDS_TARGET</varname>.</para> + </sect2> + + <sect2> + <title><varname>EXTRACT_DEPENDS</varname></title> + + <para>� ���� ���������� ����������� ��������� ��� �����, ������� + ��������� ��� ���������� �����. ��� � � ���������� �������, ��� + ������ ��� ���� + <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional>:target</optional>. + ��������,</para> + + <programlisting>EXTRACT_DEPENDS= unzip:${PORTSDIR}/archivers/unzip</programlisting> + + <para>����� ��������� + ������� ��������� � ������ <command>unzip</command>, � �����ģ� � + ���������� <filename>archivers/unzip</filename> ������ ������ + ������ ��� ţ ���������� � ���������, ���� ����� ��������� �� ����� + �������.</para> + + <para>����������� ����������� ������ ���� + <buildtarget>extract</buildtarget>. ����� + <replaceable>target</replaceable> ����� ���� �������, ���� ��� + ��������� � <varname>DEPENDS_TARGET</varname>.</para> + + <note> + <para>����������� ��� ����������, ������ ���� ���������� �� + �������� (�� ��������� �������������� ������������� + <command>gzip</command>) � ��� �� ������������ ��� ������ + <varname>USE_ZIP</varname> ��� <varname>USE_BZIP2</varname>, + ������� ������� � <xref linkend="use-vars"/>.</para> + </note> + </sect2> + + <sect2> + <title><varname>PATCH_DEPENDS</varname></title> + + <para>��� ���������� ��������� �� ��������� ��� �����, ������� ����� + ����� ��� ���������� ������. ��� � � ���������� �������, ��� + ������ ��� ���� + <replaceable>path</replaceable>:<replaceable>dir</replaceable><optional>:target</optional>. + ��������,</para> + + <programlisting>PATCH_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/java/jfc:extract</programlisting> + + <para>����� + ���������� � ���������� <filename>java/jfc</filename> ������ ������ + ������ ��� ����������.</para> + + <para>����������� ����������� ������ ���� + <buildtarget>patch</buildtarget>. ����� + <replaceable>target</replaceable> ����� ���� �������, ���� ��� + ��������� � <varname>DEPENDS_TARGET</varname>.</para> + </sect2> + + <sect2 xml:id="uses"> + <title><varname>USES</varname></title> + + <para>����� ���� ��������� ��������� ��� ����������� ��������� + ����������� ������������ � ������������, �������� + �������� ������ ����. ��� ����������� ��ԣ� ���������� + � <filename>Makefile</filename> ���� ������:</para> + + <programlisting>USES= feature[:arguments]</programlisting> + + <para>��� ��������� ������� ������ �������� �������� + <xref linkend="uses-values"/>.</para> + + <warning> + <para>�������� <varname>USES</varname> ������ ����������� + ����� ����������� <filename>bsd.port.pre.mk</filename>.</para> + </warning> + </sect2> + + <sect2 xml:id="use-vars"> + <title><varname>USE_<replaceable>*</replaceable></varname></title> + + <para>��� ����������� ����� ������������, ��������� ������������ + ������� �������, ������������� ��������� ����������. �� + ������������� �������� ��������������, �� �������� ��������� + ������������ ������ <filename>Makefile</filename> �����. + ������ �� ��� ����������� ��� + <varname>USE_<replaceable>*</replaceable></varname>. ��� + ���������� ����� ������������ ������ � <filename>Makefile</filename> + ����� � <filename>ports/Mk/bsd.*.mk</filename>. ��� �� + ������������� ��� ��������� �������������� ���������� — + ����������� ��� ���� ����� <varname>PORT_OPTIONS</varname>.</para> + + <note> + <para>��������� ����� <varname>USE_<replaceable>*</replaceable></varname> + � <filename>/etc/make.conf</filename> <emphasis>������</emphasis> + �������� ��������� ���������. � ���������, ���������</para> + + <programlisting>USE_GCC=X.Y</programlisting> + + <para>(��� X.Y ������������� ������) ������� ����������� + �� gccXY � ������� �����, ������� � ��� + <literal>lang/gccXY</literal>!</para> + </note> + + <table frame="none"> + <title>���������� + <varname>USE_<replaceable>*</replaceable></varname></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>����������</entry> + + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>USE_BZIP2</varname></entry> + + <entry>tar-������ ����� ��������� ��� ������ + <command>bzip2</command>.</entry> + </row> + + <row> + <entry><varname>USE_ZIP</varname></entry> + + <entry>tar-������ ����� ��������� ��� ������ + <command>zip</command>.</entry> + </row> + + <row> + <entry><varname>USE_GCC</varname></entry> + + <entry>��� ������ ����� ��������� GCC + (<command>gcc</command> ��� <command>g++</command>). + ��������� ������ �������� ����� ������, ��� ������ + ��������� ��������� ����������� ������. ������ + ������������ �� ��������� <literal>any</literal> (� + ���� ������ ������������ ���������� GCC � ��� + ������� &os;, � ������ ������� �� �ӣ �ݣ ������, + ��� ��������������� ���� + <literal>lang/gcc</literal>, ����� Clang �������� + ������������ C/C++ �� ���������) ��� + <literal>yes</literal> (������ ������������ + ���������� ����������� ������ GCC �� ����� + <literal>lang/gcc</literal>). ����� � �������� + ���������� ����� ������� ������ ������, �������� + <literal>4.7</literal>. ���������� ���������� + ������ ����� ������� ��� <literal>4.6+</literal>. + GCC �� �������� ������� ������������ � ������, ���� + ��� ������ ������������� �����������, ����� + ���������� ���������� ������ ����������� �� ����� � + ��������������� ���������� ���������� + <varname>CC</varname> � <varname>CXX</varname>. + </entry> + </row> + + </tbody> + </tgroup> + </table> + + <para>����������, ����������� � <application>gmake</application> + � �������� <filename>configure</filename>, ������� � + <xref linkend="building"/>, � <application>autoconf</application>, + <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"/> + �������� � ����������� GNOME � <xref linkend="using-kde"/> � KDE. + <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> + � <xref linkend="using-ruby"/>. <xref linkend="using-sdl"/> + ������������� ����������, ������������ ��� ���������� + <application>SDL</application>, �, �������, + <xref linkend="using-xfce"/> �������� ���������� � ���������� + <application>Xfce</application>.</para> + </sect2> + + <sect2> + <title>����������� ������ �����������</title> + + <para>����������� ������ ����������� ����� ���� ������� � ����� + ���������� <varname>*_DEPENDS</varname>, �� ����������� + <varname>LIB_DEPENDS</varname>, � �������������� ���������� + ����������:</para> + + <programlisting>p5-Spiffy>=0.26:${PORTSDIR}/devel/p5-Spiffy</programlisting> + + <para>������ ���� �������� �������� ���������� ������, ������� + ������� ��������� � ������� � ���� ������ �������, ���� ��������� + � ������ ������ ������. ����������� ��������������� ���� �� ������ + ���������� p5-Spiffy-0.26 ��� �����.</para> + </sect2> + + <sect2> + <title>��������� ���������� ������������</title> + + <para>��� ��� �������� ����, �����, ������� ���������� �� ��������� + � ������, ����� ��� ������� �����������, �������� + <buildtarget>DEPENDS_TARGET</buildtarget>. ��� �� ��������� ���� + <literal>install</literal>. ��� ���������������� ����������; ��� + ����� �� ���������� � ����� <filename>Makefile</filename> �����. + ���� ������ ����� ��������� ������ ����� ��������� �����������, + �������������� ������ <literal>:target</literal> ���������� + <varname>*_DEPENDS</varname> ������ ����, ����� �������������� + <varname>DEPENDS_TARGET</varname>.</para> + + <para>����� �� ��������� ������� <command>make clean</command>, + ��� �������� ����� ����������� � ��� ������������� ����� �����. + ���� �� �� ������, ����� ��� ���������, ���������� ���������� + <varname>NOCLEANDEPENDS</varname> � ����� ���������. + ��� ����� ���� �������� ������, ���� ���� ����� �����, ��� �������� + ����� ������� �� ����������, � ��ϣ� ������ ������������, ��������, + KDE, GNOME ��� Mozilla.</para> + + <para>����� ���������� �������� �� ������� �����, ������� ���������� + <varname>${NONEXISTENT}</varname> � �������� ������� ���� + ���������� <varname>BUILD_DEPENDS</varname> ��� + <varname>RUN_DEPENDS</varname>. ����������� ����, ������ ����� ��� + ����� ����� �������� ��� ������� �����. �� ������ ���������� ����� + �� ����������, ������ ����� � ����. ��������,</para> + + <programlisting>BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/graphics/jpeg:extract</programlisting> + + <para>������ ����� ���������� � ������� � ������ + <literal>jpeg</literal> � ������������� ���.</para> + </sect2> + + <sect2> + <title>����������� ����������� ��������</title> + + <important> + <para>�� ��������� ��������������� ����������� � ������ + ������!</para> + </important> + + <para>���������� ���������� ������ �� �������� �� ����������� + ������������. ���� �� ��������� �����, �� � ����-������ � + ���-������ ��������� &os; ����� ���������� �������, � � ��������� + ��������� ��������� �����. ��� �� ����� ���� ����� ������ + ����������; ���� �� ������������, �� ����� ��������� ��������� + ���������, ��� ��������� ���������: <command>cd /usr/ports; make + index</command>. ���� ������� ����� ���� ���������� ��������� �� + ������ �������, ���� �� ������� ������ ������� ���������� + �����—������� ����—�� �������� ���.</para> + </sect2> + + <sect2> + <title>�������������� ����������� � ��������, ������� ��� + ��������</title> + + <para>����������� ������ ���� ������� ���� ����, ���� � + �������������� <link linkend="makefile-options">���������� + OPTIONS</link>. ������������� ������ �������, ����� ��� + �������������� ����������� ������������, ��������� ��������������, + ��� �������� �������� � ���������� ������� � ��������.</para> + + <example> + <title>������������ ���������� �������������� �����������</title> + + <programlisting>.include <bsd.port.pre.mk> + +.if exists(${LOCALBASE}/bin/foo) +LIB_DEPENDS= libbar.so:${PORTSDIR}/foo/bar +.endif</programlisting> + </example> + + <para>�������� ��������������� ���������� ������������ + ����������� � ���, ��� ����� � ��������� �� ��������� ����� + ����� ����������� ��������. ������: ����� ���������� + ������� ��������������� ����� ������. ��� ���� ���� �� + ��� ������������� ����������� ����. �� ���� ����� ������ + ����� ������������, ������ ��� ������������� ���� ���������� + ������� ����� �����������. ������ ����� ���� �� �������� + ������������ ���� ����� ��� ������������, � ������ ���� + ������ ����� ����� ��������� �������������� �����������, + ����������� �� ������������� ������ ������.</para> + + <example> + <title>���������� ���������� �������������� �����������</title> + + <programlisting>OPTIONS_DEFINE= BAR +BAR_DESC= Bar support + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MBAR} +LIB_DEPENDS= libbar.so:${PORTSDIR}/foo/bar +.endif</programlisting> + </example> + + <para>���������� �������� �������� �������� ���������� ����������. + ���� ������ �� �������� � ��������������� � ������� ������ + ������, ��������� ��������� ���������� �� ���������� �������. + ��� ���� ����� ������������ ������� ������� ��� ������������� + ����������, ��������� � ���������� ���� ������ � ��������������� + �� �������.</para> + </sect2> + + <sect2 xml:id="use-want"> + <title><varname>USE_</varname> � + <varname>WANT_</varname></title> + + <para>���������� <varname>USE_</varname> �������� ������������ + ����� ��� ����������� ������������ �����������, �� �������� + ���� ���� �������. ����, ��� �������� ����� Firefox, + ������</para> + + <programlisting>USE_FIREFOX= yes</programlisting> + + <para>��������� ���������� <varname>USE_</varname> ����� + ��������� ������ ������ ��� ������ ���������. ��������, + ����, ������� ������� Apache 2.2, ������</para> + + <programlisting>USE_APACHE= 22</programlisting> + + <para>� ��������� ������� ��� �������� �������� ��� + ������������� ������������ ���������� <varname>WANT_</varname>, + ������� ��������� ��������� ���������� � ����� ������ �����. + ��������, ��������� �� ���� + <package role="port">mail/squirrelmail</package>. ����� ����� + ����� ��������� ������� PHP, ������� ����������� � ���������� + <varname>USE_PHP</varname>:</para> + + <programlisting>USE_PHP= session mhash gettext mbstring pcre openssl xml</programlisting> + + <para>��� ������ �������� � ������� CLI � web, ������� ������ + web ������� � ���������� <varname>WANT_</varname>:</para> + + <programlisting>WANT_PHP_WEB= yes</programlisting> + + <para>��������� ���������� <varname>USE_</varname> � + <varname>WANT_</varname> ���������� � ������ � + <filename class="directory">/usr/ports/Mk</filename>.</para> + </sect2> + </sect1> + + <sect1 xml:id="makefile-masterdir"> + <title><varname>MASTERDIR</varname></title> + + <para>���� ������ ����� ��������� ���������� �������� ������������� + ������ ������� ����� ���������� (��������, ��������, ����������, + ��� ������ ������), ������� ��������� ��������� ��������, �������� ��� + ������� ������ ��������� ����������, ����� ������������� ���� ����� + ����������, ����� ������� ���������������, �� ���������� ������������ + ��������� ����� ������� ��� ����� ������ ������. � �������� ������ ��� + ����������� ������ ����� �������� ����� <filename>Makefile</filename> + �� ���� ���������, ����� ������, ���� �� ������ ������������ ���������� + � ����. � ��������� ������ <filename>Makefile</filename> �� ������ + ������������ ���������� <varname>MASTERDIR</varname> ��� �������� + ��������, � ������� ��������� ��� ��������� �����. ����� ����������� + ���������� ��� ����� <link linkend="porting-pkgname"><varname>PKGNAMESUFFIX</varname></link>, ����� + ������ ����� ������ �����.</para> + + <para>���������������� ��� �� �������. ��� ����� ����� + <filename>japanese/xdvi300/Makefile</filename>:</para> + + <programlisting> +PORTNAME= xdvi +PORTVERSION= 17 +PKGNAMEPREFIX= ja- +PKGNAMESUFFIX= ${RESOLUTION} + : +# default +RESOLUTION?= 300 +.if ${RESOLUTION} != 118 && ${RESOLUTION} != 240 && \ + ${RESOLUTION} != 300 && ${RESOLUTION} != 400 + @${ECHO_MSG} "Error: invalid value for RESOLUTION: \"${RESOLUTION}\"" + @${ECHO_MSG} "Possible values are: 118, 240, 300 (default) and 400." + @${FALSE} +.endif + </programlisting> + + <para>���� <package role="port">japanese/xdvi300</package> �������� + ����� ��� ������� �����, ����� ��� ������ � ��� �����. ���� �� ������� + ����� ������� <command>make</command>, ��� ������� � �������� ���������� + �������� �� ��������� (300) � �������� ���� ������� �������.</para> + + <para>��� ������� ���������� �������� <emphasis>������</emphasis> + <filename>xdvi118/Makefile</filename>:</para> + + <programlisting>RESOLUTION= 118 +MASTERDIR= ${.CURDIR}/../xdvi300 + +.include "${MASTERDIR}/Makefile"</programlisting> + + <para>(<filename>xdvi240/Makefile</filename> � + <filename>xdvi400/Makefile</filename> ������). ������� + <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> � ����� + <filename>xdvi300/Makefile</filename> � ���� ����� �������� � + ����������� 118.</para> + </sect1> + + <sect1 xml:id="makefile-manpages"> + <title>�������� �����������</title> + + <para>���� ��� ���� ���������� ������ ��� ������ ����������� �������, + �������� �� <varname>PREFIX</varname>, �� ������ ������������ + ���������� <varname>MANDIRS</varname>, ����� ������� ��� ��������. + �������� ��������, ��� ����� ������� ����������� ������� ��������� + � <filename>pkg-plist</filename> ������ � ���������� �������. + <varname>MANDIRS</varname> ������������� ��� ��������������� + ������ ������� �����������, ��� ����� ����� ������ ������������ + �� <filename>.gz</filename>.</para> + </sect1> + + <sect1 xml:id="makefile-info"> + <title>����� � ������� info</title> + + <para>���� � ����� ������ ����� ��������� ������ GNU info, ��� ������ + ���� ����������� � ���������� <varname>INFO</varname> (��� ��������� + <literal>.info</literal>), �� ������ �� ��������. ��������������, + ��� ��� ����� ��������������� � + <filename>PREFIX/INFO_PATH</filename>. + �� ������ �������� <varname>INFO_PATH</varname>, ���� ��� ����� + ���������� ������ ����� ��� ����������. ������, ��� �� ������������� + ������. ��� ������ ����� ���� �������� ���� ������������ + <filename>PREFIX/INFO_PATH</filename>. + ��������, <package role="port">lang/gcc34</package> ������������� + ����� info � + <filename>PREFIX/INFO_PATH/gcc34</filename>, + � � <varname>INFO</varname> ����� ���-�� ����� �����:</para> + + <programlisting>INFO= gcc34/cpp gcc34/cppinternals gcc34/g77 ...</programlisting> + + <para>����� ������������ ������ ��������������� ��� ���������/�������� ����� + ������������� �������� �� ��������� <filename>pkg-plist</filename>.</para> + </sect1> + + <sect1 xml:id="makefile-options"> + <title>����� ��� Makefile</title> + + <para>������ ���������� ����� ���� ��������� � ��������� + ������������� � � �������������� �����������������. ��������, + ����� ������������� (�������������) �����, GUI ������ ��������� + ������ ��� ���� ������������ ���� ������. ������������ ����� + ��������� � ��������� �������������, �������� �� ������������ �� + ���������, ������� � ������� ������ ������������ ��������, + ����������� ������ ����� ��������� ������� ���� ��� ����� + �������� ������������. + ���������� ��������� ���� �������������� ���������� ��������� + ������������� ����� � ���� ��� ��� ����� ����� �� ���� ������.</para> + + <sect2> + <title>Knobs</title> + + <sect3> + <title><varname>WITH_<replaceable>*</replaceable></varname> + � + <varname>WITHOUT_<replaceable>*</replaceable></varname></title> + + <para>��� ���������� ������������� ��� ��������� ��������� + ���������������. ������ �� ��� ��������������� � ����� + <link xlink:href="http://svnweb.FreeBSD.org/ports/head/KNOBS?view=markup"><filename>ports/KNOBS</filename></link>.</para> + + <para>��� �������� ����� �� ������� ��� ��� knob, ����������� + ��� ������� ����������. �� ������� ����� Avahi, ����������� + <varname>WITHOUT_MDNS</varname> ������ + <varname>WITHOUT_AVAHI_MDNS</varname>.</para> + + <note> + <para>�� ����� ������������, ��� + <varname>WITH_<replaceable>*</replaceable></varname> + ����������� ����� ��������������� ���������� + <varname>WITHOUT_<replaceable>*</replaceable></varname>, + � ��������. � ����� ������, �������������� �������� �� + ���������.</para> + </note> + + <note> + <para>���� �������� �� �������, �� ����������� ������ ���� + ��������� ����� ����������, �� �� �� ���������� �������� ���� + <literal>YES</literal> ��� <literal>NO</literal>.</para> + </note> + + <table frame="none"> + <title>�������� ���������� + <varname>WITH_<replaceable>*</replaceable></varname> + � <varname>WITHOUT_<replaceable>*</replaceable></varname></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>����������</entry> + + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>WITH_OPENSSL_BASE</varname></entry> + + <entry>������������ ������ OpenSSL �� ������� �������.</entry> + </row> + + <row> + <entry><varname>WITH_OPENSSL_PORT</varname></entry> + + <entry>������������� ������ OpenSSL �� + <package role="port">security/openssl</package>, + ���� ���� � ������� ������� ��������� ������.</entry> + </row> + </tbody> + </tgroup> + </table> + + </sect3> + + <sect3> + <title>������������ KNOBS</title> + <para>������� ������ ������������ ��� ���������� + knobs ��� ������ �������� ������������� � ��� ����������� + ���������� ������������ knobs � ��������� ����������. + ������ ���������� �������� knobs ����� ����� � ����� <link xlink:href="http://svnweb.FreeBSD.org/ports/head/KNOBS?view=markup"><filename>KNOBS</filename></link> + </para> + + <para>�������� knobs ������ ��������, ��� ��� ����� � ��� + ���������. ���� � ����� ������� ������������ ������� � + <varname>PORTNAME</varname>, �� �� ������ �������������� � + �������� knobs.</para> + </sect3> + </sect2> + + <sect2> + <title><varname>OPTIONS</varname></title> + + <sect3> + <title>��������</title> + <para>��� ��������� ����� ���������� <varname>OPTIONS_*</varname> + ������������� ������������ ���� ������� � ������������ + ��������� ����������, � ������� ��������� ���������� � ���� + <filename>/var/db/ports/${UNIQUENAME}/options</filename>. + ��� ����� �������� ������������ ��� ��������� ���������� + �����.</para> + + <para>����� ������������ ��������� <command>make config</command> + (��� ��������� ������� <command>make build</command>), + �������������� ��������� �������� ������������� ����� + <filename>/var/db/ports/${UNIQUENAME}/options</filename>. + ���� ���� ���� �� ����������, �� ������������ �������� + <varname>OPTIONS_*</varname> � ������������ ���������� ����, + � ������� ��� ��������� ����� �������� ��� ���������. + ����� ����������� ���� ����� <filename>options</filename>, + � ��������� ���������� ������������ ��� ���������� �����.</para> + + <para>���� ����� ������ ����� ��������� ����� �������� + <varname>OPTIONS</varname>, �� ������������ ����� ������������ + ���� ������� � ������������ ������������ ���������� ������ + <varname>OPTIONS.</varname></para> + + <para><command>make showconfig</command> ���������� + ����������� ������������. ��� �������� + ����������� ������������ ����������� + <command>make rmconfig</command>.</para> + </sect3> + + <sect3> + <title>���������</title> + + <para><varname>OPTIONS_DEFINE</varname> �������� ������ + ������������ <varname>OPTIONS</varname>. ��� ���������� + ���� �� ����� � �� �������������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 OPT2</programlisting> + + <para>����� ����� ����������� ������� �������� + <varname>OPTIONS</varname> (�� �������� ������������, + �� ������������ �������������):</para> + + <programlisting>OPT1_DESC= Describe OPT1 +OPT2_DESC= Describe OPT2 +OPT3_DESC= Describe OPT3 +OPT4_DESC= Describe OPT4 +OPT5_DESC= Describe OPT5 +OPT6_DESC= Describe OPT6</programlisting> + + <tip> + <para><filename>ports/Mk/bsd.options.desc.mk</filename> + �������� �������� ��������� �������� ������������ + <varname>OPTIONS</varname>; �������������� ��, ��� + �������, �� �����.</para> + </tip> + + <tip> + <para>��� �������� ���������� ���������� ����������� ���� + �� ����� ������������: <quote>��� ��� ������?</quote> + � <quote>��� ���� �� � ������� �������� ���?</quote> + �� ������� ������� ���������� ��������. ��������, + �������� ��������� <literal>NLS</literal> ��� + <quote>include NLS support</quote> (<quote>�������� + ��������� NLS</quote>) �� ������� ������������, ������� + ��� ����� �������� ���������, �� ����� �� �����, ��� + ��� ��������. ������ ��� ��� <quote>Native Language + Support via gettext utilities</quote> (<quote>��������� + ������������� ����� ����� ������� gettext</quote>), + �� �������� ������������ ������� ������.</para> + </tip> + + <para><varname>OPTIONS</varname> ����� ������������ � ���� + ��������������, ��� ������� �������� ����� ������������� + �������� � ������ ������:</para> + + <programlisting>OPTIONS_SINGLE= SG1 +OPTIONS_SINGLE_SG1= OPT3 OPT4</programlisting> + + <para><varname>OPTIONS</varname> ����� ������������ � ���� + ��������������, ��� ������� �������� ����� ������������� + �������� (��� �� ������) � ������ ������:</para> + + <programlisting>OPTIONS_RADIO= RG1 +OPTIONS_RADIO_RG1= OPT7 OPT8</programlisting> + + <para><varname>OPTIONS</varname> ����� ����� ������������ + � ���� ������� �� ������������� �������, ��� ������� + ������ ���� ������� <emphasis>�� ������� ���� + ����</emphasis> �� ����������:</para> + + <programlisting>OPTIONS_MULTI= MG1 +OPTIONS_MULTI_MG1= OPT5 OPT6</programlisting> + + <para><varname>OPTIONS</varname> ����� ����� ������������ + � ���� ������� �� ������������� �������, ��� ������� + ����� ���� �������� ����� ���������, ������� ���������� + ������:</para> + + <programlisting>OPTIONS_GROUP= GG1 +OPTIONS_GROUP_GG1= OPT9 OPT10</programlisting> + + <para>�� ��������� <varname>OPTIONS</varname> ��������� � + ����������� ���������, ���� ��� ���� ��� ����� ����������� + � ������ <varname>OPTIONS_DEFAULT</varname>:</para> + + <programlisting>OPTIONS_DEFAULT= OPT1 OPT3 OPT6</programlisting> + + <para>����������� <varname>OPTIONS</varname> ������� ��������� + �� ����������� <filename>bsd.port.options.mk</filename>. + ���������� <varname>PORT_OPTIONS</varname> + ����� ���� ��������� ������ ����� + ����������� <filename>bsd.port.options.mk</filename>. + ������ ����� ����� ����� ������������ ����������� + <filename>bsd.port.pre.mk</filename>, ��� ��� ��� ������ + ������������ � ������, ���������� �� ��������� + <filename>bsd.port.options.mk</filename>. �� ������ � ����, + ��� ��������� ����������, ������, ��� ��������� ����� + <varname>USE_*</varname>, + ����� ����������� <filename>bsd.port.pre.mk</filename> ����� + �������� �� ���, ��� ����� �� ��� �������.</para> + + <example xml:id="ports-options-simple-use"> + <title>������� ������������� <varname>OPTIONS</varname></title> + + <programlisting>OPTIONS_DEFINE= FOO BAR +FOO_DESC= Enable option foo +BAR_DESC= Support feature bar + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MFOO} +CONFIGURE_ARGS+=--with-foo +.else +CONFIGURE_ARGS+=--without-foo +.endif + +.if ${PORT_OPTIONS:MBAR} +RUN_DEPENDS+= bar:${PORTSDIR}/bar/bar +.endif + +.include <bsd.port.mk></programlisting> + </example> + + <example xml:id="ports-options-check-unset"> + <title>�������� ���������� �������� + <varname>OPTIONS</varname></title> + + <programlisting>.if ! ${PORT_OPTIONS:MEXAMPLES} +CONFIGURE_ARGS+=--without-examples +.endif</programlisting> + </example> + + <example xml:id="ports-options-practical-use"> + <title>������ ��������� ������������� + <varname>OPTIONS</varname></title> + + <programlisting>OPTIONS_DEFINE= EXAMPLES + +OPTIONS_SINGLE= BACKEND +OPTIONS_SINGLE_BACKEND= MYSQL PGSQL BDB + +OPTIONS_MULTI= AUTH +OPTIONS_MULTI_AUTH= LDAP PAM SSL + +EXAMPLES_DESC= Install extra examples +MYSQL_DESC= Use MySQL as backend +PGSQL_DESC= Use PostgreSQL as backend +BDB_DESC= Use Berkeley DB as backend +LDAP_DESC= Build with LDAP authentication support +PAM_DESC= Build with PAM support +SSL_DESC= Build with OpenSSL support + +OPTIONS_DEFAULT= PGSQL LDAP SSL + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MPGSQL} +USE_PGSQL= yes +CONFIGURE_ARGS+= --with-postgres +.else +CONFIGURE_ARGS+= --without-postgres +.endif + +.if ${PORT_OPTIONS:MICU} +LIB_DEPENDS+= libicuuc.so:${PORTSDIR}/devel/icu +.endif + +.if ! ${PORT_OPTIONS:MEXAMPLES} +CONFIGURE_ARGS+= --without-examples +.endif + +# �������� ������ ���������� OPTIONS + +.include <bsd.port.mk></programlisting> + </example> + </sect3> + + <sect3> + <title>��������� �� ���������</title> + <para>��������� ��������� �� ��������� ������ ��������.</para> + <itemizedlist> + <listitem> + <para><literal>DOCS</literal> — ���������� � ��������� + ������������.</para> + </listitem> + <listitem> + <para><literal>NLS</literal> — �������������������.</para> + </listitem> + <listitem> + <para><literal>EXAMPLES</literal> — ���������� � + ��������� �������� �������������.</para> + </listitem> + <listitem> + <para><literal>IPV6</literal> — ��������� ��������� + IPv6.</para> + </listitem> + </itemizedlist> + <note> + <para>��� ������������� ��������� ��� ��������� � + <varname>OPTIONS_DEFAULT</varname>. ��� �� �����, ����� + ���������� �� � ���� ������� ������ ����������, ��� ������ + ���� ��������� � <varname>OPTIONS_DEFINE</varname>.</para> + </note> + </sect3> + </sect2> + + <sect2> + <title>������� �������������� ���������</title> + + <para>��� ������������� �������� GNU configure, ������� �� ���, + ����� �������������� ������� ������������� ����������� + �������������� ���������. ���������� ����� ������� �� + �������������� �������, ������� �� �� ������ �� ������������, + ����� �������� ��������������� <literal>--without-xxx</literal> + ��� <literal>--disable-xxx</literal> � ���������� + <varname>CONFIGURE_ARGS</varname>.</para> + + <example> + <title>������������ ���������� ������</title> + + <programlisting>.if ${PORT_OPTIONS:MFOO} +LIB_DEPENDS+= libfoo.so:${PORTSDIR}/devel/foo +CONFIGURE_ARGS+= --enable-foo +.endif</programlisting> + </example> + + <para>� ����������� ���� ������� ����������� ���� ���������� libfoo, + ������������� � �������. ������������ �� ������, ����� ���������� + ������������ libfoo, � ������� �� ��������� ��������������� ����� + � ������� <literal>make config</literal>. �� �������� configure + ���������� ���������� ������� ���������� � ������� � �������� �� + ��������� � �������� ����������� ����. ������, ����� ������������ + ����� ������� libfoo �� �������, ������� ������ �������� ��� + ������� (�.�. ����������� �� libfoo �� ���� ��������), �� + ���������� ���������� ��������.</para> + + <example> + <title>���������� ���������� ������</title> + + <programlisting>.if ${PORT_OPTIONS:MFOO} +LIB_DEPENDS+= libfoo.so:${PORTSDIR}/devel/foo +CONFIGURE_ARGS+= --enable-foo +.else +CONFIGURE_ARGS+= --disable-foo +.endif</programlisting> + </example> + + <para>�� ������ ������� ���������� libfoo ��������� ����� �������. + �������� configure �� �������� ��������������� ������� � ����������, + �������� �� ����������� ���������� � �������.</para> + + <note> + <para>��� ������������ �������� ����������� ��������� ������ + ������� ����� �������� �������� �� �������� �������������. + ���� �� ��������� ������, ����� ��� <literal>Malformed + conditional</literal>, �� ����� ���� ����������� + �������������� ���������.</para> + + <programlisting>.if !empty(VARIABLE:MVALUE) +# as an alternative to +.if ${VARIABLE:MVALUE}</programlisting> + </note> + </sect2> + + <sect2> + <title>��������������� �������</title> + + <para>���������� ��������� ��������, ���������� ������ �������� + ��������, ������� ���������� � ����������� �� ������ + ����������.</para> + + <para>���� ���������� <varname>OPTIONS_SUB</varname> ����� + �������� <literal>yes</literal>, �� ������ �� ��������� � + <varname>OPTIONS_DEFINE</varname> ���������� ����� �������� + � <varname>PLIST_SUB</varname>. ��������� ������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 +OPTIONS_SUB= yes</programlisting> + + <para>�������������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MOPT1} +PLIST_SUB+= OPT1="" +.else +PLIST_SUB+= OPT1="@comment " +.endif</programlisting> + + <para><varname>X_CONFIGURE_ENABLE</varname> ���������� � + <varname>CONFIGURE_ARGS</varname> ������ + <literal>--enable-${X_CONFIGURE_ENABLE}</literal> ��� + <literal>--disable-${X_CONFIGURE_ENABLE}</literal> � + ������������ � ���������� <varname>X</varname>. ��������� + ������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 +OPT1_CONFIGURE_ENABLE= test</programlisting> + + <para>�������������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MOPT1} +CONFIGURE_ARGS+= --enable-test +.else +CONFIGURE_ARGS+= --disable-test +.endif</programlisting> + + <para><varname>X_CONFIGURE_WITH</varname> ���������� � + <varname>CONFIGURE_ARGS</varname> ������ + <literal>--with-${X_CONFIGURE_WITH}</literal> ��� + <literal>--without-${X_CONFIGURE_WITH}</literal> � + ������������ � ���������� <varname>X</varname>. ��������� + ������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 +OPT1_CONFIGURE_WITH= test</programlisting> + + <para>�������������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MOPT1} +CONFIGURE_ARGS+= --with-test +.else +CONFIGURE_ARGS+= --without-test +.endif</programlisting> + + <para>�������� ���������� <varname>X_CONFIGURE_ON</varname> + ����� �������� � <varname>CONFIGURE_ARGS</varname> � + ������������ � ���������� <varname>X</varname>. ��������� + ������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 +OPT1_CONFIGURE_ON= --add-test</programlisting> + + <para>�������������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MOPT1} +CONFIGURE_ARGS+= --add-test +.endif</programlisting> + + <para>�������� ���������� <varname>X_CONFIGURE_OFF</varname> + ����� �������� � <varname>CONFIGURE_ARGS</varname> � + ������������ � ���������� <varname>X</varname>. ��������� + ������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 +OPT1_CONFIGURE_OFF= --no-test</programlisting> + + <para>�������������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 +.include <bsd.port.options.mk> +.if ! ${PORT_OPTIONS:MOPT1} +CONFIGURE_ARGS+= --no-test +.endif</programlisting> + + <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> + + <para>�������������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MOPT1} +CMAKE_ARGS+= -DTEST:BOOL=true +.endif</programlisting> + + <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> + + <para>�������������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 + +.include <bsd.port.options.mk> + +.if ! ${PORT_OPTIONS:MOPT1} +CMAKE_ARGS+= -DTEST:BOOL=false +.endif</programlisting> + + <para>��� ����� �� ��������� ����������:</para> + + <itemizedlist> + <listitem> + <para><varname>ALL_TARGET</varname></para> + </listitem> + + <listitem> + <para><varname>CATEGORIES</varname></para> + </listitem> + + <listitem> + <para><varname>CFLAGS</varname></para> + </listitem> + + <listitem> + <para><varname>CPPFLAGS</varname></para> + </listitem> + + <listitem> + <para><varname>CXXFLAGS</varname></para> + </listitem> + + <listitem> + <para><varname>CONFIGURE_ENV</varname></para> + </listitem> + + <listitem> + <para><varname>DISTFILES</varname></para> + </listitem> + + <listitem> + <para><varname>EXTRA_PATCHES</varname></para> + </listitem> + + <listitem> + <para><varname>INSTALL_TARGET</varname></para> + </listitem> + + <listitem> + <para><varname>LDFLAGS</varname></para> + </listitem> + + <listitem> + <para><varname>MAKE_ARGS</varname></para> + </listitem> + + <listitem> + <para><varname>MAKE_ENV</varname></para> + </listitem> + + <listitem> + <para><varname>PATCH_SITES</varname></para> + </listitem> + + <listitem> + <para><varname>PATCHFILES</varname></para> + </listitem> + + <listitem> + <para><varname>PLIST_FILES</varname></para> + </listitem> + + <listitem> + <para><varname>PLIST_DIRS</varname></para> + </listitem> + + <listitem> + <para><varname>PLIST_DIRSTRY</varname></para> + </listitem> + + <listitem> + <para><varname>USES</varname></para> + </listitem> + </itemizedlist> + + <para>�������� ���������� <varname>X_ABOVEVARIABLE</varname> + ����� �������� � <varname>ABOVEVARIABLE</varname> � + ������������ � ���������� <varname>X</varname>. ��������� + ������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 +OPT1_USES= gmake +OPT1_CFLAGS= -DTEST</programlisting> + + <para>�������������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MOPT1} +USES+= gmake +CFLAGS+= -DTEST +.endif</programlisting> + + <para>���� ����������� <varname>X_ABOVEVARIABLE_OFF</varname>, + �� ���� <literal>ABOVEVARIABLE</literal> ����� ������������� + ��������� ��� ����������� ��������� <literal>X</literal>. + ��������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 +OPT1_USES_OFF=gmake</programlisting> + + <para>�������������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 + +.include <bsd.port.options.mk> + +.if ! ${PORT_OPTIONS:MOPT1} +USES+= gmake +.endif</programlisting> + + <para>��� ������ �� ��������� ����� �����������:</para> + + <itemizedlist> + <listitem> + <para><varname>PKG_DEPENDS</varname></para> + </listitem> + + <listitem> + <para><varname>EXTRACT_DEPENDS</varname></para> + </listitem> + + <listitem> + <para><varname>PATCH_DEPENDS</varname></para> + </listitem> + + <listitem> + <para><varname>FETCH_DEPENDS</varname></para> + </listitem> + + <listitem> + <para><varname>BUILD_DEPENDS</varname></para> + </listitem> + + <listitem> + <para><varname>LIB_DEPENDS</varname></para> + </listitem> + + <listitem> + <para><varname>RUN_DEPENDS</varname></para> + </listitem> + </itemizedlist> + + <para>�������� ���������� <varname>X_ABOVEVARIABLE</varname> + ����� �������� � <varname>ABOVEVARIABLE</varname> � + ������������ � ���������� <varname>X</varname>. ��������� + ������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 +OPT1_LIB_DEPENDS= liba.so:${PORTSDIR}/devel/a</programlisting> + + <para>�������������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MOPT1} +LIB_DEPENDS+= liba.so:${PORTSDIR}/devel/a +.endif</programlisting> + + <para>���� ����������� <varname>X_ABOVEVARIABLE_OFF</varname>, + �� ����������� ���� <literal>ABOVEVARIABLE</literal> ����� + ��������� ��� ����������� ��������� <literal>X</literal>. + ��������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 +OPT1_LIB_DEPENDS_OFF= liba.so:${PORTSDIR}/devel/a</programlisting> + + <para>�������������:</para> + + <programlisting>OPTIONS_DEFINE= OPT1 + +.include <bsd.port.options.mk> + +. if ! ${PORT_OPTIONS:MOPT1} +LIB_DEPENDS+= liba.so:${PORTSDIR}/devel/a +.endif</programlisting> + </sect2> + </sect1> + + <sect1 xml:id="makefile-wrkdir"> + <title>������� �������� ��������</title> + + <para>������ ���� ��������������� � ������� �������, ������� ������ ���� + ��������� ��� ������. � ������� ������ �� ��������� + <varname>DISTFILES</varname> ��������������� � ������� � ������ + <literal>${DISTNAME}</literal>. ������� �������, ���� �� + ������:</para> + + <programlisting>PORTNAME= foo +PORTVERSION= 1.0</programlisting> + + <para>�� �������������� ����� ����� �������� ������� �������� ������, + <filename>foo-1.0</filename>, � ��� ����� ����������� � ���� + ��������.</para> + + <para>���� ��� �� ��� ������, �� ������� ��������� ����������, ������� + �� ������ ��������������.</para> + + <sect2> + <title><varname>WRKSRC</varname></title> + + <para>��� ���������� ������ ��� ��������, ������� ��������� ��� + ���������� �������� ������ ����������. � ����� ���������� + ������� ���� �� ���������� ����������� � ������� � ������ + <filename>foo</filename> (� �� + <filename>foo-1.0</filename>), �� �� ������ ��������:</para> + + <programlisting>WRKSRC= ${WRKDIR}/foo</programlisting> + + <para>���, ��� �������</para> + + <programlisting>WRKSRC= ${WRKDIR}/${PORTNAME}</programlisting> + </sect2> + + <sect2> + <title><varname>NO_WRKSUBDIR</varname></title> + + <para>���� ���� ������ �� ��������������� �� � ����� �������, �� �� + ������ ������ ���������� <varname>NO_WRKSUBDIR</varname> ��� �������� + �� ���� ����.</para> + + <programlisting>NO_WRKSUBDIR= yes</programlisting> + </sect2> + </sect1> + + <sect1 xml:id="conflicts"> + <title>���������� ����������</title> + + <para>��� ����������� ��������� ����� �������� � ������� ������������ + ��� ��������� ����������: <varname>CONFLICTS</varname>, + <varname>CONFLICTS_INSTALL</varname> � + <varname>CONFLICTS_BUILD</varname>.</para> + + <note> + <para>���������� ����������� ��������� ������������� ���������� + ���������� <varname>IGNORE</varname>, ������� ����� �������� + ������� � <xref linkend="dads-noinstall"/>.</para> + </note> + + <para>��� �������� ������ �� ������������� ������ ������������� + ��������� ������ <varname>CONFLICTS</varname> � ��� ������ ������ + � ������� ���������� �������, ����� ������������ � ��� �������������, + ������� ����������� �� ������ � ������.</para> + + <sect2> + <title><varname>CONFLICTS_INSTALL</varname></title> + + <para>���� ��� ����� �� ����� ������������ ������ � ������� + (��-�� ��������� ������, ��������������� ������� ���������� � ��� + �����), ����������� ����� ��������� ������� � ���������� + <varname>CONFLICTS_INSTALL</varname>. ����� �� ������ ������������ + ������� ���������� ��������������, ����� ��� <literal>*</literal> + � <literal>?</literal>. ����� ������� ������ ��������� ��� ��, + ��� � <filename>/var/db/pkg</filename>. ����������, ���������, + ��� <varname>CONFLICTS_INSTALL</varname> �� �������� ����� ������ + ����� �����. � ��������� ������ �� ����� �������� ��������� � + �������������� ���������� <varname>FORCE_PKG_REGISTER</varname>. + �������� CONFLICTS_INSTALL ����������� ����� �������� ������ � + �� �������� ���������.</para> + </sect2> + + <sect2> + <title><varname>CONFLICTS_BUILD</varname></title> + + <para>���� ��� ���� �� ����� ���� ������, ����� ��� ���������� + ������, ����������� ����� ��������� ������ � ���������� + <varname>CONFLICTS_BUILD</varname>. ����� �� ������ ������������ + ������� ���������� ��������������, ����� ��� <literal>*</literal> + � <literal>?</literal>. ����� ������� ������ ��������� ��� ��, + ��� � <filename>/var/db/pkg</filename>. �������� CONFLICTS_BUILD + ����������� �� �������� ������. ��������� ������ � ���������� + ������ �� ������������.</para> + </sect2> + + <sect2> + <title><varname>CONFLICTS</varname></title> + + <para>���� ��� ���� �� ����� ���� ������, ����� ��� ���������� + ������, � ���������� ����� �� ����� ������������ ������ � �������, + ����������� ����� ��������� ������� � ���������� + <varname>CONFLICTS</varname>. ����� �� ������ ������������ ������� + ���������� ��������������, ����� ��� <literal>*</literal> � + <literal>?</literal>. ����� ������� ������ ��������� ��� ��, ��� + � <filename>/var/db/pkg</filename>. ����������, ���������, ��� + <varname>CONFLICTS</varname> �� �������� ����� ������ ����� �����. + � ��������� ������ �� ����� �������� ��������� � �������������� + ���������� <varname>FORCE_PKG_REGISTER</varname>. �������� + CONFLICTS ����������� �� ��������� ������ � ���������.</para> + </sect2> + </sect1> + + <sect1 xml:id="install"> + <title>��������� ������</title> + + <sect2 xml:id="install-macros"> + <title>������� INSTALL_*</title> + + <para>����������� �������, ������� ���� � ����� + <filename>bsd.port.mk</filename> ��� ����������� ���������� ���� + ������� ������ � ����� <buildtarget>*-install</buildtarget> + �����. �������������� ����� �������� �������� � + <filename>pkg-plist</filename> ����� ��������������� ������ + <literal>@owner owner</literal> � + <literal>@group group</literal>. ��� ��������� �������� �� + ������� �� ��������������� ��� �� ����� + <filename>pkg-plist</filename>, ������� �� ��������� �� + ����������, ����� ��� ������ �� �����. �� ��������� �������� + ��������������� ��� <literal>root:wheel</literal>.</para> + + <itemizedlist> + <listitem> + <para><varname>INSTALL_PROGRAM</varname> - ��� ������� ��� + ��������� �������� ���������� ������.</para> + </listitem> + + <listitem> + <para><varname>INSTALL_SCRIPT</varname> - ��� ������� ��� ��������� + ���������� ��������.</para> + </listitem> + + <listitem> + <para><varname>INSTALL_LIB</varname> - ��� ������� ��� ��������� + ������������ ���������.</para> + </listitem> + + <listitem> + <para><varname>INSTALL_KLD</varname> - ��� ������� ��� ��������� + ����������� ������� ����. ��������� ����������� ������������, + ����� ��� ������� ����������� ���������� ��������, �� ���� + ������� ����������� ��� ������� ������ + <varname>INSTALL_PROGRAM</varname>.</para> + </listitem> + + <listitem> + <para><varname>INSTALL_DATA</varname> - ��� ������� ��� ��������� + ��������� ������������ ������ ������.</para> + </listitem> + + <listitem> + <para><varname>INSTALL_MAN</varname> - ��� ������� ��� ��������� + ������� ����������� � ������ ������������ (������� ������ ��� �� + �������).</para> + </listitem> + </itemizedlist> + + <para>� ������ ������ ���� �������� ����� ������� + <command>install</command> �� ����� ���������������� �������. + �������� ������ �� ������������� ����.</para> + </sect2> + + <sect2 xml:id="install-strip"> + <title>�������� ���������� ���������� � �������� ������ � + ������������ �����������</title> + + <para>�� �������� ���������� ���������� �� �������� ������ �������, + ���� �� ��� ������. �� ���� �������� ������ ���������� ���������� + ������ ���� �������, � ������ <varname>INSTALL_PROGRAM</varname> + �������� ��������� � �������� ���������� ���������� ������������ + (���������� � ���������� �������). ������ + <varname>INSTALL_LIB</varname> ������ �� �� ����� ��� + ������������ ���������.</para> + + <para>���� ��� ����� ������� ���������� ���������� �� ����� ��� + ������������� �������� <varname>INSTALL_PROGRAM</varname> � + <varname>INSTALL_LIB</varname>, �� ��� ����� ������� ��� ������ + <varname>${STRIP_CMD}</varname>. ������ ��� �������� ������ ���� + <literal>post-install</literal>. � �������:</para> + + <programlisting>post-install: + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/xdl</programlisting> + + <para>�������� ���������� ���������� �� ���������� + ������:</para> + + <programlisting>post-install: + .for l in geometry media body track world + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib${PORTNAME}-${l}.so.0 + .endfor</programlisting> + + <para>��� �������� ����, ������� �� ���������� ���������� �� + �����, ����������� &man.file.1;. ��� �������� ������ + &man.file.1; �������� <literal>stripped</literal> ��� + <literal>not stripped</literal>. ����� ����, &man.strip.1; + ����������, ���� �� ��� ������� �� ��������� ���������� + ����������, � � ���� ������ ������ ��������� ���� ������.</para> + </sect2> + + <sect2 xml:id="install-copytree"> + <title>��������� ������ ������ ������</title> + + <para>������ ������ ���� ����������� ������� ���������� ������ + � ����������� �� ������������� �����������. ��������, ����������� + ������ ��������� ������� �� <varname>WRKSRC</varname> � ������� + ������� ������ <varname>PREFIX</varname>. �������� ��������, + ��� <varname>PREFIX</varname>, <varname>EXAMPLESDIR</varname>, + <varname>DATADIR</varname> � ������ ���������� ���� ������ + ������ ������������ <varname>STAGEDIR</varname>, ����� �� + ������ staging (�������� <xref linkend="staging"/>).</para> + + <para>��� ���� �������� ���������� ��� �������. ������������ �� + ������������� ���� �������� ������ ������� <command>cp</command> + � ���, ��� ��� ����������� ��������� ����������� ��������� � ���� + �� �������� �����. ������ ������, <varname>COPYTREE_BIN</varname>, + ������ ��� ��������������� ����� ������������, ��� �������� ��� + ��������� � <filename>PREFIX/bin</filename>. + ������ ������, <varname>COPYTREE_SHARE</varname>, �� ������������� + �� ����� ����� ����������, �, ����� �������, �������� ��� ��������� + ������ ������ �������� + <filename>PREFIX/share</filename>.</para> + + <programlisting>post-install: + ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} + (cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})</programlisting> + + <para>� ���� ������� ��������������� ���������� �������� + <filename>examples</filename> �� ������������ ������ ������������� + � ���������� ����� ��� �������� ������ �����.</para> + + <programlisting>post-install: + ${MKDIR} ${STAGEDIR}${DATADIR}/summer + (cd ${WRKSRC}/temperatures && ${COPYTREE_SHARE} "June July August" ${STAGEDIR}${DATADIR}/summer)</programlisting> + + <para>� � ���� ������� ����� ����������� ������ ������ ������� � + ���������� <filename>summer</filename> �������� + <filename>DATADIR</filename>.</para> + + <para>� �������� �������� ��������� � ������� + <varname>COPYTREE_*</varname> ����� �������� �������������� + ��������� <command>find</command>. ��������, ����� � ������ + ������� ���������� ��� ����� ����� ������ Makefile, ����� + ������������ ��������� �������.</para> + + <programlisting>post-install: + ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} + (cd ${WRKSRC}/examples && \ + ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR} "! -name Makefile")</programlisting> + + <para>��� ������� �� ���������� ���������� ��������������� + ������ � <filename>pkg-plist</filename>. ��� ������ ���� + ��������� ���� �������. �������������� ����� ������������ + (<varname>PORTDOCS</varname>, �������� + <xref linkend="install-documentation"/>) � �������� + (<varname>PORTEXAMPLES</varname>) ������ ������ ������������ + � <filename>pkg-plist</filename> ���������� + <literal>%%PORTDOCS%%</literal> ��� + <literal>%%PORTEXAMPLES%%</literal>.</para> + </sect2> + + <sect2 xml:id="install-documentation"> + <title>��������� �������������� ������������</title> + + <para>���� � ����� ����������� ������������ ������������ ��������� + ������������, ������������ �� ����������� ������� ����������� � + ������ info, �������, ��� �� �������, ����� ������� �������������, + ���������� �� � ������� + <filename>PREFIX/share/doc</filename>. ��� ����� + ���� �������, ��� � � ���������� �������, � ���� + <buildtarget>post-install</buildtarget>.</para> + + <para>�������� ��� ������ ����� ����� �������. ��� �������� ������ + ��������������� ����, ��� ������������ �� ���� ����. ������ ��� + �������� <varname>PORTNAME</varname>. ������, ���� + �� �������, ��� ������������ ������� ����� ������ ������ �����, + ������������� ������������, �� �� ������ ������������ ������ ��� + <varname>PKGNAME</varname>.</para> + + <para>��������� ��������������� ������ �����, ������������� � + <filename>pkg-plist</filename>, ���������� �������� ����� + ������������� ������������ � <varname>STAGEDIR</varname> + ������ (�������� <xref linkend="staging"/>). �������������, + ����� <literal>.if</literal> ����� ������ ��� ������ + ���������� �������� �������, ��������� ������� ���ޣ� + ������������ ��������� ������� �� �������� �����/������.</para> + + <programlisting>post-install: + ${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_MAN} ${WRKSRC}/docs/xvdocs.ps ${STAGEDIR}${DOCSDIR}</programlisting> + + <para>��� ��������� �������� ���������� � ��, ��� ��� ������������� �� + ��������� ��� ������������� � <filename>Makefile</filename>:</para> + + <itemizedlist> + <listitem> + <para><varname>DATADIR</varname> ������������� � + <filename>PREFIX/share/PORTNAME</filename>.</para> + </listitem> + + <listitem> + <para><varname>DATADIR_REL</varname> ������������� � + <filename>share/PORTNAME</filename>.</para> + </listitem> + + <listitem> + <para><varname>DOCSDIR</varname> ������������� � + <filename>PREFIX/share/doc/PORTNAME</filename>.</para> + </listitem> + + <listitem> + <para><varname>DOCSDIR_REL</varname> ������������� � + <filename>share/doc/PORTNAME</filename>.</para> + </listitem> + + <listitem> + <para><varname>EXAMPLESDIR</varname> ������������� � + <filename>PREFIX/share/examples/PORTNAME</filename>.</para> + </listitem> + + <listitem> + <para><varname>EXAMPLESDIR_REL</varname> ������������� � + <filename>share/examples/PORTNAME</filename>.</para> + </listitem> + </itemizedlist> + + <note> + <para>�������� <literal>DOCS</literal> ��������� ���������� + �������������� ������������ � <varname>DOCSDIR</varname>. ��� + �� ��������� � ����������� ��������� ����������� � ��������� info. + ���, ��� ��������������� � <varname>DATADIR</varname> � + <varname>EXAMPLESDIR</varname>, �������������� ����������� + ����� ��������� <literal>DATA</literal> � + <literal>EXAMPLES</literal>.</para> + </note> + + <para>��� ���������� �������������� � <varname>PLIST_SUB</varname>. + �� �������� �������� ��� � ���� �ͣ� ����� ������������ + <filename>PREFIX</filename>, ���� ��� ��������. + �� ���� <filename>share/doc/PORTNAME</filename> + � ������ ������ �� ��������� ����� ������� �� + <literal>%%DOCSDIR%%</literal>, � ��� �����. (�������������� + ���������� � ����������� � <filename>pkg-plist</filename> ����� + ����� <link linkend="plist-sub">�����</link>.)</para> + + <para>��� ������� ��������������� ����� � �������� � ������������� + ������ ���� ����������� � ����� <filename>pkg-plist</filename> � + ��������� <literal>%%PORTDOCS%%</literal>, ��������:</para> + + <programlisting>%%PORTDOCS%%%%DOCSDIR%%/AUTHORS +%%PORTDOCS%%%%DOCSDIR%%/CONTACT +%%PORTDOCS%%@dirrm %%DOCSDIR%%</programlisting> + + <para>� �������� ������������ ������������ ������ ������������ � ����� + <filename>pkg-plist</filename>, ���� ����� ������� � ���������� + <varname>PORTDOCS</varname> ������ �ͣ� ������ � ���������� �������� + ���������� ���������� ��� ���������� � ������������� ������ ������. + ����� ����� ���������� ������������ <varname>DOCSDIR</varname>. + ����� �������, ����, ������������ <varname>PORTDOCS</varname> � + ������������� �������������� ������������, ������ �������� + ��������������� ������� � <varname>DOCSDIR</varname>. ���� ������� + ������ � <varname>PORTDOCS</varname> ��� ������������� ������� ��� + ���� ����������, �� ������ ��������� � ��������� � ���� ������� � + ���������� ����� ���������������� � ������������� ������ ������. + ���� �������� <literal>DOCS</literal> �� �����, �� ����� � ��������, + ������������� � <varname>PORTDOCS</varname>, �� ����� ����������� � + ��������� � ������ ������ �����. ��������� ������������ � + <varname>PORTDOCS</varname>, ��� ��� �������� ����, �������� �� + ����� ������. �������� ������ ������������� + <varname>PORTDOCS</varname> �������� ��������� �������:</para> + + <programlisting>PORTDOCS= README.* ChangeLog docs/*</programlisting> + + <note> + <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">������� �� + ������������� <filename>pkg-message</filename></link>. + ���� <filename>pkg-message</filename> �� ����� ��������� � + <filename>pkg-plist</filename>.</para> + </note> + </sect2> + + <sect2 xml:id="install-subdirs"> + <title>����������� ������ PREFIX</title> + + <para>���������� ��������� ��� ����� ����� � ���������� ������������ + �������� <varname>PREFIX</varname>. ��������� ����� ���������� ��� + ��������� � �������� ��� � ���������� � ������ �����, ��� + �����������. ����� ������ ����� �������� ���, ����� �������� ������, + ������ ���������� � ������� �����������, � ���������� �������� + <filename>lib</filename>, ��� �� ����� ������ �������� � �������� + BSD. ������ ����� ������ ���� ���������� � ���� �� ��������� + ��������������: <filename>etc</filename> + (�����������/���������������� �����), <filename>libexec</filename> + (���������� �����, ����������� �� ������ ��������), + <filename>sbin</filename> (���������� ����� ��� + ���������������/���������� �������), <filename>info</filename> + (������������ � ������� info ��� ������������ info) ��� + <filename>share</filename> (����������� �� ����������� �����). + ���������� � &man.hier.7; ��� ���������� �������; �������, + ����������� <filename>/usr</filename>, ���������� ������ �������� + ����� � � <filename>/usr/local</filename>. ����������� �������� + �����, ������� ���� � <quote>���������</quote> USENET. ��� ����� + ������������ ������� + <filename>PREFIX/news</filename> ��� ��������� + ����� ������.</para> + </sect2> + + </sect1> + + </chapter> + diff --git a/ru_RU.KOI8-R/books/porters-handbook/new-port/Makefile b/ru_RU.KOI8-R/books/porters-handbook/new-port/Makefile new file mode 100644 index 0000000000..c158b41ddb --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/new-port/Makefile @@ -0,0 +1,17 @@ +# +# Build the Porters Handbook with just the content from this chapter. +# +# $FreeBSD$ +# +# Original revision: r43840 +# + +CHAPTERS= new-port/chapter.xml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/ru_RU.KOI8-R/books/porters-handbook/new-port/chapter.xml b/ru_RU.KOI8-R/books/porters-handbook/new-port/chapter.xml new file mode 100644 index 0000000000..4229dce1e3 --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/new-port/chapter.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="koi8-r"?> +<!-- + The FreeBSD Russian Documentation Project + + $FreeBSD$ + + Original revision: r43840 +--> + +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="own-port"> + + <title>��� ������ ������� ����� ����</title> + + <para>����, �� �������������, ��� ������� ����������� ���� ��� + �������� ������������? �����������!</para> + + <para>���� ��������� ��������� �������� �� �������� ������ ����� ��� + &os;. ���� �� ������ �������� ������������ ����, �� ������ + �������� ��, � ����� <xref linkend="port-upgrading"/>.</para> + + <para>���� ���� �������� ������������ ��������, �� ������ ���������� � + ����� <filename>/usr/ports/Mk/bsd.port.mk</filename>, ������� + ���������� � make-���� ������� �����. �� ������ ����������������, � + ���� ���� �� �� ����������� �������� make-������ �����������, �� ���� + �� ������� ������ ����� ������. ����� ����, ���������� ������� ����� + ������, ������ ������ �� ����� &a.ports;.</para> + + <note> + <para>������ ����� ���������� + (<varname><replaceable>VAR</replaceable></varname>), ������� ����� ���� + ��������������, ������� � ���� ���������. ����������� (���� �� ���) + ������� � ������ ����� <filename>/usr/ports/Mk/bsd.port.mk</filename>; + ���������, ������ �����, ���� ��� �������. ��������, ��� + � ���� ����� ������������ ������������� ��������� ���� ���������: + <application>Emacs</application> � <application>Vim</application> + ������ ���������� ��� ��� �������� �����. ��� &man.vi.1;, + ��� � &man.ex.1; ����� ���� ��������� �� ������������� + ����������� �������� ������� ������� <command>:set tabstop=4</command> + ����� �������� �����.</para> + </note> + + <para> + �����, � ���� �� ������ �������? ���������� �� <link xlink:href="http://wiki.freebsd.org/WantedPorts">�������� ����������� + ������</link>, ���� �� ��� �����, ��� �������� �� ������ ��������. + </para> + </chapter> + diff --git a/ru_RU.KOI8-R/books/porters-handbook/pkg-files/Makefile b/ru_RU.KOI8-R/books/porters-handbook/pkg-files/Makefile new file mode 100644 index 0000000000..31c504f6c5 --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/pkg-files/Makefile @@ -0,0 +1,17 @@ +# +# Build the Porters Handbook with just the content from this chapter. +# +# $FreeBSD$ +# +# Original revision: r43840 +# + +CHAPTERS= pkg-files/chapter.xml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/ru_RU.KOI8-R/books/porters-handbook/pkg-files/chapter.xml b/ru_RU.KOI8-R/books/porters-handbook/pkg-files/chapter.xml new file mode 100644 index 0000000000..78b5378cff --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/pkg-files/chapter.xml @@ -0,0 +1,204 @@ +<?xml version="1.0" encoding="koi8-r"?> +<!-- + The FreeBSD Russian Documentation Project + + $FreeBSD$ + + Original revision: r43840 +--> + +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="pkg-files"> + + <title>����� <filename>pkg-*</filename></title> + + <para>���� ��������� ��ɣ��� ������ � ������� + <filename>pkg-*</filename>, ������� �� �ݣ �� + �������, �� ��� ������ ����� ���� ����� ������.</para> + + <sect1 xml:id="porting-message"> + <title><filename>pkg-message</filename></title> + + <para>���� ��� ����� ������� ��������� ��� ��������, ���������������� + ����������, �� �� ������ ��������� ��������� � ���� + <filename>pkg-message</filename>. ��� ����������� ����� ����������� + �������� ��� ������ �������������� ����� ���������, ������� ����� + ����������� ����� ���������� ������� <command>pkg install</command>, + ��� ��� ������ ���������� � ��������������.</para> + + <para>���� ������ ���������� ��������� ������ � knobs ������� ���������� + ��� ��������������, ����������� <varname>ECHO_MSG</varname>. ���� + <filename>pkg-message</filename> ������ ��� ����������������� �����. + ����� ������� ����� � ���� �������� ����� <varname>ECHO_MSG</varname> + � <varname>ECHO_CMD</varname>. ������ ������������� ��� ������ �� + ����� ��������������� ������, � ������ ��� ��������� ������:</para> + + <programlisting>update-etc-shells: + @${ECHO_MSG} "updating /etc/shells" + @${CP} /etc/shells /etc/shells.bak + @( ${GREP} -v ${PREFIX}/bin/bash /etc/shells.bak; \ + ${ECHO_CMD} ${PREFIX}/bin/bash) >/etc/shells + @${RM} /etc/shells.bak</programlisting> + + <note> + <para>���� <filename>pkg-message</filename> �� ����� ��������� � + <filename>pkg-plist</filename>.</para> + </note> + </sect1> + + <sect1 xml:id="pkg-install"> + <title><filename>pkg-install</filename></title> + + <para>���� ��� ��������� ��������� ������ �� ������� + <command>pkg add</command> ��� <command>pkg install</command> + ������ ����� ����� ��������� �����-�� �������, �� �� ������ + ��� ������� � ������� ������� <filename>pkg-install</filename>. + ���� ������ ����� ������������� �������� � ������ � ����� + ������ ����������� �������� <command>pkg</command>: ������ ��� + � ���� <literal>${SH} pkg-install ${PKGNAME} + PRE-INSTALL</literal>, � ������ ��� ��� + <literal>${SH} {PKGNAME} POST-INSTALL</literal>. + ��� ������������� ����, � ����� ������ ������� ������, ����� + ������������ �������� <literal>$2</literal>. ���������� + ��������� <envar>PKG_PREFIX</envar> ����� ��������� ��������, + ��������������� ��������, � ������� ��������������� �����.</para> + + <note> + <para>���� ������ �� ����������� �������������, ���� �� + �������������� ���� �������� <command>make install</command>. + ���� �� ��� ������������� ���������� ��� ���������, �� ��������� + ��� ���� �� ����� <filename>Makefile</filename> ����� ������� + ���� <literal>PKG_PREFIX=${PREFIX} ${SH} $ + {PKGINSTALL}${PKGNAME} PRE-INSTALL</literal>.</para> + </note> + </sect1> + + <sect1 xml:id="pkg-deinstall"> + <title><filename>pkg-deinstall</filename></title> + + <para>���� ������ ���������� ��� �������� ������.</para> + + <para>���� ������ ����� ������ ����������� �������� + <command>pkg delete</command>. + ������ ��� ��� <literal>${SH} pkg-deinstall + ${PKGNAME} DEINSTALL</literal>, � ������ ��� ��� + <literal>${SH} pkg-deinstall ${PKGNAME} + POST-DEINSTALL</literal>.</para> + </sect1> + + <sect1 xml:id="pkg-names"> + <title xml:id="porting-pkgfiles">��������� �ͣ� ������ + <filename>pkg-*</filename></title> + + <para>��� ����� ������ + <filename>pkg-*</filename> + ������������ � ������� ����������, ��� ��� �� ������ �������� ��, + ���� ��� �����, � ����� ����� <filename>Makefile</filename>. ��� + �������� �������, ���� �� ����������� ���� � �� �� ����� + <filename>pkg-*</filename> + ��������� ����� ����������� ������� ��� + ������ � ���� �� ����������������� ������ (� ����� � <link linkend="porting-wrkdir">������ � ��������, �������� �� + <varname>WRKDIR</varname></link> ���������, ������ �� ������������� + ������������ ������ ��������������� � ����� + <filename>pkg-*</filename>.</para> + + <para>��� ������ �ͣ� ���������� � �� �������� �� ���������. (�������� + <varname>PKGDIR</varname> �� ��������� ����� + <varname>${MASTERDIR}</varname>.)</para> + + <informaltable frame="none" pgwide="0"> + <tgroup cols="2"> + <thead> + <row> + <entry>����������</entry> + + <entry>�������� �� ���������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>DESCR</varname></entry> + <entry><literal>${PKGDIR}/pkg-descr</literal></entry> + </row> + + <row> + <entry><varname>PLIST</varname></entry> + <entry><literal>${PKGDIR}/pkg-plist</literal></entry> + </row> + + <row> + <entry><varname>PKGINSTALL</varname></entry> + <entry><literal>${PKGDIR}/pkg-install</literal></entry> + </row> + + <row> + <entry><varname>PKGMESSAGE</varname></entry> + <entry><literal>${PKGDIR}/pkg-message</literal></entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>����������, ��������� �������� ���� ����������, � �� + ��������������� <varname>PKG_ARGS</varname>. ���� �� �������� + �������� ���������� <varname>PKG_ARGS</varname>, �� ��� ����� ��� + ��������� �� ����� ����� ����������� � ������� + <filename>/var/db/pkg</filename> �����������.</para> + </sect1> + + <sect1 xml:id="using-sub-files"> + <title>������������� <varname>SUB_FILES</varname> � + <varname>SUB_LIST</varname></title> + + <para>���������� <varname>SUB_FILES</varname> � + <varname>SUB_LIST</varname> �������� ��� ������� � ������ ����� + ������������ ��������, ����� ��� <varname>PREFIX</varname> ��������� + � <filename>pkg-message</filename>.</para> + + <para>� ���������� <varname>SUB_FILES</varname> ����������� �������� + ������ ��� ��������������� ���������. ������ + <replaceable>file</replaceable> �� ������� <varname>SUB_FILES</varname> + ������ ����� ��������������� + <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> + ��������������� ��������������� ���������� Makefile, ����������� �� + ������������ ������.</para> + + <para>���������� <varname>SUB_LIST</varname> �������� �������� ��� + <literal>VAR=VALUE</literal>. � ������ ����� �� + <varname>SUB_FILES</varname> ��� ������ ���� ����� ����������� + ������ <literal>%%VAR%%</literal> �� <literal>VALUE</literal>. + ��������� ����� ���� ������������ �������������: + <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> + + <para>� ��������� ������� � <filename>pkg-message</filename> + ����� ������� ������ <literal>%%ARCH%%</literal> �� ��������� + �����������:</para> + + <programlisting>SUB_FILES= pkg-message +SUB_LIST= ARCH=${ARCH}</programlisting> + + <para>�������� ��������, ��� � ���� ������� � <varname>FILESDIR</varname> + ����������� ������������� ����� <filename>pkg-message.in</filename>. + </para> + + <para>������ �������� <filename>pkg-message.in</filename>:</para> + + <programlisting>Now it's time to configure this package. +Copy %%PREFIX%%/share/examples/putsy/%%ARCH%%.conf into your home directory +as .putsy.conf and edit it.</programlisting> + + </sect1> + </chapter> + diff --git a/ru_RU.KOI8-R/books/porters-handbook/plist/Makefile b/ru_RU.KOI8-R/books/porters-handbook/plist/Makefile new file mode 100644 index 0000000000..2a5ddc43fd --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/plist/Makefile @@ -0,0 +1,17 @@ +# +# Build the Porters Handbook with just the content from this chapter. +# +# $FreeBSD$ +# +# Original revision: r43840 +# + +CHAPTERS= plist/chapter.xml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/ru_RU.KOI8-R/books/porters-handbook/plist/chapter.xml b/ru_RU.KOI8-R/books/porters-handbook/plist/chapter.xml new file mode 100644 index 0000000000..bd6e088c04 --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/plist/chapter.xml @@ -0,0 +1,284 @@ +<?xml version="1.0" encoding="koi8-r"?> +<!-- + The FreeBSD Russian Documentation Project + + $FreeBSD$ + + Original revision: r43840 +--> + +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="plist"> + + <title>����������� �������� <filename>pkg-plist</filename></title> + <sect1 xml:id="plist-sub"> + <title>��������� ����������� <filename>pkg-plist</filename> � ����������� + �� make-����������</title> + + <para>��������� �����, � ���������, ����� <literal>p5-</literal>, ������ + ������ ���������� ����� ������ <filename>pkg-plist</filename> � + ����������� �� ����, � ������ ����������� ��� ���� ����������������� + (��� � ����������� �� ������ ����� <literal>perl</literal> � ������ + ������ <literal>p5-</literal>). ����� ��������� ���� + �������, ����� ��������� �������� ���� <literal>%%OSREL%%</literal>, + <literal>%%PERL_VER%%</literal> � <literal>%%PERL_VERSION%%</literal> + � ����� <filename>pkg-plist</filename> ����� ���������� ���������������� + ����������. ��������� <literal>%%OSREL%%</literal> �������� ����� + ������ ������������ ������� (��������, <literal>4.9</literal>). + <literal>%%PERL_VERSION%%</literal> � <literal>%%PERL_VER%%</literal> + ���������� ������ ����� ������ <command>perl</command> (��������, + <literal>5.8.9</literal>). ��������� + ������ <literal>%%VARS%%</literal>, ������� + ��������� � ������ ������������ �����, ������� � <link linkend="install-documentation">��������������� �������</link>.</para> + + <para>���� ��� ����� ������� ������ �����������, �� ������ ������� � + ���������� <varname>PLIST_SUB</varname> ������ ��� + <literal>VAR=VALUE</literal>, + � ��� ��������� <literal>%%VAR%%</literal> + � ����� <filename>pkg-plist</filename> ����� ���������� �� �������� + <replaceable>VALUE</replaceable>.</para> + + <para>��������, ���� � ��� ������� ����, ������� ������������� ����� + ������ � �������, ��������� �� ������, �� ������ ������ ����� + ����</para> + + <programlisting>OCTAVE_VERSION= 2.0.13 +PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting> + + <para>� ����� <filename>Makefile</filename> � ������������ + <literal>%%OCTAVE_VERSION%%</literal> �����, ��� ����� ������� + ����� ������ � ����� <filename>pkg-plist</filename>. ����� �������, + ��� ���������� ����� ��� �� ����� ����� ������ ������� (� � ��������� + ������� � �����) ����� � ����� <filename>pkg-plist</filename>.</para> + + <para>���� ��� ���� ������������� ����� � ������������ � �������������� + � ����� �������, �� ������� �������� ���������� �������� ���������� + ��������� <literal>%%TAG%%</literal> ��� ����� + <filename>pkg-plist</filename> � ����������� ����� + <literal>TAG</literal> � ���������� <varname>PLIST_SUB</varname> + ������ <filename>Makefile</filename> �� ����������� ��������� + <literal>@comment</literal>, ������� ��������� �������� ������������ + ������������ ��� ������:</para> + + <programlisting>.if defined(WITH_X11) +PLIST_SUB+= X11="" +.else +PLIST_SUB+= X11="@comment " +.endif</programlisting> + + <para>� � ����� <filename>pkg-plist</filename>:</para> + + <programlisting>%%X11%%bin/foo-gui</programlisting> + + <para>��� ����������� ����� ������� + ����� ����������� ����� <buildtarget>pre-install</buildtarget> � + <buildtarget>do-install</buildtarget>, ����������� ������ ����� + <filename>PLIST</filename> � ������� � ���� + <filename>TMPPLIST</filename> + (�� ��������� ��� ���� + <filename>WRKDIR/.PLIST.mktmp</filename>). ��� + ��� ���� ��� ���� ������ <filename>PLIST</filename> �� ����, ������� + ��� �� ����� ��� �� ���������� ���� + <buildtarget>pre-install</buildtarget>. ����� ����, ���� ������ ����� + ��������� ��������������� ������������ ����, ������� ��� � ���� + <buildtarget>post-install</buildtarget> ���������� ����� + <filename>TMPPLIST</filename>.</para> + + <para>������ ������ ��������� ������ ������ ����� ������� �� + ����������� �������� ���������� <varname>PLIST_FILES</varname>, + <varname>PLIST_DIRS</varname> � <varname>PLIST_DIRSTRY</varname>. + ������ �� ��� ��������������� ��� �������� ����� ��� ������ � + <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> ����� �������������� �������������� + ������ �� <varname>PLIST_DIRS</varname> � + <varname>PLIST_DIRSTRY</varname>. ��� ���� ����� ��������� + �������� � ����, <varname>PLIST_FILES</varname>, + <varname>PLIST_DIRS</varname> � <varname>PLIST_DIRSTRY</varname> + ������ ���������� �� ����, ��� ����� + ������������ <filename>TMPPLIST</filename>, �� + ���� � ���� <buildtarget>pre-install</buildtarget> ��� �ݣ + ������.</para> + </sect1> + + <sect1 xml:id="plist-cleaning"> + <title>������ ��������</title> + + <sect2 xml:id="plist-dir-cleaning"> + <title>������� ������ ���������</title> + + <para>��������� ��� ����� ������� ������ �������� ��� ��������. ������ ��� + ����������� ����������� ����� <literal>@dirrm</literal> ��� ���� + ���������, ������� ��������� ���� ������. ��� ����� ������� + ����������� �� ����, ��� �� ������� ������� ������������ + ��������.</para> + + <programlisting> + : +lib/X11/oneko/pixmaps/cat.xpm +lib/X11/oneko/sounds/cat.au + : +@dirrm lib/X11/oneko/pixmaps +@dirrm lib/X11/oneko/sounds +@dirrm lib/X11/oneko + </programlisting> + + <para>������, ������ <literal>@dirrm</literal> ����� �������� ������, + ������ ��� ������ ����� ���������� ��� �� ����� ����������. �� + ������ ������������ <literal>@dirrmtry</literal> ��� �������� + ������ ������ ��������� ��� ������ ��������������.</para> + + <programlisting>@dirrmtry share/doc/gimp</programlisting> + + <para>��� ������� �� ������� ������� ��������� �� ������� � �� ������� + ���������� ���������� ������ <command>pkg delete</command> + (��. &man.pkg-delete.8;), ���� ���� + ������� <filename>${PREFIX}/share/doc/gimp</filename> + �� ���� ��-�� ����, ��� ������ ����� ���������� ���� �����-�� + �����.</para> + </sect2> + + <sect2 xml:id="plist-dir-empty"> + <title>�������� ������ ���������</title> + + <para>������ ���������, ����������� �� ����� ��������� �����, ����� + ������ ��������. ��� �� ����� ������� ��� ��������� ������, ������ + ��� ������ �������� ������ �����, � <command>pkg add</command> + � <command>pkg install</command> ������� ��� ��� + �������� �� ���� ����������. ����� ���������, ��� ������ ������� + ��������� ��� ��������� ������, �������� ��� ������ � + <filename>pkg-plist</filename> ����� ��������������� ������� + <literal>@dirrm</literal>:</para> + + <programlisting>@exec mkdir -p %D/share/foo/templates</programlisting> + </sect2> + + </sect1> + + <sect1 xml:id="plist-config"> + <title>���������������� �����</title> + + <para>���� ��� ���� ������������� ���������������� ����� � ������� + <filename>PREFIX/etc</filename> (��� ����-�� ���), + <emphasis>��</emphasis> ������� �� �������� ������������ � ����� + <filename>pkg-plist</filename>. ��� �����ģ� � ����, ��� �� ������� + <command>pkg delete</command> ��� ��� ����� ��������� �����, + ��������� ����������������� � ����������� �������������, ����� + ����������.</para> + + <para>������ ����� ���������� ����(�) � ��������� � ����������� + <filename>filename.sample</filename>. + ����� ���������� ���� � �������� �� ����� ���������� ����� + ������������, ���� ������� �ݣ �� ����������. ��� ������������� + �������� ���� ������������ ������ � ��� ������, ���� �� ��������� + ����� � ����������� <filename>.sample</filename>. ��� + ����� ��������� ���� � <filename>Makefile</filename> � � + <filename>pkg-plist</filename> (��� ��������� �� ������).</para> + + <para>������ ����� <filename>Makefile</filename>:</para> + + <programlisting>post-install: + @if [ ! -f ${PREFIX}/etc/orbit.conf ]; then \ + ${CP} -p ${PREFIX}/etc/orbit.conf.sample ${STAGEDIR}${PREFIX}/etc/orbit.conf ; \ + fi</programlisting> + + <para>�������� �� ��� ������ � <filename>pkg-plist</filename> ��� + ������� ����������������� �����, ��� �������� ����:</para> + + <programlisting>@unexec if cmp -s %D/etc/orbit.conf.sample %D/etc/orbit.conf; then rm -f %D/etc/orbit.conf; fi +etc/orbit.conf.sample +@exec if [ ! -f %D/etc/orbit.conf ] ; then cp -p %D/%F %B/orbit.conf; fi</programlisting> + + <para>������ ������ �������� ��������������. �� ����� �������� + ���� � �������� ������������ � ������� ���������������� ������. + ������ ���������� �������� ���������� �����-���� ��������� � + ������� ����� �� ������� ������������, � ������������� ���� ���� + ����� ���� ��������� ���̣�. ��� ��� ���� � �������� �ӣ �ݣ + ������ ������������ ��� ���������, ������ <literal>@unexec</literal> + ������� ����� ������ ����� � �������� ������������. �� ����� + ���������, ���� ������� ���� ������������ �����������, �� + ���������� �� ����� � ��������. ���� � �������� ����������� + ������ ���� ���������� �� �������� �����������, ������� ������ + <literal>@exec</literal> ������� ����� ����� ����� � �������� + ������������.</para> + + <para>��� ��������� ��������������� ����������� ������ �� ����� + ����� �������� ������� �������� <literal>-s</literal> �� ������� + &man.cmp.1;.</para> + + <para>��� ��������� �������������� ��������� �� ������������� + <literal>%D</literal> � ������ �������� ����������� ���������� + � �������� ����������� &man.pkg-create.8;.</para> + + <para>���� ���������� ������������� ������� ������� �� ������������� + ������� ���� ������������ �� ���������, ������� ������ + <literal>@exec</literal> �� <filename>pkg-plist</filename> � + �������� <link linkend="porting-message">���������</link>, + ����������� �� ��, ��� ������������ ������ ����������� � + ��������������� ���� ���� ����� ���, ��� ����������� ����������� + ���Σ� ��������.</para> + </sect1> + + <sect1 xml:id="plist-dynamic"> + <title>������������ ��� ����������� ������ ��������</title> + + <para><emphasis>����������� ������ ��������</emphasis> — ��� ������ + ��������, ������� �������� � ��������� ������ ��� ��� ���� + <filename>pkg-plist</filename> (� ������������ ���������� ��� ��� + �ţ), ��� ��� ���������� � <filename>Makefile</filename> ����������� + <varname>PLIST_FILES</varname>, <varname>PLIST_DIRS</varname> + � <varname>PLIST_DIRSTRY</varname>. + ���� ���� ���������� �������� ������������� ����������� ��� ������ + ����������� ��� � ���������� ���������� ���� � Makefile + <emphasis>��</emphasis> ��������� � ��������� ������ �����������, + �� ������ �ӣ �ݣ ����� ��������� �����������, ��������� ��� + ����� ������ ��� ������������� ���������� ��� ���������� + ������������.</para> + + <para><emphasis>������������ ������ ��������</emphasis> ��� ������ + ��������, ������� ���������� �� ����� ���������� ����� � �������� + �� ������ ��������������� ������ � ���������. ������ ����� ������ + ���������� �� ����, ��� �������� ��� ������������ ���������� + ����� ������ � �������������, ��� ����� ������� + <literal>make clean</literal>.</para> + + <para>���� ������������� ������������ ������ �������� �� ���������, + �������������� ������ ������������ ����������� ������ �������� + �����, ��� ��� ��������, ��������� ��� ��������� ������������� + ��������� &man.grep.1; �� ��������� ������ ��� �����������, ��������, + ������� ���� ������������� ������������ ����. ������������ ������ + ������ ���� ������������ � �������� ��� ������� ������, ��� ������� + ��������� � ������ �������� ������������ ������� �������� �� + �������������� ������������ ����� (�, ����� �������, ����� + ������������� ����������� ������� �������� �����������), ��� ������, + ������� �������� ������ �������� �� ������ ������ ������������� + �� ������������ ����������� (��������, �����, ������� ��������� + ��������� ��� ������ <application>Javadoc</application>).</para> + </sect1> + + <sect1 xml:id="plist-autoplist"> + <title>�������������� �������� ������ ��������</title> + + <para>������ ����� ���������, ��� ��� ���� ����������� ��������� + �����ۣ� � �������� ������� ������ <filename>pkg-plist</filename>. + ����� ����� �� ������ ��������� <command>make makeplist</command> + ��� ��������������� �������� <filename>pkg-plist</filename>. + ���������� ����� ����� ������ ���� ������ �������������.</para> + + <para>���������������� ���������������� ����� ������ ���� ������� + ��� ���� ����������� ��� + <filename>filename.sample</filename>. + ���� <filename>info/dir</filename> �������� � ������ �� �����, �� + ������ ���� ��������� ��������������� ������� + <filename>install-info</filename>, ���, ��� ��� ������� � ������� � <link linkend="makefile-info">������ � ������� info</link>. ��� + ����������, ��������������� ������, ������ ���� ����������� ���, ��� + ��� ������� � ������� � <link linkend="porting-shlibs">������������ �����������</link>.</para> + </sect1> + + </chapter> + diff --git a/ru_RU.KOI8-R/books/porters-handbook/porting-dads/Makefile b/ru_RU.KOI8-R/books/porters-handbook/porting-dads/Makefile new file mode 100644 index 0000000000..a1ece57a2b --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/porting-dads/Makefile @@ -0,0 +1,17 @@ +# +# Build the Porters Handbook with just the content from this chapter. +# +# $FreeBSD$ +# +# Original revision: r43840 +# + +CHAPTERS= porting-dads/chapter.xml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/ru_RU.KOI8-R/books/porters-handbook/porting-dads/chapter.xml b/ru_RU.KOI8-R/books/porters-handbook/porting-dads/chapter.xml new file mode 100644 index 0000000000..c932281198 --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/porting-dads/chapter.xml @@ -0,0 +1,720 @@ +<?xml version="1.0" encoding="koi8-r"?> +<!-- + The FreeBSD Russian Documentation Project + + $FreeBSD$ + + Original revision: r43840 +--> + +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="porting-dads"> + + <title>��� ������ �����, � ��� ������ ������</title> + + <sect1 xml:id="dads-intro"> + <title>��������</title> + + <para>��� ������ ����� ������������� ��������, ������� ����� � ������� + ������ ������ �� ����� �������� ������������. ��������� + ���� �� ����� ������, � ����� ��������� ����� � + <link xlink:href="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">���� + ��������� PR</link>, ������� �������� ������� ������. ���������� + ����� ����������� � ������, ������� �� ���������, ���, ��� ��� ������� + � ������ � <link xlink:href="&url.articles.contributing;/contrib-how.html#CONTRIB-GENERAL"> + ���������� �� ������� � ����� ����������</link>. �������� ������ � + ���� ��������� PR �������� ��� ������� ���������� �� � ��������������, + ��� �� ������, ��� �������.</para> + </sect1> + + <sect1 xml:id="porting-wrkdir"> + <title><varname>WRKDIR</varname></title> + + <para>�� ������ ������ � ����� ��� �������� <varname>WRKDIR</varname>. + ������� <varname>WRKDIR</varname> �������� ������������ ������, + ������� �������������� ����� �������� ��� ������ �� ����� ���������� + ����� (���������� � ����� � <link xlink:href="&url.books.handbook;/ports-using.html#PORTS-CD">��������� ������ � + CDROM</link> �� + �������� ���������� ������ �� ������, ���������� ������ ��� ������). + ���� ��� ����� �������� �����-���� �� ������ + <filename>pkg-*</filename>, �������� ���, + <link linkend="porting-pkgfiles">������������� ����������</link>, �� �� + ������������� ��.</para> + </sect1> + + <sect1 xml:id="porting-wrkdirprefix"> + <title><varname>WRKDIRPREFIX</varname></title> + + <para>��������� ����, ����� ��� ���� �������� �� �������� �������� + ���������� <varname>WRKDIRPREFIX</varname>. ����������� ������ �� + ���� �� ���������. � ���������, ���� �� ����������� � �������� + <varname>WRKDIR</varname> ������� �����, ��������, ��� ��� ���������� + ��������������� �������� + <filename>WRKDIRPREFIXPORTSDIR/subdir/name/work</filename> not <filename>PORTSDIR/subdir/work</filename> + ��� <filename>.CURDIR/../../subdir/name/work</filename> + ��� ���-�� ��������.</para> + + <para>����� ����, ���� �� ���� ������� <varname>WRKDIR</varname>, �� + ������ ��������� ����� ��� ���� + <literal>${WRKDIRPREFIX}${.CURDIR}</literal>.</para> + </sect1> + + <sect1 xml:id="porting-versions"> + <title>���������� ������������ ������ � ������ ��</title> + + <para>�� ������ ����������� � �����, ������� ������� ����������� + ��� �������� ���������� � ����������� �� ����, � ����� ������� &os; + Unix �� ��������. ���������������� �������� ��������� ���� ��� + ������ &os; �������� ������������� �������� + <literal>__FreeBSD_version</literal> � + <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 <sys/param.h></programlisting> + + <para>� ��������������� ����� ����� <filename>.c</filename>. + <literal>__FreeBSD__</literal> ������̣� �� ���� ������� &os; + � �������� �������� ������ ������ �������. ��������, � &os; + 9.x <literal>__FreeBSD__</literal> ������̣� �� ��������� + <literal>9</literal>.</para> + + <programlisting>#if __FreeBSD__ >= 9 +# if __FreeBSD_version >= 901000 + /* ����� ������ ��� ��� ������ 9.1+ */ +# endif +#endif</programlisting> + </sect1> + + <sect1 xml:id="dads-after-port-mk"> + <title>��������� ����-���� ����� + <filename>bsd.port.mk</filename></title> + + <para>�� ������ ������ ����� ������ + <literal>.include <bsd.port.mk></literal>. ���� ������ ����� + ��������, ������� � ���-�� � �������� ������ ����� + <filename>Makefile</filename> ���� + <filename>bsd.port.pre.mk</filename>, � + ���� <filename>bsd.port.post.mk</filename> � �����.</para> + + <note> + <para>��� ����� �������� ���� ���� ������ + <filename>bsd.port.pre.mk</filename>/<filename>bsd.port.post.mk</filename>, + ���� ������ <filename>bsd.port.mk</filename>; �� ����������� ��� ���� + ������ ������������.</para> + </note> + + <para>� ����� <filename>bsd.port.pre.mk</filename> ������������ ���� + ��������� ����������, ������� ����� ���� ������������ � ������ �� + ����� <filename>Makefile</filename>, � ����� + <filename>bsd.port.post.mk</filename> ������ ���������.</para> + + <para>��� ��������� ������ ����������, ������������ � ����� + <filename>bsd.port.pre.mk</filename> (��� �� ������ ������, ��� + ��������� ������� ������ ��������, ����������, ��� ���� + <filename>bsd.port.mk</filename>).</para> + + <informaltable frame="none" pgwide="0"> + <tgroup cols="2"> + <thead> + <row> + <entry>����������</entry> + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>ARCH</varname></entry> + <entry>����������� ������ � ����, ���������� �� ������� + <command>uname -m</command> (��������, + <literal>i386</literal>)</entry> + </row> + + <row> + <entry><varname>OPSYS</varname></entry> + <entry>��� ������������ �������, ���������� �� ������� + <command>uname -s</command> (��������, + <literal>FreeBSD</literal>)</entry> + </row> + + <row> + <entry><varname>OSREL</varname></entry> + <entry>������ ������ ������������ ������� (��������, + <literal>2.1.5</literal> ��� <literal>2.2.7</literal>)</entry> + </row> + + <row> + <entry><varname>OSVERSION</varname></entry> + + <entry>������ ������������ ������� � ���� �����, �� ��, ��� � <link linkend="freebsd-versions"> + <literal>__FreeBSD_version</literal></link>.</entry> + </row> + + <row> + <entry><varname>LOCALBASE</varname></entry> + <entry>������ ������ <quote>local</quote> (��������, + <literal>/usr/local</literal>)</entry> + </row> + + <row> + <entry><varname>PREFIX</varname></entry> + <entry>����, ����������, ��������������� ���� (���������� � <link linkend="porting-prefix"> + ��������� ���������� � <varname>PREFIX</varname></link>).</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <note> + <para>���� �� ������� ���������� + <varname>MASTERDIR</varname>, ������� ��� �� + ����������� <filename>bsd.port.pre.mk</filename>.</para> + </note> + + <para>��� ��������� �������� ����, ��� �� ������ �������� ����� + <filename>bsd.port.pre.mk</filename>:</para> + + <programlisting># no need to compile lang/perl5 if perl5 is already in system +.if ${OSVERSION} > 300003 +BROKEN= perl is in system +.endif</programlisting> + + <para>�� �� ��������� �� ������������� ��������� ������ �������� + ����� <literal>BROKEN=</literal>, + �� ��� ��? <!-- ������ -->:-).</para> + </sect1> + + <sect1 xml:id="dads-sh-exec"> + <title>������������� ��������� <function>exec</function> + � ��������� �£�����</title> + + <para>���� ���� ������������� �������� �� ����� shell, ������� ������ + ��� ������� ������ ���������, � ���� ������ ���� ��������� �������� + ��������� ��������� ��������, ���������, ��� ������ ��������� + ������������ � �������������� ��������� <function>exec</function>, + ��������:</para> + + <programlisting>#!/bin/sh +exec %%LOCALBASE%%/bin/java -jar %%DATADIR%%/foo.jar "$@"</programlisting> + + <para>��������� <function>exec</function> �������� ������� �������� + �� ��������� ���������. ���� <function>exec</function> ������, + �� ������� �������� �� ����� ������ ��������� �������� � ������, + ��� ���������� ��������� ��������� �������.</para> + + </sect1> + + <sect1 xml:id="dads-rational"> + <title>���������� �������</title> + + <para>���� <filename>Makefile</filename> ������ ��������� �������� + ������ � �������������. ���� �� ������ ������� ���-�� �� ��������� + ����� ������ ��� ����� ����������, �������� ���. � �������� �������� + ����� �������� ������������� ����������� <literal>.if</literal> + ������� make ������ ��������������� ����������� <literal>if</literal> + ���������� ����������, ���������� ��������������� ���� + <buildtarget>do-extract</buildtarget> ��� ����������� ��������������� + <varname>EXTRACT*</varname> � ������������� + <varname>GNU_CONFIGURE</varname> ������ + <literal>CONFIGURE_ARGS+= --prefix=${PREFIX}</literal>.</para> + + <para>���� �� ����������, ��� ��� ���������� ����-�� ���������� ������ + ����� ������ ����, ��, ����������, ����������� ���� + <filename>bsd.port.mk</filename> �� ������� ����, �� �������� �� �� + ���������� ������ ����� ��������. ���� ��� ������ ������, ������� + ����� �������, ���������� ��������, ��� ������� ���� + <filename>bsd.port.mk</filename> ��� �������� ������� �������.</para> + </sect1> + + <sect1 xml:id="dads-cc"> + <title>������ ��� � <varname>CC</varname>, ��� � + <varname>CXX</varname></title> + + <para>���� ������ ��������� �� �������� ��� ���������� + <varname>CC</varname>, ��� � <varname>CXX</varname>. + ��� ���� �� �������������, ��� ���� �� � ���� ������ �� ������ + ������������� �������� ���� ����������, ������������� ��������� + ��������; ������ ����� ����� ��������� ������ �������� � ��� + ���������. ��� ������� � ���, ��� ��������� ����������, + ����������� �� ���� ������, ����� ���� ������ ���������.</para> + + <para>���� ����� �� ��������� �������� ���� ����������, �������� + ������ <literal>NO_PACKAGE=ignores either cc or cxx</literal> + � ���� <filename>Makefile</filename>.</para> + + <para>����� ������� ������ ����� <filename>Makefile</filename>, + ������������� ��� ���������� <varname>CC</varname>, ��� � + <varname>CXX</varname>. �������� �������� �� ������������� �������� + <varname>?=</varname>:</para> + + <programlisting>CC?= gcc</programlisting> + + <programlisting>CXX?= g++</programlisting> + + <para>��� ������, � ������� �� ����������� �� �������� �� ���������� + <varname>CC</varname>, �� <varname>CXX</varname>:</para> + + <programlisting>CC= gcc</programlisting> + + <programlisting>CXX= g++</programlisting> + + <para>� �������� &os; ��� ���������� <varname>CC</varname> � + <varname>CXX</varname> ����� ���� ���������� � ����� + <filename>/etc/make.conf</filename>. � ������ ������� �������� + ��������, ���� ��� ����� �� ���� ���������� � + <filename>/etc/make.conf</filename>, ��� ��������� ����� �����������, + ������ �� ������ ������� � �����. ������ ������ �������������� �ӣ, + ��� ���� ������ �����.</para> + </sect1> + + <sect1 xml:id="dads-cflags"> + <title>������������� <varname>CFLAGS</varname></title> + + <para>���� ������ ��������� �� �������� ���������� + <varname>CFLAGS</varname>. + ��� ���� �� �������������, ��� ���� �� � ���� ������ �� ������ + ������������� �������� ���� ����������, ������������� ��������� + ��������; ������ ����� ����� ��������� ������ �������� � ��� + ���������. ��� ������� � ���, ��� ��������� ����������, + ����������� �� ���� ������, ����� ���� ������ ���������.</para> + + <para>���� ����� �� ��������� �������� ���� ����������, �������� + ������ <literal>NO_PACKAGE=ignores cflags</literal> � ���� + <filename>Makefile</filename>.</para> + + <para>����� ������� ������ ����� <filename>Makefile</filename>, + ������������� ���������� <varname>CFLAGS</varname>. �������� + �������� �� ������������� �������� <varname>+=</varname>:</para> + + <programlisting> +CFLAGS+= -Wall -Werror + </programlisting> + + <para>� ��� ������, � ������� �� ����������� �������� ���������� + <varname>CFLAGS</varname>:</para> + + <programlisting> +CFLAGS= -Wall -Werror + </programlisting> + + <para>� ������� &os; ���������� <varname>CFLAGS</varname> ���������� + � ����� <filename>/etc/make.conf</filename>. � ������ ������� � + ���������� <varname>CFLAGS</varname> ����������� �������������� �����, + ��� ���� ����������� ��� �����������, ������ ����� �� ������ �������. + �� ������ ������� �ӣ, ��� ���� ������ �����, ������������.</para> + + <para>�� ��������� ������ <filename>Makefile</filename> ������� ������� + ����� �����������. ������������� ����� ����������� ��������� � + ��������� ���������� <varname>CFLAGS</varname>. ������ �� + ������������������� <filename>Makefile</filename>:</para> + + <programlisting>CFLAGS= -O3 -funroll-loops -DHAVE_SOUND</programlisting> + + <para>��� ������������� ��������� ������ ����������� + <filename>Makefile</filename> ������ ������� �� ��������� ������:</para> + + <programlisting>CFLAGS+= -DHAVE_SOUND</programlisting> + + </sect1> + + <sect1 xml:id="dads-pthread"> + <title>���������� �������</title> + + <para>�� &os; ���������� ������� ������� ���� ������������ � + ������������ ������� � �������������� ������������ ����� + <literal>-pthread</literal>. ���� ���� ���������� + �� ������ ���������� � <literal>-lpthread</literal>, + �������� ���� ��� ������������� <literal>-pthread</literal> + </para> + + <note> + <para>���� ���������� ����� ������������� ������� + <literal>unrecognized option '-pthread'</literal>, + �� ����� ���� ���������� ������������� <command>cc</command> + � �������� ������������ ����� ��������� + <varname>CONFIGURE_ENV</varname> � <literal>LD=${CC}</literal>. + �������� <literal>-pthread</literal> �������� �������� + <command>ld</command> �� ��������������.</para> + </note> + + </sect1> + + <sect1 xml:id="dads-feedback"> + <title>���������</title> + + <para>��������� ���������� ���������/����� �������/��������������� + ��� ��������� � ��������� �����. ��� ������ ������� ���� ������ + ������� ����� ��� ������ ���������� ������.</para> + </sect1> + + <sect1 xml:id="dads-readme"> + <title><filename>README.html</filename></title> + + <para><filename>README.html</filename> �� �������� ������ ����� + � ������������ ��� ������ <command>make readme</command>. + �� ��������� ���� ���� � ����� ��� �������.</para> + + <note> + <para>���� �� ������� ��������� <command>make readme</command>, + ���������, ��� �������� �� ��������� <varname>ECHO_MSG</varname> + �� ���� �������� ������ �����.</para> + </note> + </sect1> + + <sect1 xml:id="dads-noinstall"> + <title>������� ������������������ ����� ��� <varname>BROKEN</varname>, + <varname>FORBIDDEN</varname> ��� <varname>IGNORE</varname></title> + + <para>� ��������� ������� ������������ �� ������ ����������� � + ��������� �����. ��� ����, ����� �������� ������������, ��� ���� + �� ������� �������������, ������� ��������� + <command>make</command>-����������, ������� ����� ���� ������������ + � ����� <filename>Makefile</filename> �����. �������� ��������� + <command>make</command>-���������� ����� ��������, ������������ + �������������, �� ������� ���� ���������� � ���������. + ����������, ����������� ���������� <command>make</command>-����������, + ��� ��� ������ ���������� make �������� ��������� ��������� ����� + ��� ��� �������������, ��� � ��� ������������������ ������, ������� + ���������� �� ����� <filename>Makefile</filename>, ����� ��� + <link linkend="build-cluster">������� ���������� ������</link>, + <link linkend="freshports">FreshPorts</link> � + <link linkend="portsmon">portsmon</link>.</para> + + <sect2 xml:id="dads-noinstall-variables"> + <title>����������</title> + + <itemizedlist> + <listitem> + <para><varname>BROKEN</varname> ������������� ��� ������, ������� + � ��������� ����� �� �������������, �� ��������������� ��� �� + ��������� ���������. ������� ������������ ��� ������, + ����� �������� ��������� ���������.</para> + + <para>� ������ ������� ������� + ���������� ����� ���������� ������� ������� ��, ����� ��������, + ������ �� �������� ��������. (������, ��� �������, ������� + ����������� ��� ���� �����������.)</para> + + <para>� ���������, ����������� + <varname>BROKEN</varname>, ����� ����:</para> + + <itemizedlist> + <listitem> + <para>�� �������������</para> + </listitem> + + <listitem> + <para>�� ��������� ������� ����� ������������ ��� + ���������</para> + </listitem> + + <listitem> + <para>������������� ����� ����� + <filename>${LOCALBASE}</filename></para> + </listitem> + + <listitem> + <para>�� ������� ��������� ��� ���� ����� ��� ������������� + (��� �� �����, ��� ����� ���� ���������, � �������� + ��� ������, ����������� ����� ���� �����, ���������� + �������������)</para> + </listitem> + </itemizedlist> + + </listitem> + + <listitem> + <para><varname>FORBIDDEN</varname> ������������ ��� ������, ������� + �������� ���������� � �������������� ������������ ��� + �������� ������������ �������� � ����� ����������� �������������� + ������������ ������� &os; ��� ��������� ������� ����� + (��������: �������� ������������ ��������� ��� ���������, ������� + ������������� ����� ������������ �������). ����� ������ + ���������� ��� <varname>FORBIDDEN</varname>, ��� ������ � + ���������� ����������� ����������� ������������ ����������, �� + ���������� �������� �� ����. � ��������� ������ ����� ������ + ����������� ����������� ������ ����� ����������� ����������, + ����� ��������� ����� �������� ������ &os; (��� �������� ����� + ��������� ���������� �������), ������ ������ ��������� + ������������ ��������� ������ ����� ������������ ���������� � + ������� �����̣����� ������ ��������� ������������ �����������. + �� ��������� ���� ��� <varname>FORBIDDEN</varname>, ���� ������� + �� ������� ������������� �������������� ������������.</para> + </listitem> + + <listitem> + <para><varname>IGNORE</varname> ������������� ��� ������, ������� + �� ������ ��������� �� �����-���� ������ �������. ������� + ������������ ��� ������, � ������ ����� �������� ������� + ��������������. ������� ���������� + �� ��� ����� �������� �� ����� ������� �����, ���������� ��� + <varname>IGNORE</varname>. � ���������, ����������� + <varname>IGNORE</varname>, ����� ����:</para> + + <itemizedlist> + <listitem> + <para>�������������, �� �������� �����������</para> + </listitem> + + <listitem> + <para>�� �������� �� ������������� ������ &os;</para> + </listitem> + + <listitem> + <para>����� distfile, ������� �� ����� ���� ������������� + �������� ��-�� ������������ �����������</para> + </listitem> + + <listitem> + <para>�� �������� � �����-���� ������ ������, ������������� + � ��������� ����� (��������, ���� ������� �� + <package role="port">www/apache20</package>, �� ���������� + <package role="port">www/apache22</package>) + </para> + </listitem> + </itemizedlist> + + <note> + <para>���� ���� ����� ������������� � ��� ������������� ������, + (��������, ���� ��� ������������� ���� � �� �� �����, �� + � ���� �������������� �����������), �� + <link linkend="conflicts">����������� + ������ ����� <varname>CONFLICTS</varname></link>. + <varname>CONFLICTS</varname> ��� ��������� �������� + <varname>IGNORE</varname>.</para> + </note> + </listitem> + + <listitem> + <para>���� ���� ����� �������� ��� <varname>IGNORE</varname> + ������ �� ��������� ������������, ��� ����� ���� ��� ������ + ������� ����������, ������� ������������� ��������� ��� ��� + ��������: <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>����������� ��������� <varname>IGNORE</varname> ����� ������ + � �������������� <varname>ONLY_FOR_ARCHS_REASON</varname> � + <varname>NOT_FOR_ARCHS_REASON</varname>. �������� ��� ������ + ����������� ��� �������� � �������������� + <varname>ONLY_FOR_ARCHS_REASON_<replaceable>ARCH</replaceable></varname> + � + <varname>NOT_FOR_ARCHS_REASON_<replaceable>ARCH</replaceable></varname>.</para> + </listitem> + + <listitem> + <para>���� ���� ��������� � ������������� ����������� ����� i386, + �� ������� ���������� <varname>IA32_BINARY_PORT</varname>. + ���� ��� ���������� �����������, ����� ��������� �������� + ����������� �������� <filename>/usr/lib32</filename> ��� + ��������� ������ IA32 � ��������� IA32 � ����. ��� ������������ + ������ �� ���� ������� ����� ������������� ����������� + ���������� <varname>IGNORE</varname>.</para> + </listitem> + + </itemizedlist> + + </sect2> + <sect2 xml:id="dads-noinstall-notes"> + <title>��������� �� ����������</title> + + <para>������ �� ������� ����� � �������. + ����� ���������� ������ ������ ��������� ����������� ��-�� + ������� ����������� ���������� ������������. �������:</para> + + <programlisting>BROKEN= fails to link with base -lcrypto</programlisting> + + <programlisting>IGNORE= unsupported on recent versions</programlisting> + + <para>���������� � ���������� ���������� ������ + <command>make describe</command>:</para> + + <programlisting>===> foobar-0.1 is marked as broken: fails to link with base -lcrypto.</programlisting> + + <programlisting>===> foobar-0.1 is unsupported on recent versions.</programlisting> + </sect2> + </sect1> + + <sect1 xml:id="dads-deprecated"> + <title>������� ����� �� �������� � <varname>DEPRECATED</varname> + ��� <varname>EXPIRATION_DATE</varname></title> + + <para>�������, ��� <varname>BROKEN</varname> � + <varname>FORBIDDEN</varname> ����� ������������ ��� ��������� + ��������, ���� ���� �� �������� ����������. ��������� + ����������������� ����� ������ ��������� ��������� �� ������.</para> + + <para>� ���������� ��������� ������������ ����� ���� ��������� � + ����������� �������� ����� ���������� <varname>DEPRECATED</varname> + � <varname>EXPIRATION_DATE</varname>. ������ - ��� ������ ������, + ���������� ������� ���������������� �������� �����; ������ �������� + ������� � ������� ISO 8601 (YYYY-MM-DD). ��� ����� �������� + ������������.</para> + + <para>���������� <varname>DEPRECATED</varname> ����� ���������� ��� + ������������� <varname>EXPIRATION_DATE</varname> (� ���������, ��� + ������������ ����� ������ �����), �� �������� ������� �� ����� + �������� ������.</para> + + <para>�� ���������� ����������� ��������, ��� ����� ������� ���������� + �����������. ������� �������� ���� ����� ������ ��� ������� ������� + ������������ � ��� ������ ��� ������� ����������. ��� ����� ���� + ������� ������� �� ����������� ������� ����� ���������������� + �����������.</para> + </sect1> + + <sect1 xml:id="dads-dot-error"> + <title>��������� ������������� ����������� + <literal>.error</literal></title> + + <para>���������� �������� ������ ������ ��� <filename>Makefile</filename> + � ���, ��� ���� �� ����� ���� ���������� ��-�� ������-�� �������� + ������� (��������, ������������ ������ ������������ ���������� + ����� ����������), �������� ��������� ��������� �������� ��� + <varname>IGNORE</varname>. ��� �������� ����� �������������� � + �������� ������������ �� ����� <command>make install</command>.</para> + + <para>������������� ��� ���� ����� <literal>.error</literal> �������� + ���������������� �������. �������� � ���, ��� � ���� �������� + ����� ���������� ������ ����������� �������������, ���������� � + ������� ������. ���������� ������� ��� �������������� ��� ������� + ��������� <filename>/usr/ports/INDEX</filename> (�������� <xref linkend="make-describe"/>). ��� �� �����, ���� ����� ������� �������, + ����� ��� <command>make maintainer</command>, � ���� ������ ����� + ������ ������. ��� �� �������� ����������.</para> + + <example xml:id="dot-error-breaks-index"> + <title>��� �������� ������������� <literal>.error</literal></title> + + <para>�� ��������� ���� ��������� ������ ����� + <filename>Makefile</filename> ������ �����ģ� � ���������� + ���������� ������ <command>make index</command>, � ������ - + ���:</para> + + <programlisting>.error "option is not supported"</programlisting> + + <programlisting>IGNORE=option is not supported</programlisting> + </example> + </sect1> + + <sect1 xml:id="dads-sysctl"> + <title>������������� <filename>sysctl</filename></title> + + <para>������������� <filename>sysctl</filename> �� �������������, + ����� ��� ��� ���������� �����. ��� ������� ���, ��� ���������� + ����� <literal>makevar</literal>, ����� ��� �� ����� ������� + <command>make index</command>, � �������������� ������� ���� + �������, ��� ������ ��������� ���� �������.</para> + + <para>&man.sysctl.8; ������� ������ ������������ ����� ���������� + <varname>SYSCTL</varname>, ��������� ��� �������� ��������� �������� + ����, � ��� ������������� ����� ���� ��������������.</para> + </sect1> + + <sect1 xml:id="dads-rerolling-distfiles"> + <title>���������� �������������� �����</title> + + <para>������ ������ ������������ ����������� ������ ���������� + ���������� �������������� ������ ��� ����� ��������. �� ������ + ���������, ��� ��������� �������� ������������ � ����������� + �������. � ������� ������, ��� �������������� ���� ����� ��������� + �� ������ �������� � ���������� ������� ���� ��� ����������������� + ������������ ��������� ������������.</para> + + <para>�������� ������ ���� � ������������� � �������, ��������� �����, + ���������� ��� � �������� ���������� ��� ������ &man.diff.1;. + ���� �� �� ������ ������ ���������������, �� ������ �������� ���� + <filename>distinfo</filename>. ���������, ��� �� ���������� �������� + � ����� PR ��� �������� �������, ����� ������ ���� ���� � �����, ��� + �� ������������ � ���, ��� ������ ������� �� ���������.</para> + + <para>�������� �� ����� �������� ��������� � ������� ����� ������������ + ����������� ��� ������������� ���������.</para> + </sect1> + + <sect1 xml:id="dads-avoiding-linuxisms"> + <title>��������� �����������</title> + + <para>�� ����������� <filename>/proc</filename>, ���� �������� + ����� ������ ��������� ��������� ����������, ��������, + <function>setprogname(argv[0])</function> � + <function>main()</function> � &man.getprogname.3;, � ������ + ���� �� ������ <quote>����� ��ϣ ���</quote>.</para> + + <para>�� ����������� �� ���������, �� ������������������ + <acronym>POSIX</acronym>.</para> + + <para>�� ���������� ������ ��������� ����� � ����������� ����� + ���������� ����������, ���� ����� �������� ��� �����. ��������� + ��������� ����� ����� ���� ���������, � ����������� �� ������� + �������� ������������ ����� � ������������ �������. ���� + ��������� ����� ������������� �����, ���������� ������� + ��������� �������� � ����������� ��� <acronym>API</acronym>, + � ������� ��������������� ��������� ����������� ��������.</para> + + <para>��� ������� ��������� ������� (��������, &man.gettimeofday.2;, + &man.getpid.2;) �������� ������� ������� � &linux; �� ��������� + � ����� ������ ������������ �������� ��-�� ����������� � + ������������ ����������� vsyscall. �� ����������� �� �� + ��������� � ��������� � ������������������ �����������. � + �����, ���������� �������� ��������� ������� ���, ��� ��� + ��������.</para> + + <para>�� ����������� �� ����������� ��� &linux; ��������� ������. + � ���������, ���������� ������� ������ ������ �� ��������� + (��������� ����� &man.setsockopt.2; � <literal>SO_SNDBUF</literal> + � <literal>SO_RCVBUF</literal>, � � �� ����� ��� � &linux; + ��� ���������� ������ ������ &man.send.2; �����������, &os; + ���������� ������ � ������������� <literal>ENOBUFS</literal> + � �������� �������� errno.</para> + + <para>���� ��������� ������������ �� ������������� ���������, + �������������� ��� ������� ������� � ����� ��� ���� + <acronym>API</acronym> � ��������� ��������� �� ����� + ������������, � ���� ��������� ��������� �� �������, + ����������� ����������.</para> + + <para>����������� <link xlink:href="http://www.freebsd.org/cgi/man.cgi">�������� + �����������</link> ��� ��������, ��������� �� ������� � + ���������� <acronym>POSIX</acronym> (����� ������ + <quote>STANDARDS</quote> �� �������� �����������).</para> + + <para>�� ������������� �� ��, ��� � �������� + <filename>/bin/sh</filename> ������������ + <application>bash</application>. ���������, ��� ��������� + ������, ���������� � &man.system.3;, ����� �������� � + <acronym>POSIX</acronym>-����������� ��������.</para> + + <para>������ �������� <application>bash</application>-����� + ���������� <link xlink:href="https://wiki.ubuntu.com/DashAsBinSh">�����</link>.</para> + + <para>���������, ��� ������������ ������������ ����� �������� � + <acronym>POSIX</acronym> ��� ������, ������������� ��������� + �����������, �.�. ��������, ������ ���������� + <filename>sys/types.h</filename> — �� ����� �� �������� + � &linux;, ������ ��� �� ��� �� &os;.</para> + + <para>������������ ������������� ���������� � ������ + <quote>-pthread</quote>, � �� <quote>-lpthread</quote> ��� + ���-���� �ݣ.</para> + </sect1> + + <sect1 xml:id="dads-misc"> + <title>������</title> + + <para>����� <filename>pkg-descr</filename> � + <filename>pkg-plist</filename> ������ ����������� ������. ���� �� + ��������������� ���� � �������, ��� ��� ����� ������� �����, + �������� ���.</para> + + <para>����������, �� ���������� �������������� ����� �������� GNU + General Public License � ����� �������.</para> + + <para>������ ����������� � ������������ ���������! �� ������� �� ��� + ����������� ����������������� ��!</para> + </sect1> + + </chapter> + diff --git a/ru_RU.KOI8-R/books/porters-handbook/porting-samplem/Makefile b/ru_RU.KOI8-R/books/porters-handbook/porting-samplem/Makefile new file mode 100644 index 0000000000..10c1504d3a --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/porting-samplem/Makefile @@ -0,0 +1,17 @@ +# +# Build the Porters Handbook with just the content from this chapter. +# +# $FreeBSD$ +# +# Original revision: r43840 +# + +CHAPTERS= porting-samplem/chapter.xml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/ru_RU.KOI8-R/books/porters-handbook/porting-samplem/chapter.xml b/ru_RU.KOI8-R/books/porters-handbook/porting-samplem/chapter.xml new file mode 100644 index 0000000000..c0c1656a6a --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/porting-samplem/chapter.xml @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="koi8-r"?> +<!-- + The FreeBSD Russian Documentation Project + + $FreeBSD$ + + Original revision: r43840 +--> + +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="porting-samplem"> + + <title>��������� <filename>Makefile</filename></title> + + <para>��� ��������� <filename>Makefile</filename>, ������� ����� + ������������ ��� �������� ������ �����. ����������� ������� ��� + �������������� ����������� (��, ������� � �������)!</para> + + <para>��� ������������� ��������� ����� ������� (�������� ������� + ���������� ����������, ������ ������ ����� ���������, � ��� �����). + ���� ������ ���������� ��� ����, ����� ������ ���������� ���� ����� + �������. �� ����������� ��� ��������������� �������� <link linkend="porting-portlint">portlint</link> ��� �������� ����� + <filename>Makefile</filename>.</para> + + <programlisting>[���������...������ ����� ��� ���� ����� ���������������� ����.] +# Created by: Satoshi Asami <asami@FreeBSD.org> +[�������������� ������ <emphasis>Created by:</emphasis> �������� ��� +��������, ���������� �������������� ������ �����. ������� ��������, +��� �� <quote>:</quote> ������� ������, �� �� ������ ���������. ���� +��� ������ ������������, ������� �������������� �� ������ ţ ������ +��� �������, ����� ��� �� ������� ��������������� ������.] + +# $FreeBSD$ +[ ^^^^^^^^^ ��� ������ ����� ������������� �������� �� ������� RCS ID +�������� SVN ��� ���������� �������� ������� � ���� ���������. ��� +���������� ����� �� ��������� ��� ������ ������� � ���� +"$FreeBSD$". SVN ������� ��� �������������.] + +[������ �������� ���������� ����� � ��������� ������� - ������� ������ + PORTNAME � PORTVERSION, �� ��� ������� CATEGORIES, � ����� + MASTER_SITES, �� ������� ����� ���� MASTER_SITE_SUBDIR. + PKGNAMEPREFIX � PKGNAMESUFFIX, ���� ��� �����, ������� �� ����. + ����� ������� DISTNAME, EXTRACT_SUFX �/��� DISTFILES, � �����, ���� ��� �����, + EXTRACT_ONLY.] +PORTNAME= xdvi +PORTVERSION= 18.2 +CATEGORIES= print +[�� ��������� ��� ����������� ����� ����� ("/")! + ���� �� �� ����������� ������� MASTER_SITE_*] +MASTER_SITES= ${MASTER_SITE_XCONTRIB} +MASTER_SITE_SUBDIR= applications +PKGNAMEPREFIX= ja- +DISTNAME= xdvi-pl18 +[������� ���, ���� �������� ��� ������������ �� � ���� + ������������ ����� ".tar.gz"] +EXTRACT_SUFX= .tar.Z + +[������ ������ -- ����� ���� ������] +PATCH_SITES= ftp://ftp.sra.co.jp/pub/X11/japanese/ +PATCHFILES= xdvi-18.patch1.gz xdvi-18.patch2.gz + +[��������������; *������������ ����*! ��� �������, ������� ����������� + ���������� ������������ ����� � ��������������� ��� ����������, � �������� + ������������ ����� ���������� ������� � ��������� �� �������. ��� + ���������� ��� ����� ����� �������� �������� ��������� ������ �� ������ + �� ��������� ����� �����, ����������� �� "ports@FreeBSD.org".] +MAINTAINER= asami@FreeBSD.org +COMMENT= DVI Previewer for the X Window System + +[����������� -- ����� ���� �������] +RUN_DEPENDS= gs:${PORTSDIR}/print/ghostscript + +[���� ������ ��� ��������� ����������� ���������� �� bsd.port.mk, ����� + ���, ��� ����������� ����] +[���� ���� ������ ������� �� ����� ������ ���������, ����������, + ���������...] +IS_INTERACTIVE= yes +[���� ���������� ���������� � �������, �������� �� ${DISTNAME}...] +WRKSRC= ${WRKDIR}/xdvi-new +[���� ����� �������� �� ������������ ${WRKSRC}, ���, ����� ����, �� + �������� �������� ��� ����������] +PATCH_DIST_STRIP= -p1 +[���� ���� ������� ������� "configure", ������������� GNU-������� ��������� + autoconf] +GNU_CONFIGURE= yes +[���� ��� ���������� ����� ��������� GNU-������ ������� make, � �� + /usr/bin/make...] +USES= gmake +[���� ��� ���������� X � ������� ������� "xmkmf -a"...] +USES= imake +[� ��� �����] + +[� �������� ���� ������������ ������������� ����������] +MY_FAVORITE_RESPONSE= "yeah, right" + +[������ ����������� �������, � ������� �� ������] +pre-fetch: + � ���-�� ���������, ����� + +post-patch: + ��� ���-��� ������� ����� ���������� �����, ����������� + +pre-install: + � ����� ��� ���-��� ����� ����������, ��� + +[�, �������, ������] + +.include <bsd.port.mk> + </programlisting> + </chapter> + diff --git a/ru_RU.KOI8-R/books/porters-handbook/porting-why/Makefile b/ru_RU.KOI8-R/books/porters-handbook/porting-why/Makefile new file mode 100644 index 0000000000..76f0e7b10d --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/porting-why/Makefile @@ -0,0 +1,17 @@ +# +# Build the Porters Handbook with just the content from this chapter. +# +# $FreeBSD$ +# +# Original revision: r43840 +# + +CHAPTERS= porting-why/chapter.xml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/ru_RU.KOI8-R/books/porters-handbook/porting-why/chapter.xml b/ru_RU.KOI8-R/books/porters-handbook/porting-why/chapter.xml new file mode 100644 index 0000000000..42ae60f1cf --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/porting-why/chapter.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="koi8-r"?> +<!-- + The FreeBSD Russian Documentation Project + + $FreeBSD$ + + Original revision: r43840 +--> + +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="why-port"> + + <title>��������</title> + + <para>��������� ������ &os; �������� ��������, ������������ + ����������� ������ ��� ��������� ���������� ("������") �� &os;. + ��� � ����� �ӣ ��������� �� &os;, ��� ������� � �������� �������� + ����������� �������������� ����������. ����� ����� ��� � ���� ��� + ������ ������� ���������.</para> + + <para>�� &os; ������ ����� �������� ����� ���� ���� �������� ������� + ������������ ������������ ����, ���� ��� ����� �ݣ ����� �� + ������������—��� �� ����� ����� ������� ������ ���������� �� + �������� ���������, ����� ��� ������.</para> + </chapter> + diff --git a/ru_RU.KOI8-R/books/porters-handbook/quick-porting/Makefile b/ru_RU.KOI8-R/books/porters-handbook/quick-porting/Makefile new file mode 100644 index 0000000000..f33e9fd7a7 --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/quick-porting/Makefile @@ -0,0 +1,17 @@ +# +# Build the Porters Handbook with just the content from this chapter. +# +# $FreeBSD$ +# +# Original revision: r43840 +# + +CHAPTERS= quick-porting/chapter.xml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/ru_RU.KOI8-R/books/porters-handbook/quick-porting/chapter.xml b/ru_RU.KOI8-R/books/porters-handbook/quick-porting/chapter.xml new file mode 100644 index 0000000000..8b6b0b498e --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/quick-porting/chapter.xml @@ -0,0 +1,407 @@ +<?xml version="1.0" encoding="koi8-r"?> +<!-- + The FreeBSD Russian Documentation Project + + $FreeBSD$ + + Original revision: r43840 +--> + +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="quick-porting"> + + <title>������� ������������</title> + + <para>� ���� ������� �������, ��� ������� ����� ���� �� ������ ����. + �� ������ ������� ����� ������ �� ����������, ��� ��� ��� ����� ����� + ��������� �������� ������.</para> + + <para>��-������, �������� ������������ tar-���� � ��������� ��� � ������� + <varname>DISTDIR</varname>, ������� �� ��������� ���� �� ��� ����, ��� + <filename>/usr/ports/distfiles</filename>.</para> + + <note> + <para>����� ��������������, ��� ����������� ����������� ������������� + ��� ������� ��� ����, �� ���� ��� ������ ���������� �� ����� ������� + &os; �� ������������� ��������� ������� ���������. ���� + ����������� ���-�� ��������, �� ��� �������� ���������� ����� � � + ���������� �������.</para> + </note> + + <note> + <para>����� ������� ������������ ������������� ���������� + ���������� &man.make.1; <varname>DEVELOPER</varname> � + <filename>/etc/make.conf</filename>.</para> + + <screen>&prompt.root; <userinput>echo DEVELOPER=yes >> /etc/make.conf</userinput></screen> + + <para>��� ��������� �������� <quote>����� ������������</quote>, + � ������� ������������ �������������� ��� ������������� + ���������� ����������� � ������������� ��������� �������������� + �������� ��� ������ ������� <command>make</command>.</para> + </note> + + <sect1 xml:id="porting-makefile"> + <title>�������� ����� <filename>Makefile</filename></title> + + <para>����������� <filename>Makefile</filename> ����� ��������� + �������� ���:</para> + + <programlisting># $FreeBSD$ + +PORTNAME= oneko +PORTVERSION= 1.1b +CATEGORIES= games +MASTER_SITES= ftp://ftp.cs.columbia.edu/archives/X11R5/contrib/ + +MAINTAINER= youremail@example.com +COMMENT= Cat chasing a mouse all over the screen + +.include <bsd.port.mk></programlisting> + + <note> + <para>� ��������� ������� � ��������� <filename>Makefile</filename> + ������������� ����� ����� ����������� �������������� ������, + ����� ��� �������� ����� � ���� ��� ��������. + ��� �������������� ���������� ���� ��������� ���������� + � ��������� � �������� ��������.</para> + </note> + + <para>���������, ������� �� �� ��� ������. �� ��������� �������� �� + ���������� ������� <literal>$FreeBSD$</literal>, ��� + ����� ��������� ������������� �������� + <application>Subversion</application>, ����� ���� ����� + ������������ � ���� ������ ������. �� ������ ����� ����� ��������� + ������ � ������� <link linkend="porting-samplem">������ + Makefile</link>.</para> + </sect1> + + <sect1 xml:id="porting-desc"> + <title>�������� �������������� ������</title> + + <para>������� ��� �������������� �����, ������� ��������� ��� ������ + �����, ��� ����������� �� ����, �������� �� �� ������� ��� ���. ��� + <filename>pkg-descr</filename> � <filename>pkg-plist</filename>. + ������� <filename>pkg-</filename> �������� �� �� ������ ������.</para> + + <sect2> + <title><filename>pkg-descr</filename></title> + + <para>��� ����� ��������� ������� �������� �����. �� ������ �� + ���������� �������, ������ �����������, ��� ������������ ����� + ����, ����� ����������.</para> + + <note> + <para>��� <emphasis>��</emphasis> ����������� � �� ������������ + �������� ����, ��� ������������ ��� ������������� ����! + <emphasis>����������, ������ ����������� ��� ����������� ������ + �� <filename>README</filename> ��� ������� + �����������</emphasis>; ������� ����� ��� �� �������� ������� + ��������� ����� ��� ����� ��������� ������ (��������, �������� + ����������� ��������� ���������, ��� �������� ����� + ��������� � ������������� ��������).</para> + </note> + + <para>������ ������������ <filename>pkg-descr</filename> + ��������� ���� ���������� �����, ����� ������������ �� + ����������� ��������� � ������������� ��� �������� ������� + ��� ��������� ����, ��� ������ ������ ����������� �����������, + ��� ��� ����� ���� ������� ��� ����� ������� ������� � ���� + �������. ���������� ��� ������̣���� ����������, ����� ��� + ������������ ����������� ��������������, ��֣��� �����������, + ��������� ��� ������� ��� ������������ ���� ���������������� + ������� ������������� ������������, ����� �� ���� ���� ��� + ��� ��������.</para> + + <para>�������� ���� URL ����������� �������� �������� ��������. + ����� <emphasis>�����</emphasis> �� ������ (�������� ��������) + �������� <literal>WWW:</literal> (� ����������� ��������� + ��������) ��� ����, ����� ��������������� ������� �������� + ���������. ���� URI �������� ������ ����� ��� ���������, + �� �������� ������ ���� ��������� ����� ������.</para> + + <note> + <para>���� ��������� ��� ����� ���-�������� �� ��������, + ����������� ������ ��������, ��� �� ����������� ���� + ������ݣ�, ������������ ��� �����ݣ� � ������ �����.</para> + </note> + + <para>��������� ������ ����������, ��� ������ ��������� ��� + <filename>pkg-descr</filename>:</para> + + <programlisting>This is a port of oneko, in which a cat chases a poor mouse all over +the screen. + : +(etc.) + +WWW: http://www.oneko.org/</programlisting> + </sect2> + + <sect2> + <title><filename>pkg-plist</filename></title> + + <para>����� ������������� ��� �����, ��������������� ������. ��� + ����� �������� <quote>������� ��� ��������</quote>, ������ ��� + ����� ������������ ��������� ������, ������� ����� �������. + ����� ����� ����������� ������������ ������������� �������� + (������ <filename>/usr/local</filename>). + ���� ���� �� ����� ��������� ������� ��������, ���������, + ��� ��������� ������ <literal>@dirrm</literal> ��� �������� + ��������� ��� �������� ������.</para> + + <para>��� ��������� ������:</para> + + <programlisting>bin/oneko +man/man1/oneko.1.gz +lib/X11/app-defaults/Oneko +lib/X11/oneko/cat1.xpm +lib/X11/oneko/cat2.xpm +lib/X11/oneko/mouse.xpm +@dirrm lib/X11/oneko</programlisting> + + <para>���������� � �������� ���������� ������� �� ������� + &man.pkg-create.8; � ��������� ��������� ������� ������ + ��������.</para> + + <note> + <para>�������������, ����� ����� ������ � ���� ������ ���� + ������������� � ���������� �������. ��� �������� ����������� + ��������� ������ ��������� ��� ���������� �����.</para> + </note> + + <note> + <para>�������� ������ �������� ������� ����� ��������� ������ + ����ϣ���� �������. ���� ���� ������������� ������� ���������� + ������, ������ �� <link linkend="plist-autoplist">�������������� ���������� ������ + ��������</link> ����� ������ ���������� �����.</para> + </note> + + <para>���������� ������ ���� ����������, ����� � ����� ����� + ������������� <filename>pkg-plist</filename>. ���� ���� + ������������� ���� ��������� ������, � ��������, � ���������, �� + ��� ����� ���� ����������� � ���������� + <varname>PLIST_FILES</varname> � <varname>PLIST_DIRS</varname>, + ��������������, ������ ����� <filename>Makefile</filename> �����. + � �������, �� ����� �������� ��� ����� + <filename>pkg-plist</filename> � �����ģ����� ���� ����� + <filename>oneko</filename>, ������� ��������� ������ � + <filename>Makefile</filename>:</para> + + <programlisting>PLIST_FILES= bin/oneko \ + man/man1/oneko.1.gz \ + lib/X11/app-defaults/Oneko \ + lib/X11/oneko/cat1.xpm \ + lib/X11/oneko/cat2.xpm \ + lib/X11/oneko/mouse.xpm +PLIST_DIRS= lib/X11/oneko</programlisting> + + <para>�������, ���������� <varname>PLIST_DIRS</varname> �� ������ + ����������, ���� ���� �� ������������� ������� ���������.</para> + + <note> + <para>��������� ������ ����� ��������� ������������ ����� + �������. � ���� ������ <varname>PLIST_DIRS</varname> + ������� �������� �� <varname>PLIST_DIRSTRY</varname>, ��� + ����� ������� �������� ������ ���� �� ����, � ����� + �������������. ������������� <varname>PLIST_DIRS</varname> + � <varname>PLIST_DIRSTRY</varname> ���������� + <literal>@dirrm</literal> � <literal>@dirrmtry</literal> + � <filename>pkg-plist</filename>, �������� ������� + ������ � <xref linkend="plist-dir-cleaning"/>.</para> + </note> + + <para>�������� �������� ������ ������� ������������ ������ � + ��������� ����� �������� ������������� ������������� + ������������������� ������, ��������� � &man.pkg-create.8;. + ������� �� �������� ��� ������� ������, ��� ������ �� �ݣ ����� + ��������. ������������ � ���� ������������� �������� �������� + ���������� ���������� ������ � ��������� ������. ����������, + ��������� ��� �������������� ���� �������, ������ ��� ��������� + <filename>pkg-plist</filename>.</para> + + <para>����� �� ������, ��� ����� ������������ ����� + <filename>pkg-plist</filename> � <varname>PLIST_FILES</varname> + ���������� <link linkend="plist">����� ������� + �����</link>.</para> + </sect2> + </sect1> + + <sect1 xml:id="porting-checksum"> + <title>�������� ����� � ����������� ������</title> + + <para>������ ������� ������� <command>make makesum</command>. + ������� ������� make ������������� ����������� ���� + <filename>distinfo</filename>.</para> + + <para>���� � ������������ ����� ��������� �������� ����������� + ����� � �� �� ������������ � ���������� ��������� (�.�. �� ������� + �� CD �������������, ���� ��������� ����������� ������������), �� �� + ������ ������� ��� ����� � ���������� <varname>IGNOREFILES</varname>. + ����� ����������� ����� ��� ���������� <command>make makesum</command> + ��� ����� ����� ����������� �� �����, � ������ ����� ��� ���� ����� + ����������� �������� <literal>IGNORE</literal>.</para> + </sect1> + + <sect1 xml:id="porting-testing"> + <title>������������ �����</title> + + <para>�� ������ ��������������, ��� ������� ���������� ����� ��������� + ������ ��, ��� �� ������, ������� �������� ������ ��� �����. ��� + �� ������ ����, ������� �� ������ ���������.</para> + + <itemizedlist> + <listitem> + <para><filename>pkg-plist</filename> �� �������� ������ ����� ����, + ��� ��������������� ������</para> + </listitem> + + <listitem> + <para><filename>pkg-plist</filename> �������� ��������� ���, ��� + ��������������� ������</para> + </listitem> + + <listitem> + <para>���� ����� ���� ���������� � ������� + �������� ���� <buildtarget>install</buildtarget>. ��� + ��������� ��������� � ���������� ������ �������� + ���������.</para> + </listitem> + + <listitem> + <para>���� ����� ���� ���������� ������� ���̣� � ������� + �������� ���� <buildtarget>deinstall</buildtarget>. ��� + ��������� ��������� � ���������� ������ �������� + ��������.</para> + </listitem> + + <listitem> + <para>������� ���������, ��� <command>make package</command> + ����� ��������� ��-��� �������� ������������ (�� ����, + �� ��-��� <systemitem class="username">root</systemitem>). + ���� ��� �� ���, � <filename>Makefile</filename> ����� + ������ ���� ��������� <literal>NEED_ROOT=yes</literal>.</para> + </listitem> + </itemizedlist> + + <procedure> + <title>������������� ������� ��������</title> + + <step> + <para><command>make stage</command></para> + </step> + + <step> + <para><command>make check-orphans</command></para> + </step> + + <step> + <para><command>make package</command></para> + </step> + + <step> + <para><command>make install</command></para> + </step> + + <step> + <para><command>make deinstall</command></para> + </step> + + <step> + <para><command>pkg add package-filename</command></para> + </step> + + <step> + <para><command>make package</command> (��-��� + ������������)</para> + </step> + </procedure> + + <para>���������, ��� �� ����� �� ������ �� �������� ������� + ��������������.</para> + + <para>������������� ������������������ ������������ ����� ���� + ��������� ��� ������ + <package role="port">ports-mgmt/tinderbox</package> ��� + <package role="port">ports-mgmt/poudriere</package> �� ��������� + ������. ��� ���������� ���������� <literal>jails</literal>, + � ������� ����������� ��� ������������� ���� ����� ��� + ��������� ��������� �������� �������.</para> + </sect1> + + <sect1 xml:id="porting-portlint"> + <title>�������� ������ ����� �������� + <command>portlint</command></title> + + <para>������ �����, ����������� �������� <command>portlint</command> + ��� �������� ����, ��� ��� ���� ������������� ����� �������������. + ��������� <package role="port">ports-mgmt/portlint</package> + �������� ������ ��������� + ������. � ���������, �� ������ �������� ���������, ��������� �� + ����������� ���� <link linkend="porting-samplem">Makefile</link> � + ��������������� �� ������� �������� <link linkend="porting-pkgname">�����</link>.</para> + </sect1> + + <sect1 xml:id="porting-submitting"> + <title>������� ������ �����</title> + + <para>����� �������� ������ ����� ���������� ������ � ���, ��� + <link linkend="porting-dads">����� � ������</link> ������.</para> + + <para>����� �� ������� �������� ����� ������ ������, ������������, + ��� �������� �������, ��� �������� ��� � �������� ������ ������ + &os; � ������������ ���� ���� ���������. ��� �� ����� �� + ������� <filename>work</filename>, �� ����� + <filename>pkgname.tgz</filename>, ��� ��� ������� �� ����� + ������.</para> + + <para>����� �������� ���� &man.shar.1;. �����������, ��� ���� + ���������� oneko, ��������� � ������� ����, ��� ��������� + ������� <literal>oneko</literal>, � ��������: + <command>shar `find oneko` > oneko.shar</command></para> + + <para>�������� <filename>oneko.shar</filename> � ��������� �� + ������ � ������� ��� � ������� &man.send-pr.1;. ���������� � + ������� <link + xlink:href="&url.articles.contributing;/contrib-how.html#CONTRIB-GENERAL"> + ��������� �� ������� � ����� ���������</link> ��� ��������� + ��������� ���������� � &man.send-pr.1;).</para> + + <para>������� � ��������� ��������� <literal>ports</literal> � + ����� <literal>change-request</literal>. + <emphasis>��</emphasis> ����������, ��� ��������� ����� ������ + <literal>confidential</literal>! �������� ������� �������� + ��������� � ���� <quote>Description</quote> ������������� PR + (��������, ���������� <varname>COMMENT</varname> � �����ݣ���� + ��������) � ��� ���� � ���� ������ <filename>.shar</filename> + � ���� <quote>Fix</quote>.</para> + + <note> + <para>������� �������� � ��������� ��������� � �������� + ����������� ��������� ������ ����������� ������. ��� ����� + ������ �� ������������ ����� ����� <quote>New port: + <���������>/<�������� �����> <������� + �������� �����></quote>. ���������� ���� ����� + �������� � �������� ������ ������ �� ���������� ������ + �����.</para> + </note> + + <para>�������� �ݣ ���, ��� <emphasis>�� ����� �������� �� ������������ + ���� � �������������, �� ������� <filename>work</filename>, + �� �����, ����������� ���� �������� + <command>make package</command></emphasis>; ��� ����� ������ + ����������� &man.shar.1;, �� �� &man.diff.1;.</para> + + <para>����� �������� �����, ����������, ���������. �����, + ����������� ��� ��������� ������ ����� �� &os;, ����� �������� + �� ���������� ���� �� ���������� �������. <link + xlink:href="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?category=ports"> + �����</link> ����� ������� ������ ��������� PR ��� ������.</para> + + <para>����� ������������ ������ ����� �� ��� ������������� ��� + �������, � ����� ������� ���� � ���� ������. ���� ��� ����� + ����� ��������� � ������ <link + xlink:href="&url.articles.contributors;/contrib-additional.html"> + �������������� ������������� ������� &os;</link> � ������ + �����.</para> + </sect1> + </chapter> + diff --git a/ru_RU.KOI8-R/books/porters-handbook/security/Makefile b/ru_RU.KOI8-R/books/porters-handbook/security/Makefile new file mode 100644 index 0000000000..913c0b6744 --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/security/Makefile @@ -0,0 +1,17 @@ +# +# Build the Porters Handbook with just the content from this chapter. +# +# $FreeBSD$ +# +# Original revision: r43840 +# + +CHAPTERS= security/chapter.xml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/ru_RU.KOI8-R/books/porters-handbook/security/chapter.xml b/ru_RU.KOI8-R/books/porters-handbook/security/chapter.xml new file mode 100644 index 0000000000..aedf010f93 --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/security/chapter.xml @@ -0,0 +1,486 @@ +<?xml version="1.0" encoding="koi8-r"?> +<!-- + The FreeBSD Russian Documentation Project + + $FreeBSD$ + + Original revision: r43840 +--> + +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="security"> + + <title>������������ ������</title> + + <sect1 xml:id="security-intro"> + <title>������ ������������ ��� �����</title> + + <para>������ � ����������� ����������� ���������� ��������. ��������, + ����� ������� �� ��� ��, ��� ������� ���������� ������������. � + ����������� ����� ������ �������� ���������� ������ ���� ������� + ����� ����������� ���������� �� ������. ��� �� �����, �������� + ��������� �������������� ������ � ����������� ����� �����������. + </para> + + <para>������� ��������� ������ ����������� ������ ��� �������������, + ������� ����������� ��������� ���������� ��������, ������������ ��� + ������. ����������� � �������� ����� �������� ����, � ������ ����� + ������ ������������ �����������, ���������� �� ������, �� ����������� + ������������� �� ��������� ������ ����� �� ���������� ����������, + ��������� ��� ������ ������� � ��� �� �����������. ����������� + ������, ������� ����� ��������� � ������ ������, ������������ + ��������� ��������. ��� �� �����, ������������������ ������������ + �����, ��� ����������� ��������� ������������, � ����� ��� ����������� + ������, ������ ����� �������� � ������ ������, ������� ��� ��������� + ��������� ����������� ������ ������; �������������, ����������� + ������ ����� ���������� ����� �����.</para> + + <para>� ����������� ������������ �ӣ �����. ��-������, ��� ����� + ����������� �������������� ����� ����, ������ ��� ���� ����� �� + �������� ������ � ������. ��-������, �������� ��������������� + ����� ������������ �� ��� ��������� ����������������� ������� � + �������� �������, ���������� ��� ��������� ������ ������; � ������ + ������ ������������ ���� �� ������� ���������� ����. �-�������, + ����� �������� ������� ����� �������� ������ ������������� ��������� + � ������ �������, ������� �� ����� ���� ����������������� �����. + ����� �������, ���������� ���������� ��� ������� ������������: + ������� ��������� ���� ���������������� ����������� � �������� + �������� � ������������� �����, ��� �������� ������� ���� � + ����������� ���������� ����.</para> + </sect1> + + <sect1 xml:id="security-fix"> + <title>����������� ����������� ������������</title> + + <para>��� �������� ������ � �������, ���������� ������������ + ���������� ����� ��������� � �������� ������������ ��� ������ + �����. � ������ ������, ����������� ��������� ������������ + ����������� ������ ����� ����� �� �������� ���� ��� ����� ������, + � ��� ���� ����������� ����� �������� ���� � ������������ � + ������������ ������. ���� ����������� �� �����-�� ������� + �������������, ��� ������� ���� <link linkend="dads-noinstall">�������� + ���� ��� <varname>FORBIDDEN</varname></link>, ���� �������� � ���� + ��� ����������� ����. � ������ ���������� ����� ������ ��������� + ���� ���� ��� ����� ������. � ����� ������ ����� ��������� + <link linkend="port-upgrading">����������� ��������� �������� ������ + ���������</link>, ���� �� �� ��������� ������� �� ������ ��������� + ��������������� � ������ ������.</para> + + <important> + <para>���� ����������� ������ ������������ ��� ������� ������������� + �����. �������, ��� ������ � ������ ���� ��������������, ������ + ������� �� ������ ���������.</para> + </important> + + <para>����������, ���������, ��� ������� ����� ����� �������� + ���������� ���������. ��� ��� ������������, ����������� + ������������� ������ �� ���������� ������, ������, ��� �� ����� + ��������� ����������. ����� ����, ����� ����� ����� ������ � + ������������� ����� FTP � WWW �������, ������� ��������. + ���� � �������� ����������� ���������� �� ���� �������� �������� + <varname>PORTVERSION</varname>, �� ������ ���� ��������� �������� + <varname>PORTREVISION</varname>. ��� ������� ��������� �������� + <varname>PORTREVISION</varname> ����� ���������� � ���� ����� � + ������, �� �� ����� �� �������� ���� �� ��������� ������ + ������������ �����������, ������� �������� ��� ���� + <varname>PORTVERSION</varname>. �� ���������� ����������� + ����������� � + <link linkend="makefile-naming-revepoch">���������������� + �������</link>.</para> + </sect1> + + <sect1 xml:id="security-notify"> + <title>����������� ���������� �����������</title> + + <sect2 xml:id="security-notify-vuxml-db"> + <title>���� ������ VuXML</title> + + <para>����� ������ � �������������� ����� ��� �������� ��� ����� + ������ ����� ��������� ���������� �������� ����������� ���������� + ������������� ����� �� ���������. ����� ����������� ������ ���� + �����. ��-������, � ������ ������������� ��������� ������, ����� + ������������ ��������� ���������� �����������. ��������, ���������� + ������������� ������� ������ ��� ���� ������� ���� �������, + ���� ���������� �� ����� ���������. ��-������, ����� + ������������� ����� ��������� ��������� ������������� ������ ������ �� + ������ � ������. �� ����������� ��� ������, ��� + <emphasis>������</emphasis> �������� ����� ��� ����������� ����� + �� ����� ��������� ������������ ������.</para> + + <para>�������� �������� ����� ������ � ������, ���������� �� + ������� ������ ��������� ��������� ������������ ��� �������� + ����� � ������ �������� ���������� � ������� ��������� + ������������� ��������� ������. ������� ���������� ������������, + ������������ � ������, ������������ � + <link xlink:href="http://vuxml.freebsd.org/">���� ������ + &os; VuXML</link>. + ����� ������� �������� ������������ ����� ����������� ţ �� + ������� ��������� ��������, ��������� �� �������������.</para> + + <para>���� �� ��������� ������� ����������, �� ������ ��� �������� + ���� ������ VuXML. ��� �� �������� ������� �������� ������������ + � ������������ ������� ������ ���������� ����������. ��� �� + �����, ���� �� �� ��������� ����������� ��� ������, ��� ����� + ������������� ��������� ����������, �� �� + ����������� ��������� � �������� �������� ������������ �������� + ��� ��� ������� �� �������� + <link xlink:href="http://www.freebsd.org/security/#how">�������������� + ������������ &os;</link>.</para> + + <para>���� ������ VuXML �������� ���������� <acronym>XML</acronym>. + ��� �������� ���� <filename>vuln.xml</filename> ���������� + ����� ������ ����� <package role="port">security/vuxml</package>. + �������������, ������ ��� ���� � ����� ����� + <filename>PORTSDIR/security/vuxml/vuln.xml</filename>. + ������ ���, ��� ����������� ���� � ����� ���������� ������������ + �������� �� ���� ������ � ���� ����. ���� �� �� ������� � VuXML, + ������, ��� �� ������ �������, ��� ����� ������������ ������, + ����������� ��� ��� ������, ����� ����������� �� � ������������ + � �������� �������.</para> + </sect2> + + <sect2 xml:id="security-notify-vuxml-intro"> + <title>�������� ���������� � VuXML</title> + + <para>� ������������ <acronym>XML</acronym> �������� ����� + ������� ��������, � ��� �������� ������� ������ �� ����� + ���� �����. ��� �� �����, ��� ���������� ��������� ��������� + ��������� ������ VuXML ��� ����������� ����� ���� ������ ����. + ����� ����� XML ����������� � ������� ������. ������ ����������� + <tag> ������ ����� ����������� ����������� </tag>. + ���� ����� ���� ����������. ��� ����������� ���������� ���� + ������ ���� ������� �� �������� �������. ���������� �������� + �����, �.�. ����� ������� ������� ����������� �����. ��� + ������ �� HTML. �������� ������� � ������������� XML, + �.�. � ����������� ����������� �����. ��-�� ����� ����������� + ��������� XML ������� ����� ������������ ������. � ���������, + XML �������� ��� �������� �������� ����������� ������������.</para> + + <para>������ ���������� ��������� ������ VuXML:</para> + + <programlisting><vuln vid="f4bc80f4-da62-11d8-90ea-0004ac98a7b9"> <co xml:id="co-vx-vid"/> + <topic>Several vulnerabilities found in Foo</topic> <co xml:id="co-vx-top"/> + <affects> + <package> + <name>foo</name> <co xml:id="co-vx-nam"/> + <name>foo-devel</name> + <name>ja-foo</name> + <range><ge>1.6</ge><lt>1.9</lt></range> <co xml:id="co-vx-rng"/> + <range><ge>2.*</ge><lt>2.4_1</lt></range> + <range><eq>3.0b1</eq></range> + </package> + <package> + <name>openfoo</name> <co xml:id="co-vx-nm2"/> + <range><lt>1.10_7</lt></range> <co xml:id="co-vx-epo"/> + <range><ge>1.2,1</ge><lt>1.3_1,1</lt></range> + </package> + </affects> + <description> + <body xmlns="http://www.w3.org/1999/xhtml"> + <p>J. Random Hacker reports:</p> <co xml:id="co-vx-bdy"/> + <blockquote + cite="http://j.r.hacker.com/advisories/1"> + <p>Several issues in the Foo software may be exploited + via carefully crafted QUUX requests. These requests will + permit the injection of Bar code, mumble theft, and the + readability of the Foo administrator account.</p> + </blockquote> + </body> + </description> + <references> <co xml:id="co-vx-ref"/> + <freebsdsa>SA-10:75.foo</freebsdsa> <co xml:id="co-vx-fsa"/> + <freebsdpr>ports/987654</freebsdpr> <co xml:id="co-vx-fpr"/> + <cvename>CAN-2010-0201</cvename> <co xml:id="co-vx-cve"/> + <cvename>CAN-2010-0466</cvename> + <bid>96298</bid> <co xml:id="co-vx-bid"/> + <certsa>CA-2010-99</certsa> <co xml:id="co-vx-cts"/> + <certvu>740169</certvu> <co xml:id="co-vx-ctv"/> + <uscertsa>SA10-99A</uscertsa> <co xml:id="co-vx-ucs"/> + <uscertta>SA10-99A</uscertta> <co xml:id="co-vx-uct"/> + <mlist msgid="201075606@hacker.com">http://marc.theaimsgroup.com/?l=bugtraq&amp;m=203886607825605</mlist> <co xml:id="co-vx-mls"/> + <url>http://j.r.hacker.com/advisories/1</url> <co xml:id="co-vx-url"/> + </references> + <dates> + <discovery>2010-05-25</discovery> <co xml:id="co-vx-dsc"/> + <entry>2010-07-13</entry> <co xml:id="co-vx-ent"/> + <modified>2010-09-17</modified> <co xml:id="co-vx-mod"/> + </dates> +</vuln></programlisting> + + <para>����� ����� ������ ���� ��������������������, ����� �� + ��������������� ������ �� �����, ������ ��� ��� ����������:</para> + + <calloutlist> + <callout arearefs="co-vx-vid"> + <para>��� ��� �������� ������ ������ VuXML. � ���� ���� + ������������ ������� <literal>vid</literal>, ����������� �� + ������������� ���������� ������������� (UUID) ��� ���� ������ + (� ��������). �� ������ ����������� UUID ��� ������ ����� + ������ VuXML (� �� �������� �������� �� ��� ������� UUID, + ���� �� �� ������ ������ � ����). ��� ��������� VuXML UUID + �� ������ ������������ &man.uuidgen.1;.</para> + </callout> + + <callout arearefs="co-vx-top"> + <para>������������ �������� ��������� ��������.</para> + </callout> + + <callout arearefs="co-vx-nam"> + <para>����� ����������� ����� ���������� �������. + ����� ���� ���� ��������� ����, ��������� ��������� ������ + ����� ���� �������� �� ����� ������� ����� ��� ����������� + ��������. ���� ����� �������� ���������� ����� � ����� + ����������, �������������� ������ � ����������� �����, + ��������� �� ���������� ������ ������ ��������� ������������, + ��������� �� ����� ����������.</para> + + <important> + <para>����� ���� �������� ������� ��� ��������� ������ VuXML + ������ � ���� ����� ���������������. ������ � ����, ��� + <literal>make search name=foo</literal> ��� ��� ����. + ��������� ����� ��� ������ ���������:</para> + + <itemizedlist> + <listitem> + <para>������� <filename>foo-devel</filename> ��� ����� + <filename>foo</filename>;</para> + </listitem> + + <listitem> + <para>������ �������� � ���������� ���� + <literal>-a4</literal> (��� �������, ��������� � �������), + <literal>-without-gui</literal> (��� ������� � + ����������� ���������� X), ��� ��������;</para> + </listitem> + + <listitem> + <para><literal>jp-</literal>, <literal>ru-</literal>, + <literal>zh-</literal> � ������ ��������� �������������� + �������� � ��������������� ������������ ���������� + ��������� ������.</para> + </listitem> + </itemizedlist> + </important> + </callout> + + <callout arearefs="co-vx-rng"> + <para>����� ������� ���������� ������ ������(-��) ��� ���� ��� + ����� ���������� � �������������� ���������� ��������� + <literal><lt></literal>, <literal><le></literal>, + <literal><eq></literal>, <literal><ge></literal>, + � <literal><gt></literal>. ��������� ���ӣ���� ������ + �� ������ ������������.</para> + + <para>� ������������ ���������� <literal>*</literal> (�ף������) + �������� ���������� ����� ������. � ���������, + <literal>2.*</literal> ������, ��� <literal>2.a</literal>. + ������� ��������� ����� ���� ������������ � ��������� ��� + ���������� �� ����� ���������� <literal>alpha</literal>, + <literal>beta</literal> � <literal>RC</literal> ��������. + ��� �������, + <literal><ge>2.*</ge><lt>3.*</lt></literal> + ��������� �������� � ������� <literal>2.x</literal>, � + <literal><ge>2.0</ge><lt>3.0</lt></literal> + - ���, ��������� ��������� �� �������� + <literal>2.r3</literal> � ��������� � <literal>3.b</literal>. + </para> + + <para>������ ���� ���������, ��� � ���������� ��������� ������ � + <literal>1.6</literal> �� <literal>1.9</literal> ������������, + ������ <literal>2.x</literal> �� <literal>2.4_1</literal> � + ������ <literal>3.0b1</literal>.</para> + </callout> + + <callout arearefs="co-vx-nm2"> + <para>��������� ��������� ������ ������� (� �������� �����, �����) + ����� ���� ������� � ������� <literal><affected></literal>. + ��� ����� ������������, ���� ��������� ����������� �������� + (������, FooBar, FreeBar and OpenBar) �������� ������������ + �� ����� ������� ���� � �ӣ ��� ��������� ���������� ţ ������ + � ����������. ������ � ���� ������� �� ������������ + ������������� �ͣ� � ����� ������� <package>.</para> + </callout> + + <callout arearefs="co-vx-epo"> + <para>��������� ������ ������ ��������� + <varname>PORTEPOCH</varname> � <varname>PORTREVISION</varname>, + ���� ��� ���������. ����������, �������, ��� � ������������ + � ��������� ��������� ����� ������ � ��������� ��������� + <varname>PORTEPOCH</varname> ����, ��� ����� ������ ��� + <varname>PORTEPOCH</varname>, ��������, <literal>3.0,1</literal> + ����, ��� <literal>3.1</literal> ��� ���� <literal>8.9</literal>. + </para> + </callout> + + <callout arearefs="co-vx-bdy"> + <para>������� ���������� � ��������. � ���� ���� + ������������ XHTML. �� ������� ����, ������ ���� ����������� + <literal><p></literal> � <literal></p></literal>. + ����� ���� ������������ ����� ������� ��������, �� ������ � + ����� ������������ � �������: ��� ���������, ����������. + </para> + </callout> + + <callout arearefs="co-vx-ref"> + <para>���� ������ �������� ������ �� ������� ��������� ���������. + �������������� ��� ����� ������� ���������� ������.</para> + </callout> + + <callout arearefs="co-vx-fsa"> + <para>��� + <link xlink:href="http://www.freebsd.org/security/#adv">��������� + ������������ &os;</link>.</para> + </callout> + + <callout arearefs="co-vx-fpr"> + <para>��� + <link xlink:href="http://www.freebsd.org/support.html#gnats">��������� + �� ������ &os;</link>.</para> + </callout> + + <callout arearefs="co-vx-cve"> + <para>������������� + <link xlink:href="http://www.cve.mitre.org/">MITRE + CVE</link>.</para> + </callout> + + <callout arearefs="co-vx-bid"> + <para>��� + <link xlink:href="http://www.securityfocus.com/bid">SecurityFocus + Bug ID</link>.</para> + </callout> + + <callout arearefs="co-vx-cts"> + <para>��������� ������������ + <link xlink:href="http://www.cert.org/">US-CERT</link>.</para> + </callout> + + <callout arearefs="co-vx-ctv"> + <para>���������� � ���������� + <link xlink:href="http://www.cert.org/">US-CERT</link>.</para> + </callout> + + <callout arearefs="co-vx-ucs"> + <para>����������� ������� Cyber Security Alert + <link xlink:href="http://www.cert.org/">US-CERT</link>.</para> + </callout> + + <callout arearefs="co-vx-uct"> + <para>����������� ������� Technical Cyber Security Alert + <link xlink:href="http://www.cert.org/">US-CERT</link>.</para> + </callout> + + <callout arearefs="co-vx-mls"> + <para>URL � ��������� ��������� � ������ ��������. + ������� <literal>msgid</literal> �������� �������������� + � ����� ��������� �� message ID ���������.</para> + </callout> + + <callout arearefs="co-vx-url"> + <para>�������� URL. ������ ���� ����������� � ������, ���� + �� �������� �� ���� �� ��������� ���������.</para> + </callout> + + <callout arearefs="co-vx-dsc"> + <para>���� ���������� ��������� ����� ���������� ������ ������ + (<replaceable>YYYY-MM-DD</replaceable>). ����� ������ �� + ������ �������� ��� ����. ���� ������ ���� ��������� ����� + �������������� ������������ ������.</para> + </callout> + </calloutlist> + </sect2> + + <sect2 xml:id="security-notify-vuxml-testing"> + <title>������������ ����� ��������� � ���� ������ VuXML</title> + + <para>�����������, ��� �� ������ ��� �������� ��� ��������� ������ + �� ���������� � ������ <literal>clamav</literal>, ������� ���� + ���������� � ������ <literal>0.65_7</literal>.</para> + + <para>������ �����, ��� ����� <emphasis>����������</emphasis> + ��������� ������ ������ + <package role="port">ports-mgmt/portaudit</package>, + <package role="port">ports-mgmt/portaudit-db</package> � + <package role="port">security/vuxml</package>.</para> + + <note> + <para>��� ������� <command>packaudit</command> �� ������ �������� + ������� �� ������ � + <filename>DATABASEDIR</filename>; ��� �������, + ��� <filename>/var/db/portaudit</filename>.</para> + + <para>��� ������������� ������� �������� ��������� ���������� + ��������� <filename>DATABASEDIR</filename> + ������ ����.</para> + + <para>���� �� ��������� � ��������, �������� �� + <filename>${PORTSDIR}/security/vuxml</filename>, ��������� + ���������� ��������� + <filename>VUXMLDIR</filename> ���� � ��������, + � ������� ��������� <filename>vuln.xml</filename>.</para> + </note> + + <para>��-������, ���������, ��� �� ��� ������ �� ���� ����������. + ���� ����� ������ ����, ��� �����ģ� � ���������� ������� + ������ <literal>0.65_6</literal>:</para> + + <screen>&prompt.user; <userinput>packaudit</userinput> +&prompt.user; <userinput>portaudit clamav-0.65_6</userinput></screen> + + <para>���� ������ �� �������, ������ �� �������� ������� ���� ��� + ���������� ����� ������ ��� ���� ����������.</para> + + <screen>&prompt.user; <userinput>cd ${PORTSDIR}/security/vuxml</userinput> +&prompt.user; <userinput>make newentry</userinput></screen> + + <para>����� �� ���������, ��������� ��������� � ��������������.</para> + + <screen>&prompt.user; <userinput>make validate</userinput></screen> + + <note> + <para>��� ����������� ���������� �� ������� ���� ���� �� ��������� + �������: <package role="port">textproc/libxml2</package>, + <package role="port">textproc/jade</package>.</para> + </note> + + <para>������ ��������� �������������� ���� ������ + <command>portaudit</command> �� ����� VuXML:</para> + + <screen>&prompt.user; <userinput>packaudit</userinput></screen> + + <para>����� ���������, ��� ������ <literal><affected></literal> + � ����� ������ ��������� � ����������� ��������, ��������� + ��������� �������:</para> + + <screen>&prompt.user; <userinput>portaudit -f /usr/ports/INDEX -r uuid</userinput></screen> + + <note> + <para>��� ������� ��������� ���������� ���� ������� ����������� + � &man.portaudit.1;.</para> + </note> + + <para>���������, ��� ���� ������ �� ���������� ������ ���������� + � ������.</para> + + <para>������ ���������, ��������� �� ���� ������ � ������� �������� + ������:</para> + + <screen>&prompt.user; <userinput>portaudit clamav-0.65_6 clamav-0.65_7</userinput> +Affected package: clamav-0.65_6 (matched by clamav<0.65_7) +Type of problem: clamav remote denial-of-service. +Reference: <http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-0020ed76ef5a.html> + +1 problem(s) found.</screen> + + <para>������ ������ ������ ��������, � ��������� + ���.</para> + + <para>� ���������� ���������, ��� ���-��������, �������������� �� + ���� ������ VuXML, �������� ��� ��������:</para> + + <screen>&prompt.user; <userinput>mkdir -p ~/public_html/portaudit</userinput> +&prompt.user; <userinput>packaudit</userinput> +&prompt.user; <userinput>lynx ~/public_html/portaudit/74a9541d-5d6c-11d8-80e3-0020ed76ef5a.html</userinput></screen> + </sect2> + </sect1> + </chapter> + diff --git a/ru_RU.KOI8-R/books/porters-handbook/slow-porting/Makefile b/ru_RU.KOI8-R/books/porters-handbook/slow-porting/Makefile new file mode 100644 index 0000000000..dd65b3ac6c --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/slow-porting/Makefile @@ -0,0 +1,17 @@ +# +# Build the Porters Handbook with just the content from this chapter. +# +# $FreeBSD$ +# +# Original revision: r43840 +# + +CHAPTERS= slow-porting/chapter.xml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/ru_RU.KOI8-R/books/porters-handbook/slow-porting/chapter.xml b/ru_RU.KOI8-R/books/porters-handbook/slow-porting/chapter.xml new file mode 100644 index 0000000000..38bbeb8ea7 --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/slow-porting/chapter.xml @@ -0,0 +1,434 @@ +<?xml version="1.0" encoding="koi8-r"?> +<!-- + The FreeBSD Russian Documentation Project + + $FreeBSD$ + + Original revision: r43840 +--> + +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="slow-porting"> + + <title>��������� ������������</title> + + <para>����, ��� ��������� �� ��� �� � ������, � ���� ���������� + ��������� ����������� ��� ����, ����� ��������� ��� ��������. � ���� + ������� �� ���������, ��� �� �����, ��� ��� ��������������, ����� �� + ������� � ����� �������� ������.</para> + + <sect1 xml:id="slow-work"> + <title>��� �ӣ ��� ��������</title> + + <para>��-������, ����� ������������ ���� � ����� �������� � ������ + ������� <command>make</command>, ���������� ����� ������ �������. + �� ����� ������ ����� ������ ����� ��������� �������� ����� ���� + <filename>bsd.port.mk</filename> �������� � ������ ����, ��� ������ + ������� � �� ���������.</para> + + <para>�� �� ���������� ������, ���� �� �� �� ����� ���������, ��� + �������� � <filename>bsd.port.mk</filename>, �� ��� �� ����� ����� + ��� ��������... <!-- smiley --><emphasis>:-></emphasis></para> + + <procedure> + <step> + <para>����������� ���� <buildtarget>fetch</buildtarget>. ���� + <buildtarget>fetch</buildtarget> �������� �� ��, ��� ����� �������� + ������� ������� � ������� �������� � �������� + <varname>DISTDIR</varname>. ���� ���� + <buildtarget>fetch</buildtarget> �� ����� ����� ��������� ����� � + �������� <varname>DISTDIR</varname>, �� ��� ����� �������� �� + ��������� URL <varname>MASTER_SITES</varname>, ������� + ��������������� � Makefile, � ����� �� ����� FTP ��������, + ���� �� �� ����������� �������� �������������� ����� ��� ������. + ����� ��� ���������� �������� ��������� ���� � ������� + <varname>FETCH</varname>, �������, ��� ������������� ������ ����� + ������ ����������� � ��������. ���� ���� ��������� ������, �� + �� ����� ������� � ������� <varname>DISTDIR</varname> ��� + ������������ ������������� � ���������.</para> + </step> + + <step> + <para>����������� ���� <buildtarget>extract</buildtarget>. ��� ���� + �������������� ���� ����� (��� �������, tar-����� + <command>gzip</command>) � + �������� <varname>DISTDIR</varname> � ������������� ��� �� + ��������� �������, ���������� ���������� + <varname>WRKDIR</varname> (�� ��������� + <filename>work</filename>).</para> + </step> + + <step> + <para>����������� ���� <buildtarget>patch</buildtarget>. ��-������, + ����������� ��� �����, �������� ���������� + <varname>PATCHFILES</varname>. ��-������, ���� �����-���� ����� � + �������, ������� ����� + <filename>patch-*</filename>, ������� � + ����������� <varname>PATCHDIR</varname> (�� ��������� ��� ������� + <filename>files</filename>), �� ��� ����������� � ���� ������ � + ���������� �������.</para> + </step> + + <step> + <para>����������� ���� <buildtarget>configure</buildtarget>. ����� + ����� ����������� ����� �� ������ ��������� �����.</para> + + <orderedlist> + <listitem> + <para>���� ���������� ������ + <filename>scripts/configure</filename>, �� �� �����������. + </para> + </listitem> + + <listitem> + <para>���� ������ ���������� <varname>HAS_CONFIGURE</varname> + ��� <varname>GNU_CONFIGURE</varname>, �� ����������� ������ + <filename>WRKSRC/configure</filename>. + </para> + </listitem> + </orderedlist> + </step> + + <step> + <para>����������� ���� <buildtarget>build</buildtarget>. ��� + �������� �� ������� � ����������� ������� ������� ����� + (<varname>WRKSRC</varname>) � ��� ����������.</para> + </step> + + <step> + <para>����������� ���� <buildtarget>stage</buildtarget>. + �������� ����� ����������� ������ ���������� �� ��������� + ������� (<varname>STAGEDIR</varname>, �������� + <xref linkend="staging"/>). �������� ����� + �������� �������� �������� ��������� �������, � ������� + ������ ����� ����� ���������������.</para> + </step> + + <step> + <para>����������� ���� <buildtarget>install</buildtarget>. + � ������� ���������� �����, ������������� � pkg-plist + �����.</para> + </step> + </procedure> + + <para>���� ����������� ����������� ��������. ����� ����, �� ���� + ������ ���������� ���� + <buildtarget>pre-<replaceable>���-��</replaceable></buildtarget> ��� + <buildtarget>post-<replaceable>���-��</replaceable></buildtarget>, + ��� ������� ������� � ������ ������� � ����������� + <filename>scripts</filename>, � ��� ����� �������� �� ��� ����� + ���������� �������� �� ���������.</para> + + <para>��������, ���� � ��� ���� ���� + <buildtarget>post-extract</buildtarget>, ������̣���� � ����� ����� + <filename>Makefile</filename> � ���� <filename>pre-build</filename> � + ����������� + <filename>scripts</filename>, �� ����� ���������� ������� �������� �� + ����������, ����� ������� ���� <buildtarget>post-extract</buildtarget> + � ������ <filename>pre-build</filename> ����� �������� ����� + �������� ����������� ������ ����������. ������������� ������������ + ���� �� <filename>Makefile</filename>, ���� �������� ���������� + ������, ������ ��� � ���������� ����� ����� ����������, ����� + ������������� �������� ������� ����.</para> + + <para>�������� �� ��������� ����������� ������ + <buildtarget>do-<replaceable>���-��</replaceable></buildtarget> �� + <filename>bsd.port.mk</filename>. ��������, ������� ��� + ���������� ����� ��������� � ���� + <buildtarget>do-extract</buildtarget>. ���� ��� �� ������� ���� �� + ���������, �� ������ �� ���������, ������������� ���� + <buildtarget>do-<replaceable>something</replaceable></buildtarget> + � ����� ����� <filename>Makefile</filename>.</para> + + <note> + <para><quote>��������</quote> ���� (� �������, + <buildtarget>extract</buildtarget>, <buildtarget>configure</buildtarget> + � ��� �����) �� ������ ������ ������, + ��� ��������� ���������� ���������� ���� ���������� ����� � + �������� ��������� ���� ��� �������, � �� �� ����� ������. ���� + ��� ����� �������� ����������, ����������� + <buildtarget>do-extract</buildtarget>, �� ������� �� ������� ������ + ������ <buildtarget>extract</buildtarget>! ����� ����, ���� + <buildtarget>post-deinstall</buildtarget> �������� ���������������� + � �� ����������� ��������������� ������.</para> + </note> + + <para>������, ����� �� �������������, ��� ����������, ����� + ������������ �������� ������� <command>make install</command>, + ������� ��������� + ����� ����, ������������� ��� �������� ���������� �����.</para> + </sect1> + + <sect1 xml:id="slow-sources"> + <title>��������� ��������� ����</title> + + <para>�������� ������������ �������� ������ (������) � ���� + ������������ tar-������ + (<filename>foo.tar.gz</filename> ��� + <filename>foo.tar.bz2</filename>) + � ���������� ��� � ������� <varname>DISTDIR</varname>. ������ + ����������� �������� ������ <emphasis>�������� ����� + ����������</emphasis> �����, ��� ��� ��������.</para> + + <para>��� ����������� ������ �������� ���������� + <varname>MASTER_SITES</varname> ���, ����� ��� ��������� �� + �������������� ������������� tar-������. � ����� + <filename>bsd.sites.mk</filename> �� ���ģ�� ������� ����������� + ��� ����������� ���������� ������. ����������, ����������� ��� + �����—� ��������������� �����������—�����, ��� ��� + ��������, ����� �������� ������� ���������� ����� � ��� �� ���������� + � ���� ����������. ��� ��� ��� ����� �� �������� ��������, ��� + ���� ���������� ��������� ���������� ��������� ��������.</para> + + <para>���� �� �� ������ ����� FTP/HTTP ���� � ������� ������������ � + ����, ��� �������� ������ �����, ������� ����� ����������� + ������������� �������, �� ������ �������� ��������� ����� �� �������� + ������ FTP ��� HTTP, ������� ��� �������� (��������, ���� �������� + ��������).</para> + + <para>���� �� �� ������ ����� ���������� � ��ģ����� ����� ��� + ��������� ��������������� �����, �� �� ���� ������ ���������� ��� �� + ������� <systemitem>ftp.FreeBSD.org</systemitem>; ������ ��� �������� + ������������� �������. �������������� ���� ������ + ���� ����ݣ� � ������� <filename>~/public_distfiles/</filename> + ������ �� ������������� ������ <systemitem>freefall</systemitem>. ��������� + ����, ��� ��������� ��� ����, ������� ���. ���� ������� ����� ������ + ���������� <varname>MASTER_SITES</varname> �������� + <varname>MASTER_SITE_LOCAL</varname>, � � ���������� + <varname>MASTER_SITE_SUBDIR</varname> ������ ��ϣ ��� ������������ + � ������ <systemitem>freefall</systemitem>.</para> + + <para>���� �������������� ����� ������ ����� ��������� �������� �� + ����������� �������� ��� ��������� ������ �� ������� ������, �������� + ������ ��������� ����������� �� ���� �������� Web-�������� � ������� + ţ ������ � ������ <varname>MASTER_SITES</varname>. ���� ������, + ����������� ������������ � ������� ����� �� ����; ��� ������������� + �������� � ���������� ���������� ���������� �������� �����. + ���������� ����������� ������ ������� �������� ��������� ������ � + ������������� ���� <errorname>checksum mismatch</errorname>, � + ����� �������� �������� �� �����, �������������� ��� FTP-������. + �����, ���� � ����� ������� ������ ���� �������� ������, �� + ������������� ��������� �������� ����� �� ���� ���� � ������� ��� � + ������ <varname>MASTER_SITES</varname> ������.</para> + + <para>���� ������ ����� ��������� �������������� `�����', ��������� + � ��������, �������� ����� � ��, �������� � ������� + <varname>DISTDIR</varname>. �� ����������, ���� ��� ��������� �� + �� ��� �� �����, ������ ���� �������������� �����, �� ����� + ������������ ����� �������� (�������� �������� <link linkend="porting-patchfiles">PATCHFILES</link> ����).</para> + </sect1> + + <sect1 xml:id="slow-modifying"> + <title>����������� �����</title> + + <para>���������� ����� ��������������� ����� � ��������� ������� � + ������� ���������, ������� ���������� ��� ����, ����� ���� + �������������� ��������� � ������� ������ &os;. + <emphasis>��������� ������������</emphasis> ���, ��� �� �������, + ���� ������� ��� ��������� ����������������. ���, ������� ��������, + ���������� ��� ����������� � ������ ������ ����� ����������� + ������������� � ������� �������� ��� ������ ������, ����� �� + ��������� ������ ��� ������.</para> + + <para>���� ������ ����� �� ����� ����������, ��������� � ��������� + ��������� �������� ����� ����������������� � �������������, �� + ���������� �� ���� �� ������������ �������� + <application>Configure</application> ����� ����� (Larry Wall) � + �������� ���� ���-���� ��������. �������������� ����� ��������� + ������ - ��� ������� ������ ���������� � ����� + <quote>plug-and-play</quote> ���������, ��������� ��� ������ �������� + ��� ��������� ������������ ��� ����������� ������������� ��������� + ������������.</para> + + <note> + <para>���� ���� �� ������� ��������, �� �����, ������� � ������ + �����, ������� �� ������� � ������������ ��� ��������� ������ + &os;, ������ ��������� ��� ����������� ������� �������� + BSD.</para> + </note> + </sect1> + + <sect1 xml:id="slow-patch"> + <title>�������� ������</title> + + <para>�����, ������� ����������� ��� ���������� � �������� �������� + �����, ����� ���� �������� ���������� &man.diff.1;, + � ��������� ������ ���� ��������� ����� ���� � ���������� ������� + ��������� &man.patch.1;. ����� �������� � ������� ������ + ������������� ���������� ����� ����� � �������������� ���������� + ����� ��������� �����-���� ���������.</para> + + <screen>&prompt.user; <userinput>cp <replaceable>file</replaceable> <replaceable>file</replaceable>.orig</userinput></screen> + + <para>����� ����������� � ���� ������ � ������ + <filename>patch-*</filename>, ��� + <replaceable>*</replaceable> ���������� ���� � �����, + � �������� ����������� ����, ����� ��� + <filename>patch-Imakefile</filename> ��� + <filename>patch-src-config.h</filename>.</para> + + <para>����� ���� ��� ���� ��� ����Σ�, ������������ &man.diff.1; + ��� ��������� ������� ����� �������������� � ����Σ���� + ��������. �������� <option>-u</option> ��������� &man.diff.1; + �������� ������� � <quote>���������������</quote> �������, + ������� ����� �������� ����������������.</para> + + <screen>&prompt.user; <userinput>diff -u <replaceable>file</replaceable>.orig <replaceable>file</replaceable> > patch-<replaceable>pathname-file</replaceable></userinput></screen> + + <para>��� ���������� ������ ��� ����� ����������� ������ + ������������ �������� <option>-N</option>, ������� ���������� + &man.diff.1; ���������� �������������� ������ ����� ��� ���� + �� ��� ������������, �� ����� ������ ����������:</para> + + <screen>&prompt.user; <userinput>diff -u -N <replaceable>newfile</replaceable>.orig <replaceable>newfile</replaceable> > patch-<replaceable>pathname-newfile</replaceable></userinput></screen> + + <para>����� � ������� ���������� � + �������� <varname>PATCHDIR</varname> + (��� �������, ��� <filename class="directory">files/</filename>), + ������ ��� ����� ����� �������������. ��� ����� ������� ���� ������� + ������������ �������� <varname>WRKSRC</varname> (��� �������, + ��� �������, � ������� ��������������� �������� ����� � ��� ����� + ����������� ����������). ��� ��������� �������� ��������� � + ���������� ��������� ������� ����� ��� ������ ����� ��� + ������ � ���� �� ����� (��������, ������ + <filename>patch-file</filename> � <filename>patch-file2</filename>, + ��� �������� ���� <filename>WRKSRC/foobar.c</filename>). + �������� ��������, ��� ���� ���� � ����������� ����� �������� ������ + ������������� (<literal>_</literal>), �� ���� ������ ��������� � ����� + ����� ��� ������������� ������ ������. ��������, ��� ���������� ����� + �� ���� � ������ <filename>src/freeglut_joystick.c</filename> + ��������������� ���� ������� ������� + <filename>patch-src-freeglut__joystick.c</filename>.</para> + + <para>����������, ����������� ��� ���������� ������ ������ ������� + <literal>[-+._a-zA-Z0-9]</literal>. �� ����������� ����� ������ + �������, ����� ����. �� ��������� ����� ��� + <filename>patch-aa</filename> ��� <filename>patch-ab</filename>, + ������ ���������� �� ���� � �������� ����� � ��������� ����� + ������.</para> + + <para>���������� �������������� ����ݣ���� ������ �������� + ������ ��� ������������ ������. ������ ���� �� �� �����: + �������� ����� ������Σ����� ����� � ����������� + <filename>.orig</filename> � �������� ���������. ����� ����� + ����������� <command>make makepatch</command>, ����� �������� + ����� � ������� � �������� <filename>files</filename> ������� + �����.</para> + + <para>�� ��������� ������ RCS � �����. + <application>Subversion</application> ����� �������� �� ��� + ��������� ������ � ������ ������, � ����� �� ����� �� ������ + ���������, ��� ����� ��� ������, ������� ���������� ������ + ��������� ��������. ������� RCS ������������ ������ ������� + (<literal>$</literal>), � ������ ���������� � + <literal>$Id</literal> ��� + <literal>$RCS</literal>.</para> + + <para>������������� ��������� �������� (<option>-r</option>) � �������� + &man.diff.1; ��� ��������� ������ - ��� ������, �� �ӣ ��, + ����������, �������� �� ������������ �����, ����� ��������� � + ���������� ��������� ������. � ���������, diff-������ ����� ����� + ���������� ������� ������, ����� <filename>Makefile</filename>, ����� + ��� ���� ���������� <command>Imake</command> ��� + GNU-������ ��������� <command>configure</command>, � ��� �����, + �� �����, � ������ ���� �������. ���� ���� ���������� + ��������������� ���� <filename>configure.in</filename> � + ��������� <command>autoconf</command> ��� ������������� + <command>configure</command>, �� ����� �������� ����� diff ��� + <command>configure</command> (��� ��������� ��������� �� ���������� + ����� �����!). ������ ����� ������� + <literal>USE_AUTOTOOLS=autoconf:261</literal> � + �������� diff-���� ��� <filename>configure.in</filename>.</para> + + <para>���������� �������������� � ������ ��ߣ� + ���������������� ��������� � ������� ���������. � ���� ��������� + ��������� ���� �������� ���������������� ���������� ������������� + ��������� ������� ������� ������� ����, �� � ���������� ������� + � ��������� ��������. ��� ����������� ���������� �������������� + ����� �� ������ ������� ��� ����������� ������� ������� � ������, + ������ ���������, ����������: ���������� ������������ ���� + ����� ��������� ����� ���������������� ���������. ��� �� ������ + ����������� ������ ����������� <application>Subversion</application>, + �� ����� ��������� ����� ����, + ��� ��������� ������� �������� � ��� ������ ����������.</para> + + <para>���� ����� ������� ����, �������� ��� ��� ���������� ���� + <buildtarget>post-extract</buildtarget>, ������ ���� ����� + ��������� ��� ��� ����� �����.</para> + + <para>������� ����������� ����� ���� ��������� ��������������� �� + <filename>Makefile</filename> ����� � �������������� &man.sed.1; � + ������ in-place. ��� ������, ����� ��� ��������� ������������ + �������� ����������:</para> + + <programlisting>post-patch: + @${REINPLACE_CMD} -e 's|for Linux|for FreeBSD|g' ${WRKSRC}/README</programlisting> + + <para>�������� ����� � �������� ������ ������������ ������������ + ����������� ������������ ��������� CR/LF. ��� ����� ����� + �������� ������� � ���������� ���������, ���������������� + ����������� ��� ����������� �������� (����� ��� + <literal>/bin/sh^M not found</literal>). ��� �������� + �������������� ���� ������ �� CR/LF ������ � LF �������� + � <filename>Makefile</filename> ����� ��� ������:</para> + + <programlisting>USES= dos2unix</programlisting> + + <para>����� ���� ����� ������ ������ ������������� ������:</para> + + <programlisting>USES= dos2unix +DOS2UNIX_FILES= util.c util.h</programlisting> + + <para>����������� <varname>DOS2UNIX_REGEX</varname>, ����� + ������������� ������ ������ � ������ ������������. + ��� ���������� �������� ���������� ���������, ����������� � + &man.find.1;. ��������� � ������� � &man.re.format.7;. + ����� ������� ������ ��� �������������� ���� ������ ��������� + ����������. ��� �������, ����������� ��� �������� �����, + �� ���������� �������� �����:</para> + + <programlisting>USES= dos2unix +DOS2UNIX_REGEX= .*\.([ch]|cpp)</programlisting> + + <para>������ ��������� �������� ������������� + <varname>DOS2UNIX_GLOB</varname>, ������� �������� + <command>find</command> ��� ������� �� ������������� � Σ� + ���������.</para> + + <programlisting>USES= dos2unix +DOS2UNIX_GLOB= *.c *.cpp *.h</programlisting> + </sect1> + + <sect1 xml:id="slow-configure"> + <title>����������������</title> + + <para>��������� ��� �������������� �������, ��������� ��� ���������, + � ��� ������ <filename>configure</filename> � ��������� ��� � + ����������� <filename>scripts</filename>. ��� �������� ����, �� + ������ ������� ��� ������ � ����� <filename>Makefile</filename> + �/��� ��������� � ������� <filename>pre-configure</filename> ��� + <filename>post-configure</filename>.</para> + </sect1> + + <sect1 xml:id="slow-user-input"> + <title>��������� ����������������� �����</title> + + <para>���� ��� ����������, ������������ ��� ��������� ������ ����� + ��������� ��������� ���� �� ������� ������������, �� �� ������ ������ + ���������� <varname>IS_INTERACTIVE</varname> � ����� ����� + <filename>Makefile</filename>. � ������ <quote>������� + ����������</quote> ��� �������� ���������� + ��� ����, ���� ������������ � ����� ��������� ����� ���������� + <envar>BATCH</envar> (� ���� ������������ ��������� ���������� + <envar>INTERACTIVE</envar>, �� ����� ��������� + <emphasis>������</emphasis> �����, ������� ������� �������������� + � �������������. ��� ��������� ������������ ���������� ������� �� + ����� �����, ������� ��������� ������ ����� (�������� ����).</para> + + <para>��� ������� �������� ������� �� ���������� �������, ���������� �� + ���������, ����� ������������� ��������� ���������� + <varname>PACKAGE_BUILDING</varname> � ��������� ������������� ������, + ���� �� ����. ��� �������� ��� ������� ������ ��� ��������� �� + �������-����� � FTP-�������.</para> + </sect1> + </chapter> + diff --git a/ru_RU.KOI8-R/books/porters-handbook/special/Makefile b/ru_RU.KOI8-R/books/porters-handbook/special/Makefile new file mode 100644 index 0000000000..407ee7aca2 --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/special/Makefile @@ -0,0 +1,17 @@ +# +# Build the Porters Handbook with just the content from this chapter. +# +# $FreeBSD$ +# +# Original revision: r43840 +# + +CHAPTERS= special/chapter.xml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/ru_RU.KOI8-R/books/porters-handbook/special/chapter.xml b/ru_RU.KOI8-R/books/porters-handbook/special/chapter.xml new file mode 100644 index 0000000000..5e1ce3a36f --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/special/chapter.xml @@ -0,0 +1,5060 @@ +<?xml version="1.0" encoding="koi8-r"?> +<!-- + The FreeBSD Russian Documentation Project + + $FreeBSD$ + + Original revision: r43840 +--> + +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="special"> + + <title>������ ����������</title> + + <para>������� �ݣ ��������� �����, ������� �� ������ ����� � ���� ��� + �������� �����. ���� ������ ��������� �������� ����� ������������� �� + ���.</para> + + <sect1 xml:id="staging"> + <title>Staging</title> + + <para><filename>bsd.port.mk</filename> ������� �� ������ ������ + � <quote>��������� ������</quote>. ��� ��������, ��� ���� + ������ ������������� ����� �� �������� � ����������� �������� + (�� ����, ��������, ��� <varname>PREFIX</varname>), � � + ��������� �������, �� �������� ����� ���������� �����. + �� ������ ������� ���������� root ��� ����� �� ���������, + ��� ������ ��������� ������ ������� ��-��� �������������������� + ������������. � ������ staging ���� ���������� � ��������������� + � ������� ������ <varname>STAGEDIR</varname>. ����� ��������� + �� �������� ������ � ����� ��������������� � �������. + � �������������� automake ����� ��������� ��������� + <varname>DESTDIR</varname>; � ������, � &os; + <varname>DESTDIR</varname> ����� ����������� �������� + (�������� <xref linkend="porting-prefix"/>).</para> + + <para>���� ��� ����� �ӣ �ݣ ��������� ��������� ���������� ��� + ���������� ���� <buildtarget>package</buildtarget>, �� � + <filename>Makefile</filename> ������ ���� ��������� ��������� + ������:</para> + + <programlisting>NEED_ROOT= yes</programlisting> + + <para>���������, �� ���� �����, ������� �� ������������� ����� + ���������������, � ������ ������� �� ������ ������, ������ + �� ����������� �������� ���������� &man.mtree.8; � ������� + ������. ��� �������� �������� ��������� ������, � ��� ������ + �������� ����� ��������� �������. ��� �������������� + ���������� &man.mtree.8; �������� ��� ������:</para> + + <programlisting>NO_MTREE= yes</programlisting> + + <para>Staging ������������� ����������� ���������� ���������� + <varname>STAGEDIR</varname> ����� �� �����, ������� ������������ + � ����� <buildtarget>pre-install</buildtarget>, + <buildtarget>do-install</buildtarget> � + <buildtarget>post-install</buildtarget> (�������� ������� + � �����). ������ ���� ��������� + <varname>PREFIX</varname>, <varname>ETCDIR</varname>, + <varname>DATADIR</varname>, <varname>EXAMPLESDIR</varname>, + <varname>MANPREFIX</varname>, <varname>DOCSDIR</varname> � + ��� �����. �������� ������ ����������� ��� ���������� ���� + <buildtarget>post-install</buildtarget>. ��������� + ������������� ���������� �����, ����� ��� ��������.</para> + + <para>��� �������� ������������� ������ <varname>STAGEDIR</varname> + ������ ��������� ������ ��� ���� ����������. ��������:</para> + + <programlisting>${LN} -sf libfoo.so.42 ${STAGEDIR}${PREFIX}/lib/libfoo.so</programlisting> + + <para>�������������� ���� + <filename>${PREFIX}/lib/libfoo.so.42</filename> �������� + ���������, �� �� ����� ����� ���� ������������. ���������� + ���� ����� ��������� �� ������������ �����, ��������, ����� + ���̣���� �������� ������� ������������ �� + <acronym>NFS</acronym> ��� ������������������� ����� + ������������. ������������� ���� ���� ���������� ��������� + � ����� ������� ������.</para> + + <para>�����, ��������������� ������ ����, ������ ���������� ���� + ��������� (�� ��������� <filename>/boot/modules</filename>) + ���������� <varname>STAGEDIR</varname>.</para> + </sect1> + + <sect1 xml:id="porting-shlibs"> + <title>������������ ����������</title> + + <para>���� ��� ���� ������������� ���� ��� ��������� ������������ + ���������, ���������� ���������� <varname>USE_LDCONFIG</varname>, + ������� �����ģ� � ������� �� <filename>bsd.port.mk</filename> ������� + <literal>${LDCONFIG} -m</literal> ������������ ��������, � + ������� ��������������� ����� ���������� (��� �������, ��� + <filename>PREFIX/lib</filename>), �� ����� + ���������� ���� <buildtarget>post-install</buildtarget> ��� ţ + ����������� � ���� ������������ ���������. ��� ����������, ���� ��� + ����������, ����� �����ģ� � ���������� ��������������� ���� ������ + <literal>@exec /sbin/ldconfig -m</literal> � + <literal>@unexec /sbin/ldconfig -R</literal> � ��� ���� + <filename>pkg-plist</filename>, ��� ��� ������������, ��������������� + �����, ������ ����� �� ������������ ������������ ����������, � + �������� ������ �� �����ģ� � ����, ��� ������� ����� ������������, + ��� ���������� �ӣ �ݣ ������� � �������.</para> + + <programlisting>USE_LDCONFIG= yes</programlisting> + + <para>���� �����, �� ������ �������������� ������� �� ���������, + ����� �������� + <varname>USE_LDCONFIG</varname>, � ������� ������ ���� ����������� + ��������, � ������� ��������������� ������������ ����������. ��������, + ���� ��� ���� ������������� ������������ ���������� � �������� + <filename>PREFIX/lib/foo</filename> � + <filename>PREFIX/lib/bar</filename>, �� �� ������ � + ����� <filename>Makefile</filename> ������� ���������:</para> + + <programlisting>USE_LDCONFIG= ${PREFIX}/lib/foo ${PREFIX}/lib/bar</programlisting> + + <para>������ + ����� �������������, �.�. ����� ��� ����� �� �������� ����������� + � ����� ���� ������ ����� � ������� <literal>-rpath</literal> + ��� ��������� <envar>LD_RUN_PATH</envar> �� ����� ���������� (��� + ������� �������� <package role="port">lang/moscow_ml</package>), + ��� � ������� ��������-�£����, ������� ���������� + <varname>LD_LIBRARY_PATH</varname> ����� �������� ������������ ����� + ��� ��� ������ <package role="port">www/seamonkey</package>.</para> + + <para>��� ��������� 32-��������� ��������� �� 64-��������� ������� + ����������� ������ ����� <varname>USE_LDCONFIG32</varname>.</para> + + <para>������������ ��������� ������ ������ ������������ ��������� + � ������� <filename>libfoo.so.0</filename>. ��� ����������� + ����������� ������ � ������� (������) ������.</para> + + <para>���� ��� ���������� ����� ������������� ������� ����� ������ + ����������, �� ��� ���� ������, ����������� � ���������� �����������, + ������� ��������� �������� <varname>PORTREVISION</varname> ��� + ������������ �������������� � ����� ������� ����������.</para> + + </sect1> + + <sect1 xml:id="porting-restrictions"> + <title>����� � ������������� �� ��������������� ��� � + �������� ������������</title> + + <para>�������� ������ ������ �����, � ��������� ����������� ����������� + �� ��, ��� ���������� ����� ���� ��������� � ���� ������, ����� �� + ��� ����������� ��� ���������� ������������ ������, � ��� �����.</para> + + <important> + <para>�� ���, ��� �� ��������, ������������ ����������, ������� + ����������� �������� ������������ ���������� �� ����������� + ����������� � ��������������, ��� ������ &os; �� ����� �������� + �� �����������, ���� ����� ���������� ���������������� ��������� + ���� ��� � �������� ���� �� FTP/HTTP ��� �� CD-ROM. ���� + � ��� �������� ��������, ��, ����������, ���������� � + &a.ports;.</para> + </important> + + <para>� �������� ��������� ����� ������������ ����������, ����������� � + ����������� ��������.</para> + + <sect2> + <title><varname>NO_PACKAGE</varname></title> + + <para>��� ���������� ���������, ��� �� �� ����� ��������� ��� + ���������� �������� �����. � �������, �������� �� ��������� + �������� ��������������� ��� ��� ����� ��������� ��������������� + �������, ��������� �� ����Σ���� ����������.</para> + + <para>������ ����� <varname>DISTFILES</varname> ����� �������� + ��������������� �� FTP/HTTP. ��� ����� ����� ����������������, + ��������� CD-ROM (��� �� ������� ���������), ���� �� ����������� + ���������� <varname>NO_CDROM</varname>.</para> + + <para><varname>NO_PACKAGE</varname> ������ ����� ��������������, ���� + �������� �����, ��� �������, ����������, � ���������� ������ ������ + ��������������� �� ��������� ����. � �������, ���� � ���������� + �� ����� ���������� ֣���� ���������� ���������������� ����������, + ����������� � ���������� �������, �� ������� ���������� + <varname>NO_PACKAGE</varname>.</para> + + <para>��������� ���������� <varname>NO_PACKAGE</varname> ������ ���� + ������, ����������� �������, �� ������� ����� �� ������ + �����������.</para> + </sect2> + + <sect2> + <title><varname>NO_CDROM</varname></title> + + <para>��� ���������� ��������� �� ��, ���, ���� �� ����� ����� + ��������� �������� ������, �� �� ����� �������� ��� ������ ��� + ����� <varname>DISTFILES</varname> ����� �� CD-ROM (��� �� ������� ��������) ��� + �����������. ������ �������� ������ � ����� + <varname>DISTFILES</varname> ����� ����� ���������� + ���������� ����������� FTP/HTTP.</para> + + <para>���� ��� ���������� ��������������� ������ � + <varname>NO_PACKAGE</varname>, �� ������ ����� ����� + <varname>DISTFILES</varname> ����� ��������, � ������ ����������� + FTP/HTTP.</para> + + <para>� �������� �������� <varname>NO_CDROM</varname> ������ + ����������� ������, ����������� �������, �� ������� ���� �� ����� + ���������������� �� CD-ROM. � �������, ��� �����������, ���� + ������������ ���������� ���������� ������������ ������ ��� + <quote>��������������</quote> �������������.</para> + </sect2> + + <sect2> + <title><varname>NOFETCHFILES</varname></title> + + <para>�����, ������������ � ���������� <varname>NOFETCHFILES</varname>, + �� ����� ����������� �� �� ������ �� <varname>MASTER_SITES</varname>. + �������� ������ ����� �������� ����, ������������ �� CD-ROM.</para> + + <para>�����������, ����������� ����������� ���� ������ �� + <varname>MASTER_SITES</varname>, ������ ������������ ��� ����� � + �� �������� � ���.</para> + </sect2> + + <sect2> + <title><varname>RESTRICTED</varname></title> + + <para>������� ��� ����������, ���� �������� �� ���������� �� ��������� + �� ������������� ����� <varname>DISTFILES</varname>, �� �������������� + �������� ����� ����� FTP/HTTP ��� �� CD-ROM.</para> + + <para>�� <varname>NO_CDROM</varname>, �� <varname>NO_PACKAGE</varname> + �� ����� ������������� ������ � <varname>RESTRICTED</varname>, ��� + ��� ��������� ���������� ������������� ������ ���.</para> + + <para>� �������� �������� <varname>RESTRICTED</varname> ������ + ����������� ������, ����������� �������, �� ������� ���� ������ + ��������������. ������ ��� ��������, ��� ���� ���������� �������� + ����������� �����������, � ������������ ������ ������� �������� ����� + <varname>DISTFILES</varname>, ��������, ����� ���������� + ��������������� ����� ��� ������������� ���������� � ��������� + <acronym>EULA</acronym>.</para> + </sect2> + + <sect2> + <title><varname>RESTRICTED_FILES</varname></title> + + <para>���� ������ <varname>RESTRICTED</varname> ��� + <varname>NO_CDROM</varname>, �� �������� ���� ���������� �� ��������� + ������������� <literal>${DISTFILES} ${PATCHFILES}</literal>, � + ��������� ������ ��� �����. ���� ���������� � ��������������� ���� + ��������� �� �������������� ������, �� � ���� ���������� �������� �� + ������.</para> + </sect2> + + <sect2> + <title><varname>LEGAL_TEXT</varname></title> + + <para>���� ���� ����� �������� �����������, ������� �� + ����������� �������������� ���� �����������, �� ���������� + <varname>LEGAL_TEXT</varname> ������� ��������� ������ � + ��������� ������� �����������. ��������, ���� ���� �������� + ������ ���������� ��� &os; �� ��������������� ��������� + �����, �� ��� ���������� ������ ��������� ��������������� + ��������.</para> + </sect2> + + <sect2> + <title><filename>/usr/ports/LEGAL</filename> � + <varname>LEGAL</varname></title> + + <para>����, ���������� ����� �� ������������� ���� ����������, + ����� ������ ���� �������� � <filename>/usr/ports/LEGAL</filename>. + ������ ������� �������� ������ ���������� � ��������������� + �������, �������� ����������� �� ���������������. ������ + ������� �������� ������ �����. ������ ������� �������� + ����� <command>make -VLEGAL</command>.</para> + </sect2> + + <sect2> + <title>������� �������������</title> + + <para>���������������� �������� ���������� ����������� "������ + �������� ������� ��� ����� ����� ������ ����������� ��������������" + �������� ���������:</para> + + <programlisting>.if !exists(${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}) +IGNORE= may not be redistributed because of licensing reasons. Please visit <replaceable>some-website</replaceable> to accept their license and download ${DISTFILES} into ${DISTDIR} +.endif</programlisting> + + <para>��� ������������ � ����������� ������������, � ������������� + ������ ���������� �� ���������������� ������ ��� ������������� + ��������������� �����������.</para> + + <para>�������� ��������, ��� ������ ������ ������ �������������� + ����������� ����� <filename>bsd.port.pre.mk</filename>.</para> + </sect2> + </sect1> + + <sect1 xml:id="building"> + <title>��������� ����������</title> + + <sect2 xml:id="parallel-builds"> + <title>������������ ���������� ������</title> + + <para>�������������� ������ &os; ������������ ������������ + ���������� � �������������� ������������� ������������ + <command>make</command>, ��� ��������� �������� + <acronym>SMP</acronym> ������������� ��� ��������� �������� + <acronym>CPU</acronym>, ��� ����� ����� ���������� ������ ����� + ������� � �����������.</para> + + <para>��� ����������� ��ԣ� �������� ����� <varname>-jX</varname> + ������� &man.make.1;. ����� ���������� ������ �������� + ���������� �� ���������. � ���������, �� ��� ����� ������������ + ������������ ������ ���������� ������, � ������� ����� + ������������� ��������� ���� �������� ����� ������� ��ԣ� + ���������� ���������� <literal>MAKE_JOBS_UNSAFE=yes</literal>. + ��� ���������� ������������ � ������, ����� ��������, ��� ���� + �������� � <varname>-jX</varname>.</para> + </sect2> + + <sect2 xml:id="using-make"> + <title><command>make</command>, <command>gmake</command> � + <command>imake</command></title> + + <para>���� ��� ���� ���������� <application>GNU make</application>, + �� ���������� <literal>USES= gmake</literal>.</para> + + <table frame="none"> + <title>���������� ��� ������, ������������ + <application>gmake</application></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>����������</entry> + + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>USES= gmake</varname></entry> + + <entry>��� ������ ����� ��������� + <command>gmake</command>.</entry> + </row> + + <row> + <entry><varname>GMAKE</varname></entry> + + <entry>������ ���� � ������� <command>gmake</command>, ���� + ����������� � <envar>PATH</envar>.</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>���� ��� ���� �������� ����������� X, ������� ������� ����� + <filename>Makefile</filename> �� <filename>Imakefile</filename>, + ��������� <application>imake</application>, �� ���������� + <literal>USES= imake</literal>. ��� �������� ������ + ���������������� ������������� ��������� <command>xmkmf -a</command>. + ���� ���� <option>-a</option> ������������ ��� ������ ����� + ��������, �� ���������� <literal>XMKMF=xmkmf</literal>. ���� + ���� ���������� <application>imake</application>, �� �� �������� + ���� <buildtarget>install.man</buildtarget>, �� ������� ���������� + <literal>NO_INSTALL_MANPAGES=yes</literal>.</para> + + <para>���� �������� <filename>Makefile</filename> ������ ����� + ����� ���-������ ������ <buildtarget>all</buildtarget> � �������� + �������� ���� ����������, �� ������� ��������������� �������� + <varname>ALL_TARGET</varname>. �� �� �������� + <buildtarget>install</buildtarget> � + <varname>INSTALL_TARGET</varname>.</para> + + </sect2> + + <sect2 xml:id="using-configure"> + <title>�������� <command>configure</command></title> + + <para>���� ��� ���� ���������� �������� <command>configure</command> + ��� ��������� ������ <filename>Makefile</filename> �� ������ + <filename>Makefile.in</filename>, �� ���������� + <literal>GNU_CONFIGURE=yes</literal>. ���� �� ������ ���� + �������������� ��������� �������� <command>configure</command> + (���������� �� ��������� �������� <literal>--prefix=${PREFIX} + --infodir=${PREFIX}/${INFO_PATH} + --mandir=${MANPREFIX}/man + --build=${CONFIGURE_TARGET}</literal>), ���������� ��� ��������� + � <varname>CONFIGURE_ARGS</varname>. �������������� ���������� + ��������� ����� ��������, ��������� ���������� + <varname>CONFIGURE_ENV</varname>.</para> + + <table frame="none"> + <title>���������� ��� ������, ������������ + <command>configure</command></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>����������</entry> + + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>GNU_CONFIGURE</varname></entry> + + <entry>���� ���������� �������� <command>configure</command> + ��� ���������� ����������.</entry> + </row> + + <row> + <entry><varname>HAS_CONFIGURE</varname></entry> + + <entry>�� ��, ��� � <varname>GNU_CONFIGURE</varname>, ����� + ����, ��� ���� configure �� ��������� �� ����������� � + <varname>CONFIGURE_ARGS</varname>.</entry> + </row> + + <row> + <entry><varname>CONFIGURE_ARGS</varname></entry> + + <entry>�������������� ���������, ������������ �������� + <command>configure</command>.</entry> + </row> + + <row> + <entry><varname>CONFIGURE_ENV</varname></entry> + + <entry>�������������� ���������� ���������, ���������� ��� + ������� �������� <command>configure</command>.</entry> + </row> + + <row> + <entry><varname>CONFIGURE_TARGET</varname></entry> + + <entry>�������������� ���� configure �� ���������. ��������� + �� ��������� �������� + <literal>${MACHINE_ARCH}-portbld-freebsd${OSREL}</literal>.</entry> + </row> + </tbody> + </tgroup> + </table> + </sect2> + + <sect2 xml:id="using-cmake"> + <title>������������� <command>cmake</command></title> + + <para>���� ��� ���� ���������� <application>CMake</application>, + ���������� <literal>USES= cmake</literal> ��� + <literal>USES= cmake:outsource</literal> ��� ���������� + �� ������� �������� (��. ����).</para> + + <table frame="none"> + <title>���������� ��� ������, ������������ + <command>cmake</command></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>����������</entry> + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>CMAKE_ARGS</varname></entry> + <entry>����������� ��� ����� ����� + <application>CMake</application>, ������������ + <command>cmake</command>.</entry> + </row> + + <row> + <entry><varname>CMAKE_BUILD_TYPE</varname></entry> + <entry>��� ���������� (����������̣���� ������� + ���������� <application>CMake</application>). �� + ��������� <literal>Release</literal>, + <literal>Debug</literal> ��� ������������� + <varname>WITH_DEBUG</varname>.</entry> + </row> + + <row> + <entry><varname>CMAKE_ENV</varname></entry> + <entry>���������� ��������� ��� �������� + <command>cmake</command>. �� ��������� + <literal>${CONFIGURE_ENV}</literal>.</entry> + </row> + + <row> + <entry><varname>CMAKE_SOURCE_PATH</varname></entry> + <entry>���� � �������� � �������� �����. �� ��������� + <literal>${WRKSRC}</literal>.</entry> + </row> + </tbody> + </tgroup> + </table> + + <table frame="none"> + <title>���������� ���������� <command>cmake</command>, + ��������������� �������������</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>����������</entry> + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>CMAKE_VERBOSE</varname></entry> + <entry>��������� ��������� ����� ��������� ��� + ����������. �������� �� ��������� �� ������, + ���� �� ������ <varname>BATCH</varname> ��� + <varname>PACKAGE_BUILDING</varname>.</entry> + </row> + + <row> + <entry><varname>CMAKE_NOCOLOR</varname></entry> + <entry>��������� ������� ����� ��������� ��� + ����������. �������� �� ��������� �� ������, + ���� �� ������ <varname>BATCH</varname> ��� + <varname>PACKAGE_BUILDING</varname>.</entry> + </row> + </tbody> + </tgroup> + </table> + + <para><application>CMake</application> ������������ ��������� + ������� ����������: <literal>Debug</literal>, + <literal>Release</literal>, + <literal>RelWithDebInfo</literal> � + <literal>MinSizeRel</literal>. ������� + <literal>Debug</literal> � <literal>Release</literal> + ��������� ��������� ����� <literal>*FLAGS</literal>; + <literal>RelWithDebInfo</literal> � + <literal>MinSizeRel</literal> �������������� ���������� + <varname>CFLAGS</varname> �� ��������� + <literal>-O2 -g</literal> � <literal>-Os -DNDEBUG</literal>. + �������� <varname>CMAKE_BUILD_TYPE</varname> �������������� + � ������ �������� � <varname>PLIST_SUB</varname> � ������ + ��������������, ���� ���� ������������� ����� + <literal>*.cmake</literal> � ����������� �� ���� ���������� + (��� ������� ���������� �� + <package role="port">deskutils/strigi</package>). ������� + ���������, ��� ��������� ������� ����� ���������� ����������� + ������� ���������� �/��� ����������� ���������� ��� ���������� + ����� ��������� <literal>CMAKE_BUILD_TYPE</literal> � ������ + <filename>CMakeLists.txt </filename> . ��� ���� ����� ���� + ��� ������ ������� �������� <varname>CFLAGS</varname> � + <varname>WITH_DEBUG</varname>, �� ���� ������ ������ ���� + ������� �������� <literal>CMAKE_BUILD_TYPE</literal>.</para> + + <para>����������� ��������, ���������� �� + <application>CMake</application>, ������������ ����� �������� + (out-of-source) ����������. ��� ����� ������� ���������� + ����� ��������� � �������������� �������� + <literal>:outsource</literal>. � ���� ������ + <varname>CONFIGURE_WRKSRC</varname>, + <varname>BUILD_WRKSRC</varname> � + <varname>INSTALL_WRKSRC</varname> ����� ����� �������� + <literal>${WRKDIR}/.build</literal> ��� ��������, + ����������� �����, ���������� �� ������ ������������ � + ����������; ��� ���� ������� � �������� ����� ����� + ���������� ��� ���������.</para> + + <example xml:id="using-cmake-example"> + <title>������ ������������� + <literal>USES= cmake</literal></title> + + <para>��������� ������� ������������� ������������� + <application>CMake</application> ��� �����. + <varname>CMAKE_SOURCE_PATH</varname> ������ �� ���������, + �� ����� ���� ����������, ����� �������� ��� �� ��������� + � ������� �������� ��� ���� ���� ������������ ��� + ���������� ����� �������.</para> + + <programlisting>USES= cmake:outsource +CMAKE_SOURCE_PATH= ${WRKSRC}/subproject</programlisting> + </example> + </sect2> + + <sect2 xml:id="using-scons"> + <title>������������� <command>scons</command></title> + + <para>���� ��� ���� ���������� <application>SCons</application>, + ���������� <literal>USE_SCONS=yes</literal>.</para> + + <table frame="none"> + <title>���������� ��� ������, ������������ + <command>scons</command></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>����������</entry> + + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>SCONS_ARGS</varname></entry> + + <entry>����������� ��� ����� ����� SCons, ������������ + ��������� SCons.</entry> + </row> + + <row> + <entry><varname>SCONS_BUILDENV</varname></entry> + + <entry>���������� ��� ��������� � ��������� ���������.</entry> + </row> + + <row> + <entry><varname>SCONS_ENV</varname></entry> + + <entry>���������� ��� ��������� � ��������� SCons.</entry> + </row> + + <row> + <entry><varname>SCONS_TARGET</varname></entry> + + <entry>��������� �������� ��� �������� SCons, ������� �� + <varname>MAKE_TARGET</varname>.</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>��� ����, ����� ��������� <filename>SConstruct</filename> + �������������� �����, ��� ���������� SCons � ���������� + <varname>SCONS_ENV</varname> (����� �������, ��� + <varname>CC/CXX/CFLAGS/CXXFLAGS</varname>), ��������� ���� � + <filename>SConstruct</filename>, ��� ����� ���������� ���������� + <literal>Environment</literal> ��������� ��������� �������:</para> + + <programlisting>env = Environment(**ARGUMENTS)</programlisting> + + <para>� ���������� �� ����� �������� ��� ������ + <literal>env.Append</literal> � <literal>env.Replace</literal>.</para> + </sect2> + </sect1> + + <sect1 xml:id="using-autotools"> + <title>������������� GNU autotools</title> + + <sect2 xml:id="using-autotools-introduction"> + <title>��������</title> + + <para>��������� ����������� GNU autotools ������������� �������� + ���������� ��� ���������� ������ ������������ ����������� �� + ������� ������ ������������ ������ � ���������� ����������. + ������ ��������� ������ ��������� ���� ����� ������������ + ��� ����������� ��� ������ ������� �����������:</para> + + <programlisting>USE_AUTOTOOLS= <replaceable>tool</replaceable>:<replaceable>version</replaceable>[:<replaceable>operation</replaceable>] ...</programlisting> + + <para>� ������� ��������� <replaceable>tool</replaceable> + ����� ���� ����� �� <literal>libtool</literal>, + <literal>libltdl</literal>, <literal>autoconf</literal>, + <literal>autoheader</literal>, <literal>automake</literal> ��� + <literal>aclocal</literal>.</para> + + <para><replaceable>version</replaceable> ��������� ���������� + ������ ������������� ����������� (����������� ������ �������� � + <literal>devel/{automake,autoconf,libtool}[0-9]+</literal>).</para> + + <para><replaceable>operation</replaceable> �������� �������������� + ����������� � ��������� �� ������ ������������� + �����������.</para> + + <para>������������ ����� ���� ������� ��������� ������������, + �������� �� ��� �� ����� ������ ��� ��������� ����������� + Makefile <literal>+=</literal>.</para> + + <para>� ����������, ���������� ����������� ���������� �� ��������� + <literal>autotools</literal>, ������� �������� ������� �������� + ��� ��������� ���� ��������� ������ autotools ��� ����������� + ���������� �����-����������. ��� ����� ����� ���� ���������� + ����� ��������� ����� <literal>devel/autotools</literal>.</para> + + </sect2> + + <sect2 xml:id="using-libtool"> + <title><command>libtool</command></title> + + <para>������������ ����������, ������������ �������������� + ���������� GNU, ������ ���������� <application>libtool</application> + ��� ��������� ���������� � ��������� ������������ ��������� � + ������������ � ������������� ������ ������������ �������. + � �������� �������� ������������ ����������� ����������� � + ���������� <command>libtool</command>. ���� ��� ����� + ������������ ������� ������� <command>libtool</command>, �� �� + ������ ������������ ������, ������������ ���������� ������:</para> + + <programlisting>USE_AUTOTOOLS= libtool:<replaceable>version</replaceable>[:env]</programlisting> + + <para>��� ���������� �������������� ��������, + <literal>libtool:version</literal> + �������� �������������� ���������� � ���������� ����� � �������� + configure � ������������� � ������� ������ + <command>libtool</command>. ��������������� ������������� + The <varname>GNU_CONFIGURE</varname> + ����� ����, ��������� ���������� make � �������� shell + ����� ��������� ��� ����������� ������������� ���� ������. + ����������� �������� � <filename>bsd.autotools.mk</filename>.</para> + + <para>��� ������������� �������� <literal>:env</literal> ����� + ��������� ������ ���������.</para> + + <para>�������, <varname>LIBTOOLFLAGS</varname> � + <varname>LIBTOOLFILES</varname> ����� ���������� �� �������, + ����� �������������� �������� ��������� ��������� ��� + <command>libtool</command> � �����, ��������������� ��� + ���������. ����������� ������ ��� ������ ����� �� �����������. + ��� ���������� ������������ �������� + <filename>bsd.autotools.mk</filename>.</para> + </sect2> + + <sect2 xml:id="using-libltdl"> + <title><command>libltdl</command></title> + + <para>��������� ����� ����������� ����� � ����������� + <command>libltdl</command>, ������� �������� ������ ��������� + <command>libtool</command>. ������������� ���� ���������� + �� �������� �������������� ������������� ����� + <command>libtool</command>, �, ����� �������, �������������� + ��������� �����������.</para> + + <programlisting>USE_AUTOTOOLS= libltdl:<replaceable>version</replaceable></programlisting> + + <para>�ӣ, ��� � ��������� ����� ��� ������, ��� ���������� + <varname>LIB_DEPENDS</varname> ��� ����������� ����� + <command>libltdl</command>, ������ ��� ��������������� ��� + ������� ������� ��� ������ � ���������� ������ ������������ �� + ������ autotools ��� �������������� <varname>USE_AUTOTOOLS</varname>. + ��� ����� ����������� �� ���������� �������������� ��������.</para> + + </sect2> + + <sect2 xml:id="using-autoconf"> + <title><command>autoconf</command> � + <command>autoheader</command></title> + + <para>��������� ����� �� �������� �������� configure, �� �������� + ������ autoconf � ����� <filename>configure.ac</filename>. + �� ������ ������������ ��������� ����������, ����� ��������� + <command>autoconf</command> ������� �������� configure, � + <command>autoheader</command> ������� ��������� ������� ��� + ������������� � �������� configure.</para> + + <programlisting>USE_AUTOTOOLS= autoconf:<replaceable>version</replaceable>[:env]</programlisting> + + <para>�</para> + + <programlisting>USE_AUTOTOOLS= autoheader:<replaceable>version</replaceable></programlisting> + + <para>������� ����� ������������� ������������� + <literal>autoconf:version</literal>.</para> + + <para>���������� ������� <command>libtool</command>, ����������� + �������������� �������� <literal>:env</literal> ����� ���� + ����������� ��������� ��� ����������� �������������. ��� ����� + ����������� ��������� ������ � �������������������� �����.</para> + + <para>�������������� �������������� ���������� + <varname>AUTOCONF_ARGS</varname> � <varname>AUTOHEADER_ARGS</varname> + ����� �������������� � <filename>Makefile</filename> �����, + ���� ������� ����� �������. ��� � � ������������� + <command>libtool</command>, ����������� ������ ��� ���� �� + �����������.</para> + </sect2> + + <sect2 xml:id="using-automake"> + <title><command>automake</command> � + <command>aclocal</command></title> + + <para>��������� ������ �������� ������ ����� + <filename>Makefile.am</filename>. ��� ������ ���� ������������� + � ����� <filename>Makefile.in</filename> � �������������� + <application>automake</application> � ���������� ���������� + <command>configure</command> ��� ��������� ���������� + <filename>Makefile</filename>.</para> + + <para>����������, ������ ������ �� ������������ � ���������� + ������� <filename>aclocal.m4</filename>, ����� ��������� ��� + ���������� ������������ �����������. ����� ����� ������� + � <command>aclocal</command>, ������� ������������� + <filename>configure.ac</filename> ��� + <filename>configure.in</filename>.</para> + + <para><command>aclocal</command> ����� ������� ����� � + <command>automake</command>, ��� � <command>autoheader</command> + � <command>autoconf</command>, ��� ������� � ���������� �����. + <command>aclocal</command> ������������� ������������� + <command>automake</command>, ����� �������, �� �����:</para> + + <programlisting>USE_AUTOTOOLS= automake:<replaceable>version</replaceable>[:<replaceable>env</replaceable>]</programlisting> + + <para>�</para> + + <programlisting>USE_AUTOTOOLS= aclocal:<replaceable>version</replaceable></programlisting> + + <para>������� ����� ������������� ������������� + <literal>automake:version</literal>.</para> + + <para>����� ��� � ��� <command>libtool</command> � + <command>autoconf</command>, ����������� �������������� + �������� <literal>:env</literal> ����� ���� ������������� + ��������� ��� ����������� �����������. ��� ����� ����������� + ������������������ ����� �����.</para> + + <para>��� � � ������ � + <command>autoconf</command> � <command>autoheader</command>, ��� + <command>automake</command> � <command>aclocal</command> ����� + �������������� ���������� <varname>AUTOMAKE_ARGS</varname> � + <varname>ACLOCAL_ARGS</varname>, ��������������, ������� ��� + ������������� ����� �������������� � <filename>Makefile</filename> + �����.</para> + + </sect2> + </sect1> + + <sect1 xml:id="using-gettext"> + <title>������������� GNU <literal>gettext</literal></title> + + <sect2> + <title>������� ������� �������������</title> + + <para>���� ��� ������ ����� ��������� <literal>gettext</literal>, + �������� <literal>USES= gettext</literal>, � ��� ���� + ���������� ����������� �� <package role="port">devel/gettext</package>. + <xref linkend="uses-values"/> �������� �������� ������ + �������� ��� ������������� <literal>gettext</literal>.</para> + + <para>�������� ���������������� ������� �������� ������������� � + ����� <literal>gettext</literal> � <command>configure</command>. + ��� �������, GNU <command>configure</command> �������� �������� + <literal>gettext</literal> �������������. ���� �� ��� �� �� + ������ ��� �������, �� ��������� ��� ���������� + <literal>gettext</literal> ����� �������� ����� ���������� ��������� + <envar>CPPFLAGS</envar> � <envar>LDFLAGS</envar>:</para> + + <programlisting>USES= gettext +CPPFLAGS+= -I${LOCALBASE}/include +LDFLAGS+= -L${LOCALBASE}/lib + +GNU_CONFIGURE= yes</programlisting> + + <para>������� ��, ���� ��� ����� �������� � ����� ���������� + ����, ���� ���������� ����� � + <command>configure</command> �� ���������:</para> + + <programlisting>USES= gettext +GNU_CONFIGURE= yes</programlisting> + </sect2> + + <sect2> + <title>����������� �������������</title> + + <para>��������� ����������� �������� ��������� ��������� NLS, + � ������� ����� �������� ��������� <option>--disable-nls</option> + �������� <command>configure</command>. � ���� ������ ��� ���� + ������ ������������ <literal>gettext</literal>, � ����������� + �� �������� <varname>NLS</varname>. + ��� ������ ��������� ��� ������� ��������� �� ������ ���������� + �� ��������� ������:</para> + + <programlisting>GNU_CONFIGURE= yes + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MNLS} +USES+= gettext +PLIST_SUB+= NLS="" +.else +CONFIGURE_ARGS+= --disable-nls +PLIST_SUB+= NLS="@comment " +.endif + +.include <bsd.port.mk></programlisting> + + <para>��������� ����� � ����� ������ ��� �����������, ����� ����� + �������� ��������� ���������� � ������ �������� �� �������. �����, + �������� � <filename>Makefile</filename>, ��� ���������� ���� + �������. ��������� ����������� � ����� <link linkend="plist-sub"> + ����������� �������� <filename>pkg-plist</filename></link>. �������, + ������ ��������� <literal>%%NLS%%</literal> � + <filename>pkg-plist</filename> ����� �������� �� + <quote><literal>@comment </literal></quote>, ���� NLS ��������, + ��� ������ �������, ���� �������. � ���������� ������, + ������������ <literal>%%NLS%%</literal>, ������ ������������� + � �������� ����� ��������, ���� NLS ��������; �����, ������� ����� + ������ ������. �ӣ, ��� ��� �����, ��� �������� + <literal>%%NLS%%</literal> ����� ������ ����� � ����� �������� + ��������� � <filename>pkg-plist</filename>. ��������:</para> + + <programlisting>%%NLS%%share/locale/fr/LC_MESSAGES/foobar.mo +%%NLS%%share/locale/no/LC_MESSAGES/foobar.mo</programlisting> + + <para>� ����� ������� ������� ��� ������������ ������������ ����� + ����������� �������, ��� ������ ������, ����� ��� <link linkend="plist-dynamic">������������ ������ ��������</link>.</para> + </sect2> + + <sect2> + <title>���������� ���������� ���������</title> + + <para>���������� ������, ������� ������� ��������� ��� ��������� + ������ ��������� ���������. ������� �������� ��� ����������, + ������������� ��� + <filename>LOCALBASE/share/locale</filename>, + ����� ����� ������ ����������� � ��������� ������. ��� + �������� ���������� ������ ������� ����������� ��������, + ������������� � + <filename>PORTSDIR/Templates/BSD.local.dist</filename>. + �������� ��� + ��������� ������ ������ ����������� � ������� ����� + <package role="port">devel/gettext</package>. �������� �������� + �� ��� <filename>pkg-plist</filename> � ����������, ���� ������ + ���� ���������� ���������� ����� ��������� ��������� ��� + ������������� � ����� ���� �����.</para> + </sect2> + </sect1> + + <sect1 xml:id="using-perl"> + <title>������������� <application>Perl</application></title> + + <para>���� <varname>MASTER_SITES</varname> ����������� � �������� + <varname>MASTER_SITE_PERL_CPAN</varname>, �� ���������������� + ��������� <varname>MASTER_SITE_SUBDIR</varname> �������� ��� + �������� �������� ������. ��������, ������������� ��������� ��� + <literal>p5-Module-Name</literal> �������� <literal>Module</literal>. + �������� �������� ������ ����� ���������� �� ����� <link xlink:href="http://cpan.org/modules/by-module/">cpan.org</link>. ��� + ������������ ���� � ������� ��������� ��� ��������� ������ + �������.</para> + + <para>����������� ����� ������� �������� ���������� ���������������� + �������� ��� ����� � ������������� � ���� ��������. � ���� ������ + � �������� <varname>MASTER_SITE_SUBDIR</varname> ����������� + ������������ id ������.</para> + + <para>��� �� ������������� knobs ���� ��������� ���� <literal>YES</literal>, + ���� ������ � ������� ���� <literal>5.8.0+</literal>. + <literal>YES</literal> ��������, ��� ������ ���� ����� ������������ + � ����� �� �������������� ������ Perl. + ���� ���� �������� ������ � ���������� �������� + Perl, �� ��� ����� ���������� ��� ������ + ������ � �������, ����������� �� ����������� ������ (������: + <literal>5.7.3+</literal>), ������������ ������ (������: + <literal>5.8.0-</literal>) ��� ������ ������ (������: + <literal>5.8.3</literal>).</para> + + <table frame="none"> + <title>���������� ��� ������, ������������ + <application>Perl</application></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>����������</entry> + + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>USE_PERL5</varname></entry> + + <entry>Perl 5 ������������ ��� ���������� � ������.</entry> + </row> + + <row> + <entry><varname>USE_PERL5_BUILD</varname></entry> + + <entry>Perl 5 ������������ ��� ����������.</entry> + </row> + + <row> + <entry><varname>USE_PERL5_RUN</varname></entry> + + <entry>Perl 5 ������������ �� ����� ������.</entry> + </row> + + <row> + <entry><varname>PERL</varname></entry> + + <entry>������ ���� � �������������� Perl 5, ���� � + �������, ���� �������������� �� ������, �� ��� ������ ������. + ����������� ���, ���� ��� ����� �������� ������ + <quote><literal>#!</literal></quote> � ��������.</entry> + </row> + + <row> + <entry><varname>PERL_CONFIGURE</varname></entry> + + <entry>������������ ��� ������ MakeMaker ����� Perl. ���ޣ� + <varname>USE_PERL5</varname>.</entry> + </row> + + <row> + <entry><varname>PERL_MODBUILD</varname></entry> + + <entry>������������, ���������� � ��������� � �������������� + Module::Build. ���ޣ� <varname>PERL_CONFIGURE</varname>. + </entry> + </row> + </tbody> + </tgroup> + + <tgroup cols="2"> + <thead> + <row> + <entry>���������� ������ ��� ������</entry> + + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>PERL_VERSION</varname></entry> + + <entry>������ ������ �������������� Perl + (��������, <literal>5.8.9</literal>).</entry> + </row> + + <row> + <entry><varname>PERL_LEVEL</varname></entry> + + <entry>������������� ������ Perl � ����� + ������ ����� ���� <literal>MNNNPP</literal> (��������, + <literal>500809</literal>).</entry> + </row> + + <row> + <entry><varname>PERL_ARCH</varname></entry> + + <entry>�����, � ������� Perl ������ + ������������-��������� ����������. �� ��������� + ��� <literal>${ARCH}-freebsd</literal>.</entry> + </row> + + <row> + <entry><varname>PERL_PORT</varname></entry> + + <entry>�������� �������������� ����� Perl, + (� �������, <literal>perl5</literal>).</entry> + </row> + + <row> + <entry><varname>SITE_PERL</varname></entry> + + <entry>��� ��������, ���� ���������� ����������� ��� ����� + ������ Perl. ��� �������� ����������� � + <varname>PLIST_SUB</varname>.</entry> + </row> + </tbody> + </tgroup> + </table> + + <note> + <para>����� ��� ������� Perl, ������� �� ����� ������������ ��������, + ������ ��������� <systemitem>cpan.org</systemitem> � ������ WWW � ����� + <filename>pkg-descr</filename>. ���������������� ����� URL + <literal>http://search.cpan.org/dist/Module-Name/</literal> + (������� ����������� ����).</para> + </note> + + <note> + <para>�� ����������� <literal>${SITE_PERL}</literal> � ���������� + ������������. ������������� ���� ����������� ������������� + ������� ������������� <filename>bsd.perl.mk</filename>, ��� + �� ������ ���. �����, ��������� �� ����� �����, ������� + ������������ �����������, ���� ����� ����� ����� ����� + ���������� ��� ����������� ����������. ���������� ������ + ���������� ������������ ��� ������� Perl ������� � ������� + ����.</para> + </note> + + <example xml:id="use-perl-dependency-example"> + <title>������ ����������� Perl</title> + + <programlisting>p5-IO-Tee>=0.64:${PORTSDIR}/devel/p5-IO-Tee</programlisting> + </example> + + <para>��� ������ Perl, ������� ������������� �������� �����������, + � <filename>pkg-plist</filename> ����� ������������ ������ + <varname>PERL5_MAN<replaceable>x</replaceable></varname> (��� + <replaceable>x</replaceable> ��������� �������� �� + <literal>1</literal> �� <literal>9</literal>). ��������,</para> + + <programlisting>lib/perl5/5.14/man/man3/AnyEvent::I3.3.gz</programlisting> + + <para>����� �������� ��</para> + + <programlisting>%%PERL5_MAN3%%/AnyEvent::I3.3.gz</programlisting> + </sect1> + + <sect1 xml:id="using-x11"> + <title>������������� X11</title> + + <sect2 xml:id="x11-variables"> + <title>���������� X.Org</title> + + <para>X.Org �������� ����������� X11, ��������� � ��������� ������. + ���� ���� ���������� ������� �� ����������� X, ���������� � + ���������� <varname>USE_XORG</varname> � �������� ��������� + �����������. � ���������� ������� ���������� ������������ + ��������:</para> + + <para><literal>bigreqsproto compositeproto damageproto dmx + dmxproto dri2proto evieproto fixesproto fontcacheproto + fontenc fontsproto fontutil glproto ice inputproto kbproto + libfs oldx pciaccess pixman printproto randrproto + recordproto renderproto resourceproto scrnsaverproto sm + trapproto videoproto x11 xau xaw xaw6 xaw7 xbitmaps + xcmiscproto xcomposite xcursor xdamage xdmcp xevie xext + xextproto xf86bigfontproto xf86dgaproto xf86driproto + xf86miscproto xf86rushproto xf86vidmodeproto xfixes xfont + xfontcache xft xi xinerama xineramaproto xkbfile xkbui + xmu xmuu xorg-server xp xpm xprintapputil xprintutil + xproto xproxymngproto xrandr xrender xres xscrnsaver xt + xtrans xtrap xtst xv xvmc xxf86dga xxf86misc xxf86vm</literal>.</para> + + <para>������ ���������� �������� ����� ����� � + <filename>/usr/ports/Mk/bsd.xorg.mk</filename>.</para> + + <para>������ Mesa �������� �������� ���������� ��������� ���������� + OpenGL. �� ������ ������� ����������� �� ��������� ����������� + ����� ������� ��� ������ ���������� <varname>USE_GL</varname>. + �������������� �����: <literal>glut, glu, glw, glew, gl</literal> � + <literal>linux</literal>. ��� �������� ������������� �������� + <literal>yes</literal> ������������� <literal>glu</literal>.</para> + + <example xml:id="use-xorg-example"> + <title>������ ��� USE_XORG</title> + <programlisting>USE_XORG= xrender xft xkbfile xt xaw +USE_GL= glu</programlisting> + </example> + + <table frame="none"> + <title>���������� ��� ������, ������������ X</title> + + <tgroup cols="2"> + <tbody> + <row> + <entry><varname>USES= imake</varname></entry> + + <entry>���� ���������� <command>imake</command>.</entry> + </row> + + <row> + <entry><varname>XMKMF</varname></entry> + + <entry>�������� ������� �� <command>xmkmf</command>, ���� �� + ����������� � ���������� ��������� <envar>PATH</envar>. �� + ��������� ��� <literal>xmkmf -a</literal>.</entry> + </row> + </tbody> + </tgroup> + </table> + + <example xml:id="using-x11-vars"> + <title>������������� ���������� X11 � �����</title> + + <programlisting># ������������ ��������� ���������� X11 +USE_XORG= x11 xpm</programlisting> + </example> + </sect2> + + <sect2 xml:id="porting-motif"> + <title>�����, ������� ��������� Motif</title> + + <para>���� ������ ����� ��������� Motif, ������� ���������� + <varname>USES= motif</varname> � ����� <filename>Makefile</filename>. + ���������� Motif, ������������ �� ���������, ��������� � + <package role="port">x11-toolkits/open-motif</package>. + ������������ ������ ����� ����� ������� + <package role="port">x11-toolkits/lesstif</package> ����� + ��������� ���������� <varname>WANT_LESSTIF</varname>.</para> + + <para>���������� <varname>MOTIFLIB</varname> ����� ����������� � + <filename>bsd.port.mk</filename>, ����� ��������� �� + ��������������� ���������� Motif. ����������, �������� �������� + ������ ������ ����� �� ������������� + <literal>${MOTIFLIB}</literal> �����, ��� ����������� + ���������� Motif, � �������������� <filename>Makefile</filename> + ��� <filename>Imakefile</filename>.</para> + + <para>���������� ��� ����� ������:</para> + + <itemizedlist> + <listitem> + <para>���� ���� ���������� � ���������� Motif ��� + <literal>-lXm</literal> � ����� ������ + <filename>Makefile</filename> ��� <filename>Imakefile</filename>, + ������ ���������� ������ ���� ��������� + <literal>${MOTIFLIB}</literal>.</para> + </listitem> + + <listitem> + <para>���� ���� ���������� <literal>XmClientLibs</literal> � ����� + ����� <filename>Imakefile</filename>, �������� ��� ��������� �� + <literal>${MOTIFLIB} ${XTOOLLIB} + ${XLIB}</literal>.</para> + </listitem> + </itemizedlist> + + <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> + + </sect2> + + <sect2> + <title>������ ��� X11</title> + + <para>���� ��� ���� ������������� ������ ��� X Window System, + ��������� �� � ������� + <filename>LOCALBASE/lib/X11/fonts/local</filename>. + </para> + + </sect2> + + <sect2> + <title>��������� ����������� <envar>DISPLAY</envar>, ��������� + Xvfb</title> + + <para>��������� ���������� ��� �������� ���������� ������� + ������� ����������� ������� X11. ��� ������� �������� ��� �����, + ������� �������� � ������ headless. ��� ������������� ���������� + ������������� ���� �������������� ���������� + �������� ������ X � ����������� �����������. ����� ���������� + ����������� <envar>DISPLAY</envar> ���������� ��� ����������.</para> + + <programlisting>USES= display</programlisting> + </sect2> + + <sect2 xml:id="desktop-entries"> + <title>�������� �������� �����</title> + + <para>�������� �������� ����� (<link xlink:href="http://standards.freedesktop.org/desktop-entry-spec/latest/">��������� + Freedesktop</link>) ������������� ������ �������������� ��������� + ������� �������� ����� ��� ��������� ����� ���������, �� ������ + ������������� ������������. ��������, ����� ��������� ������������� + ������������ � ���� ���������� ����������� ��������� �������� �����. + �������� �������� ����� ���������� ��������� � ��������� �������� + ����� <application>GNOME</application>, �� � ��������� ����� �������� + ���������� � ����� �������� � <application>KDE</application> � + <application>Xfce</application>. ����� ��������� ������������� + ������������� �������� �������� ��� ������������, � ������ �������� + �������� ����� �������������� � �����������, ������� ����� + ������������ � ��������� �������� �����.</para> + + <sect3> + <title>������������� ���������������� ������ + <filename>.desktop</filename></title> + + <para>�����, ���������� ���������������� ����� + <filename>*.desktop</filename>, ������ �������� ��� ����� � + <filename>pkg-plist</filename> � ������������� �� � ������� + <filename>$LOCALBASE/share/applications</filename>. + ��� ��������� ���� ������ ������������ <link linkend="install-macros">������ <varname>INSTALL_DATA</varname></link>.</para> + </sect3> + + <sect3 xml:id="updating-desktop-database"> + <title>���������� ���� ������ �������� �����</title> + + <para>���� � ����� ����� + <filename>portname.desktop</filename> + ������� ������ MimeType, �� ���� ������ �������� ����� + ������ ���� ��������� ����� ��������� � ��������. ��� + ����� ������� + <varname>USES</varname>= desktop-file-utils.</para> + </sect3> + + <sect3 xml:id="desktop-entries-macro"> + <title>�������� ��������� �������� ����� � �������������� + <varname>DESKTOP_ENTRIES</varname></title> + + <para>�������� �������� ����� ����� ����� ��������� ��� ����������, + ��������� ���������� <varname>DESKTOP_ENTRIES</varname>. + ����� ������������� ������, ���������� � �������� � + <filename>pkg-plist</filename> ���� � ��������� + <filename>name.desktop</filename>. + ���������:</para> + + <programlisting>DESKTOP_ENTRIES= "NAME" "COMMENT" "ICON" "COMMAND" "CATEGORY" StartupNotify</programlisting> + + <para>�������� ��������� ��������� �������� �� <link xlink:href="http://standards.freedesktop.org/menu-spec/latest/apa.html"> + �������� Freedesktop</link>. <varname>StartupNotify</varname> + ���������, ������������ �� ���������� <emphasis>����������� � + �������</emphasis>. ��� �������, ��� ����������� ��������� ���� + ������ ��������� ����, ���� ��� ������, ������� ���������� + ������������ � �������� ���������. ���������, �������������� + ����������� � �������, ������� ���� ��������� ����� �������. + ���������, ������������� � ������������� � �������, �� ����� + ������� ��������� (��������, ������� �������� � ������� + ������������� � ���������), � ������� ������ ����� + <varname>StartupNotify</varname> � ����������� ��������� + <literal>false</literal>; ����� ��������� �� ����� ������������ + ������.</para> + + <para>������:</para> + + <programlisting>DESKTOP_ENTRIES= "ToME" "Roguelike game based on JRR Tolkien's work" \ + "${DATADIR}/xtra/graf/tome-128.png" \ + "tome -v -g" "Application;Game;RolePlaying;" \ + false</programlisting> + </sect3> + </sect2> + </sect1> + + <sect1 xml:id="using-gnome"> + <title>������������� GNOME</title> + + <para>��� ������� ����, ����� ���������� GNOME ���������� ���������� + ����, ������ &os;/GNOME ���������� ����������� ����� ����������. + �� �������� ������� &os;/GNOME �����ݣ� + <link xlink:href="http://www.FreeBSD.org/gnome/docs/porting.html"> + ������������� ������ ���� ����������</link>.</para> + + </sect1> + + <sect1 xml:id="using-qt"> + <title>������������� Qt</title> + + <sect2 xml:id="qt-common"> + <title>�����, ��� ������� ��������� Qt</title> + + <table frame="none"> + <title>���������� ��� ������, ������������ Qt</title> + + <tgroup cols="2"> + <tbody> + <row> + <entry><varname>USE_QT4</varname></entry> + + <entry>��������� ����������� � ���������� � �������� + ������������ ��� ������, ������� ���������� Qt 4. + ��� ��������� ������������ �������� <link linkend="qt4-components">����� ����������� Qt + 4</link>.</entry> + </row> + + <row> + <entry><varname>QT_PREFIX</varname></entry> + + <entry>��������������� � ��������, ���������� ���� � + �������������� Qt (���������� ������ ��� ������).</entry> + </row> + + <row> + <entry><varname>MOC</varname></entry> + + <entry>��������������� � ��������, ���������� ���� � + <command>moc</command> (���������� ������ ��� ������). + �� ��������� ��������������� � ������������ �� ��������� + <varname>USE_QT_VER</varname>.</entry> + </row> + + <row> + <entry><varname>QTCPPFLAGS</varname></entry> + + <entry>�������������� ����� ����������� ��� ����������������� + ������ Qt, ������������ ����� ���������� + <varname>CONFIGURE_ENV</varname>. �� ��������� + ��������������� � ������������ �� ��������� + <varname>USE_QT_VER</varname>.</entry> + </row> + + <row> + <entry><varname>QTCFGLIBS</varname></entry> + + <entry>�������������� ����� ���������� ��� ����������������� + ������ Qt, ������������ ����� ���������� + <varname>CONFIGURE_ENV</varname>. �� ��������� + ��������������� � ������������ �� ��������� + <varname>USE_QT_VER</varname>.</entry> + </row> + + <row> + <entry><varname>QTNONSTANDARD</varname></entry> + + <entry>��������� ��������� <varname>CONFIGURE_ENV</varname>, + <varname>CONFIGURE_ARGS</varname>, + <varname>CPPFLAGS</varname> � + <varname>MAKE_ENV</varname>.</entry> + </row> + + </tbody> + </tgroup> + </table> + + <table frame="none"> + <title>�������������� ���������� ��� ������, + ������������ Qt 4.x</title> + + <tgroup cols="2"> + <tbody> + <row> + <entry><varname>UIC</varname></entry> + + <entry>������������� ���� � <command>uic</command> + (���������� ������ ��� ������).</entry> + </row> + + <row> + <entry><varname>QMAKE</varname></entry> + + <entry>������������� ���� � <command>qmake</command> + (���������� ������ ��� ������).</entry> + </row> + + <row> + <entry><varname>QMAKESPEC</varname></entry> + + <entry>������������� ���� � ����������������� ����� ��� + <command>qmake</command> (���������� ������ ��� ������).</entry> + </row> + + <row> + <entry><varname>QMAKEFLAGS</varname></entry> + + <entry>�������������� ����� ��� + <command>qmake</command>.</entry> + </row> + + <row> + <entry><varname>QT_INCDIR</varname></entry> + + <entry>������������� �������� ��� ���������� Qt 4 + (���������� ������ ��� ������).</entry> + </row> + + <row> + <entry><varname>QT_LIBDIR</varname></entry> + + <entry>������������� ���� � ����������� Qt 4 + (���������� ������ ��� ������).</entry> + </row> + + <row> + <entry><varname>QT_PLUGINDIRC</varname></entry> + + <entry>������������� ���� � �������� Qt 4 + (���������� ������ ��� ������).</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>��� �������� ���������� <varname>USE_QT4</varname> + ����������� ��������� ���������:</para> + + <programlisting>CONFIGURE_ARGS+= --with-qt-includes=${QT_INCDIR} \ + --with-qt-libraries=${QT_LIBDIR} \ + --with-extra-libs=${LOCALBASE}/lib \ + --with-extra-includes=${LOCALBASE}/include +CONFIGURE_ENV+= MOC="${MOC}" UIC="${UIC}" LIBS="${QTCFGLIBS}" \ + QMAKE="${QMAKE}" QMAKESPEC="${QMAKESPEC}" QTDIR="${QT_PREFIX}" +MAKE_ENV+= QMAKESPEC="${QMAKESPEC}" + +PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_REL} \ + QT_LIBDIR_REL=${QT_LIBDIR_REL} \ + QT_PLUGINDIR_REL=${QT_PLUGINDIR_REL}</programlisting> + </sect2> + + <sect2 xml:id="qt4-components"> + <title>����� �����������</title> + + <para>� ���������� <varname>USE_QT4</varname> ������ ����������� + ����������� �� ��������� ������������ � ��������� Qt 4. � ������� + ���������� ����� �������� �������, <literal>_build</literal> + ��� <literal>_run</literal>, ����������, ����� ������ ���� ��������� + �����������, �� ����� ������ ��� ����������, ��������������. ���� + ������� �����������, ����������� �� ���������� ����� � ��� ������� + ������, � ��� ������� ����������. ������, ���������� ��������� + ������ ����������� ��� ���������, ���������� ������������ - � + ��������� <literal>_build</literal>, � ���������� �������� - � + ��������� <literal>_run</literal>. �������� ����� ������������ + ���������� ����������� ���� (��� ��������� ���������� ����������� + � <varname>_USE_QT4_ALL</varname> � ����� + <filename>/usr/ports/Mk/bsd.qt.mk</filename>):</para> + + <table frame="none"> + <title>��������� ������������ ���������� Qt 4</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>��������</entry> + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>corelib</literal></entry> + <entry>�������� ���������� (����� ��������, ���� ���� �� + ���������� ������, ����� <literal>corelib</literal>)</entry> + </row> + + <row> + <entry><literal>gui</literal></entry> + <entry>���������� ������������ ����������������� + ����������</entry> + </row> + + <row> + <entry><literal>network</literal></entry> + <entry>������� ����������</entry> + </row> + + <row> + <entry><literal>opengl</literal></entry> + <entry>���������� OpenGL</entry> + </row> + + <row> + <entry><literal>qt3support</literal></entry> + <entry>���������� ������������� � Qt 3</entry> + </row> + + <row> + <entry><literal>qtestlib</literal></entry> + <entry>���������� ���������� ������������</entry> + </row> + + <row> + <entry><literal>script</literal></entry> + <entry>���������� ���������</entry> + </row> + + <row> + <entry><literal>sql</literal></entry> + <entry>���������� SQL</entry> + </row> + + <row> + <entry><literal>xml</literal></entry> + <entry>���������� XML</entry> + </row> + + </tbody> + </tgroup> + </table> + + <para>�� ������ ����������, �� ����� ��������� ������� ����������, + �������� <command>ldd</command> �� �������� ����������� ���� + ����� �������� ����������.</para> + + <table frame="none"> + <title>��������� ���������� ������������ Qt 4</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>��������</entry> + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>moc</literal></entry> + <entry>����-��������� ���������� (����� ��� ���������� + ����� ��� ������� ���������� Qt)</entry> + </row> + + <row> + <entry><literal>qmake</literal></entry> + <entry>��������� Makefile / ������� ����������</entry> + </row> + + <row> + <entry><literal>rcc</literal></entry> + <entry>���������� �������� (�����, ���� ���������� + ���� ������ � ������� <filename>*.rc</filename> ��� + <filename>*.qrc</filename>)</entry> + </row> + + <row> + <entry><literal>uic</literal></entry> + <entry>���������� ����������������� ���������� (�����, ���� + ���������� ���� ������ � ������� <filename>*.ui</filename>, + ���������� ��� ������ Qt Designer, - �� �������� ������ + ���������� Qt � GUI)</entry> + </row> + + </tbody> + </tgroup> + </table> + + <table frame="none"> + <title>��������� ���������� �������� Qt 4</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>��������</entry> + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>iconengines</literal></entry> + <entry>������ ��� ������ ������ SVG (���� ���������� + ������������ � �������� SVG)</entry> + </row> + + <row> + <entry><literal>imageformats</literal></entry> + <entry>������� ��� ����������� �������� GIF, JPEG, MNG � SVG + (���� ���������� ������������ � ������������ �������)</entry> + </row> + + </tbody> + </tgroup> + </table> + + <example xml:id="qt4-components-example"> + <title>����� ����������� Qt 4</title> + + <para>� ���� ������� ������������� ���������� ���������� ���������� + ������������ ����������������� ���������� Qt 4, �������� ���������� + Qt 4, ��� ����������� ��������� ���� Qt 4 � ��������� Makefile Qt 4. + ��������� ���������� <literal>gui</literal> ������������� + ����������� �� �������� ����������, ��������� + <literal>corelib</literal> ��� �������������. ����������� + ��������� ���� Qt 4 <literal>moc</literal>, <literal>uic</literal> + � <literal>rcc</literal>, � ����� ��������� Makefile + <literal>qmake</literal> ����� ������ ��� ������� ����������, + ������� ��� ������� � ��������� <literal>_build</literal>:</para> + + <programlisting>USE_QT4= gui moc_build qmake_build rcc_build uic_build</programlisting> + </example> + </sect2> + + <sect2 xml:id="using-qmake"> + <title>������������� <command>qmake</command></title> + + <table frame="none"> + <title>���������� ��� ������, ������������ + <command>qmake</command></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>��������</entry> + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>QMAKE_ARGS</varname></entry> + <entry>����������� ��� ����� ����� + <application>QMake</application> ��� �������� + ��������� <command>qmake</command>.</entry> + </row> + + <row> + <entry><varname>QMAKE_ENV</varname></entry> + <entry>���������� ���������, ��������������� ��� + ��������� <command>qmake</command>. �� ��������� + ������������� �������� + <literal>${CONFIGURE_ENV}</literal>.</entry> + </row> + + <row> + <entry><varname>QMAKE_PRO</varname></entry> + <entry>�������� ����� ������� <filename>.pro</filename>. + �� ��������� ��������� ������ �������� (� + �������������� ���������������).</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>���� ������ � ����������� ������ <filename>configure</filename> + ������������ ���� <filename>.pro</filename>, �� ������ ������������ + ���������:</para> + + <programlisting>USES= qmake +USE_QT4= qmake_build</programlisting> + + <para><literal>USES=qmake</literal> ��������� ����� �� + ������������� <command>qmake</command> � �������� + ������������. �������� ��������, ��� + <literal>USES=qmake</literal> �� ������������� ����������� + �� Qt 4 <command>qmake</command>. ��� ����� � �������� + <literal>USE_QT4</literal> ������ �������������� ��������� + <literal>qmake_build</literal>.</para> + + <para>���������� Qt ����� ������� � ������������������ ������, � + X11/Unix ����� �� �������� ��� ��� ���������� ����������, ��� � + ���� ������� ����� �������� � ��������������� ��������� + ��������:</para> + + <itemizedlist> + <listitem> + <para><emphasis>������������� �������������� ���� ��� + ������������ ������.</emphasis> ������ ���������� ���� � + ���������� ������ � ��������� ����, �� ������������ �������� + �� ������� ������������ ������ �/��� ������������ � ��������� + X11. �� ������ �������� <command>qmake</command>, ����� ��� + �������� �������� � ���� ������ ������������ ������ � ��������� + ����� ��������� ������. � �������:</para> + + <programlisting>QMAKE_ARGS+= INCLUDEPATH+=${LOCALBASE}/include \ + LIBS+=-L${LOCALBASE}/lib</programlisting> + </listitem> + + <listitem> + <para><emphasis>��������� ���� ���������.</emphasis> + ������ ������, ����� ��� ������ � ����� .desktop, + ��������������� �� ��������� � ��������, ������� �� + ��������������� XDG-������������ ������������. �������� + �������� <package role="port">editors/texmaker</package> - + ��������� �� <filename>patch-texmaker.pro</filename> �� �������� + <filename>files</filename> ����� �����, ������� ����� ����� + � �������� ������� ����������� ����� ��������������� � ����� + ������� <command>qmake</command>.</para> + </listitem> + </itemizedlist> + + </sect2> + + </sect1> + + <sect1 xml:id="using-kde"> + <title>������������� KDE</title> + + <sect2 xml:id="kde4-variables"> + <title>������� ���������� KDE 4</title> + + <para>���� ���� ���������� ������� �� KDE 4.x, ��������� + <varname>USE_KDE4</varname> ������ ��������� �����������. + ��� ��������������� ���� ����������� ���������� ����� ���� + ������������ �������� <literal>_build</literal> � + <literal>_run</literal> (��������, <literal>baseapps_run</literal>). + ���� ������� �� �����, ����� ����������� ��� ����������� �� + ���������. ���� �� ������ ������������ ��� ����, �������� + ��������� ������ � ������ ���������� (��������, + <literal>automoc4_build automoc4_run</literal>). �������� + �������� ������������ ���������� ����������� ���� (���������� + ���������� ����������������� � ������ ����� + <filename>/usr/ports/Mk/bsd.kde4.mk</filename>):</para> + + <table frame="none"> + <title>��������� ���������� KDE 4</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>��������</entry> + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>kdehier</literal></entry> + <entry>�������� �������� ��������� KDE</entry> + </row> + + <row> + <entry><literal>kdelibs</literal></entry> + <entry>KDE Developer Platform</entry> + </row> + + <row> + <entry><literal>kdeprefix</literal></entry> + <entry>���� �����������, �� ���� ����� ���������� � + <literal>${KDE4_PREFIX}</literal> ������ + <literal>${LOCALBASE}</literal></entry> + </row> + + <row> + <entry><literal>sharedmime</literal></entry> + <entry>���� ������ MIME ����� ��� ������ KDE</entry> + </row> + + <row> + <entry><literal>automoc4</literal></entry> + <entry>automoc ��� ������� Qt 4</entry> + </row> + + <row> + <entry><literal>akonadi</literal></entry> + <entry>������ �������� KDE-Pim</entry> + </row> + + <row> + <entry><literal>soprano</literal></entry> + <entry>��������� Qt 4 RDF</entry> + </row> + + <row> + <entry><literal>strigi</literal></entry> + <entry>��������� ������ �������� �����</entry> + </row> + + <row> + <entry><literal>libkcddb</literal></entry> + <entry>���������� KDE CDDB</entry> + </row> + + <row> + <entry><literal>libkcompactdisc</literal></entry> + <entry>���������� KDE ��� �������������� � �����-CD</entry> + </row> + + <row> + <entry><literal>libkdeedu</literal></entry> + <entry>����������, ������������ ��� ��������������� + ����������</entry> + </row> + + <row> + <entry><literal>libkdcraw</literal></entry> + <entry>���������� KDE LibRaw</entry> + </row> + + <row> + <entry><literal>libkexiv2</literal></entry> + <entry>���������� KDE Exiv2</entry> + </row> + + <row> + <entry><literal>libkipi</literal></entry> + <entry> KDE Image Plugin Interface</entry> + </row> + + <row> + <entry><literal>libkonq</literal></entry> + <entry>�������� ���������� Konqueror</entry> + </row> + + <row> + <entry><literal>libksane</literal></entry> + <entry>���������� KDE SANE ("Scanner Access Now + Easy")</entry> + </row> + + <row> + <entry><literal>pimlibs</literal></entry> + <entry>���������� KDE-Pim</entry> + </row> + + <row> + <entry><literal>kate</literal></entry> + <entry>�������� ��������</entry> + </row> + + <row> + <entry><literal>marble</literal></entry> + <entry>����������� ������</entry> + </row> + + <row> + <entry><literal>okular</literal></entry> + <entry>������������� ����������� ����������</entry> + </row> + + <row> + <entry><literal>korundum</literal></entry> + <entry>�������� Ruby � KDE</entry> + </row> + + <row> + <entry><literal>perlkde</literal></entry> + <entry>�������� Perl � KDE</entry> + </row> + + <row> + <entry><literal>pykde4</literal></entry> + <entry>�������� Python � KDE</entry> + </row> + + <row> + <entry><literal>pykdeuic4</literal></entry> + <entry>���������� ����������������� ���������� PyKDE</entry> + </row> + + <row> + <entry><literal>smokekde</literal></entry> + <entry>���������� KDE SMOKE</entry> + </row> + + </tbody> + </tgroup> + </table> + + <para>����� KDE 4.x + ��������������� � <varname>KDE4_PREFIX</varname>, ��� � + ��������� ����� ������������� <filename>/usr/local/kde4</filename>. + ��� ����������� ����� �������� ���������� <literal>kdeprefix</literal>, + ������� ���������� �������� �� ��������� ��� <varname>PREFIX</varname>. + ��� �� �����, ����� ��������� ����� <varname>PREFIX</varname>, + ������������� ����� ���������� ��������� <envar>MAKEFLAGS</envar> + �/��� ��������� <command>make</command>.</para> + + <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"/>). + <varname>USE_KDE4</varname> ��������� ����������� �� ��������� KDE + � ���������� ����� ������������ <command>automoc4</command> + �� ����� ������. ��������� ���������� KDE � ������ ����������� + ����� ���������� � ������� configure. <varname>USE_KDE4</varname> + �� ������������� <varname>USE_QT4</varname>. ���� ���� ������� + �����-���� �� ����������� Qt 4, �� ������� ������� � + <varname>USE_QT4</varname>.</para> + + <programlisting>USES= cmake:outsource +USE_KDE4= kdelibs kdeprefix automoc4 +USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting> + </example> + </sect2> + + </sect1> + + <sect1 xml:id="using-java"> + <title>������������� Java</title> + + <sect2 xml:id="java-variables"> + <title>������� ����������</title> + + <para>���� ������ ����� ���������� ������� Java™ Development Kit + (JDK™) ��� ����������, ������ ��� ���� ���������� + ��������������� �����, �� � Σ� ������ ���� ������ ���������� + <varname>USE_JAVA</varname>.</para> + + <para>� ��������� ������ ������������ ��������� JDK ��������� + ������������� � ������ ������. ���� ��� ���� ������ ������������ + ���� �� ���� ������, �� �� ������ �������, ����� ������. ����� + ��������� ������� � ������� �� ��������� �������� + <package role="port">java/openjdk6</package>.</para> + + <table frame="none"> + <title>����������, ������� ������� ����� ���������� �������, + ������������� Java</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>����������</entry> + + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>USE_JAVA</varname></entry> + + <entry>������ ���� ���������� ��� ����, ��� ����������� + ���������� �������� � ��������.</entry> + </row> + + <row> + <entry><varname>JAVA_VERSION</varname></entry> + <entry>������ ������ Java, ������������� ����� ������, + ���������� ��� �����. ������������ ���� + <literal>"+"</literal> ��������� ��� ������� �������� + ������ (��������� ��������: + <literal>1.5[+] 1.6[+] 1.7[+] + </literal>).</entry> + </row> + + <row> + <entry><varname>JAVA_OS</varname></entry> + <entry>������ ������������ ������, ������������� ����� ������, + ����� JDK ��� ������� �������� ��� ����� (��������� ��������: + <literal>native linux</literal>).</entry> + </row> + + <row> + <entry><varname>JAVA_VENDOR</varname></entry> + <entry>������ ������������� ������ JDK, ������������� ����� + ������, ������� �������� ��� ����� (��������� ��������: + <literal>freebsd bsdjava sun + openjdk</literal>).</entry> + </row> + + <row> + <entry><varname>JAVA_BUILD</varname></entry> + <entry>���� ������, �� ��������, ��� ��������� ���� JDK ������ + ���� �������� � ������������ ����� ��� ��� + ����������.</entry> + </row> + + <row> + <entry><varname>JAVA_RUN</varname></entry> + <entry>���� ������, �� ��������, ��� ��������� ���� JDK ������ + ���� �������� � ������������ ����� ��� ��� ������.</entry> + </row> + + <row> + <entry><varname>JAVA_EXTRACT</varname></entry> + <entry>���� ������, �� ��������, ��� ��������� ���� JDK ������ + ���� �������� � ������������ ����� ��� ���������� ��� + �������������� ������.</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>���� ������������� ��� ��������, ������� ��������� ���������� + ����� ������� ���������� <varname>USE_JAVA</varname>:</para> + + <table frame="none"> + <title>����������, ��������� � ������, ������������ Java</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>����������</entry> + + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>JAVA_PORT</varname></entry> + <entry>�������� ����� JDK (� �������, + <literal>'java/openjdk6'</literal>).</entry> + </row> + + <row> + <entry><varname>JAVA_PORT_VERSION</varname></entry> + <entry>������ ������������ ������ ����� JDK (� �������, + <literal>'1.6.0'</literal>). ���� ��� ����� ������ ������ + ��� ����� ������ ������, ����������� ����������� + <varname>${JAVA_PORT_VERSION:C/^([0-9])\.([0-9])(.*)$/\1.\2/}</varname>.</entry> + </row> + + <row> + <entry><varname>JAVA_PORT_OS</varname></entry> + <entry>������������ �������, ������������ ������ JDK (� �������, + <literal>'native'</literal>).</entry> + </row> + + <row> + <entry><varname>JAVA_PORT_VENDOR</varname></entry> + <entry>����������� ����� JDK (� �������, + <literal>'openjdk'</literal>).</entry> + </row> + + <row> + <entry><varname>JAVA_PORT_OS_DESCRIPTION</varname></entry> + <entry>�������� ������������ �������, ������������ ������ JDK + (� �������, <literal>'Native'</literal>).</entry> + </row> + + <row> + <entry><varname>JAVA_PORT_VENDOR_DESCRIPTION</varname></entry> + <entry>�������� ������������ ����� JDK (� �������, + <literal>'OpenJDK BSD Porting Team'</literal>).</entry> + </row> + + <row> + <entry><varname>JAVA_HOME</varname></entry> + <entry>������� � ������������� �������� JDK (� �������, + <filename>'/usr/local/openjdk6'</filename>).</entry> + </row> + + <row> + <entry><varname>JAVAC</varname></entry> + <entry>������� � ������������� ����������� Java (� �������, + <filename>'/usr/local/openjdk6/bin/javac'</filename>. + </entry> + </row> + + <row> + <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><varname>APPLETVIEWER</varname></entry> + <entry>������� � ������� <command>appletviewer</command> (� + �������, + <filename>'/usr/local/openjdk6/bin/appletviewer'</filename>). + </entry> + </row> + + <row> + <entry><varname>JAVA</varname></entry> + <entry>������� � ������������ ����� <command>java</command>. + ����������� ��� ��� ������� Java-�������� (� �������, + <filename>'/usr/local/openjdk6/bin/java'</filename>).</entry> + </row> + + <row> + <entry><varname>JAVADOC</varname></entry> + <entry>������� � ��������������� ��������� + <command>javadoc</command>.</entry> + </row> + + <row> + <entry><varname>JAVAH</varname></entry> + <entry>������� � ��������� <command>javah</command>.</entry> + </row> + + <row> + <entry><varname>JAVAP</varname></entry> + <entry>������� � ��������� <command>javap</command>.</entry> + </row> + + <row> + <entry><varname>JAVA_KEYTOOL</varname></entry> + <entry>������� � ��������������� ��������� + <command>keytool</command>.</entry> + </row> + + <row> + <entry><varname>JAVA_N2A</varname></entry> + <entry>������� � ������� + <command>native2ascii</command>.</entry> + </row> + + <row> + <entry><varname>JAVA_POLICYTOOL</varname></entry> + <entry>������� � ��������� <command>policytool</command>.</entry> + </row> + + <row> + <entry><varname>JAVA_SERIALVER</varname></entry> + <entry>������� � ��������������� ��������� + <command>serialver</command>.</entry> + </row> + + <row> + <entry><varname>RMIC</varname></entry> + <entry>������� � ���������� ������� �������� RMI, ������� + <command>rmic</command>.</entry> + </row> + + <row> + <entry><varname>RMIREGISTRY</varname></entry> + <entry>������� � ��������� ����������� RMI, + <command>rmiregistry</command>.</entry> + </row> + + <row> + <entry><varname>RMID</varname></entry> + <entry>������� � ���������-������� RMI + <command>rmid</command>.</entry> + </row> + + <row> + <entry><varname>JAVA_CLASSES</varname></entry> + <entry>������� � ������, ������� �������� ����� ������� JDK, + <filename>${JAVA_HOME}/jre/lib/rt.jar</filename>.</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>�� ������ ��������������� make-����� + <literal>java-debug</literal> ��� ��������� ����������, ����������� + ��� ������� ������ �����. ��� ţ ���������� ����� ������ �������� + ������ ���������� ���� ����������.</para> + + <para>����� ����, ��� ������������ ��������� ���� ������ Java + ���������� ��������� ���������:</para> + + <table frame="none"> + <title>���������, ������̣���� ��� ������, ������������ Java</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>���������</entry> + + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>JAVASHAREDIR</varname></entry> + <entry>�������� ������� ��� �����, ��� ������� � Java. + �� ���������: <filename>${PREFIX}/share/java</filename>. + </entry> + </row> + + <row> + <entry><varname>JAVAJARDIR</varname></entry> + <entry>�������, � ������� ������ ��������������� JAR-�����. �� + ���������: + <filename>${JAVASHAREDIR}/classes</filename>.</entry> + </row> + + <row> + <entry><varname>JAVALIBDIR</varname></entry> + <entry>�������, � ������� ��������������� JAR-����� �� + ������ ������. �� ���������: + <filename>${LOCALBASE}/share/java/classes</filename>.</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>��������������� ������ ������������ � ����� ���������� + <varname>PLIST_SUB</varname> (������� � <xref linkend="plist-sub"/>) � <varname>SUB_LIST</varname>.</para> + + </sect2> + + <sect2 xml:id="java-building-with-ant"> + <title>���������� � Ant</title> + + <para>���� ���������� ����� ������������ � �������������� Apache Ant, + �� ���������� ���������� <varname>USE_ANT</varname>. ����� ������� + Ant ���������� ����������� make. ���� � ����� �� ���������� ���� + <literal>do-build</literal>, �� ����� ����������� ���� �� ���������, + ������� ������ ��������� Ant � ������������ �� ��������� + <varname>MAKE_ENV</varname>, <varname>MAKE_ARGS</varname> � + <varname>ALL_TARGET</varname>. ��� ������ �� �������� + <varname>USES= gmake</varname>, ������� ������ � + <xref linkend="building"/>.</para> + + </sect2> + + <sect2 xml:id="java-best-practices"> + <title>������������ ������������</title> + + <para>��� ������������ Java-���������� ��� ���� ������ + ������������� JAR-����(�) � ������� + <filename>${JAVAJARDIR}</filename>, � ��� ��������� ������ � ������� + <filename>${JAVASHAREDIR}/${PORTNAME}</filename> (�� ����������� + ������������, � ������� ���ģ� ���� ����). ��� ���������� ������� + ������������ ����� �� ������ ��������� �� JAR-����(�) ��������������� + � ����� <filename>Makefile</filename>. ������ �������������� + ��������� ���������� (� ������� <filename>myport.jar</filename> + �������� ������ JAR-�����, ���������������� ��� ����� �����):</para> + + <programlisting>PLIST_FILES+= %%JAVAJARDIR%%/myport.jar</programlisting> + + <para>��� ������������ Java-���������� ���� ������ ������������� �ӣ + � ���� ������� (� ��� ����� ��� ���� JAR-�����������). � ���� + ��������� ������������ ������������� ������������� + <filename>${JAVASHAREDIR}/${PORTNAME}</filename>. �� ���������� + ��������� ����� �������� ������� ������� � ���, ������������� �� + �������������� JAR-����������� � ���� ������� ��� �������� + ������������ ��� ������������� (�� �������� + <filename>${JAVAJARDIR}</filename>).</para> + + <para>��� ������������ ���������� &java;, ��� ������� ������� + �������� ��������� ������ ����������, ����� ��� + <package role="port">www/tomcat7</package>, ��� ������������� + � ������� ����� �������� ��������������� ����� + <filename>.war</filename>. ���� <filename>.war</filename> + — ��� ���-���������� �������������� � ��� ��������������� + ��� ������ ������ �����������. ��������� ��������� ����� + <filename>.war</filename> � <filename>pkg-plist</filename>. + ��� �� �������� ��������� ��������. ������ ���������� + ���������� ���������� ������ <filename>war</filename> ��� + ������� ��� ������� ��� �������� �����. ����� ���������� + �������� ������ � ���� ������ ����� ����������� �����, + ���������� ����� � �������� �� � + <filename>pkg-plist</filename>.</para> + + <programlisting>TOMCATDIR= ${LOCALBASE}/apache-tomcat-7.0 +WEBAPPDIR= myapplication + +post-extract: + @${MKDIR} ${WRKDIR}/${PORTDIRNAME} + @${TAR} xf ${WRKDIR}/myapplication.war -C ${WRKDIR}/${PORTDIRNAME} + +do-install: + cd ${WRKDIR} && \ + ${INSTALL} -d -o ${WWWOWN} -g ${WWWGRP} ${TOMCATDIR}/webapps/${PORTDIRNAME} + @cd ${WRKDIR}/${PORTDIRNAME} && ${COPYTREE_SHARE} \* ${WEBAPPDIR}/${PORTDIRNAME}</programlisting> + + <para>��� ����������� �� ���� ������ ����� (���������� ��� ��� + ����������), �������������� ������������ ������ ��������������� + <link linkend="install-documentation">� ���� ����� �����</link>, ��� + � ��� ������ ������. ��������, ��� � ����������� �� ������������ + ������ JDK ������� JavaDoc ���������� ��������� ������ ������. ��� + ������, ������� �� ��������� � ������������� ������̣���� ������ + JDK, ����� ������� ���������� �������������� ���������� ������ ������ + ��� �������� (<filename>pkg-plist</filename>). ��� ���� �� ������, + �� ������� ���������� ������ ������������ ������������� ������������ + ������ <varname>PORTDOCS</varname>. ����� ����, ���� ���� �� ������� + ������� ����� ������, ������� ����� ������������ �������� + <command>javadoc</command>, ������ ������������� ����� + <filename>pkg-plist</filename> �������� �� ������������� + <varname>PORTDOCS</varname>.</para> + + <para>��������� �� ��������� ��� ���������� <varname>DATADIR</varname> + �������� <filename>${PREFIX}/share/${PORTNAME}</filename>. ������� + ����� �������� ��������������� ��� Java-������ �������� + <varname>DATADIR</varname> ��� + <filename>${JAVASHAREDIR}/${PORTNAME}</filename>. �� ����� ���� + <varname>DATADIR</varname> ������������� ����������� � + <varname>PLIST_SUB</varname> (��� ������� � <xref linkend="plist-sub"/>), ��� ��� �� ������� + ������������ <literal>%%DATADIR%%</literal> ��������������� � + <filename>pkg-plist</filename>.</para> + + <para>��� �������� ������ ����� ����������� ������ Java �� �������� + ������� ��� �� ������ ���������� �� �������� �������������, �� �� + ������ �������� ����� ������ ������̣���� �������� �� ���� �ޣ� �� + ����������. ������ ��������� <link xlink:href="http://www.freebsd.org/java/">������� &os; Java</link> + ����������� ���������� ������ ������� �� �� �������� �������, ���� + ��� ������ �������� ���������.</para> + + <para>��� �����������, ������� ���� ������� � ���� �������, ����������� + � ����� <filename>bsd.java.mk</filename>. ���� �� ������������, ��� + ������ ����� ��������� ����� ����������� ��������� Java, ����������, + ��������� ������� �� <link xlink:href="http://svnweb.FreeBSD.org/ports/head/Mk/bsd.java.mk?view=markup">������ + ��������� bsd.java.mk � + <application>Subversion</application></link>, ��� ��� ��� + ���������������� ��������� ��������� ��������� �����-�� �����. + �����, ���� �� �������, ��� �� ��������� ��� ��������� �������� + �������� ��� ������ ������ ������ Java, �������� ��� ������ � + &a.java;.</para> + + <para>���� � ���� ��������� �� ������� ��� ��������������� PR ������� + ��������� <literal>java</literal>, ��� ��������� � ������ ��� + ������������� JDK, ������� �������� ������ &os; Java. ����� �������, + �� ������ �������� ���� Java-����, ��� � ����� ������, � ��������� + <literal>ports</literal>, ���� �������� ���� ������ �� ��������� �� + � ���������� JDK, �� � <filename>bsd.java.mk</filename>.</para> + + <para>������� ������� ���������� �������� �� ��������� � + <varname>CATEGORIES</varname> ����� Java, ������� �������� ������� + � <xref linkend="makefile-categories"/>.</para> + + </sect2> + </sect1> + + <sect1 xml:id="using-php"> + <title>���-����������, Apache � PHP</title> + + <sect2 xml:id="using-apache"> + <title>Apache</title> + + <table frame="none"> + <title>���������� ��� ������, ������������ Apache</title> + + <tgroup cols="2"> + <tbody> + + <row> + <entry><varname>USE_APACHE</varname></entry> + + <entry>���� ������� Apache. ��������� ��������: + <literal>yes</literal> (��ң� ����� ������), + <literal>22</literal>, <literal>24</literal>, + <literal>22-24</literal>, <literal>22+</literal> + � ��� �����. ������ �� ��������� + <literal>22</literal>. ����� ��������� ���������� + ���������� � ����� + <filename>ports/Mk/bsd.apache.mk</filename> � �� + �������� <link xlink:href="http://wiki.freebsd.org/Apache/"> + wiki.freebsd.org/Apache/</link>.</entry> + </row> + + <row> + <entry><varname>APXS</varname></entry> + + <entry>������ ���� � ������������ ����� <command>apxs</command>. + ����� ���� ������������� � ����� �����.</entry> + </row> + + <row> + <entry><varname>HTTPD</varname></entry> + + <entry>������ ���� � ������������ ����� <command>httpd</command>. + ����� ���� ������������� � ����� �����.</entry> + </row> + + <row> + <entry><varname>APACHE_VERSION</varname></entry> + + <entry>������ �������������� Apache (���������� ������ ��� + ������). ��� ���������� �������� ������ ����� ����������� + <filename>bsd.port.pre.mk</filename>. ��������� ��������: + <literal>22</literal>, <literal>24</literal>.</entry> + </row> + + <row> + <entry><varname>APACHEMODDIR</varname></entry> + + <entry>������� ��� ������� Apache. �������� ���������� + ������������� ������������� � <filename>pkg-plist</filename>.</entry> + </row> + + <row> + <entry><varname>APACHEINCLUDEDIR</varname></entry> + + <entry>������� ��� ���������� Apache. �������� ���������� + ������������� ������������� � <filename>pkg-plist</filename>.</entry> + </row> + + <row> + <entry><varname>APACHEETCDIR</varname></entry> + + <entry>������� ��� ���������������� ������ Apache. �������� + ���������� ������������� ������������� � + <filename>pkg-plist</filename>.</entry> + </row> + + </tbody> + </tgroup> + </table> + + <table frame="none"> + <title>������������ ���������� ��� ������������ ������� + Apache</title> + + <tgroup cols="2"> + <tbody> + + <row> + <entry><varname>MODULENAME</varname></entry> + + <entry>�������� ������. ��������� �� ��������� �������� + <varname>PORTNAME</varname>. ������: + <literal>mod_hello</literal></entry> + </row> + + <row> + <entry><varname>SHORTMODNAME</varname></entry> + + <entry>������� �������� ������. ����������� ������������� + �� <varname>MODULENAME</varname>, �� ����� ���� + ��������������. ������: <literal>hello</literal></entry> + </row> + + <row> + <entry><varname>AP_FAST_BUILD</varname></entry> + + <entry>������������ <command>apxs</command> ��� ���������� + � ��������� ������.</entry> + </row> + + <row> + <entry><varname>AP_GENPLIST</varname></entry> + + <entry>����� ������������� ������� + <filename>pkg-plist</filename>.</entry> + </row> + + <row> + <entry><varname>AP_INC</varname></entry> + + <entry>��������� ������� � ���� ������ ���������� + �� ����� ����������.</entry> + </row> + + <row> + <entry><varname>AP_LIB</varname></entry> + + <entry>��������� ������� � ���� ������ ��������� + �� ����� ����������.</entry> + </row> + + <row> + <entry><varname>AP_EXTRAS</varname></entry> + + <entry>�������������� �����, ������������ + <command>apxs</command>.</entry> + </row> + + </tbody> + </tgroup> + </table> + </sect2> + + <sect2 xml:id="web-apps"> + <title>���-����������</title> + + <para>���-���������� ������� ������������� � + <filename>PREFIX/www/appname</filename>. + ��� ������ �������� ���� ���� ��������� �������� � + <filename>Makefile</filename> � <filename>pkg-plist</filename> + ��� ���������� <varname>WWWDIR</varname>, � ���� ������������ + <varname>PREFIX</varname> �������� � <filename>Makefile</filename> + ��� <varname>WWWDIR_REL</varname>.</para> + + <para>������������ � ������ �������� ���-������� �������� ��� + <varname>WWWOWN</varname> � <varname>WWWGRP</varname>, � ������ + ���� ��� ����� �������� ��������� ��� ��������� ������. ��������� + �� ��������� � ��� ���������, � ��� ������ �������� + <literal>www</literal>. ���� �� ������ ������������ � ����� + ����� ������ ��������, �������������� ��� ����� �������� + <literal>WWWOWN?= myuser</literal>, ����� ��������� + ������������ ����� �������������� ��.</para> + + <para>�� ���������� ����������� �� Apache, ���� ���-���������� + ����� ������� �� ��������� � Apache. ����������, ��� ������������ + ����� �������� ��������� ���� ���-���������� �� ������ ���-������� + ������ Apache.</para> + + </sect2> + + <sect2 xml:id="php-variables"> + <title>PHP</title> + + <table frame="none"> + <title>���������� ��� ������, ������������ PHP</title> + + <tgroup cols="2"> + <tbody> + <row> + <entry><varname>USE_PHP</varname></entry> + + <entry>���� ������� PHP. �������� <literal>yes</literal> + ��������� ����������� �� PHP. ������ ����� ����� ���� + ������ �������� ��������� ���������� PHP. ������: + <literal>pcre xml gettext</literal></entry> + </row> + + <row> + <entry><varname>DEFAULT_PHP_VER</varname></entry> + + <entry>�������� ������� ����� ������, � ������� ����� + ���������� PHP ��� ����������� � ������, ����� PHP ��� + �� ����������. �� ��������� <literal>5</literal>. + ��������� ��������: <literal>4</literal>, + <literal>5</literal></entry> + </row> + + <row> + <entry><varname>IGNORE_WITH_PHP</varname></entry> + + <entry>���� �� �������� � PHP ������ ������. ��������� + ��������: <literal>4</literal>, <literal>5</literal></entry> + </row> + + <row> + <entry><varname>USE_PHPIZE</varname></entry> + + <entry>���� ����� �������� ��� ���������� PHP.</entry> + </row> + + <row> + <entry><varname>USE_PHPEXT</varname></entry> + + <entry>���� ����� ��������� ����������� PHP, ������� ��������� + � ����������� � ������� ����������.</entry> + </row> + + <row> + <entry><varname>USE_PHP_BUILD</varname></entry> + + <entry>���������� PHP ��� ����������� ������� ����������.</entry> + </row> + + <row> + <entry><varname>WANT_PHP_CLI</varname></entry> + + <entry>����� CLI (��������� ������) ������ PHP.</entry> + </row> + + <row> + <entry><varname>WANT_PHP_CGI</varname></entry> + + <entry>����� CGI ������ PHP.</entry> + </row> + + <row> + <entry><varname>WANT_PHP_MOD</varname></entry> + + <entry>����� PHP ��� ������ Apache.</entry> + </row> + + <row> + <entry><varname>WANT_PHP_SCR</varname></entry> + + <entry>����� CLI ��� CGI ������ PHP.</entry> + </row> + + <row> + <entry><varname>WANT_PHP_WEB</varname></entry> + + <entry>����� ������ Apache ��� CGI ������ PHP.</entry> + </row> + </tbody> + </tgroup> + </table> + + </sect2> + + <sect2> + <title>������ PEAR</title> + + <para>������������ ������� PEAR �������� ����� ������� + ���������.</para> + + <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> + + <para>���������� + <filename>${PORTSDIR}/devel/pear/bsd.pear.mk</filename> + �� ��������� ������ <filename>Makefile</filename>.</para> + + <example xml:id="pear-makefile"> + <title>������ Makefile ��� ������� PEAR</title> + <programlisting>PORTNAME= Date +PORTVERSION= 1.4.3 +CATEGORIES= devel www pear + +MAINTAINER= example@domain.com +COMMENT= PEAR Date and Time Zone Classes + +BUILD_DEPENDS= ${PEARDIR}/PEAR.php:${PORTSDIR}/devel/pear-PEAR +RUN_DEPENDS:= ${BUILD_DEPENDS} + +FILES= Date.php Date/Calc.php Date/Human.php Date/Span.php \ + Date/TimeZone.php +TESTS= test_calc.php test_date_methods_span.php testunit.php \ + testunit_date.php testunit_date_span.php wknotest.txt \ + bug674.php bug727_1.php bug727_2.php bug727_3.php \ + bug727_4.php bug967.php weeksinmonth_4_monday.txt \ + weeksinmonth_4_sunday.txt weeksinmonth_rdm_monday.txt \ + weeksinmonth_rdm_sunday.txt +DOCS= TODO +_DOCSDIR= . + +.include <bsd.port.pre.mk> +.include "${PORTSDIR}/devel/pear/bsd.pear.mk" +.include <bsd.port.post.mk></programlisting> + + </example> + + </sect2> + + </sect1> + + <sect1 xml:id="using-python"> + <title>������������� Python</title> + + <para>��������� ������ ������������ ������������ ��������� ��������� + ������ Python. ������� ���������, ��� � ������ ������������ + ���������� ������������� <command>python</command> � ������������ + � ���������� <varname>PYTHON_VERSION</varname>, ������������� + �������������. �� ������� ����� ��� �������� ������ ���� � + ������������ ����� <command>python</command> � ��������� �� + �������� ���������� <varname>PYTHON_CMD</varname>.</para> + + <para>�����, ��������������� ����� ��� ������� + <varname>PYTHON_SITELIBDIR</varname>, ������ ������������ ������� + ���� <literal>pyXY-</literal>, ����� ������� �������� ������� ����� + �������� � ���� ������ Python, � ������� ��� �����������.</para> + + <programlisting>PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}</programlisting> + + <table frame="none"> + <title>���������� ��� ������, ������� ���������� Python</title> + + <tgroup cols="2"> + <tbody> + <row> + <entry><varname>USE_PYTHON</varname></entry> + + <entry>��� ����� ����� ����� Python. ����������� ��������� + ������ ����� ���� ������� � ����� ��������� ��� + <literal>2.6+</literal>. ����� ����� ������ �������� + ������ � ����������� ���� ������ ����� ‐, ��������: + <literal>2.6-2.7</literal></entry> + </row> + + <row> + <entry><varname>USE_PYDISTUTILS</varname></entry> + + <entry>������������ �������������� ������� (distutils) Python + ��� ������������, ���������� � ���������. ����������, ���� + ���� ���������� <filename>setup.py</filename>. + �������������� ���� <buildtarget>do-build</buildtarget> � + <buildtarget>do-install</buildtarget> � ����� ����� + �������������� <buildtarget>do-configure</buildtarget>, ���� + �� ���������� <varname>GNU_CONFIGURE</varname>.</entry> + </row> + + <row> + <entry><varname>PYTHON_PKGNAMEPREFIX</varname></entry> + + <entry>������������ ��� <varname>PKGNAMEPREFIX</varname> ��� + ������� �������, ������������ ������ ������ Python. ������: + <literal>py24-</literal></entry> + </row> + + <row> + <entry><varname>PYTHON_SITELIBDIR</varname></entry> + + <entry>��������������� ������ site-packages, ������� �������� + ���� ��������� Python (������, <varname>LOCALBASE</varname>). + ���������� <varname>PYTHON_SITELIBDIR</varname> ����� ���� + ����� �������� ��� ��������� ������� Python.</entry> + </row> + + <row> + <entry><varname>PYTHONPREFIX_SITELIBDIR</varname></entry> + + <entry>������� PYTHON_SITELIBDIR ��� PREFIX. + �� ����������� ������ ����������� + <literal>%%PYTHON_SITELIBDIR%%</literal> � + <filename>pkg-plist</filename>. ��������� �� ��������� ��� + <literal>%%PYTHON_SITELIBDIR%%</literal> �������� + <literal>lib/python%%PYTHON_VERSION%%/site-packages</literal> + </entry> + </row> + + <row> + <entry><varname>PYTHON_CMD</varname></entry> + + <entry>��������� ������ �������������� Python, ������� ����� + ������.</entry> + </row> + + <row> + <entry><varname>PYNUMERIC</varname></entry> + + <entry>������ ����������� ��� ���������� numeric.</entry> + </row> + + <row> + <entry><varname>PYNUMPY</varname></entry> + <entry>������ ����������� ��� ������ ���������� numeric, + numpy (PYNUMERIC �������� ���������� ����������� + ��������������).</entry> + </row> + + <row> + <entry><varname>PYXML</varname></entry> + + <entry>������ ����������� ��� ���������� XML (�� ����� ��� + Python 2.0 � ����, �.�. �������� � �������� �����������). + </entry> + </row> + + </tbody> + </tgroup> + </table> + + <para>������ �������� ��������� ���������� ����� ����� � + <filename>/usr/ports/Mk/bsd.python.mk</filename>.</para> + + <para>��������� ���������� �� Python �������� � ��������� + <varname>DESTDIR</varname> (��������� ��� staging), ������� + �� �������� (� ���������, � Mailman �� ������ 2.1.16). + ����������� ����� ������ ��ԣ� �������������� ���������. + ��������, ��� ����� ��������� � ���� + <buildtarget>post-build</buildtarget>. � �ޣ��� ����, ��� ����� + ��������� �������������� ����� ���������� ��������� Python + ����� ���������� � <varname>PYTHONPREFIX_SITELIBDIR</varname>, + ����� ��������� ��������� �������:</para> + + <programlisting>(cd ${STAGEDIR}${PREFIX} \ + && ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \ + -d ${PREFIX} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;})</programlisting> + + <para>��� ������� ��������������� �������� ����� � ������� ����� + �� ������������� � �������� ������, � ����� ���������� �������� + <varname>PREFIX</varname> ����� ������ �����, ����������� � + �������� ����� � ������������� ��������������, � �������������� + <literal>-d</literal>. <literal>-f</literal> ��������� ��� + ����������� ��������������, � <literal>:S;${PREFIX}/;;</literal> + ������� �������� �� �������� ���������� + <varname>PYTHONPREFIX_SITELIBDIR</varname>, ����� ������� ��� + ������������� � <varname>PREFIX</varname>.</para> + + <para>��� ����� ��������� Python 2.7 ��� ����. ��� �� + �������� � Python 2.6.</para> + </sect1> + + <sect1 xml:id="using-tcl"> + <title>������������� <application>Tcl/Tk</application></title> + + <para>� ��������� ������ �������������� ������������� ��������� + ������������� ������ <application>Tcl/Tk</application>. ����� + ������ �������� ������������ �� ������� ���� ������ + <application>Tcl/Tk</application>, ������������ �� ���������, � + ���� � ������� ���������� <varname>USE_TCL</varname> � + <varname>USE_TK</varname>. �������� ������ <command>tcl</command> + ����� ������� � ���������� <varname>WITH_TCL_VER</varname>.</para> + + <table frame="none"> + <title>�������� �������������� ���������� ��� ������, ������� + ���������� <application>Tcl/Tk</application></title> + + <tgroup cols="2"> + <tbody> + <row> + <entry><varname>USE_TCL</varname></entry> + + <entry>���� ������� �� ���������� + <application>Tcl</application> (�� ��������). + ����������� ��������� ������ ����� ������� � �������������� + ����� ��������, ��� 84+. ��������� ���������������� ������ + ����������� � ���������� + <varname>INVALID_TCL_VER</varname>.</entry> + </row> + + <row> + <entry><varname>USE_TCL_BUILD</varname></entry> + + <entry><application>Tcl</application> ����� ��� ����� ������ + �� ����� ������.</entry> + </row> + + <row> + <entry><varname>USE_TCL_WRAPPER</varname></entry> + + <entry>��� ����� ���������� ������� ������������ ��� ������, + ��� ������� ��������� �������� <application>Tcl</application> + � �� ��������� ���������� ������ <literal>tclsh</literal>. + ������� <literal>tclsh</literal> ��������������� � �������. + ������������ ����� ������� �������� �������� + <command>tcl</command> ��� �������������.</entry> + </row> + + <row> + <entry><varname>WITH_TCL_VER</varname></entry> + + <entry>������������ ������������� ����������, ������� + ������������� �������� ������ + <application>Tcl</application>.</entry> + </row> + + <row> + <entry><varname><replaceable>UNIQUENAME</replaceable>_WITH_TCL_VER</varname></entry> + + <entry>������� <varname>WITH_TCL_VER</varname>, �� ��� + ������� �����.</entry> + </row> + + <row> + <entry><varname>USE_TCL_THREADS</varname></entry> + + <entry>������� ������������� ������ + <application>Tcl/Tk</application>.</entry> + </row> + + <row> + <entry><varname>USE_TK</varname></entry> + + <entry>���� ������� �� ���������� <application>Tk</application> + (�� �� �������������� ��������). ������������� + <varname>USE_TCL</varname> � ��� �� ���������. ��� + ������� ���������� �������� �������� ���������� + <varname>USE_TCL</varname>.</entry> + </row> + + <row> + <entry><varname>USE_TK_BUILD</varname></entry> + + <entry>���������� <varname>USE_TCL_BUILD</varname>.</entry> + </row> + + <row> + <entry><varname>USE_TK_WRAPPER</varname></entry> + + <entry>���������� <varname>USE_TCL_WRAPPER</varname>.</entry> + </row> + + <row> + <entry><varname>WITH_TK_VER</varname></entry> + + <entry>���������� <varname>WITH_TCL_VER</varname>, + ������������� <varname>WITH_TCL_VER</varname> ��� �� + ������.</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>������ �������� ��������� ���������� ��������� � + <filename>/usr/ports/Mk/bsd.tcl.mk</filename>.</para> + </sect1> + + <sect1 xml:id="using-emacs"> + <title>������������� Emacs</title> + + <para>���� ������ �ݣ ��������� ��������.</para> + </sect1> + + <sect1 xml:id="using-ruby"> + <title>������������� Ruby</title> + + <table frame="none"> + <title>�������� ���������� ��� ������, ������������ Ruby</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>����������</entry> + <entry>��������</entry> + </row> + </thead> + <tbody> + <row> + <entry><varname>USE_RUBY</varname></entry> + + <entry>���� ������� Ruby.</entry> + </row> + + <row> + <entry><varname>USE_RUBY_EXTCONF</varname></entry> + + <entry>���� ���������� ��� ������������ + <filename>extconf.rb</filename>.</entry> + </row> + + <row> + <entry><varname>USE_RUBY_SETUP</varname></entry> + + <entry>���� ���������� ��� ������������ + <filename>setup.rb</filename>.</entry> + </row> + + <row> + <entry><varname>RUBY_SETUP</varname></entry> + + <entry>������������� �������������� ��� ��� + <filename>setup.rb</filename>. ���������������� ��������� + �������� <filename>install.rb</filename>.</entry> + </row> + + </tbody> + </tgroup> + </table> + + <para>��������� ������� �������� ��������� ����������, ��������� + ������� ������ ����� �������������� ������. ��� ���������� ������ + �������������� ��� ��������� ������ � ���������� �����������������. + ����������� �� � <filename>pkg-plist</filename> ��� ����� ������. + ��� ���������� �� ������ ���������������� � ����� �����.</para> + + <table frame="none"> + <title>���������� ���������� ������ ��� ������ ��� ������, + ������������ Ruby</title> + + <tgroup cols="3"> + <thead> + <row> + <entry>����������</entry> + <entry>��������</entry> + <entry>��������� ��������</entry> + </row> + </thead> + <tbody> + + <row> + <entry><varname>RUBY_PKGNAMEPREFIX</varname></entry> + + <entry>������������ ��� <varname>PKGNAMEPREFIX</varname> + ��� �������� ������� �� ������ ������ Ruby.</entry> + + <entry><literal>ruby18-</literal></entry> + </row> + + <row> + <entry><varname>RUBY_VERSION</varname></entry> + + <entry>������ ������ Ruby � ����� <literal>x.y.z</literal>.</entry> + + <entry><literal>1.8.2</literal></entry> + </row> + + <row> + <entry><varname>RUBY_SITELIBDIR</varname></entry> + + <entry>���� ��� ��������� ���������������������� ���������.</entry> + + <entry><literal>/usr/local/lib/ruby/site_ruby/1.8</literal></entry> + </row> + + <row> + <entry><varname>RUBY_SITEARCHLIBDIR</varname></entry> + + <entry>���� ��� ��������� �������������������� ���������.</entry> + + <entry><literal>/usr/local/lib/ruby/site_ruby/1.8/amd64-freebsd6</literal></entry> + </row> + + <row> + <entry><varname>RUBY_MODDOCDIR</varname></entry> + + <entry>���� ��� ��������� ������������ ������.</entry> + + <entry><literal>/usr/local/share/doc/ruby18/patsy</literal></entry> + </row> + + <row> + <entry><varname>RUBY_MODEXAMPLESDIR</varname></entry> + + <entry>���� ��� ��������� �������� ������.</entry> + + <entry><literal>/usr/local/share/examples/ruby18/patsy</literal></entry> + </row> + + </tbody> + </tgroup> + </table> + + <para>������ �������� ��������� ���������� ��������� � + <filename>/usr/ports/Mk/bsd.ruby.mk</filename>.</para> + + </sect1> + + <sect1 xml:id="using-sdl"> + <title>������������� SDL</title> + + <para>���������� <varname>USE_SDL</varname> ������������ ��� + �������������� ��������� ������������ ��� ������, ������������ + ���������� �� ������ SDL, ����� ��� + <package role="port">devel/sdl12</package> ��� + <package role="port">graphics/sdl_image</package>.</para> + + <para>��� ������ 1.2 + �� ������ ������ ������������ ��������� SDL-����������:</para> + + <itemizedlist> + <listitem> + <para>sdl: <package + role="port">devel/sdl12</package></para> + </listitem> + + <listitem> + <para>console: <package + role="port">devel/sdl_console</package></para> + </listitem> + + <listitem> + <para>gfx: <package + role="port">graphics/sdl_gfx</package></para> + </listitem> + + <listitem> + <para>image: <package + role="port">graphics/sdl_image</package></para> + </listitem> + + <listitem> + <para>mixer: <package + role="port">audio/sdl_mixer</package></para> + </listitem> + + <listitem> + <para>mm: <package + role="port">devel/sdlmm</package></para> + </listitem> + + <listitem> + <para>net: <package + role="port">net/sdl_net</package></para> + </listitem> + + <listitem> + <para>pango: <package + role="port">x11-toolkits/sdl_pango</package></para> + </listitem> + + <listitem> + <para>sound: <package + role="port">audio/sdl_sound</package></para> + </listitem> + + <listitem> + <para>ttf: <package + role="port">graphics/sdl_ttf</package></para> + </listitem> + </itemizedlist> + + <para>��� ������ 2.0 + �� ������ ������ ������������ ��������� SDL-����������:</para> + + <itemizedlist> + <listitem> + <para>sdl: <package + role="port">devel/sdl20</package></para> + </listitem> + + <listitem> + <para>gfx: <package + role="port">graphics/sdl2_gfx</package></para> + </listitem> + + <listitem> + <para>image: <package + role="port">graphics/sdl2_image</package></para> + </listitem> + + <listitem> + <para>mixer: <package + role="port">audio/sdl2_mixer</package></para> + </listitem> + + <listitem> + <para>net: <package + role="port">net/sdl2_net</package></para> + </listitem> + + <listitem> + <para>ttf: <package + role="port">graphics/sdl2_ttf</package></para> + </listitem> + </itemizedlist> + + <para>����� �������, ���� ���� ����� ����������� �� + <package role="port">net/sdl_net</package> � + <package role="port">audio/sdl_mixer</package>, �� ������ ����� + ���������:</para> + + <programlisting>USE_SDL= net mixer</programlisting> + + <para>����������� �� ����� <package role="port">devel/sdl12</package>, + ������� ��������� ��� <package role="port">net/sdl_net</package> + � <package role="port">audio/sdl_mixer</package>, ����� ����� + ������������� ��������.</para> + + <para>���� �� ����������� <varname>USE_SDL</varname> � ���������� + SDL 1.2, �� �� �������������:</para> + + <itemizedlist> + <listitem> + <para>��������� ����������� �� + <application>sdl12-config</application> + � <varname>BUILD_DEPENDS</varname></para> + </listitem> + + <listitem> + <para>��������� ���������� <varname>SDL_CONFIG</varname> � + <varname>CONFIGURE_ENV</varname></para> + </listitem> + + <listitem> + <para>��������� ����������� �� ��������� ��������� � + <varname>LIB_DEPENDS</varname></para> + </listitem> + </itemizedlist> + + <para>���� �� ����������� <varname>USE_SDL</varname> � ���������� + SDL 2.0, �� �� �������������:</para> + + <itemizedlist> + <listitem> + <para>��������� ����������� �� + <application>sdl2-config</application> � + <varname>BUILD_DEPENDS</varname></para> + </listitem> + + <listitem> + <para>��������� ���������� <varname>SDL2_CONFIG</varname> � + <varname>CONFIGURE_ENV</varname></para> + </listitem> + + <listitem> + <para>��������� ����������� �� ��������� ��������� � + <varname>LIB_DEPENDS</varname></para> + </listitem> + </itemizedlist> + + <para>��� �������� ������� ���������� SDL �� ������ ������ ��� ��� + ������ ���������� <varname>WANT_SDL</varname>:</para> + + <programlisting>WANT_SDL=yes + +.include <bsd.port.pre.mk> + +.if ${HAVE_SDL:Mmixer}!="" +USE_SDL+= mixer +.endif + +.include <bsd.port.post.mk></programlisting> + </sect1> + + <sect1 xml:id="using-wx"> + <title>������������� <application>wxWidgets</application></title> + + <para>��� ����� ��������� ������ ��������� + <application>wxWidgets</application> � ������ ������ � �� ���������� + � �������� ������.</para> + + <sect2 xml:id="wx-introduction"> + <title>��������</title> + + <para>���������� ��������� ������ ��������� + <application>wxWidgets</application>, ������������� ����� ����� + (������������� ����� ��� ��� �� ������). � ������ ������ ��� + �������� ������ ����� ��������� ������ ������ ��� ����������� + ��������� � �������������� ������ ������ � �������� + ��������.</para> + + <para>��������� ����������� ����� �������� ������������� ��������� + ������� ���������� ��� ���������� ������� ������. � �������, + ����������� ���������� ��� ����������� ������� ����������� � ������ + ���������� �������� �������� <command>wx-config</command>. ��� + ������ ��������� ������ ���� �������� ����� ��ϣ ���. ����������� + ���������� ��������� ���������� ��������� ��� ��������� + �������� configure ��� ��������, ����� �������� + <command>wx-config</command> ������� ��������. �� ��� ��������� + ���������� ����������� ����.</para> + </sect2> + + <sect2 xml:id="wx-version"> + <title>����� ������</title> + + <para>��� ����, ����� ��������� ��� ���� ������������ ���������� + ������ <application>wxWidgets</application>, ���������� ��� + ��������� ��� ����������� ���������� (���� ���������� ������ ����, + �� ������ ������ �������� �� ���������):</para> + + <table xml:id="wx-ver-sel-table" frame="none"> + <title>���������� ��� ������ ������ + <application>wxWidgets</application></title> + + <tgroup cols="3"> + <thead> + <row> + <entry>����������</entry> + + <entry>��������</entry> + + <entry>�������� �� ���������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>USE_WX</varname></entry> + + <entry>�������� ������, ������� ���� ����� ������������</entry> + + <entry>��� ��������� ������</entry> + </row> + + <row> + <entry><varname>USE_WX_NOT</varname></entry> + + <entry>�������� ������, ������� ���� �� ����� ������������</entry> + + <entry>���</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>�������� ��������� ������ <application>wxWidgets</application> + � ��������������� �� ������ � ������:</para> + + <table frame="none"> + <title>��������� ������ <application>wxWidgets</application></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>������</entry> + + <entry>����</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>2.4</literal></entry> + + <entry><package + role="port">x11-toolkits/wxgtk24</package></entry> + </row> + + <row> + <entry><literal>2.6</literal></entry> + + <entry><package + role="port">x11-toolkits/wxgtk26</package></entry> + </row> + + <row> + <entry><literal>2.8</literal></entry> + + <entry><package + role="port">x11-toolkits/wxgtk28</package></entry> + </row> + </tbody> + </tgroup> + </table> + + <note> + <para>������ ������� � <literal>2.5</literal> ����� ������������ + � Unicode � ��������������� ����������� ������ � ��������� ��� + ��� � ��������, �� � ��������� <literal>-unicode</literal>, �� + ���� ����� ��������� ��� ������ ���������� (�������� <xref linkend="wx-unicode"/>).</para> + </note> + + <para>���������� � <xref linkend="wx-ver-sel-table"/> ����� ���������� + � ���� ��� ����� ��������� ����������, ����������� ���������:</para> + + <table frame="none"> + <title>����������� ������ ��� + <application>wxWidgets</application></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>��������</entry> + + <entry>������</entry> + </row> + </thead> + + <tbody> + <row> + <entry>��������� ������</entry> + + <entry><literal>2.4</literal></entry> + </row> + + <row> + <entry>���������� ��������</entry> + + <entry><literal>2.4+</literal></entry> + </row> + + <row> + <entry>���������� ��������</entry> + + <entry><literal>2.6-</literal></entry> + </row> + + <row> + <entry>������ �������� (������ ���� ����������)</entry> + + <entry><literal>2.4-2.6</literal></entry> + </row> + </tbody> + </tgroup> + </table> + + <para>����� ����, ���������� ��������� ���������� ��� ������ + �������������� ������ �� ������� ���������. ��� ����� ���� + ����������� � ��������� ������, ������ �� ������� ����� ����� + ���������� ���������.</para> + + <table frame="none"> + <title>���������� ��� ������ �������������� ������ + <application>wxWidgets</application></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>��������</entry> + + <entry>��������������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>WANT_WX_VER</varname></entry> + + <entry>����</entry> + </row> + + <row> + <entry><varname>WITH_WX_VER</varname></entry> + + <entry>������������</entry> + </row> + </tbody> + </tgroup> + </table> + </sect2> + + <sect2 xml:id="wx-components"> + <title>����� �����������</title> + + <para>���������� ������ ����������, �������, ���� � �� �������� + ������������ <application>wxWidgets</application>, �� � ���� ����� + ��������� � ���. ��� ���������� ����� ������� � ���������� + <varname>WX_COMPS</varname>. �������� ��������� ����������:</para> + + <table frame="none"> + <title>��������� ���������� <application>wxWidgets</application></title> + + <tgroup cols="3"> + <thead> + <row> + <entry>��������</entry> + + <entry>��������</entry> + + + <entry>����������� ������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>wx</literal></entry> + + <entry>�������� ����������</entry> + + <entry>���</entry> + </row> + + <row> + <entry><literal>contrib</literal></entry> + + <entry>��������� ����������</entry> + + <entry><literal>���</literal></entry> + </row> + + <row> + <entry><literal>python</literal></entry> + + <entry><application>wxPython</application> + (�������� � <application>Python</application>)</entry> + + <entry><literal>2.4-2.6</literal></entry> + </row> + + <row> + <entry><literal>mozilla</literal></entry> + + <entry><application>wxMozilla</application></entry> + + <entry><literal>2.4</literal></entry> + </row> + <row> + <entry><literal>svg</literal></entry> + + <entry><application>wxSVG</application></entry> + + <entry><literal>2.6</literal></entry> + </row> + </tbody> + </tgroup> + </table> + + <para>��� ����������� ����������� ��� ������ ������� ���������� + ����� ���� ������ ������� ����� ���������� ��������, ����������� + ������ � �������. ���� ������� �����������, �� ����� ������������ + �������� �� ��������� (�������� <xref linkend="wx-def-dep-types"/>). + ��������� ���� �����������:</para> + + <table frame="none"> + <title>��������� ���� ����������� + <application>wxWidgets</application></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>��������</entry> + + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>build</literal></entry> + + <entry>��������� ��������� ��� ����������, ������������ + <varname>BUILD_DEPENDS</varname></entry> + </row> + + <row> + <entry><literal>run</literal></entry> + + <entry>��������� ��������� ��� �������, ������������ + <varname>RUN_DEPENDS</varname></entry> + </row> + + <row> + <entry><literal>lib</literal></entry> + + <entry>��������� ��������� ��� ���������� � �������, + ������������ <varname>LIB_DEPENDS</varname></entry> + </row> + </tbody> + </tgroup> + </table> + + <para>�������� �� ��������� ��� ����������� �������� ��������������� + � ��������� �������:</para> + + <table xml:id="wx-def-dep-types" frame="none"> + <title>���� ����������� <application>wxWidgets</application>, + ������������ �� ���������</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>���������</entry> + + <entry>��� �����������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>wx</literal></entry> + + <entry><literal>lib</literal></entry> + </row> + + <row> + <entry><literal>contrib</literal></entry> + + <entry><literal>lib</literal></entry> + </row> + + <row> + <entry><literal>python</literal></entry> + + <entry><literal>run</literal></entry> + </row> + + <row> + <entry><literal>mozilla</literal></entry> + + <entry><literal>lib</literal></entry> + </row> + + <row> + <entry><literal>svg</literal></entry> + + <entry><literal>lib</literal></entry> + </row> + </tbody> + </tgroup> + </table> + + <example xml:id="wx-components-example"> + <title>����� ����������� + <application>wxWidgets</application></title> + + <para>��������� �������� ��������� � �����, � ������� ������������ + <application>wxWidgets</application> ������ 2.4 � ��� ���������� + ������������.</para> + + <programlisting>USE_WX= 2.4 +WX_COMPS= wx contrib</programlisting> + </example> + </sect2> + <sect2 xml:id="wx-unicode"> + <title>Unicode</title> + + <para>���������� <application>wxWidgets</application> ������������ + Unicode ������� � ������ <literal>2.5</literal>. � ������ ������ + �������� ��� ������ � ����� ���� ������� � �������������� + ��������� ����������:</para> + + <table xml:id="wx-unicode-var-table" frame="none"> + <title>���������� ��� ������ ������ + <application>wxWidgets</application> � Unicode</title> + + <tgroup cols="3"> + <thead> + <row> + <entry>����������</entry> + + <entry>��������</entry> + + <entry>��������������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>WX_UNICODE</varname></entry> + + <entry>���� �������� <emphasis>������</emphasis> � ������� + Unicode</entry> + + <entry>����</entry> + </row> + + <row> + <entry><varname>WANT_UNICODE</varname></entry> + + <entry>���� �������� � ������ ��������, �� ������������ + ������ � Unicode</entry> + + <entry>����</entry> + </row> + <row> + <entry><varname>WITH_UNICODE</varname></entry> + + <entry>���� ����� ������������ ������ Unicode</entry> + + <entry>������������</entry> + </row> + <row> + <entry><varname>WITHOUT_UNICODE</varname></entry> + + <entry>���� ����� ������������ ������� ������, ���� ��� + �������������� (����� <varname>WX_UNICODE</varname> + �� ����������)</entry> + + <entry>������������</entry> + </row> + </tbody> + </tgroup> + </table> + + <warning> + <para>�� ����������� <varname>WX_UNICODE</varname> ��� ������, + ������� ����� ������������ ��� ������. ���� �� ������, ����� + ���� �� ��������� ����������� Unicode, ���������� ������ ����� + <varname>WANT_UNICODE</varname>.</para> + </warning> + </sect2> + + <sect2 xml:id="wx-version-detection"> + <title>����������� ������������� ������</title> + + <para>��� ����������� ������������� ������ ��� ���������� ������ + ���������� <varname>WANT_WX</varname>. ���� �� �� ��������� �� + ������������ ������, �� ���������� ������� ������� ������. + ���������� <varname>HAVE_WX</varname> ����� ��������� ����� + �����������.</para> + + <example xml:id="wx-ver-det-example"> + <title>����������� ������������� ������ � ����������� + <application>wxWidgets</application></title> + + <para>��������� �������� ����� ���� ����������� � �����, ������� + ���������� <application>wxWidgets</application>, � ������ ���� + �� ���������� ��� ������ ��������������� ��������.</para> + + <programlisting>WANT_WX= yes + +.include <bsd.port.pre.mk> + +.if defined(WITH_WX) || !empty(PORT_OPTIONS:MWX) || !empty(HAVE_WX:Mwx-2.4) +USE_WX= 2.4 +CONFIGURE_ARGS+=--enable-wx +.endif</programlisting> + + <para>��������� �������� ����� ���� ����������� � �����, ������� + ����������� ��������� <application>wxPython</application>, + � ������ ���� �� ���������� ��� ������ ��������������� ��������, + � ���������� � <application>wxWidgets</application>, ��� ������ + <literal>2.6</literal>.</para> + + <programlisting>USE_WX= 2.6 +WX_COMPS= wx +WANT_WX= 2.6 + +.include <bsd.port.pre.mk> + +.if defined(WITH_WXPYTHON) || !empty(PORT_OPTIONS:MWXPYTHON) || !empty(HAVE_WX:Mpython) +WX_COMPS+= python +CONFIGURE_ARGS+=--enable-wxpython +.endif</programlisting> + </example> + </sect2> + + <sect2 xml:id="wx-defined-variables"> + <title>���������� ��� �����������</title> + + <para>��������� ���������� �������� � ����� (����� ����������� ����� + �� ���������� �� <xref linkend="wx-ver-sel-table"/>).</para> + + <table frame="none"> + <title>����������, ������������ ��� ������, ������������ + <application>wxWidgets</application></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>��������</entry> + + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>WX_CONFIG</varname></entry> + + <entry>���� � �������� <application>wxWidgets</application> + <command>wx-config</command> (� ������ ������)</entry> + </row> + + <row> + <entry><varname>WXRC_CMD</varname></entry> + + <entry>���� � ��������� <application>wxWidgets</application> + <command>wxrc</command> (� ������ ������)</entry> + </row> + + <row> + <entry><varname>WX_VERSION</varname></entry> + + <entry>������ <application>wxWidgets</application>, ������� + ����� �������������� (��������, + <literal>2.6</literal>)</entry> + </row> + + <row> + <entry><varname>WX_UNICODE</varname></entry> + + <entry>���� �� ����������, �� Unicode ����� ��������������, + �� ��� ����� ����������</entry> + </row> + </tbody> + </tgroup> + </table> + </sect2> + + <sect2 xml:id="wx-premk"> + <title>��������� � <filename>bsd.port.pre.mk</filename></title> + + <para>���� ��� ����� ������������ ���������� ��� ������� ������ + ����� ����� ����������� <filename>bsd.port.pre.mk</filename>, �� + ��� ����� ���������� <varname>WX_PREMK</varname>.</para> + + <important> + <para>���� �� ���������� <varname>WX_PREMK</varname>, �� ������, + �����������, ���������� � �������� ���������� �� ����������, � + ������ �� �������� ���������� ����� + <application>wxWidgets</application> <emphasis>�����</emphasis> + ����������� <filename>bsd.port.pre.mk</filename>.</para> + </important> + + <example xml:id="wx-premk-example"> + <title>������������� ���������� <application>wxWidgets</application> + � ��������</title> + + <para>��������� �������� ������������ ������������� ���������� + <varname>WX_PREMK</varname> ����������� ������� �������� + <command>wx-config</command> ��� ��������� ������ � ������ ������� + � ����������� �� ���������� � ��������� � ���������.</para> + + <programlisting>USE_WX= 2.4 +WX_PREMK= yes + +.include <bsd.port.pre.mk> + +.if exists(${WX_CONFIG}) +VER_STR!= ${WX_CONFIG} --release + +PLIST_SUB+= VERSION="${VER_STR}" +.endif</programlisting> + </example> + + <note> + <para>���������� <application>wxWidgets</application> ����� + ��������� ������������ � �������� ������ ����� ��� ������������� + � ������������� <varname>WX_PREMK</varname>.</para> + </note> + </sect2> + + <sect2 xml:id="wx-additional-config-args"> + <title>�������������� ��������� <command>configure</command></title> + + <para>��������� �������� GNU <command>configure</command> �� ����� + ����� <application>wxWidgets</application> ������ � ������������� + ���������� ��������� <literal>WX_CONFIG</literal>, ������ + �������������� ���������. ��� �� �������� ����� ������������ + ���������� <varname>WX_CONF_ARGS</varname>.</para> + + <table frame="none"> + <title>���������� �������� <varname>WX_CONF_ARGS</varname></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>��������� ��������</entry> + + <entry>���������� ��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>absolute</literal></entry> + + <entry><literal>--with-wx-config=${WX_CONFIG}</literal></entry> + </row> + + <row> + <entry><literal>relative</literal></entry> + + <entry><literal>--with-wx=${LOCALBASE} + --with-wx-config=${WX_CONFIG:T}</literal></entry> + </row> + </tbody> + </tgroup> + </table> + </sect2> + </sect1> + + <sect1 xml:id="using-lua"> + <title>������������� <application>Lua</application></title> + + <para>��� ����� ��������� ������ ��������� <application>Lua</application> + � ������ ������ � �� ���������� � ������� ������.</para> + + <sect2 xml:id="lua-introduction"> + <title>��������</title> + + <para>���������� ��������� ������ ��������� + <application>Lua</application> � ��������������� ���������������, + ������������� ����� ����� (������������� ����� ��� ��� �� ������). + � ������ ������ ��� �������� ������ ����� ��������� ������ ������ + � ����������� ����� � �������������� ������ ������ � �������� + ��������.</para> + + <para>��������� ����������� ����� �������� ������������� ��������� + ������� ���������� ��� ���������� ������� ������. �� ��� �������� + ����������� ��������� �������������� ������ ��� ����������� � + ������������.</para> + </sect2> + + <sect2 xml:id="lua-version"> + <title>����� ������</title> + + <para>��� ����, ����� ��������� ��� ���� ������������ ���������� + ������ <application>Lua</application>, ���������� ��� ��������� + ��� ����������� ���������� (���� ���������� ������ ����, �� + ������ ������ �������� �� ���������):</para> + + <table xml:id="lua-ver-sel-table" frame="none"> + <title>���������� ��� ������ ������ + <application>Lua</application></title> + + <tgroup cols="3"> + <thead> + <row> + <entry>����������</entry> + + <entry>��������</entry> + + <entry>�������� �� ���������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>USE_LUA</varname></entry> + + <entry>�������� ������, ������� ���� ����� ������������</entry> + + <entry>��� ��������� ������</entry> + </row> + + <row> + <entry><varname>USE_LUA_NOT</varname></entry> + + <entry>�������� ������, ������� ���� �� ����� + ������������</entry> + + <entry>�����</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>�������� ��������� ������ <application>Lua</application> � + ��������������� ������ � ������:</para> + + <table frame="none"> + <title>��������� ������ <application>Lua</application></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>������</entry> + + <entry>����</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>4.0</literal></entry> + + <entry><package + role="port">lang/lua4</package></entry> + </row> + + <row> + <entry><literal>5.0</literal></entry> + + <entry><package + role="port">lang/lua50</package></entry> + </row> + + <row> + <entry><literal>5.1</literal></entry> + + <entry><package + role="port">lang/lua</package></entry> + </row> + </tbody> + </tgroup> + </table> + + <para>���������� �� <xref linkend="lua-ver-sel-table"/> ����� ����� + ���������� �� ������ ��� ���������� ��������, ����������� + ��������:</para> + + <table frame="none"> + <title>����������� ������ <application>Lua</application></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>��������</entry> + + <entry>������</entry> + </row> + </thead> + + <tbody> + <row> + <entry>��������� ������</entry> + + <entry><literal>4.0</literal></entry> + </row> + + <row> + <entry>���������� ��������</entry> + + <entry><literal>5.0+</literal></entry> + </row> + + + <row> + <entry>���������� ��������</entry> + + <entry><literal>5.0-</literal></entry> + </row> + + <row> + <entry>������ �������� (������ ���� ����������)</entry> + + <entry><literal>5.0-5.1</literal></entry> + </row> + </tbody> + </tgroup> + </table> + + <para>����� ����, ���������� ��������� ���������� ��� ������ + �������������� ������ �� ������� ���������. ��� ����� ���� + ����������� � ��������� ������, ������ �� ������� ����� ����� + ���������� ���������.</para> + + <table frame="none"> + <title>���������� ��� ������ �������������� ������ + <application>Lua</application></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>��������</entry> + + <entry>��������������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>WANT_LUA_VER</varname></entry> + + <entry>����</entry> + </row> + + <row> + <entry><varname>WITH_LUA_VER</varname></entry> + + <entry>������������</entry> + </row> + </tbody> + </tgroup> + </table> + + <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>. + �������� ����� ���� �������������� ������������� � �������������� + ���������� <varname>WITH_LUA_VER</varname>.</para> + + <programlisting>USE_LUA= 5.0-5.1 +WANT_LUA_VER= 5.0</programlisting> + </example> + </sect2> + + <sect2 xml:id="lua-components"> + <title>����� �����������</title> + + <para>���������� ������ ����������, ������� ���� � �� �������� + ������������ <application>Lua</application>, �� ��������� � ���. + ��� ���������� ����� ������� � ���������� + <varname>LUA_COMPS</varname>. �������� ��������� ����������:</para> + + <table frame="none"> + <title>��������� ���������� <application>Lua</application></title> + + <tgroup cols="3"> + <thead> + <row> + <entry>��������</entry> + + <entry>��������</entry> + + + <entry>����������� ������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>lua</literal></entry> + + <entry>�������� ����������</entry> + + <entry>���</entry> + </row> + + <row> + <entry><literal>tolua</literal></entry> + + <entry>���������� ������� � ���� C/C++</entry> + + <entry>4.0-5.0</entry> + </row> + + <row> + <entry><literal>ruby</literal></entry> + + <entry>�������� � Ruby</entry> + + <entry>4.0-5.0</entry> + </row> + </tbody> + </tgroup> + </table> + + <note> + <para>���� � ������ ����������, �� ��� ��������� � ������� ��� + �������������� � �� ������������ ������������ (������ ������� + ��������).</para> + </note> + + <para>��� ����������� ����� ������� ��� ������� ���������� ����� + ���������� ��������, ����������� ������ � �������. � ������ + ���������� ����� ����������� ��� �� ��������� (�������� + <xref linkend="lua-def-dep-types"/>). ��������� ��������� + ����:</para> + + <table frame="none"> + <title>��������� ���� ����������� + <application>Lua</application></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>��������</entry> + + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>build</literal></entry> + + <entry>��������� ��������� ��� ����������, ������������ + <varname>BUILD_DEPENDS</varname></entry> + </row> + + <row> + <entry><literal>run</literal></entry> + + <entry>��������� ��������� ��� �������, ������������ + <varname>RUN_DEPENDS</varname></entry> + </row> + + <row> + <entry><literal>lib</literal></entry> + + <entry>��������� ��������� ��� ���������� � �������, + ������������ <varname>LIB_DEPENDS</varname></entry> + </row> + </tbody> + </tgroup> + </table> + + <para>�������� �� ��������� ��� ����������� �������� ��������������� + � ��������� �������:</para> + + <table xml:id="lua-def-dep-types" frame="none"> + <title>���� ����������� <application>Lua</application>, + ������������ �� ���������</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>���������</entry> + + <entry>��� �����������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>lua</literal></entry> + + <entry><literal>lib</literal> ��� <literal>4.0-5.0</literal> + (������������) � <literal>build</literal> ��� + <literal>5.1</literal> (�����������)</entry> + </row> + + <row> + <entry><literal>tolua</literal></entry> + + <entry><literal>build</literal> (�����������)</entry> + </row> + + <row> + <entry><literal>ruby</literal></entry> + + <entry><literal>lib</literal> (������������)</entry> + </row> + </tbody> + </tgroup> + </table> + + <example xml:id="lua-components-example"> + <title>����� ����������� <application>Lua</application></title> + + <para>��������� �������� ������������� �����, ������������� + <application>Lua</application> ������ <literal>4.0</literal> + � �������� � <application>Ruby</application>.</para> + + <programlisting>USE_LUA= 4.0 +LUA_COMPS= lua ruby</programlisting> + </example> + </sect2> + + <sect2 xml:id="lua-version-detection"> + <title>����������� ������������� ������</title> + + <para>��� ����������� ������������� ������ ��� ���������� ������ + ���������� <varname>WANT_LUA</varname>. ���� �� �� ��������� �� + ������������ ������, �� ���������� ������� ������� ������. + ���������� <varname>HAVE_LUA</varname> ����� ��������� ����� + �����������.</para> + + <example xml:id="lua-ver-det-example"> + <title>����������� ������������� ������ � ����������� + <application>Lua</application></title> + + <para>��������� �������� ����� ������������ ��� �����, ������������� + <application>Lua</application>, ���� ��� �����������, ��� ��� + ������ ��������������� ��������.</para> + + <programlisting>WANT_LUA= yes + +.include <bsd.port.pre.mk> + +.if defined(WITH_LUA5) || !empty(PORT_OPTIONS:MLUA5) || !empty(HAVE_LUA:Mlua-5.[01]) +USE_LUA= 5.0-5.1 +CONFIGURE_ARGS+=--enable-lua5 +.endif</programlisting> + + <para>��������� �������� ����� ������������ ��� �����, ������� + �������� ��������� <application>tolua</application>, ���� + ����� ��������� ����������, ��� ��� ������ ��������������� + �������� � ���������� � <application>Lua</application>, ��� + ����� ������ <literal>4.0</literal>.</para> + + <programlisting>USE_LUA= 4.0 +LUA_COMPS= lua +WANT_LUA= 4.0 + +.include <bsd.port.pre.mk> + +.if defined(WITH_TOLUA) || !empty(PORT_OPTIONS:MTOLUA) || !empty(HAVE_LUA:Mtolua) +LUA_COMPS+= tolua +CONFIGURE_ARGS+=--enable-tolua +.endif</programlisting> + </example> + </sect2> + + <sect2 xml:id="lua-defined-variables"> + <title>���������� ��� �����������</title> + + <para>��������� ���������� �������� � ����� (����� ����������� ����� + �� ���������� �� <xref linkend="lua-ver-sel-table"/>).</para> + + <table frame="none"> + <title>����������, ������������ ��� ������, ������������ + <application>Lua</application></title> + + <tgroup cols="2"> + <thead> + <row> + <entry>��������</entry> + + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>LUA_VER</varname></entry> + + <entry>������ <application>Lua</application>, ������� ����� + �������������� (��������, <literal>5.1</literal>)</entry> + </row> + + <row> + <entry><varname>LUA_VER_SH</varname></entry> + + <entry>������� ����� ������ ������������ ���������� + <application>Lua</application> (��������, + <literal>1</literal>)</entry> + </row> + + <row> + <entry><varname>LUA_VER_STR</varname></entry> + + <entry>������ <application>Lua</application> ��� ����� + (��������, <literal>51</literal>)</entry> + </row> + + <row> + <entry><varname>LUA_PREFIX</varname></entry> + + <entry>�������, � ������� ����������� + <application>Lua</application> (� ����������)</entry> + </row> + + <row> + <entry><varname>LUA_SUBDIR</varname></entry> + + <entry>������� ��� <filename>${PREFIX}/bin</filename>, + <filename>${PREFIX}/share</filename> � + <filename>${PREFIX}/lib</filename>, � ������� ����������� + <application>Lua</application></entry> + </row> + + <row> + <entry><varname>LUA_INCDIR</varname></entry> + + <entry>�������, � ������� ����������� ������������ ����� + <application>Lua</application> � + <application>tolua</application></entry> + </row> + + <row> + <entry><varname>LUA_LIBDIR</varname></entry> + + <entry>�������, � ������� ����������� ���������� + <application>Lua</application> � + <application>tolua</application></entry> + </row> + + <row> + <entry><varname>LUA_MODLIBDIR</varname></entry> + + <entry>�������, � ������� ����������� ������ ���������� + <application>Lua</application> + (<filename>.so</filename>)</entry> + </row> + + <row> + <entry><varname>LUA_MODSHAREDIR</varname></entry> + + <entry>�������, � ������� ����������� ������ + <application>Lua</application> + (<filename>.lua</filename>)</entry> + </row> + + <row> + <entry><varname>LUA_PKGNAMEPREFIX</varname></entry> + + <entry>������� � ������ ������, ������������ �������� + <application>Lua</application></entry> + </row> + + <row> + <entry><varname>LUA_CMD</varname></entry> + + <entry>���� � �������������� + <application>Lua</application></entry> + </row> + + <row> + <entry><varname>LUAC_CMD</varname></entry> + + <entry>���� � ����������� + <application>Lua</application></entry> + </row> + + <row> + <entry><varname>TOLUA_CMD</varname></entry> + + <entry>���� � ��������� + <application>tolua</application></entry> + </row> + </tbody> + </tgroup> + </table> + + <example xml:id="lua-variables-example"> + <title>�������� ��� �����, ��� ������ + <application>Lua</application></title> + + <para>��������� �������� ����������, ��� �������� �����, ������� + ���������� �������� configure, ��� ����������� ������������ + ����� � ���������� <application>Lua</application>.</para> + + <programlisting> +USE_LUA= 4.0 +GNU_CONFIGURE= yes +CONFIGURE_ENV= CPPFLAGS="-I${LUA_INCDIR}" LDFLAGS="-L${LUA_LIBDIR}"</programlisting> + </example> + </sect2> + + <sect2 xml:id="lua-premk"> + <title>��������� � <filename>bsd.port.pre.mk</filename></title> + + <para>���� ��� ����� ������������ ���������� ��� ������� ������ ����� + ����� ����������� <filename>bsd.port.pre.mk</filename>, ��� ����� + ��� ����� ���������� ���������� <varname>LUA_PREMK</varname>.</para> + + <important> + <para>���� �� ������� <varname>LUA_PREMK</varname>, �� ������, + �����������, ���������� � ��� �������� ���������� �� ����� + ��������, � ������ ���� �� �������� ���������� ����� + <application>Lua</application> <emphasis>�����</emphasis> + ����������� <filename>bsd.port.pre.mk</filename>.</para> + </important> + + <example xml:id="lua-premk-example"> + <title>������������� ���������� <application>Lua</application> + � ��������</title> + + <para>��������� �������� ������������ ������������� + <varname>LUA_PREMK</varname> ����������� ������� + �������������� <application>Lua</application> ��� ����, ����� + �������� ������ � ������ �������, ��������� �� � ���������� + � �������� ���������.</para> + + <programlisting>USE_LUA= 5.0 +LUA_PREMK= yes + +.include <bsd.port.pre.mk> + +.if exists(${LUA_CMD}) +VER_STR!= ${LUA_CMD} -v + +CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}" +.endif</programlisting> + </example> + + <note> + <para>���������� <application>Lua</application> ����� ��������� + ������������ � �������� ������ ����� ��� ������������� � + ������������� <varname>LUA_PREMK</varname>.</para> + </note> + </sect2> + </sect1> + + <sect1 xml:id="using-iconv"> + <title>������������� <command>iconv</command></title> + + <para>����� 10-08-2013 (<revnumber>254273</revnumber>) + � ������� &os; 10-CURRENT � ����� ����� ������ ������� + ����������� <command role="port">iconv</command>. � ����� + ������ ������� �������������� ������������ �������� + <package role="port">converters/libiconv</package>.</para> + + <para>��� ������������ �����������, �������� ����� + <command>iconv</command>, ���������� + <literal>USES=iconv</literal>. ������ &os; �� + 10-CURRENT �� 13-08-2013 (<revnumber>254273</revnumber>) �� + ����� ������������ <command>iconv</command>. �� ���� ����� + ������ ������� ����� ������������� ��������� ����������� �� + <package role="port">converters/libiconv</package>.</para> + + <para>����� ���� ������ <literal>USES=iconv</literal>, ���������� + ���������� ��������� ����������:</para> + + <informaltable frame="none" pgwide="0"> + <tgroup cols="4"> + <thead> + <row> + <entry>��� ����������</entry> + <entry>����������</entry> + <entry>�������� �� &os; 10-CURRENT + <revnumber>254273</revnumber> (13-08-2013)</entry> + <entry>�������� ����� &os; 10-CURRENT + <revnumber>254273</revnumber> (13-08-2013)</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>ICONV_CMD</varname></entry> + <entry>������� ���������� ��������� ����� + <command>iconv</command></entry> + <entry><literal>${LOCALBASE}/bin/iconv</literal></entry> + <entry><filename>/usr/bin/iconv</filename></entry> + </row> + + <row> + <entry><varname>ICONV_LIB</varname></entry> + <entry>�������� <command>ld</command> ��� ���������� � + <filename>libiconv</filename> (���� �����)</entry> + <entry><literal>-liconv</literal></entry> + <entry>(�����)</entry> + </row> + + <row> + <entry><varname>ICONV_PREFIX</varname></entry> + <entry>������� ���������� ���������� + <command>iconv</command> (������������ ��� ��������� + ������������)</entry> + <entry><literal>${LOCALBASE}</literal></entry> + <entry><filename>/usr</filename></entry> + </row> + + <row> + <entry><varname>ICONV_CONFIGURE_ARG</varname></entry> + <entry>�������� �������������� ��������� ������������ + ��� ��������� ������������</entry> + <entry><literal>--with-libiconv-prefix=${LOCALBASE}</literal></entry> + <entry>(�����)</entry> + </row> + + <row> + <entry><varname>ICONV_CONFIGURE_BASE</varname></entry> + <entry>�������� �������������� ��������� ������������ + ��� ��������� ������������</entry> + <entry><literal>--with-libiconv=${LOCALBASE}</literal></entry> + <entry>(�����)</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>� ��������� ���� �������� ��������������� �������������� + ���������� ���������� ���������� �������� ��� ������, + ������������ <package role="port">converters/libiconv</package> + ��� ����������� <command>iconv</command>.</para> + + <example xml:id="iconv-simple-use"> + <title>������� ������������� <command>iconv</command></title> + + <programlisting>USES= iconv +LDFLAGS+= -L${LOCALBASE}/lib ${ICONV_LIB}</programlisting> + </example> + + <example xml:id="iconv-configure-use"> + <title>������������� <command>iconv</command> � + <command>configure</command></title> + + <programlisting>USES= iconv +CONFIGURE_ARGS+=${ICONV_CONFIGURE_ARG}</programlisting> + </example> + + <para>��� �������� ����, <varname>ICONV_LIB</varname> ����� + ������ �������� � ����������� <command>iconv</command>. ��� + ����������� ����� ������������ ��� ����������� ������������ + <command>iconv</command> � ���������������� ����������.</para> + + <para>������ � ��������� �������� <command>ld</command> ��� ���� + ������ ֣���� ������ � <filename>Makefile</filename> ��� + �������� ������������. ��� ������� ���� �������� ����� + ������������ ��������� ������:</para> + + <example xml:id="iconv-reinplace"> + <title>����������� ֣���� ��������� + <literal>-liconv</literal></title> + + <programlisting>USES= iconv + +post-patch: + @${REINPLACE_CMD} -e 's/-liconv/${ICONV_LIB}/' ${WRKSRC}/Makefile</programlisting> + </example> + + <para>� ��������� ������� ���������� ���������� �������������� + �������� ��� ��������� �������� � ������ ������������� + ������������ <command>iconv</command>. ����� ��������� + �������� <varname>ICONV_LIB</varname> ������ ���� ������ޣ� + <filename>bsd.port.pre.mk</filename>:</para> + + <example xml:id="iconv-conditional"> + <title>�������� ����������� ������������ + <command>iconv</command></title> + + <programlisting>USES= iconv + +.include <bsd.port.pre.mk> + +post-patch: +.if empty(ICONV_LIB) + # ��������� ����������� iconv + @${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.sh +.endif + +.include <bsd.port.post.mk></programlisting> + </example> + </sect1> + + <sect1 xml:id="using-xfce"> + <title>������������� Xfce</title> + + <para>���������� <varname>USE_XFCE</varname> ������������ ��� + �������������� ������������ ������������ ��� ������, ������������ + ���������� ��� ���������� �� ������ Xfce, ����� ��� + <package role="port">x11-toolkits/libxfce4gui</package> � + <package role="port">x11-wm/xfce4-panel</package>.</para> + + <para>� ��������� ����� ������������ ��������� ���������� � ���������� + Xfce:</para> + + <itemizedlist> + <listitem> + <para>libexo: <package + role="port">x11/libexo</package></para> + </listitem> + + <listitem> + <para>libgui: <package + role="port">x11-toolkits/libxfce4gui</package></para> + </listitem> + + <listitem> + <para>libutil: <package + role="port">x11/libxfce4util</package></para> + </listitem> + + <listitem> + <para>libmcs: <package + role="port">x11/libxfce4mcs</package></para> + </listitem> + + <listitem> + <para>mcsmanager: <package + role="port">sysutils/xfce4-mcs-manager</package></para> + </listitem> + + <listitem> + <para>panel: <package + role="port">x11-wm/xfce4-panel</package></para> + </listitem> + + <listitem> + <para>thunar: <package + role="port">x11-fm/thunar</package></para> + </listitem> + + <listitem> + <para>wm: <package + role="port">x11-wm/xfce4-wm</package></para> + </listitem> + + <listitem> + <para>xfdev: <package + role="port">dev/xfce4-dev-tools</package></para> + </listitem> + </itemizedlist> + + <para>������������ ��������� �������������� ���������:</para> + + <itemizedlist> + <listitem> + <para>configenv: �����������, ���� ��� ���� ������� ���������� + ����������� �������� <varname>CONFIGURE_ENV</varname> ��� ������ + ��������� ��� ����� ���������.</para> + + <programlisting>-I${LOCALBASE}/include -L${LOCALBASE}/lib</programlisting> + + <para>����������� � CPPFLAGS � <varname>CONFIGURE_ENV</varname>.</para> + </listitem> + </itemizedlist> + + <para>�������������, ���� � ����� ������� ����������� �� + <package role="port">sysutils/xfce4-mcs-manager</package>, � + ���� ������� ����������� CPPFLAGS � ����� ��������� configure, + �� ��������� ����� ���������:</para> + + <programlisting>USE_XFCE= mcsmanager configenv</programlisting> + </sect1> + + <sect1 xml:id="using-mozilla"> + <title>������������� Mozilla</title> + + <table frame="none"> + <title>���������� ��� ������, ������������ Mozilla</title> + + <tgroup cols="2"> + <tbody> + + <row> + <entry><varname>USE_GECKO</varname></entry> + + <entry>���� �� �������� Gecko, � ������� ����� �������� + ����. ��������� ��������: + <literal>libxul</literal> (<filename>libxul.so</filename>), + <literal>seamonkey</literal> (<filename>libgtkembedmoz.so</filename>, + ����������, ������ �� ������ ��������������).</entry> + </row> + <row> + <entry><varname>USE_FIREFOX</varname></entry> + + <entry>��� ������� ����� ��������� Firefox. + ��������� ��������: + <literal>yes</literal> (������� ������ �� ���������), + <literal>40</literal>, <literal>36</literal>, + <literal>35</literal>. + �� ��������� ������������� ����������� �� ������ + <literal>40</literal>.</entry> + </row> + <row> + <entry><varname>USE_FIREFOX_BUILD</varname></entry> + + <entry>��� ���������� ����� ��������� Firefox. + ��������� ��������: �������� USE_FIREFOX. + ������������� ������������� USE_FIREFOX � ����������� + ���� �� ��������.</entry> + </row> + <row> + <entry><varname>USE_SEAMONKEY</varname></entry> + + <entry>��� ������� ����� ��������� SeaMonkey. + ��������� ��������: + <literal>yes</literal> (������� ������ �� ���������), + <literal>20</literal>, <literal>11</literal> + (��������, ������ �� ������ ��������������). + �� ��������� ������������� ����������� �� ������ + <literal>20</literal>.</entry> + </row> + <row> + <entry><varname>USE_SEAMONKEY_BUILD</varname></entry> + + <entry>��� ���������� ����� ��������� SeaMonkey. + ��������� ��������: �������� USE_SEAMONKEY. + ������������� ������������� USE_SEAMONKEY � ����������� + ���� �� ��������.</entry> + </row> + <row> + <entry><varname>USE_THUNDERBIRD</varname></entry> + + <entry>��� ������� ����� ��������� Thunderbird. + ��������� ��������: + <literal>yes</literal> (������� ������ �� ���������), + <literal>31</literal>, <literal>30</literal> + (��������, ������ �� ������ ��������������). + �� ��������� ������������� ����������� �� ������ + <literal>31</literal>.</entry> + </row> + <row> + <entry><varname>USE_THUNDERBIRD_BUILD</varname></entry> + + <entry>��� ���������� ����� ��������� Thunderbird. + ��������� ��������: �������� USE_THUNDERBIRD. + ������������� ������������� USE_THUNDERBIRD � ����������� + ���� �� ��������.</entry> + </row> + + </tbody> + </tgroup> + </table> + <para>������ �������� ��������� ���������� ����� �������� � ����� + <filename>/usr/ports/Mk/bsd.gecko.mk</filename>.</para> + </sect1> + + <sect1 xml:id="using-databases"> + <title>������������� ��� ������</title> + + <table frame="none"> + <title>���������� ��� ������, ������������ ���� ������</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>����������</entry> + + <entry>��������</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>USE_BDB</varname></entry> + + <entry>���� ���������� ����������� � <literal>yes</literal>, + ��������� ����������� �� ����� + <package role="port">databases/db41</package>. + ����� ���������� ����� ��������� ��������: 2, 3, 40, 41, + 42, 43, 44, 46, 47, 48 ��� 51. �� ������ �������� �������� + ����������� ��������, <varname>USE_BDB</varname>=42+ + ����� ������ ������������� ������ � ���������� �������, + �, ���� ������ �� �����������, �������� � 42.</entry> + </row> + + <row> + <entry><varname>USE_MYSQL</varname></entry> + + <entry>���� ���������� ����������� � <literal>yes</literal>, + ��������� ����������� �� ����� + <package role="port">databases/mysql55-client</package>. + ��� ��������� ����������, + <varname>WANT_MYSQL_VER</varname> ����� ���� ����������� + � �������� 323, 40, 41, 50, 51, 52, 55 ��� 60.</entry> + </row> + + <row> + <entry><varname>USE_PGSQL</varname></entry> + + <entry>���� ����������� � <literal>yes</literal>, ��������� + ����������� �� ����� <package role="port">databases/postgresql90-client</package>. + ��� ��������� ����������, + <varname>WANT_PGSQL_VER</varname> ����� ���� ����������� + � �������� 83, 84, 90, 91 ��� 92. �� ������ ������� + ������������ � ����������� ��������; + <varname>WANT_PGSQL_VER</varname>= + <literal> 90+</literal> ������� ���� ��������� �� + ����������� ������ 9.0.</entry> + </row> + + <row> + <entry><varname>USE_SQLITE</varname></entry> + + <entry>���� ���������� ����� �������� <literal>yes</literal>, + ��������� ����������� �� ����� <package role="port">databases/sqlite3</package>. + ���������� ����� ��������� ��������: 3, 2.</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>��������� �������� � <link xlink:href="http://svnweb.FreeBSD.org/ports/head/Mk/bsd.database.mk?view=markup">bsd.database.mk</link>.</para> + </sect1> + + <sect1 xml:id="rc-scripts"> + <title>������ � ��������� ����� (�������� <literal>rc</literal>)</title> + + <para>�������� <filename>rc.d</filename> ������������ ��� ������� ����� + ��� ������� ������� � ���� �������������� ����������� ������ + ���������, ������� � ����������� ������. ����� ������������� � + ��������� �������������� <filename>rc.d</filename>. ����������� + �� ţ ������������� ����� ����� � <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>���������� ����� ���� ��� ����� ��������� + <filename>rc.d</filename>:</para> + + <programlisting>USE_RC_SUBR= doormand</programlisting> + + <para>�������� ������� ����������� � ����������� + <filename>files</filename> � ������������ ����������� �������� + <literal>.in</literal> � ����� �����. ��� ����� ����� ����� + �������������� ����������� ���������� <varname>SUB_LIST</varname>. + ����� �������� �������������� ������������� ���������� + <literal>%%PREFIX%%</literal> � <literal>%%LOCALBASE%%</literal>. + ��������� � <varname>SUB_LIST</varname> � <link linkend="using-sub-files">��������������� �����</link>.</para> + + <para>������� � &os; 6.1-RELEASE ��������� �������� + <filename>rc.d</filename> (������� ������������� �� ������) �������� + � ����� &man.rcorder.8; �������� �������.</para> + + <para>������ �������� �������� <filename>rc.d</filename>:</para> + + <programlisting>#!/bin/sh + +# $FreeBSD$ +# +# PROVIDE: doormand +# REQUIRE: LOGIN +# KEYWORD: shutdown +# +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf to enable doorman: +# doorman_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable doorman +# doorman_config (path): Set to "%%PREFIX%%/etc/doormand/doormand.cf" by default. +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# doormand_enable (bool): Set to NO by default. +# Set it to YES to enable doormand. +# doormand_config (path): Set to %%PREFIX%%/etc/doormand/doormand.cf +# by default. +# + +. /etc/rc.subr + +name=doormand +rcvar=doormand_enable + +load_rc_config $name + +: ${doormand_enable:="NO"} +: ${doormand_config="%%PREFIX%%/etc/doormand/doormand.cf"} + +command=%%PREFIX%%/sbin/${name} +pidfile=/var/run/${name}.pid + +command_args="-p $pidfile -f $doormand_config" + +run_rc_command "$1"</programlisting> + + <para>���� ��� ������� ������� ��������� ������ ������ ���� ������, + �������� ������ ������������</para> + + <programlisting>REQUIRE: LOGIN</programlisting> + + <para>���� ������ + �������� ��� ������������ ������������� (�������� �� root), �� + ��� �������� �������������. � �������� ���� �������� �����������</para> + + <programlisting>KEYWORD: shutdown</programlisting> + + <para>������ ��� + ����������� ����, ������� �� ���������� � �������� �������, ��������� + ������, � ��� ������ ��������� ����������� ��� ���������� �������. + ���� �������� �� ��������� ���������� ������, �� ��� �� �������� + �����������.</para> + + <para>��� �������������� ��������� ������������ + ���������� ���������� �� ��������� � ����� "=" + �������� ����� ���������������� �� ��������� �� ������ ":=", + ������������ �����, ��������� ������ ������������� �������� �� + ��������� ������ ���� ���������� �� �����������, � ��������� + ������������� ţ, ���� ���������� �� ����������� + <emphasis>���</emphasis> ��������. ������������ ������ ����� + �������� � ����� ����� <filename>rc.conf.local</filename> + ���-������ ����</para> + + <programlisting>doormand_flags=""</programlisting> + + <para>� ����� ���������� + ���������� ����������� ���������� � �������������� ":=", + ��� ������������� ��������� ������������. ���������� + <literal>_enable</literal> �������� ������������; ��������� + �� ��������� ������ ���� ":".</para> + + <sect2> + <title>����������� ������ ����� ��������� ���������</title> + + <para>����� ���, ��� �������� ���� �� ��������� + <filename>rc.d</filename>, � ��� ����� ����� ��� ��������, + ��������� �� ��������� ����������� �������, ����� ���������, + ��� ���� ��� ����� �����.</para> + + <para>����������� �� ���� �������� ����� ��������� ���� + <package role="port">devel/rclint</package>, �� ��� �� + �������� ������� ����������� ���������.</para> + + <procedure> + <step> + <para>���� ��� ����� ����, ������������� �� �� �� + <filename>.sh</filename>? ���� ��� ���, �� ��� ����� ������ + ���� �������� �� <filename>file.in</filename>, ��������� + ����� <filename>rc.d</filename> �� ����� ������������ + �� ����� ����������.</para> + </step> + + <step> + <para>������������ �� � ����� ��� + <literal>$FreeBSD$</literal>?</para> + </step> + + <step> + <para>������������� �� ���� ����� ��� ����� + (��� <filename>.in</filename>), ������ <literal>PROVIDE</literal> + � <literal>$</literal><replaceable>name</replaceable>? + ��� �����, ����������� � <literal>PROVIDE</literal>, �������� + �������, �������� ��� �������, ��������� � &man.rcorder.8;. + ������������ ����� ����� � + <literal>$</literal><replaceable>name</replaceable> + ����� �������� ���������, ����� ���������� ����� ��������� � + �������� � <filename>rc.conf[.local]</filename>. ��������� + ����� �������� ���, ��� �� ����� �� ������� "���������" + ��� ���� ����� ���������, ������� ��, ��� ������ � ������� + �������.</para> + </step> + + <step> + <para>�������� �� ������ <literal>REQUIRE</literal> �������� + LOGIN? ��� ������� ����������� ��� ���������, ���������� �� + ��-��� �����������������. ���� �������� ����������� ��-��� + �����������������, �� ����� �� ��� ��������� �� + <literal>LOGIN</literal>? ���� ���, �� ��� ������� ��������� + �����, ��� ����� �� ����� �������� ������������� ��������� + �������� � ��� ����� &man.rcorder.8;, ����� ����� ��� �������� + � ������� ������� ��� ����������.</para> + </step> + + <step> + <para>��������� �� �������� ���������� ������? ���� ��, �� �� + ������ ����� <literal>KEYWORD: shutdown</literal>.</para> + </step> + + <step> + <para>��������� � ���, ��� � �������� ����������� + <literal>KEYWORD: &os;</literal>. ��� ��������� ���� + ������ � ������������ ��� ����� ���. ��� ����� ������ + ����������� ����, ��� ����� �������� ��� ���������� �� + �������, ������� ������ �������� ������ ���� ������� ��� + ��������.</para> + </step> + + <step> + <para>���� �������� ���������� ���������������� ����, ����� + ��� <command>perl</command>, <command>python</command> ��� + <command>ruby</command>, �� ���������, ��� �������� + <varname>command_interpreter</varname> ����������� + ������� �������. � ��������� ������</para> + + <screen>&prompt.root; <userinput>service name stop</userinput></screen> + + <para>�������� ����� �������� �����������. �������� &man.service.8; + ��� ��������� �������������� ����������.</para> + </step> + + <step> + <para>��� �� ��������� <filename>/usr/local</filename> ���� + �������� �� <literal>%%PREFIX%%</literal>?</para> + </step> + + <step> + <para>���� �� ���������� ���������� �������� �� ��������� + ����� <function>load_rc_config</function>?</para> + </step> + + <step> + <para>������������ �� ������ ������ ��� ���������� �������� + �� ���������? ����� ���������� ������ ���� �������, �� + �������������, ��� ��� ��������� ����������������� � + ������������ � ������ �����.</para> + </step> + + <step> + <para>������������� �� � ��������� ������������ ��������, + ����������� ����������?</para> + </step> + + <step> + <para>�������� �� ��������� �� ���������, ������������� � + <replaceable>name</replaceable><varname>_flags</varname>, + �������������? ���� ��� ���, �� �� ������� ��������� + � <varname>command_args</varname>. �������� <option>-d</option> + ����� - ��� ��� ������� ���� (����� �������� �� ��������), + ��������� ������ �� ����������� ��� “�����������“ + �������� � ������� �� ����� ���� ������������.</para> + </step> + + <step> + <para>������� �� ��������� ���������� + <replaceable>name</replaceable><varname>_flags</varname> � + <varname>command_args</varname> (� ��������; � ������, ����� + ������ ����������� ����).</para> + </step> + + <step> + <para>��������� �� �������� �����-���� ��� ����������? ��� + ��������. ������ ����� ���� �����/������ ���������� � + <function>start_precmd</function>.</para> + </step> + + <step> + <para>��� ���������� ������� ������ ������������ ������� + <function>checkyesno</function>. �� ������ ���������� + �������� ��� <literal>[Yy][Ee][Ss]</literal>, � ��� �����.</para> + </step> + + <step> + <para>���� � �������� ����������� ���� (��������, �������� + ����-���� ����� �������), ������������ �� ������� ��� + ���������� �����? �� �� ����� ������������ �������� �������� + � ������ ������������� ������.</para> + </step> + + <step> + <para>������� �� �������� ����� ��� ��������, ������� ����� + ������ ����� �������? ��������, ���� <filename>pid</filename>, + ������� ������ ������������ ������������, ��-��� �������� + ����������� �������. ������ ������������ ������ + &man.touch.1;/&man.chown.8;/&man.chmod.1; ��������� �� + ������������� &man.install.1; � ����������� ����������� + ��������� ������, ��� ���� ����� ��������� ��� ��������� �� + ���� ���.</para> + </step> + </procedure> + </sect2> + </sect1> + + <sect1 xml:id="users-and-groups"> + <title>���������� ������������� � �����</title> + + <para>��������� ����� ������� � ������������� ������� ������� + ������������� ������������. �������� ��������� UID � ��������� �� 50 + �� 999 � ��������������� ��� � <filename>ports/UIDs</filename> + (��� �������������) �/��� � <filename>ports/GIDs</filename> (��� + �����). ��������������, ��� �� ����������� UID, ��� ������������ + �������� ��� ������� �������.</para> + + <para>����������, �������� � ���� ��������� ��� ���� ���� ������, + ���� ��� ��������� ������� ������ ������������ ��� ������ ��� + ������ �����.</para> + + <para>����� �� ������� ������������ � ����� <filename>Makefile</filename> + ���������� <varname>USERS</varname> � <varname>GROUPS</varname>, + � ������������ �������������� ��������� ��� ��������� �����.</para> + + <para>������� �������� ����������������� UID � GID ��������� � + <filename>ports/UIDs</filename> � <filename>ports/GIDs</filename>. + </para> + + </sect1> + + <sect1 xml:id="requiring-kernel-sources"> + <title>�����, ��������� ������� �������� ������� ����</title> + + <para>��������� ������ (����� ��� ����������� ������ ����) ��� + ���������� ����� ����� � ��������� �������� ����. ���� ������ + ���������� ������ �����������, ����������� �� ��� �������������:</para> + + <programlisting>USES= kmod</programlisting> + + <para>����� ���� ��������, <literal>kmod</literal> ��������� � + ����������� �������, ������� ������ ����������� � ���� + ������.</para> + </sect1> + + </chapter> + diff --git a/ru_RU.KOI8-R/books/porters-handbook/testing/Makefile b/ru_RU.KOI8-R/books/porters-handbook/testing/Makefile new file mode 100644 index 0000000000..c2e5ab5c54 --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/testing/Makefile @@ -0,0 +1,17 @@ +# +# Build the Porters Handbook with just the content from this chapter. +# +# $FreeBSD$ +# +# Original revision: r43840 +# + +CHAPTERS= testing/chapter.xml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/ru_RU.KOI8-R/books/porters-handbook/testing/chapter.xml b/ru_RU.KOI8-R/books/porters-handbook/testing/chapter.xml new file mode 100644 index 0000000000..9dd6dd5b88 --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/testing/chapter.xml @@ -0,0 +1,197 @@ +<?xml version="1.0" encoding="koi8-r"?> +<!-- + The FreeBSD Russian Documentation Project + + $FreeBSD$ + + Original revision: r43840 +--> + +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="testing"> + + <title>������������ ������ �����</title> + + <sect1 xml:id="make-describe"> + <title>������ <command>make describe</command></title> + + <para>��������� ������� &os; ��� ������������� ������, ��������, + &man.portupgrade.1;, ��������� �� ���� ������ � ������ + <filename>/usr/ports/INDEX</filename>, � ������� ������������� ����� + �������������� ������, ��� �� �����������. ���� + <filename>INDEX</filename> ��������� ��� ������ + <filename>ports/Makefile</filename> �������� ������ �� ������� + <command>make index</command>, ������������ � ���������� ������� + ����� � ����������� � Σ� <command>make describe</command>. ����� + �������, ���� ���������� <command>make describe</command> � + �����-���� ������ ���������� ��������, �� ������ �� ������� ������� + <filename>INDEX</filename>, ��� ���� ����� ����� ������ ������ + ���������.</para> + + <note> + <para>����������� ������������ ���� ���� ����� ����� ��� ����������� + �� ����, ����� ��������� ������������ � + <filename>make.conf</filename>, �������, ����������, ���������, + ����� �����, ��� ������������� ���������� + <literal>.error</literal>, ����� (� �������) ���������� � + ����������� �� ���� �������������. (�������� + <xref linkend="dads-dot-error"/>.)</para> + </note> + + <para>���� ������� <command>make describe</command> ������ �������, � + �� ������, �� ��� ��� ��� ����ģ� �������������. ���������� � ����� + <filename>bsd.port.mk</filename>, ����� �������� �������� ���������� + �����.</para> + + <para>�������� �����, ��� ������ ��������� ������ + <command>portlint</command> (��� ������� � ��������� �������) + �����ģ� � ��������������� ������� ������� + <command>make describe</command>.</para> + </sect1> + + <sect1 xml:id="testing-portlint"> + <title>Portlint</title> + + <para>��������� ���� ������ �������� <link linkend="porting-portlint"><command>portlint</command></link> + ����� ���, ��� ţ �������� ��� ��������� � ������ ������. + <command>portlint</command> ������������� ��� � ������ + ����������Σ���� �������, ��� ��������������, ��� � ��������������. + ��� ������ (��� �������������� ������ ���������) ����� ����� + ���������� �������� ������ <command>portlint -A</command>; ��� + ��� ������������� ����� ���������� ����� ��������� + <command>portlint -C</command>.</para> + + <para>��� ��� ��� ����������� ������ <command>portlint</command> + ���������� ������������� ������, �� �� ����� ���������� � ��������� + ��������������. ����� ����, ����� �� ������� �����, ���������� ��� + ��������������, ��-�� ����������� ��������� �������� ������ �� ����� + ���� ������� ����� �����. ���� �� ������������, �� ����� ����� + �������� � &a.ports;.</para> + </sect1> + + <sect1 xml:id="testing-porttools"> + <title>Port Tools</title> + + <para>��������� <package role="port">ports-mgmt/porttools</package> + ������ � ������ ��������� ������.</para> + + <para><command>port</command> �������� ��������� ��������� �����, + ������� ����� ��������� ��� ������ ������������. ���� �� ������ + ��������� ����� ���� ��� �������� ������������, �� �� ������ + ������������ <command>port test</command> ��� �������� ������ �����, + ������� �������� <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 xml:id="porting-prefix"> + <title><varname>PREFIX</varname> � <varname>DESTDIR</varname></title> + + <para>���������� <varname>PREFIX</varname> ����������, ���� ����� + ���������� ����. �� ��������� ��� <filename>/usr/local</filename>, + �� ����� �������� ������������� �� ����������� ����, ����� ��� + <filename>/opt</filename>. � ����� ����� �������� ���� ���������� + ������ �����������.</para> + + <para>���� ������������ ��������� ���������� <varname>DESTDIR</varname>, + �� ��� ���������� ������ �������������� ���������, ������, ��� jail + ��� ������������� �������, �������������� � �����, �������� �� + <filename>/</filename>. �� ����� ���� ���� ��������������� � + <filename>DESTDIR/PREFIX</filename> + � �������������� � ���� ������ ������� � + <filename>DESTDIR/var/db/pkg</filename>. + ��������� ���������� <varname>DESTDIR</varname> ������������ + ������������� ��������������� ������ � ������� &man.chroot.8;, ��� + �� ����� ������� ��������� ��� ���������� ������ ������������ + ��� ��������� <varname>DESTDIR</varname>-����������� ������.</para> + + <para>�������� ���������� <varname>PREFIX</varname> ����� ����������� + � <varname>LOCALBASE</varname> (�� ��������� + <filename>/usr/local</filename>). ���� + ������ ���������� <varname>USE_LINUX_PREFIX</varname>, �� + <varname>PREFIX</varname> ������ �������� <varname>LINUXBASE</varname> + (�� ��������� <filename>/compat/linux</filename>).</para> + + <para>��������� ���� ������������� ����� <filename>/usr/local</filename> + � �������� ���� ������� ���� ������� ����� ������ � ��������� + ������������� ����������� ������ ��������. ����� ����� ����� + �������� ������� ������� ����� <filename>/usr/local</filename> + � ��������� ������ <filename>Makefile</filename> ������ ����� �� + <literal>${PREFIX}</literal>. ��� ���������� + ������������� ���������� ����� �� ������ ����� ���������� � + ���������.</para> + + <para>���������, ��� ���� ���������� �� ������������� ����-���� � + ������� <filename>/usr/local</filename> ������ + <varname>PREFIX</varname>. ������� ���� ��������� ����� ����� ������ + ��������� ��������� �������:</para> + + <screen>&prompt.root; <userinput>make clean; make package PREFIX=/var/tmp/`make -V PORTNAME`</userinput></screen> + + <para>���� ���-�� ���� ����������� �� ��������� + <varname>PREFIX</varname>, �� ������� �������� ������ ������� �� + ���������� ������.</para> + + <para>��� ����� ����� ��������� � �������������� ��������� + �������� ������ (�������� <xref linkend="staging"/>):</para> + + <screen>&prompt.root; <userinput>make stage && make check-orphans && make package</userinput></screen> + + <para>��� �������� �� ������ ���� ��������� ����� ������ ������ ����� + � �� �������� ������������ ������������� <varname>LOCALBASE</varname> + � �������� ������ �� ����� �� ������ ������. ����, �������� + ������������� � <filename>/var/tmp/`make -V PORTNAME`</filename>, + ������� ��������� �� �����������������, ����� ��������� � ���������� + ������� � ������.</para> + + <para>���������� <varname>PREFIX</varname> �� ������ ���������� ���� � + ����� <filename>Makefile</filename> �����. ������������ ��� ��������� + ����� ����� ������ � <varname>PREFIX</varname> ���� ����������� + �����, � ���� ������ ��������� ��� ��������.</para> + + <para>���������� � ����������/������ �� ������ ������ � + �����������, �������������� ����, ��� �������� ����� ���������. + ��������, ���� ��� ���� �������, ����� ������ <literal>PAGER</literal> + ������� ������ ����� ������� <command>less</command>, �� ����������� + ��������� ���� <filename>/usr/local/bin/less</filename>. ������ + ����� ����������� <literal>${LOCALBASE}</literal>:</para> + + <programlisting>-DPAGER=\"${LOCALBASE}/bin/less\"</programlisting> + + <para>���� � �������������� <varname>LOCALBASE</varname> ����� ������ + ������ ���������� ���������������, ���� ��������� ������������� + ���������� �ӣ ������ <filename>/usr/local</filename> ����-�� � ������ + �����.</para> + </sect1> + + <sect1 xml:id="testing-tinderbox"> + <title>Tinderbox</title> + + <para>���� �� ������ ����������� ������, �� �� ������ �������� + ��������� �� <application>Tinderbox</application>. ��� ������ + ������� ���������� � ������������ ������. + <application>Tinderbox</application> ����� ����������, ��������� + ���� <package role="port">ports-mgmt/tinderbox</package>. + ����������� ���������� ������������ ������������, ��������� + ������������ �� �������� �����������.</para> + + <para>��� ��������� ������������ �������� + <link xlink:href="http://tinderbox.marcuscom.com/">������� Tinderbox</link>.</para> + </sect1> + + <sect1 xml:id="testing-poudriere"> + <title>Poudriere</title> + + <para>���� �� ����������� ������, ��������� �� ��������� + <application>poudriere</application>. ��� ������ ������� + ��� ���������� � ������������ ������. + <application>Poudriere</application> ����� ���������� �� + <package role="port">ports-mgmt/poudriere</package>.</para> + + <para>��� ��������� ��������� ���������� �������� <link + xlink:href="http://fossil.etoilebsd.net/poudriere">������� + Poudriere</link>.</para> + </sect1> + </chapter> + diff --git a/ru_RU.KOI8-R/books/porters-handbook/upgrading/Makefile b/ru_RU.KOI8-R/books/porters-handbook/upgrading/Makefile new file mode 100644 index 0000000000..406aef8283 --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/upgrading/Makefile @@ -0,0 +1,17 @@ +# +# Build the Porters Handbook with just the content from this chapter. +# +# $FreeBSD$ +# +# Original revision: r43840 +# + +CHAPTERS= upgrading/chapter.xml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/ru_RU.KOI8-R/books/porters-handbook/upgrading/chapter.xml b/ru_RU.KOI8-R/books/porters-handbook/upgrading/chapter.xml new file mode 100644 index 0000000000..7372064ce5 --- /dev/null +++ b/ru_RU.KOI8-R/books/porters-handbook/upgrading/chapter.xml @@ -0,0 +1,300 @@ +<?xml version="1.0" encoding="koi8-r"?> +<!-- + The FreeBSD Russian Documentation Project + + $FreeBSD$ + + Original revision: r43840 +--> + +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="port-upgrading"> + + <title>���������� ���������� �����</title> + + <para>���� �� ��������, ��� ��� ���� ������� �� ��������� � ��������� + ��������� �������, ������ ����� �� ������ �������� ����� + ��������� ������ �����. �� ������ ����� �� � �������� + <filename>ports/ports-current</filename> �� ���������� FTP-�������� &os;. + ������ ���� �� ��������� � ���������� ������� ����������� ������, + ��������, ����� ����� ������������ + <application>Subversion</application> ��� &man.portsnap.8; ��� + ����������� ���� ��������� ������ � ���������� ���������, ��� ��� + ������� � <link xlink:href="&url.books.handbook;/ports-using.html"> + �����������</link>. � ���� �� ��� ���� ����������� ����������� ��� + ����������� ������.</para> + + <para>�� ��������� ���� ���������� ��������, ��� ������� �� ��� ��� + ���������� ����� �������. ��� ����� � ��� ���� ��� �����������. + ���������� ��������� � <link xlink:href="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">���� + ������ ��������� � ��������� FreeBSD (PR)</link> (��������� ����� ��� + <literal>GNATS</literal>) � ���������� �������������. �������� �� + ����������� ������ <literal>ports</literal> � ������� �������� + �����.</para> + + <para>������ ������ ���� �������� ��������� �������� ����� � ���� + Synopsis � ������ ����. � ����� ������ �� ������ ��������������� + <link linkend="portsmon">�������� ����������� ������ &os;</link> + (������� �������� ����� ��� + <literal>portsmon</literal>). � ������ ���� ������� �������� ������� + ���������������� PR, ���������� ������, �� ����� �����. ��� ������ + PR, ����������� � ������̣����� �����, ����������� �������� <link xlink:href="http://portsmon.FreeBSD.org/portoverview.py">��������� + �� ������ �����</link>.</para> + + <para>���� ����� ���������� PR �� ����������, �� �� ��������� ����� + ������� ������� ��������� ����������� ����� ��������, ��������������� + ����, ������� �������� �� ������� <command>make maintainer</command>. + ���� ������� ����� ��� �������� ��� �����������, ��� ����� + ������� �� ��������� ���� ����� ������ (��������, ��-�� ������� �� + ������������� ���������������� ����� ������); + ��� ��� ����� ����������� �� ������. ��������, ��� ���������������� + ����� ������������� � ������� ��������������� + <literal>ports@FreeBSD.org</literal>, ������� �������� ����� ���� + ������� ������ ������ ��������, ��� ��� �������� ���� ���������, + ������ �����, � ������ ������ �� �������.</para> + + <para>���� �������������� ������ ��� ��������� ����������, ���� + �������������� �����������, �� � ��� ���������� ���� ������ &os;, + ���������� ���������� �����! ����������, ������� ��� � �������������� + ������� &man.diff.1; � �������� �������.</para> + + <para>����� ������� ���������� <command>diff</command> ��� ������ �����, + ���������� ����, ������� ����� ����������, � + <replaceable>something.orig</replaceable>, ��������� ���� ��������� � + <replaceable>something</replaceable>, � ����� �������� ���� ����:</para> + + <informalexample> + <screen>&prompt.user; <userinput>diff -u something.orig something > something.diff</userinput></screen> + </informalexample> + + <para>� ��������� ������, ��� ������� ��������������� ������� + <command>svn diff</command> (<xref linkend="svn-diff"/>), ���� + ����������� ���������� ����� � + ��������� ������� � ��������� ��������� ����������� ������� &man.diff.1; + ����� ����� � ������ ���������� ����� (��������, ���� ������� � + ���������������� ������ ���������� <filename>superedit</filename>, + � ������������, ����������� � ����������� � ����� ������ ������, + <filename>superedit.bak</filename>, �� ��������� ��������� ���������� + ������� <command>diff -ruN superedit.bak superedit</command>). + �����ģ� ��� ���������������, ��� � ����������� ����, ������ ���������� + ������ ������ ������������ ��������������� ������. �������� + ������������� ����� <literal>-N</literal>—��� ���������� ������ + ��������� diff ��������� �������� � ������ ���������� ����� ������ ��� + �������� ������. ����� ���, ��� �������� ��� diff-����, ����������, + ��������� ���, ����� ��������� � ���������� ���� ���ӣ���� + ���������. (� ���������, ���������, ��� �� �������� ������� �������� + �������� <command>make clean</command>).</para> + + <para>��� ��������� ������������� �������� � ������� �������� + �� ������ ��������������� �������� + <filename>/usr/ports/Tools/scripts/patchtool.py</filename>. ����� ���, + ��� ��� ���������, ����������, �������� + <filename>/usr/ports/Tools/scripts/README.patchtool</filename>.</para> + + <para>���� ���� ����� �� ��������������, � �� ������� ��� �����������, + ����������, ��������� ��� ���, ����� ����������� ����� ��� + ��������������. �� &os; ������� ����� 4000 ������ ��� ���������, � ��� + ��� ��� �� �������, ��� ������ ����� �����������. (��������� �������� + ������������ ��������������� ����� ����� � ������� � <link xlink:href="&url.books.developers-handbook;/policies.html#POLICIES-MAINTAINER"> + ����������� ������������</link>.)</para> + + <para>����� ����� ������� ��� diff-����, ������� ��� � ������� �� ������� + &man.send-pr.1; (��������� <literal>ports</literal>). ���� �� + ������������� ����, + ����������� ��������� ����� <literal>[maintainer update]</literal> � + ������ ������ �������� � ������� � ���� <quote>Class</quote> + ������ PR ������� <literal>maintainer-update</literal>. + � ��������� ������ � ���� <quote>Class</quote> ������ PR ������ ���� + ������� <literal>change-request</literal>. ������ �����, � ��������� + �������� ��� ����������� ��� ���̣���� �����, ��� ��� ��� ����� + ��������������� ������� &man.svn.1; ��� ���������� �������� �������. + ���� diff-���� ����� ������, ����������� 20��, ������� ��� � ����������� + �������� uuencode; � ��������� ������ ������ �������� ��� ��� ���� + � PR.</para> + + <para>������ ��� ������������ &man.send-pr.1; ����������� ������ + � <link xlink:href="&url.articles.problem-reports;/pr-writing.html">��������� + ��������� � ���������</link> � ������ � ���������� �� �������. �� + �������� ������� ������ ���������� � ���, ��� ������ �������� ��������� + � ���������.</para> + + <important> + <para>���� ���������� ������� ������������� �������������� + ������������ ��� �������� ���أ���� ������ � ��������� �����, + ����������, ���������� &a.portmgr; � ������������� ������������ + �������������� � ���������� ��������������� ������ ������� �����. + � ��������� ������ ������ �� ������������� ������������ + <command>pkg</command> ����� ���������� ������������� ������ + ������ �� ������� <command>pkg install</command> � ������� + �ݣ ���������� ������.</para> + </important> + + <note> + <para>��������� ��� ��� - ��� ������� ���������� ������������ ������ + ����������� ������� &man.diff.1;, � �� &man.shar.1;! ��� ������� + ������ ����������� ������, ��� ������ ���� ��������.</para> + </note> + + <para>������, ����� �� ��������� �ӣ ���, ���������� � ���, ��� + ������������ ���������� ���������, � <xref linkend="keeping-up"/>.</para> + + <sect1 xml:id="svn-diff"> + <title>������������� <application>Subversion</application> ��� + �������� ������</title> + + <para>�� ����������� ���������� ����������� � ������� &man.svn.1; diff. + � ����� ���� �� ����� ������������ �� ��������� � �������� ����� + <quote>������ � �����</quote> ����������. ��� ����� + ������� ��������� � �������� �� � ������, ���� ���-������ + ���������� � ��������� ������ � ��� ���, ��� �� ������ ������, + ���� ���� ��������� ������ ���-�� ���������.</para> + + <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>/usr/ports/</filename>.</para> + </callout> + + <callout arearefs="svn-FreeBSD-org"> + <para><link xlink:href="https://svn0.us-west.FreeBSD.org/">svn0.us-west.FreeBSD.org</link> + — ��� ������������� ������ + <application>Subversion</application>. + �������� ��������� ������� � ��������� ���������� + �������������� ������� �� ������� � ������� <link xlink:href="&url.books.handbook;/svn-mirrors.html">������������� + ������ Subversion</link>.</para> + </callout> + </calloutlist> + + <para>�������� � ������� ��������, ������� ����� ���������, ������� + ������ ������ ��� �����. ��� ���������� ��� �������� ����� + ����������� <command>svn</command> ��� ������������ ���� + ���������:</para> + + <screen>&prompt.user; <userinput>svn add new_file</userinput> +&prompt.user; <userinput>svn remove deleted_file</userinput></screen> + + <para>���������, ��� �� ���������� ���� � ������������ � ������������� + �������� ��������, ��������� � <xref linkend="porting-testing"/> � + <xref linkend="porting-portlint"/>.</para> + + <screen>&prompt.user; <userinput>svn status</userinput> +&prompt.user; <userinput>svn update</userinput> <co xml:id="svn-update"/></screen> + + <calloutlist> + <callout arearefs="svn-update"> + <para>��� ������� ���������� ��������� ������� �������� ����� + ����� ������ � ������� ������� �����������; ����������� ��������� + ���������� �����. ����� ����� ��������� ������� ����� �������� + ��� ���������, ���������� � ���� ������. ��� ��������� ������� + ������ �������� <xref linkend="table-svn-up"/>.</para> + </callout> + </calloutlist> + + <table pgwide="1" frame="none" xml:id="table-svn-up"> + <title>�������� ������ ��� <application>Subversion</application> + update</title> + + <tgroup cols="2"> + <tbody> + <row> + <entry>U</entry> + + <entry>���� �������� ��� �������.</entry> + </row> + + <row> + <entry>G</entry> + + <entry>���� �������� ��� ������� (�� ������� ��� ������ + ��� ������ � ��������� ������������).</entry> + </row> + + <row> + <entry>M</entry> + + <entry>���� � ���������� �����������, ������� ��������� + ��� ����������.</entry> + </row> + + <row> + <entry>C</entry> + + <entry>���� � ���������� �����������, ������� ��������� + � �����������.</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>���� � ���������� ���������� <literal>svn update</literal> + ������������ <literal>C</literal>, �� ��� ��������, ��� ���-�� + ���������� � ����������� <application>Subversion</application> + � &man.svn.1; �� ������ ��������� + ������� ��������� ��������� � ����������� �� �����������. + � ����� ������ ������� �� �������� ����������� ���������, + ��������� &man.svn.1; ������ �� ����� � ���, ����� ������ ���� + ����, ������� ��� ������� ����� (�, ��������, �����) ������ + ������� ��� ���������, ������� �� ����� ������.</para> + + <para>��������� ����� �������� �������� ���������������� &man.diff.1; + ��� ���������� ���������:</para> + + <screen>&prompt.user; <userinput>svn diff > ../`basename ${PWD}`.diff</userinput></screen> + + <note> + <para>���������� � ����� ��������� ������ ������ ���� ����� + ������� ������� � PR, ��������� ������������� � �������� + ����� ��� ���������� ����� ���� ����������.</para> + </note> + + <para>���������� ���� ����� � ������������ � ������������, ��������� � + <xref linkend="port-upgrading"/>.</para> + </sect1> + + <sect1 xml:id="moved-and-updating-files"> + <title>����� <filename>UPDATING</filename> � + <filename>MOVED</filename></title> + + <para>���� ��� ���������� ����� ��������� ����������� ����, ����� ��� + ��������� ������ ������������ ��� ������ ����������� ���������, + �� ��� ������� ��� ����������������� � ����� + <filename>/usr/ports/UPDATING</filename>. ������ ������ � ���� + ����� ���������� ����:</para> + + <programlisting>YYYYMMDD: + AFFECTS: users of portcategory/portname + AUTHOR: Your name <Your email address> + + Special instructions</programlisting> + + <para>���� �� ��������� ������ ���������� portmaster ��� portupgrading, + ����������, ��������� � ���������� ������������� �������� ������ + ��������� ��������.</para> + + <para>���� <filename>/usr/ports/MOVED</filename> �������� ������ + �� ���̣���� ��� ������ݣ���� ������. ������ ������ � ���� + ����� ������� �� �����: �������� �����, �����, ���� �� ��� + ������ݣ�, ���� � ������� �����������. ���� ���� ��� ���̣�, + �� ����, ����������� ����� �����, ����� ���������� �������������. + ���� ������ ����������� �������� <literal>|</literal> (pipe), + ��� ��� �������� ����:</para> + + <programlisting>old name|new name (blank for deleted)|date of move|reason</programlisting> + + <para>���� ������� ������� � ������� <literal>YYYY-MM-DD</literal>. + ����� ������ ������� ��������� � ����� ����� � ��������������� + �������.</para> + + <para>���� ���� ��� ������ݣ�, �� � ���������� ������������ �� + ������� �����, ������� � ���� ����� ������, ���������� + ���������� � �����������.</para> + + <para>���������� ��������� ����� ��������� �������� + <command>Tools/scripts/MOVEDlint.awk</command>.</para> + </sect1> + </chapter> + diff --git a/ru_RU.KOI8-R/books/porters-handbook/uses.xml b/ru_RU.KOI8-R/books/porters-handbook/uses.xml index fdfd107b54..7f63727a71 100644 --- a/ru_RU.KOI8-R/books/porters-handbook/uses.xml +++ b/ru_RU.KOI8-R/books/porters-handbook/uses.xml @@ -5,10 +5,10 @@ $FreeBSD$ - Original revision: r43793 + Original revision: r43811 --> -<row> +<row xml:id="uses-ada"> <entry><literal>ada</literal></entry> <entry>(���)</entry> @@ -18,7 +18,7 @@ ������������ �������� <varname>CC</varname>.</entry> </row> -<row> +<row xml:id="uses-bison"> <entry><literal>bison</literal></entry> <entry>(���), <literal>build</literal>, <literal>run</literal>, @@ -31,7 +31,7 @@ � <literal>both</literal> ��� ������ � ����������.</entry> </row> -<row> +<row xml:id="uses-charsetfix"> <entry><literal>charsetfix</literal></entry> <entry>(���)</entry> @@ -45,7 +45,7 @@ <varname>WRKSRC</varname>/<filename>Makefile.in</filename>.</entry> </row> -<row> +<row xml:id="uses-cmake"> <entry><literal>cmake</literal></entry> <entry>(���), <literal>outsource</literal>, @@ -60,7 +60,7 @@ <xref linkend="using-cmake"/>.</entry> </row> -<row> +<row xml:id="uses-compiler"> <entry><literal>compiler</literal></entry> <entry>(���), <literal>c++0x</literal>, @@ -118,7 +118,7 @@ </itemizedlist></entry> </row> -<row> +<row xml:id="uses-cran"> <entry><literal>cran</literal></entry> <entry>(���), <literal>auto-plist</literal></entry> @@ -128,7 +128,7 @@ <filename>pkg-plist</filename>.</entry> </row> -<row> +<row xml:id="uses-desktop-file-utils"> <entry><literal>desktop-file-utils</literal></entry> <entry>(���)</entry> @@ -141,7 +141,7 @@ ��� ��������� � �������� ������.</entry> </row> -<row> +<row xml:id="uses-desthack"> <entry><literal>desthack</literal></entry> <entry>(���)</entry> @@ -151,7 +151,7 @@ ����� �� ������.</entry> </row> -<row> +<row xml:id="uses-display"> <entry><literal>display</literal></entry> <entry>(���), ARGS</entry> @@ -166,7 +166,7 @@ � ��������������� ����������� �������.</entry> </row> -<row> +<row xml:id="uses-dos2unix"> <entry><literal>dos2unix</literal></entry> <entry>(���)</entry> @@ -195,7 +195,7 @@ </itemizedlist></entry> </row> -<row> +<row xml:id="uses-fam"> <entry><literal>fam</literal></entry> <entry>(���), fam, gamin</entry> @@ -206,7 +206,7 @@ ������ WITH_FAM_SYSTEM ��� �������� ������ ������������.</entry> </row> -<row> +<row xml:id="uses-fmake"> <entry><literal>fmake</literal></entry> <entry>(���)</entry> @@ -215,7 +215,7 @@ ����������� ��� ������.</entry> </row> -<row> +<row xml:id="uses-fortran"> <entry><literal>fortran</literal></entry> <entry><literal>gcc</literal> (default), <literal>ifort</literal></entry> @@ -223,7 +223,7 @@ <entry>���������� ���������� Fortran �� GNU ��� Intel.</entry> </row> -<row> +<row xml:id="uses-fuse"> <entry><literal>fuse</literal></entry> <entry>(���)</entry> @@ -232,7 +232,7 @@ ����, � ������������ � ������� &os;.</entry> </row> -<row> +<row xml:id="uses-gettext"> <entry><literal>gettext</literal></entry> <entry>(���), <literal>lib</literal> (�� ���������), @@ -246,7 +246,7 @@ �� <filename>xgettext</filename> ��� ������ � ����������.</entry> </row> -<row> +<row xml:id="uses-gmake"> <entry><literal>gmake</literal></entry> <entry>(���)</entry> @@ -257,7 +257,7 @@ <command>make</command> ��� ������ �� ���������.</entry> </row> -<row> +<row xml:id="uses-iconv"> <entry><literal>iconv</literal></entry> <entry>(���), <literal>lib</literal>, <literal>build</literal>, @@ -275,7 +275,7 @@ <xref linkend="using-iconv"/>.</entry> </row> -<row> +<row xml:id="uses-imake"> <entry><literal>imake</literal></entry> <entry>(���), <literal>env</literal>, @@ -288,7 +288,7 @@ <literal>-a</literal> ������� <command>xmkmf</command>.</entry> </row> -<row> +<row xml:id="uses-kmod"> <entry><literal>kmod</literal></entry> <entry>(���)</entry> @@ -333,7 +333,7 @@ </itemizedlist></entry> </row> -<row> +<row xml:id="uses-libtool"> <entry><literal>libtool</literal></entry> <entry>(���)</entry> @@ -343,7 +343,7 @@ ������, ������������ <command>libtool</command>.</entry> </row> -<row> +<row xml:id="uses-lua"> <entry><literal>lua</literal></entry> <entry>(���), <literal>XY+</literal>, <literal>XY</literal>, @@ -357,7 +357,7 @@ <literal>51</literal> ��� <literal>52+</literal>).</entry> </row> -<row> +<row xml:id="uses-motif"> <entry><literal>motif</literal></entry> <entry>(���)</entry> @@ -370,7 +370,7 @@ <package role="port">x11-toolkits/open-motif</package>.</entry> </row> -<row> +<row xml:id="uses-ncurses"> <entry><literal>ncurses</literal></entry> <entry>(���), <literal>base</literal>, @@ -380,7 +380,7 @@ ��� ����� ������ ��������� ������ ����������.</entry> </row> -<row> +<row xml:id="uses-ninja"> <entry><literal>ninja</literal></entry> <entry>(���)</entry> @@ -390,7 +390,7 @@ ��� ���������� ������ ���������.</entry> </row> -<row> +<row xml:id="uses-openal"> <entry><literal>openal</literal></entry> <entry><literal>al</literal>, <literal>soft</literal> (�� ���������), @@ -404,7 +404,7 @@ (�� ���������) � <literal>si</literal>.</entry> </row> -<row> +<row xml:id="uses-pathfix"> <entry><literal>pathfix</literal></entry> <entry>(���)</entry> @@ -415,7 +415,7 @@ �����.</entry> </row> -<row> +<row xml:id="uses-perl5"> <entry><literal>perl5</literal></entry> <entry>(���)</entry> @@ -465,7 +465,7 @@ </itemizedlist></entry> </row> -<row> +<row xml:id="uses-pgsql"> <entry><literal>pgsql</literal></entry> <entry>(���), <literal>X.Y</literal>, <literal>X.Y+</literal>, @@ -484,7 +484,7 @@ <command>make -V _USE_PGSQL_DEP</command>.</para></entry> </row> -<row> +<row xml:id="uses-pkgconfig"> <entry><literal>pkgconfig</literal></entry> <entry>(���), <literal>build</literal> (�� ���������), @@ -497,7 +497,7 @@ ��� ������ � ����������.</entry> </row> -<row> +<row xml:id="uses-pure"> <entry><literal>pure</literal></entry> <entry>(���), <literal>ffi</literal></entry> @@ -510,7 +510,7 @@ ����������.</entry> </row> -<row> +<row xml:id="uses-qmail"> <entry><literal>qmail</literal></entry> <entry>(���), <literal>build</literal>, <literal>run</literal>, @@ -525,7 +525,7 @@ ������ ���������� QMAIL ��� ���� �����.</entry> </row> -<row> +<row xml:id="uses-qmake"> <entry><literal>qmake</literal></entry> <entry>(���), <literal>norecursive</literal>, @@ -536,7 +536,7 @@ <xref linkend="using-qmake"/>.</entry> </row> -<row> +<row xml:id="uses-readline"> <entry><literal>readline</literal></entry> <entry>(���), <literal>port</literal></entry> @@ -549,7 +549,7 @@ <package role="port">devel/readline</package>.</entry> </row> -<row> +<row xml:id="uses-scons"> <entry><literal>scons</literal></entry> <entry>(���)</entry> @@ -558,7 +558,7 @@ <package role="port">devel/scons</package></entry> </row> -<row> +<row xml:id="uses-shared-mime-info"> <entry><literal>shared-mime-info</literal></entry> <entry>(���)</entry> @@ -571,7 +571,7 @@ </entry> </row> -<row> +<row xml:id="uses-shebangfix"> <entry><literal>shebangfix</literal></entry> <entry>(���)</entry> @@ -590,7 +590,7 @@ <varname>lua_OLD_CMD</varname> � <varname>lua_CMD</varname>.</entry> </row> -<row> +<row xml:id="uses-tcl"> <entry><literal>tcl</literal></entry> <entry><literal>PORT</literal></entry> @@ -654,7 +654,7 @@ </itemizedlist></entry> </row> -<row> +<row xml:id="uses-tk"> <entry><literal>tk</literal></entry> <entry>�� ��, ��� � ��� <literal>tcl</literal></entry> @@ -665,7 +665,7 @@ <application>Tcl</application>.</entry> </row> -<row> +<row xml:id="uses-twisted"> <entry><literal>twisted</literal></entry> <entry>(���), <literal>ARGS</literal></entry> @@ -695,7 +695,7 @@ ����������� � <filename>Uses/twisted.mk</filename>.</entry> </row> -<row> +<row xml:id="uses-uidfix"> <entry><literal>uidfix</literal></entry> <entry>(���)</entry> @@ -706,7 +706,7 @@ ����� ����������� <literal>NEED_ROOT=yes</literal>.</entry> </row> -<row> +<row xml:id="uses-uniquefiles"> <entry><literal>uniquefiles</literal></entry> <entry>(���), <literal>dirs</literal></entry> @@ -740,7 +740,7 @@ </itemizedlist></entry> </row> -<row> +<row xml:id="uses-webplugin"> <entry><literal>webplugin</literal></entry> <entry>(���), <literal>ARGS</literal></entry> @@ -802,7 +802,7 @@ </itemizedlist></entry> </row> -<row> +<row xml:id="uses-zenoss"> <entry><literal>zenoss</literal></entry> <entry>(���)</entry> @@ -813,7 +813,7 @@ � <application>zenpack</application>.</entry> </row> -<row> +<row xml:id="uses-zope"> <entry><literal>zope</literal></entry> <entry>(���)</entry>