Date: Tue, 30 Jun 2015 15:38:37 +0000 (UTC) From: Mathieu Arnold <mat@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r46902 - head/en_US.ISO8859-1/books/porters-handbook/makefiles Message-ID: <201506301538.t5UFcbbY058726@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mat Date: Tue Jun 30 15:38:37 2015 New Revision: 46902 URL: https://svnweb.freebsd.org/changeset/doc/46902 Log: Indent the new <sect2> (from <sect3>) one step back. And fixup the few whitespace errors igor -RZ reports. Whitespace only, translators can ignore. Approved by: wblock (mentor) Differential Revision: https://reviews.freebsd.org/D2952 Modified: head/en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml Modified: head/en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml ============================================================================== --- head/en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml Tue Jun 30 14:47:21 2015 (r46901) +++ head/en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml Tue Jun 30 15:38:37 2015 (r46902) @@ -1932,89 +1932,89 @@ MASTER_SITE_SUBDIR= stardict/WyabdcRealP </sect3> </sect2> - <sect2 xml:id="makefile-master_sites-github"> - <title><varname>USE_GITHUB</varname></title> + <sect2 xml:id="makefile-master_sites-github"> + <title><varname>USE_GITHUB</varname></title> - <para>If the distribution file comes from a specific commit or - tag on <link xlink:href="https://github.com">GitHub</link>; - for which there is no officially released file, there is an - easy way to set the right <varname>DISTNAME</varname> and - <varname>MASTER_SITES</varname> automatically. These - variables are available:</para> - - <table xml:id="makefile-master_sites-github-description"> - <title><varname>USE_GITHUB</varname> Description</title> - - <tgroup cols="3"> - <thead> - <row> - <entry>Variable</entry> - <entry>Description</entry> - <entry>Default</entry> - </row> - </thead> - - <tbody> - <row> - <entry><varname>GH_ACCOUNT</varname></entry> - <entry>Account name of the GitHub user hosting the - project</entry> - <entry><literal>${PORTNAME}</literal></entry> - </row> - - <row> - <entry><varname>GH_PROJECT</varname></entry> - <entry>Name of the project on GitHub</entry> - <entry><literal>${PORTNAME}</literal></entry> - </row> - - - <row> - <entry><varname>GH_TAGNAME</varname></entry> - <entry>Name of the tag to download (2.0.1, hash, ...) - Using the name of a branch here is incorrect. It is - also possible to use the hash of a commit id to do a - snapshot.</entry> - <entry><literal>${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}</literal></entry> - </row> - </tbody> - </tgroup> - </table> - - <example xml:id="makefile-master_sites-github-ex1"> - <title>Simple Use of <varname>USE_GITHUB</varname></title> - - <para>While trying to make a port for version - <literal>1.2.7</literal> of <application>pkg</application> - from the &os; user on github, at <link - xlink:href="https://github.com/freebsd/pkg"/>, The - <filename>Makefile</filename> would end up looking like - this (slightly stripped for the example):</para> + <para>If the distribution file comes from a specific commit or + tag on <link xlink:href="https://github.com">GitHub</link>; + for which there is no officially released file, there is an + easy way to set the right <varname>DISTNAME</varname> and + <varname>MASTER_SITES</varname> automatically. These + variables are available:</para> - <programlisting>PORTNAME= pkg + <table xml:id="makefile-master_sites-github-description"> + <title><varname>USE_GITHUB</varname> Description</title> + + <tgroup cols="3"> + <thead> + <row> + <entry>Variable</entry> + <entry>Description</entry> + <entry>Default</entry> + </row> + </thead> + + <tbody> + <row> + <entry><varname>GH_ACCOUNT</varname></entry> + <entry>Account name of the GitHub user hosting the + project</entry> + <entry><literal>${PORTNAME}</literal></entry> + </row> + + <row> + <entry><varname>GH_PROJECT</varname></entry> + <entry>Name of the project on GitHub</entry> + <entry><literal>${PORTNAME}</literal></entry> + </row> + + + <row> + <entry><varname>GH_TAGNAME</varname></entry> + <entry>Name of the tag to download (2.0.1, hash, ...) + Using the name of a branch here is incorrect. It is + also possible to use the hash of a commit id to do a + snapshot.</entry> + <entry><literal>${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}</literal></entry> + </row> + </tbody> + </tgroup> + </table> + + <example xml:id="makefile-master_sites-github-ex1"> + <title>Simple Use of <varname>USE_GITHUB</varname></title> + + <para>While trying to make a port for version + <literal>1.2.7</literal> of <application>pkg</application> + from the &os; user on github, at <link + xlink:href="https://github.com/freebsd/pkg"/>, The + <filename>Makefile</filename> would end up looking like + this (slightly stripped for the example):</para> + + <programlisting>PORTNAME= pkg PORTVERSION= 1.2.7 USE_GITHUB= yes GH_ACCOUNT= freebsd</programlisting> - <para>It will automatically have - <varname>MASTER_SITES</varname> set to <literal>GH - GHC</literal> and <varname>WRKSRC</varname> to - <literal>${WRKDIR}/pkg-1.2.7</literal>.</para> - </example> + <para>It will automatically have + <varname>MASTER_SITES</varname> set to <literal>GH + GHC</literal> and <varname>WRKSRC</varname> to + <literal>${WRKDIR}/pkg-1.2.7</literal>.</para> + </example> - <example xml:id="makefile-master_sites-github-ex2"> - <title>More Complete Use of - <varname>USE_GITHUB</varname></title> - - <para>While trying to make a port for the bleeding edge - version of <application>pkg</application> from the &os; - user on github, at <link - xlink:href="https://github.com/freebsd/pkg"/>, the - <filename>Makefile</filename> ends up looking like - this (slightly stripped for the example):</para> + <example xml:id="makefile-master_sites-github-ex2"> + <title>More Complete Use of + <varname>USE_GITHUB</varname></title> + + <para>While trying to make a port for the bleeding edge + version of <application>pkg</application> from the &os; + user on github, at <link + xlink:href="https://github.com/freebsd/pkg"/>, the + <filename>Makefile</filename> ends up looking like + this (slightly stripped for the example):</para> - <programlisting>PORTNAME= pkg-devel + <programlisting>PORTNAME= pkg-devel PORTVERSION= 1.3.0.a.20140411 USE_GITHUB= yes @@ -2022,77 +2022,77 @@ GH_ACCOUNT= freebsd GH_PROJECT= pkg GH_TAGNAME= 6dbb17b</programlisting> - <para>It will automatically have - <varname>MASTER_SITES</varname> set to <literal>GH - GHC</literal> and <varname>WRKSRC</varname> to - <literal>${WRKDIR}/pkg-6dbb17b</literal>.</para> - </example> + <para>It will automatically have + <varname>MASTER_SITES</varname> set to <literal>GH + GHC</literal> and <varname>WRKSRC</varname> to + <literal>${WRKDIR}/pkg-6dbb17b</literal>.</para> + </example> - <example xml:id="makefile-master_sites-github-ex3"> - <title>Use of <varname>USE_GITHUB</varname> with - <varname>DISTVERSIONPREFIX</varname></title> - - <para>From time to time, <varname>GH_TAGNAME</varname> is a - slight variation from <varname>DISTVERSION</varname>. - For example, if the version is <literal>1.0.2</literal>, - the tag is <literal>v1.0.2</literal>. In those cases, it - is possible to use <varname>DISTVERSIONPREFIX</varname> or - <varname>DISTVERSIONSUFFIX</varname>:</para> + <example xml:id="makefile-master_sites-github-ex3"> + <title>Use of <varname>USE_GITHUB</varname> with + <varname>DISTVERSIONPREFIX</varname></title> + + <para>From time to time, <varname>GH_TAGNAME</varname> is a + slight variation from <varname>DISTVERSION</varname>. + For example, if the version is <literal>1.0.2</literal>, + the tag is <literal>v1.0.2</literal>. In those cases, it + is possible to use <varname>DISTVERSIONPREFIX</varname> or + <varname>DISTVERSIONSUFFIX</varname>:</para> - <programlisting>PORTNAME= foo + <programlisting>PORTNAME= foo PORTVERSION= 1.0.2 DISTVERSIONPREFIX= v USE_GITHUB= yes</programlisting> - <para>It will automatically set - <varname>GH_TAGNAME</varname> to - <literal>v1.0.2</literal>, while <varname>WRKSRC</varname> - will be kept to - <varname>${WRKDIR}/foo-1.0.2</varname>.</para> - </example> + <para>It will automatically set + <varname>GH_TAGNAME</varname> to + <literal>v1.0.2</literal>, while <varname>WRKSRC</varname> + will be kept to + <varname>${WRKDIR}/foo-1.0.2</varname>.</para> + </example> - <sect3> - <title>Fetching Multiple Files From GitHub</title> + <sect3> + <title>Fetching Multiple Files From GitHub</title> - <para>The <varname>USE_GITHUB</varname> framework also - supports fetching multiple distribution files from - different places in GitHub. It works in a way very - similar to <xref - linkend="porting-master-sites-n"/>.</para> - - <para>Multiple values are added to - <varname>GH_ACCOUNT</varname>, - <varname>GH_PROJECT</varname>, and - <varname>GH_TAGNAME</varname>. Each different value is - assigned a tag. The main value can either have no tag, or - the <literal>:DEFAULT</literal> tag. A value can be - omitted if it is the same as the default as listed in - <xref - linkend="makefile-master_sites-github-description"/>.</para> - - <para>For each tag, a - <varname>${WRKSRC_<replaceable>tag</replaceable>}</varname> - helper variable is created, containing the directory into - which the file has been extracted. The - <varname>${WRKSRC_<replaceable>tag</replaceable>}</varname> - variables can be used to move directories around during - <buildtarget>post-extract</buildtarget>, or add to - <varname>CONFIGURE_ARGS</varname>, or whatever is needed - so that the software builds correctly.</para> - - <example xml:id="makefile-master_sites-github-multi"> - <title>Use of <varname>USE_GITHUB</varname> with Multiple - Distribution Files</title> - - <para>From time to time, there is a need to fetch more - than one distribution file. For example, when the - upstream git repository uses submodules. This can be - done easily using tags in the - <varname>GH_<replaceable>*</replaceable></varname> - variables:</para> + <para>The <varname>USE_GITHUB</varname> framework also + supports fetching multiple distribution files from + different places in GitHub. It works in a way very + similar to <xref + linkend="porting-master-sites-n"/>.</para> + + <para>Multiple values are added to + <varname>GH_ACCOUNT</varname>, + <varname>GH_PROJECT</varname>, and + <varname>GH_TAGNAME</varname>. Each different value is + assigned a tag. The main value can either have no tag, or + the <literal>:DEFAULT</literal> tag. A value can be + omitted if it is the same as the default as listed in + <xref + linkend="makefile-master_sites-github-description"/>.</para> + + <para>For each tag, a + <varname>${WRKSRC_<replaceable>tag</replaceable>}</varname> + helper variable is created, containing the directory into + which the file has been extracted. The + <varname>${WRKSRC_<replaceable>tag</replaceable>}</varname> + variables can be used to move directories around during + <buildtarget>post-extract</buildtarget>, or add to + <varname>CONFIGURE_ARGS</varname>, or whatever is needed + so that the software builds correctly.</para> + + <example xml:id="makefile-master_sites-github-multi"> + <title>Use of <varname>USE_GITHUB</varname> with Multiple + Distribution Files</title> + + <para>From time to time, there is a need to fetch more + than one distribution file. For example, when the + upstream git repository uses submodules. This can be + done easily using tags in the + <varname>GH_<replaceable>*</replaceable></varname> + variables:</para> - <programlisting>PORTNAME= foo + <programlisting>PORTNAME= foo PORTVERSION= 1.0.2 USE_GITHUB= yes @@ -2103,36 +2103,36 @@ GH_TAGNAME= 1.0:icons fa579bc:contrib CONFIGURE_ARGS= --with-contrib=${WRKSRC_contrib} post-extract: - @${MV} ${WRKSRC_icons} ${WRKSRC}/icons</programlisting> + @${MV} ${WRKSRC_icons} ${WRKSRC}/icons</programlisting> - <para>This will fetch three distribution files from - github. The default one comes from - <filename>foo/foo</filename> and is version - <literal>1.0.2</literal>. The second one, tagged - <literal>icons</literal>, comes from - <filename>bar/foo-icons</filename> and is in version - <literal>1.0</literal>. The third one comes from - <filename>bar/foo-contrib</filename> and uses the - <application>Git</application> commit - <literal>fa579bc</literal>. The distribution files are - named <filename>foo-foo-1.0.2_GH0.tar.gz</filename>, - <filename>bar-foo-icons-1.0_GH0.tar.gz</filename>, and - <filename>bar-foo-contrib-fa579bc_GH0.tar.gz</filename>.</para> - - <para>All the distribution files are extracted in - <varname>${WRKDIR}</varname> in their respective - subdirectories. The default file is still extracted in - <varname>${WRKSRC}</varname>, in this case, - <filename>${WRKDIR}/foo-1.0.2</filename>. Each - additional distribution file is extracted in - <varname>${WRKSRC_<replaceable>tag</replaceable>}</varname>. - Here, for the <literal>icons</literal> tag, it is called - <varname>${WRKSRC_icons}</varname> and it contains - <filename>${WRKDIR}/foo-icons-1.0</filename>. The file - with the <literal>contrib</literal> tag is called - <varname>${WRKSRC_contrib}</varname> and contains - <literal>${WRKDIR}/foo-contrib-fa579bc</literal>.</para> - </example> + <para>This will fetch three distribution files from + github. The default one comes from + <filename>foo/foo</filename> and is version + <literal>1.0.2</literal>. The second one, tagged + <literal>icons</literal>, comes from + <filename>bar/foo-icons</filename> and is in version + <literal>1.0</literal>. The third one comes from + <filename>bar/foo-contrib</filename> and uses the + <application>Git</application> commit + <literal>fa579bc</literal>. The distribution files are + named <filename>foo-foo-1.0.2_GH0.tar.gz</filename>, + <filename>bar-foo-icons-1.0_GH0.tar.gz</filename>, and + <filename>bar-foo-contrib-fa579bc_GH0.tar.gz</filename>.</para> + + <para>All the distribution files are extracted in + <varname>${WRKDIR}</varname> in their respective + subdirectories. The default file is still extracted in + <varname>${WRKSRC}</varname>, in this case, + <filename>${WRKDIR}/foo-1.0.2</filename>. Each + additional distribution file is extracted in + <varname>${WRKSRC_<replaceable>tag</replaceable>}</varname>. + Here, for the <literal>icons</literal> tag, it is called + <varname>${WRKSRC_icons}</varname> and it contains + <filename>${WRKDIR}/foo-icons-1.0</filename>. The file + with the <literal>contrib</literal> tag is called + <varname>${WRKSRC_contrib}</varname> and contains + <literal>${WRKDIR}/foo-contrib-fa579bc</literal>.</para> + </example> </sect3> </sect2> @@ -2924,8 +2924,8 @@ PATCHFILES= patch1:test</programlisting> <literal>${PKGNAMEPREFIX}${PORTNAME}</literal> are fine). This will change <varname>DISTDIR</varname> from the default <filename>/usr/ports/distfiles</filename> to - <filename>/usr/ports/distfiles/${DIST_SUBDIR}</filename>, and in - effect puts everything that is required for the port into + <filename>/usr/ports/distfiles/${DIST_SUBDIR}</filename>, and + in effect puts everything that is required for the port into that subdirectory.</para> <para>It will also look at the subdirectory with the same name @@ -4570,7 +4570,7 @@ LIB_DEPENDS+= liba.so:${PORTSDIR}/devel/ <note> <para>Some variables are not in this list, in particular <varname>PKGNAMEPREFIX</varname> and - <varname>PKGNAMESUFFIX</varname>. This is intentional. A + <varname>PKGNAMESUFFIX</varname>. This is intentional. A port <emphasis>must not</emphasis> change its name when its option set changes.</para> </note> @@ -4785,8 +4785,9 @@ PORTVERSION= 1.0</programlisting> <filename>pkg-plist</filename> with the corresponding entries, such as <literal>@(<replaceable>owner</replaceable>,<replaceable>group</replaceable>,)</literal>, - <literal>@owner <replaceable>owner</replaceable></literal>, and - <literal>@group <replaceable>group</replaceable></literal>. + <literal>@owner <replaceable>owner</replaceable></literal>, + and <literal>@group + <replaceable>group</replaceable></literal>. These operators work until overridden, or until the end of <filename>pkg-plist</filename>, so do not forget to reset them after they are no longer needed. The default ownership
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201506301538.t5UFcbbY058726>