svn commit: r50619 - in head/en_US.ISO8859-1/books/porters-handbook: . order porting-samplem

Mathieu Arnold <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.doc
Message-ID <[email protected]>
Author: mat
Date: Wed Aug  2 12:19:40 2017
New Revision: 50619
URL: https://svnweb.freebsd.org/changeset/doc/50619

Log:
  Extract the "Order of Variables in Port Makefiles" into its own chapter.
  
  Translators, the only changed things are the xml:id's.
  
  Sponsored by:	Absolight, The FreeBSD Foundation

Added:
  head/en_US.ISO8859-1/books/porters-handbook/order/
  head/en_US.ISO8859-1/books/porters-handbook/order/Makefile   (contents, props changed)
  head/en_US.ISO8859-1/books/porters-handbook/order/chapter.xml   (contents, props changed)
Modified:
  head/en_US.ISO8859-1/books/porters-handbook/Makefile
  head/en_US.ISO8859-1/books/porters-handbook/book.xml
  head/en_US.ISO8859-1/books/porters-handbook/chapters.ent
  head/en_US.ISO8859-1/books/porters-handbook/porting-samplem/chapter.xml

Modified: head/en_US.ISO8859-1/books/porters-handbook/Makefile
==============================================================================
--- head/en_US.ISO8859-1/books/porters-handbook/Makefile	Wed Aug  2 09:55:07 2017	(r50618)
+++ head/en_US.ISO8859-1/books/porters-handbook/Makefile	Wed Aug  2 12:19:40 2017	(r50619)
@@ -33,6 +33,7 @@ SRCS+= upgrading/chapter.xml
 SRCS+= security/chapter.xml
 SRCS+= porting-dads/chapter.xml
 SRCS+= porting-samplem/chapter.xml
+SRCS+= order/chapter.xml
 SRCS+= keeping-up/chapter.xml
 SRCS+= uses/chapter.xml
 SRCS+= versions/chapter.xml

Modified: head/en_US.ISO8859-1/books/porters-handbook/book.xml
==============================================================================
--- head/en_US.ISO8859-1/books/porters-handbook/book.xml	Wed Aug  2 09:55:07 2017	(r50618)
+++ head/en_US.ISO8859-1/books/porters-handbook/book.xml	Wed Aug  2 12:19:40 2017	(r50619)
@@ -77,6 +77,7 @@
   &chap.security;
   &chap.porting-dads;
   &chap.porting-samplem;
+  &chap.order;
   &chap.keeping-up;
   &chap.uses;
   &chap.versions;

Modified: head/en_US.ISO8859-1/books/porters-handbook/chapters.ent
==============================================================================
--- head/en_US.ISO8859-1/books/porters-handbook/chapters.ent	Wed Aug  2 09:55:07 2017	(r50618)
+++ head/en_US.ISO8859-1/books/porters-handbook/chapters.ent	Wed Aug  2 12:19:40 2017	(r50619)
@@ -23,6 +23,7 @@
 <!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.order		SYSTEM "order/chapter.xml">
 <!ENTITY chap.keeping-up	SYSTEM "keeping-up/chapter.xml">
 <!ENTITY chap.uses		SYSTEM "uses/chapter.xml">
 <!ENTITY chap.versions		SYSTEM "versions/chapter.xml">

Added: head/en_US.ISO8859-1/books/porters-handbook/order/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/en_US.ISO8859-1/books/porters-handbook/order/Makefile	Wed Aug  2 12:19:40 2017	(r50619)
@@ -0,0 +1,15 @@
+#
+# Build the Porters Handbook with just the content from this chapter.
+#
+# $FreeBSD$
+#
+
+CHAPTERS= 	order/chapter.xml
+
+VPATH=		..
+
+MASTERDOC=	${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
+
+DOC_PREFIX?= 	${.CURDIR}/../../../..
+
+.include "../Makefile"

Added: head/en_US.ISO8859-1/books/porters-handbook/order/chapter.xml
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/en_US.ISO8859-1/books/porters-handbook/order/chapter.xml	Wed Aug  2 12:19:40 2017	(r50619)
@@ -0,0 +1,460 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!--
+     The FreeBSD Documentation Project
+
+     $FreeBSD$
+-->
+
+<chapter xmlns="http://docbook.org/ns/docbook"
+  xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
+  xml:id="porting-order">
+
+  <title>Order of Variables in Port Makefiles</title>
+
+  <para>The first sections of the <filename>Makefile</filename>
+    must always come in the same order.  This standard makes it so
+    everyone can easily read any port without having to search for
+    variables in a random order.</para>
+
+  <para>The first line of a <filename>Makefile</filename> is always
+    a comment containing the <application>Subversion</application>
+    version control ID, followed by an empty line.  In new ports, it
+    looks like this:</para>
+
+  <programlisting># &dollar;FreeBSD&dollar;
+&nbsp;</programlisting>
+
+  <para>In existing ports, <application>Subversion</application>
+    has expanded it to look like this:</para>
+
+  <programlisting># &dollar;FreeBSD: head/ports-mgmt/pkg/Makefile 437007 2017-03-26 21:25:47Z bapt &dollar;
+&nbsp;</programlisting>
+
+  <note>
+    <para>The sections and variables described here are mandatory in
+      a ordinary port.  In a slave port, many sections variables and
+      can be skipped.</para>
+  </note>
+
+  <important>
+    <para>Each following block must be separated from the previous
+      block by a single blank line.</para>
+
+    <para>In the following blocks, only set the variables that are
+      required by the port.  Define these variables in the order
+      they are shown here.</para>
+  </important>
+
+  <sect1 xml:id="porting-order-portname">
+    <title><varname>PORTNAME</varname> Block</title>
+
+    <para>This block is the most important.  It defines the port
+      name, version, distribution file location, and category.  The
+      variables must be in this order:</para>
+
+    <itemizedlist>
+      <listitem>
+	<para><link
+	    linkend="makefile-portname"><varname>PORTNAME</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-portname"><varname>PORTVERSION</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-distversion"><varname>DISTVERSIONPREFIX</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-distversion"><varname>DISTVERSION</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-distversion"><varname>DISTVERSIONSUFFIX</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-portrevision"><varname>PORTREVISION</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-portepoch"><varname>PORTEPOCH</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-categories"><varname>CATEGORIES</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-master_sites"><varname>MASTER_SITES</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-master_sites-shorthand"><varname>MASTER_SITE_SUBDIR</varname></link>
+	  (deprecated)</para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="porting-pkgnameprefix-suffix"><varname>PKGNAMEPREFIX</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="porting-pkgnameprefix-suffix"><varname>PKGNAMESUFFIX</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-distversion"><varname>DISTNAME</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-extract_sufx"><varname>EXTRACT_SUFX</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-distfiles-definition"><varname>DISTFILES</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-dist_subdir"><varname>DIST_SUBDIR</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-extract_only"><varname>EXTRACT_ONLY</varname></link></para>
+      </listitem>
+    </itemizedlist>
+
+    <important>
+      <para>Only one of <varname>PORTVERSION</varname> and
+	<varname>DISTVERSION</varname> can be used.</para>
+    </important>
+  </sect1>
+
+  <sect1 xml:id="porting-order-patch">
+    <title><varname>PATCHFILES</varname> Block</title>
+
+    <para>This block is optional.  The variables are:</para>
+
+    <itemizedlist>
+      <listitem>
+	<para><link
+	    linkend="porting-patchfiles"><varname>PATCH_SITES</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="porting-patchfiles"><varname>PATCHFILES</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="porting-patchfiles"><varname>PATCH_DIST_STRIP</varname></link></para>
+      </listitem>
+    </itemizedlist>
+  </sect1>
+
+  <sect1 xml:id="porting-order-maintainer">
+    <title><varname>MAINTAINER</varname> Block</title>
+
+    <para>This block is mandatory.  The variables are:</para>
+
+    <itemizedlist>
+      <listitem>
+	<para><link
+	    linkend="makefile-maintainer"><varname>MAINTAINER</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-comment"><varname>COMMENT</varname></link></para>
+      </listitem>
+    </itemizedlist>
+  </sect1>
+
+  <sect1 xml:id="porting-order-license">
+    <title><varname>LICENSE</varname> Block</title>
+
+    <para>This block is optional, although it is highly recommended.
+      The variables are:</para>
+
+    <itemizedlist>
+      <listitem>
+	<para><link
+	    linkend="licenses-license"><varname>LICENSE</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="licenses-license_comb"><varname>LICENSE_COMB</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="licenses-license_groups"><varname>LICENSE_GROUPS</varname></link>
+	  or
+	  <varname>LICENSE_GROUPS_<replaceable>NAME</replaceable></varname></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="licenses-license_name"><varname>LICENSE_NAME</varname></link>
+	  or
+	  <varname>LICENSE_NAME_<replaceable>NAME</replaceable></varname></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="licenses-license_text"><varname>LICENSE_TEXT</varname></link>
+	  or
+	  <varname>LICENSE_TEXT_<replaceable>NAME</replaceable></varname></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="licenses-license_file"><varname>LICENSE_FILE</varname></link>
+	  or
+	  <varname>LICENSE_FILE_<replaceable>NAME</replaceable></varname></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="licenses-license_perms"><varname>LICENSE_PERMS</varname></link>
+	  or
+	  <varname>LICENSE_PERMS_<replaceable>NAME</replaceable></varname></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="licenses-license_distfiles"><varname>LICENSE_DISTFILES</varname></link>
+	  or
+	  <varname>LICENSE_DISTFILES_<replaceable>NAME</replaceable></varname></para>
+      </listitem>
+    </itemizedlist>
+
+    <para>If there are multiple licenses, sort the different
+      LICENSE_<replaceable>VAR</replaceable>_<replaceable>NAME</replaceable>
+      variables by license name.</para>
+  </sect1>
+
+  <sect1 xml:id="porting-order-broken">
+    <title>Generic
+      <varname>BROKEN</varname>/<varname>IGNORE</varname>/<varname>DEPRECATED</varname>
+      Messages</title>
+
+    <para>This block is optional.  The variables are:</para>
+
+    <itemizedlist>
+      <listitem>
+	<para><link
+	    linkend="dads-deprecated">DEPRECATED</link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="dads-deprecated">EXPIRATION_DATE</link></para>
+      </listitem>
+
+      <listitem>
+	<para><link linkend="dads-noinstall">FORBIDDEN</link></para>
+      </listitem>
+
+      <listitem>
+	<para><link linkend="dads-noinstall">BROKEN</link></para>
+      </listitem>
+
+      <listitem>
+	<para><link linkend="dads-noinstall">BROKEN_<replaceable>*</replaceable></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link linkend="dads-noinstall">IGNORE</link></para>
+      </listitem>
+
+      <listitem>
+	<para><link linkend="dads-noinstall">IGNORE_<replaceable>*</replaceable></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link linkend="dads-noinstall">ONLY_FOR_ARCHS</link></para>
+      </listitem>
+
+      <listitem>
+	<para><link linkend="dads-noinstall">ONLY_FOR_ARCHS_REASON<replaceable>*</replaceable></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link linkend="dads-noinstall">NOT_FOR_ARCHS</link></para>
+      </listitem>
+
+      <listitem>
+	<para><link linkend="dads-noinstall">NOT_FOR_ARCHS_REASON<replaceable>*</replaceable></link></para>
+      </listitem>
+    </itemizedlist>
+
+    <note>
+      <para><varname>BROKEN<replaceable>*</replaceable></varname>
+	and <varname>IGNORE<replaceable>*</replaceable></varname>
+	can be any generic variables, for example,
+	<varname>IGNORE_amd64</varname>,
+	<varname>BROKEN_FreeBSD_10</varname>,
+	<varname>BROKEN_SSL</varname>, etc.</para>
+
+      <para>If the port is marked BROKEN when some conditions are
+	met, and such conditions can only be tested after including
+	<filename>bsd.port.options.mk</filename> or
+	<filename>bsd.port.pre.mk</filename>, then those variables
+	should be set later, in <xref
+	  linkend="porting-order-rest"/>.</para>
+    </note>
+  </sect1>
+
+  <sect1 xml:id="porting-order-depends">
+    <title>The Dependencies Block</title>
+
+    <para>This block is optional.  The variables are:</para>
+
+    <itemizedlist>
+      <listitem>
+	<para><link
+	    linkend="makefile-fetch_depends"><varname>FETCH_DEPENDS</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-extract_depends"><varname>EXTRACT_DEPENDS</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-patch_depends"><varname>PATCH_DEPENDS</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-build_depends"><varname>BUILD_DEPENDS</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-lib_depends"><varname>LIB_DEPENDS</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<para><link
+	    linkend="makefile-run_depends"><varname>RUN_DEPENDS</varname></link></para>
+      </listitem>
+
+      <listitem>
+	<!-- FIXME: write a section about tests -->
+	<para><varname>TEST_DEPENDS</varname></para>
+      </listitem>
+    </itemizedlist>
+  </sect1>
+
+  <sect1 xml:id="porting-order-uses">
+    <title><varname>USES</varname> and
+      <varname>USE_<replaceable>x</replaceable></varname></title>
+
+    <para>Start this section with defining <varname>USES</varname>,
+      and then possible
+      <varname>USE_<replaceable>x</replaceable></varname>.</para>
+
+    <para>Keep related variables close together.  For example, if
+      using <link
+	linkend="makefile-master_sites-github"><varname>USE_GITHUB</varname></link>,
+      always put the
+      <varname>GH_<replaceable>*</replaceable></varname> variables
+      right after it.</para>
+  </sect1>
+
+  <sect1 xml:id="porting-order-variables">
+    <title>Standard <filename>bsd.port.mk</filename> Variables</title>
+
+    <para>This section block is for variables that can be defined in
+      <filename>bsd.port.mk</filename> that do not belong in any
+      of the previous section blocks.</para>
+
+    <para>Order is not important, however try to keep similar variables together.
+      For example uid and gid variables <varname>USERS</varname> and <varname>GROUPS</varname>.
+      Configuration variables <varname>CONFIGURE_<replaceable>*</replaceable></varname> and
+      <varname><replaceable>*</replaceable>_CONFIGURE</varname>. List of files, and directories
+      <varname>PORTDOCS</varname> and <varname>PORTEXAMPLES</varname>.</para>
+  </sect1>
+
+  <sect1 xml:id="porting-order-options">
+    <title>Options</title>
+
+    <para>If the port uses the <link
+	linkend="makefile-options">options framework</link>, define
+      <varname>OPTIONS_DEFINE</varname> and
+      <varname>OPTIONS_DEFAULT</varname> first, then the other
+      <varname>OPTIONS_<replaceable>*</replaceable></varname>
+      variables first, then the
+      <varname><replaceable>*</replaceable>_DESC</varname>
+      descriptions, then the options helpers.  Try and sort all of
+      those alphabetically.</para>
+  </sect1>
+
+  <sect1 xml:id="porting-order-rest">
+    <title>The Rest of the Variables</title>
+
+    <para>And then, the rest of the variables that are not
+      mentioned in the previous blocks.</para>
+  </sect1>
+
+  <sect1 xml:id="porting-order-targets">
+    <title>The Targets</title>
+
+    <para>After all the variables are defined, the optional
+      &man.make.1; targets can be defined.  Keep
+      <literal>pre-<replaceable>*</replaceable></literal> before
+      <literal>post-<replaceable>*</replaceable></literal> and in
+      the same order as the different stages run:</para>
+
+    <itemizedlist>
+      <listitem>
+	<para><varname>fetch</varname></para>
+      </listitem>
+
+      <listitem>
+	<para><varname>extract</varname></para>
+      </listitem>
+
+      <listitem>
+	<para><varname>patch</varname></para>
+      </listitem>
+
+      <listitem>
+	<para><varname>configure</varname></para>
+      </listitem>
+
+      <listitem>
+	<para><varname>build</varname></para>
+      </listitem>
+
+      <listitem>
+	<para><varname>install</varname></para>
+      </listitem>
+
+      <listitem>
+	<para><varname>test</varname></para>
+      </listitem>
+    </itemizedlist>
+  </sect1>
+</chapter>

Modified: head/en_US.ISO8859-1/books/porters-handbook/porting-samplem/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/porters-handbook/porting-samplem/chapter.xml	Wed Aug  2 09:55:07 2017	(r50618)
+++ head/en_US.ISO8859-1/books/porters-handbook/porting-samplem/chapter.xml	Wed Aug  2 12:19:40 2017	(r50619)
@@ -112,455 +112,4 @@ pre-install:
 [and then the epilogue]
 
 .include &lt;bsd.port.mk&gt;</programlisting>
-
-  <sect1 xml:id="porting-samplem-order">
-    <title>Order of Variables in Port Makefiles</title>
-
-    <para>The first sections of the <filename>Makefile</filename>
-      must always come in the same order.  This standard makes it so
-      everyone can easily read any port without having to search for
-      variables in a random order.</para>
-
-    <para>The first line of a <filename>Makefile</filename> is always
-      a comment containing the <application>Subversion</application>
-      version control ID, followed by an empty line.  In new ports, it
-      looks like this:</para>
-
-    <programlisting># &dollar;FreeBSD&dollar;
-&nbsp;</programlisting>
-
-    <para>In existing ports, <application>Subversion</application>
-      has expanded it to look like this:</para>
-
-    <programlisting># &dollar;FreeBSD: head/ports-mgmt/pkg/Makefile 437007 2017-03-26 21:25:47Z bapt &dollar;
-&nbsp;</programlisting>
-
-    <note>
-      <para>The sections and variables described here are mandatory in
-	a ordinary port.  In a slave port, many sections variables and
-	can be skipped.</para>
-    </note>
-
-    <important>
-      <para>Each following block must be separated from the previous
-	block by a single blank line.</para>
-
-      <para>In the following blocks, only set the variables that are
-	required by the port.  Define these variables in the order
-	they are shown here.</para>
-    </important>
-
-    <sect2 xml:id="porting-samplem-portname">
-      <title><varname>PORTNAME</varname> Block</title>
-
-      <para>This block is the most important.  It defines the port
-	name, version, distribution file location, and category.  The
-	variables must be in this order:</para>
-
-      <itemizedlist>
-	<listitem>
-	  <para><link
-	      linkend="makefile-portname"><varname>PORTNAME</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-portname"><varname>PORTVERSION</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-distversion"><varname>DISTVERSIONPREFIX</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-distversion"><varname>DISTVERSION</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-distversion"><varname>DISTVERSIONSUFFIX</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-portrevision"><varname>PORTREVISION</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-portepoch"><varname>PORTEPOCH</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-categories"><varname>CATEGORIES</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-master_sites"><varname>MASTER_SITES</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-master_sites-shorthand"><varname>MASTER_SITE_SUBDIR</varname></link>
-	    (deprecated)</para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="porting-pkgnameprefix-suffix"><varname>PKGNAMEPREFIX</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="porting-pkgnameprefix-suffix"><varname>PKGNAMESUFFIX</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-distversion"><varname>DISTNAME</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-extract_sufx"><varname>EXTRACT_SUFX</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-distfiles-definition"><varname>DISTFILES</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-dist_subdir"><varname>DIST_SUBDIR</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-extract_only"><varname>EXTRACT_ONLY</varname></link></para>
-	</listitem>
-      </itemizedlist>
-
-      <important>
-	<para>Only one of <varname>PORTVERSION</varname> and
-	  <varname>DISTVERSION</varname> can be used.</para>
-      </important>
-    </sect2>
-
-    <sect2 xml:id="porting-samplem-patch">
-      <title><varname>PATCHFILES</varname> Block</title>
-
-      <para>This block is optional.  The variables are:</para>
-
-      <itemizedlist>
-	<listitem>
-	  <para><link
-	      linkend="porting-patchfiles"><varname>PATCH_SITES</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="porting-patchfiles"><varname>PATCHFILES</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="porting-patchfiles"><varname>PATCH_DIST_STRIP</varname></link></para>
-	</listitem>
-      </itemizedlist>
-    </sect2>
-
-    <sect2 xml:id="porting-samplem-maintainer">
-      <title><varname>MAINTAINER</varname> Block</title>
-
-      <para>This block is mandatory.  The variables are:</para>
-
-      <itemizedlist>
-	<listitem>
-	  <para><link
-	      linkend="makefile-maintainer"><varname>MAINTAINER</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-comment"><varname>COMMENT</varname></link></para>
-	</listitem>
-      </itemizedlist>
-    </sect2>
-
-    <sect2 xml:id="porting-samplem-license">
-      <title><varname>LICENSE</varname> Block</title>
-
-      <para>This block is optional, although it is highly recommended.
-	The variables are:</para>
-
-      <itemizedlist>
-	<listitem>
-	  <para><link
-	      linkend="licenses-license"><varname>LICENSE</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="licenses-license_comb"><varname>LICENSE_COMB</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="licenses-license_groups"><varname>LICENSE_GROUPS</varname></link>
-	    or
-	    <varname>LICENSE_GROUPS_<replaceable>NAME</replaceable></varname></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="licenses-license_name"><varname>LICENSE_NAME</varname></link>
-	    or
-	    <varname>LICENSE_NAME_<replaceable>NAME</replaceable></varname></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="licenses-license_text"><varname>LICENSE_TEXT</varname></link>
-	    or
-	    <varname>LICENSE_TEXT_<replaceable>NAME</replaceable></varname></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="licenses-license_file"><varname>LICENSE_FILE</varname></link>
-	    or
-	    <varname>LICENSE_FILE_<replaceable>NAME</replaceable></varname></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="licenses-license_perms"><varname>LICENSE_PERMS</varname></link>
-	    or
-	    <varname>LICENSE_PERMS_<replaceable>NAME</replaceable></varname></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="licenses-license_distfiles"><varname>LICENSE_DISTFILES</varname></link>
-	    or
-	    <varname>LICENSE_DISTFILES_<replaceable>NAME</replaceable></varname></para>
-	</listitem>
-      </itemizedlist>
-
-      <para>If there are multiple licenses, sort the different
-	LICENSE_<replaceable>VAR</replaceable>_<replaceable>NAME</replaceable>
-	variables by license name.</para>
-    </sect2>
-
-    <sect2 xml:id="porting-samplem-broken">
-      <title>Generic
-	<varname>BROKEN</varname>/<varname>IGNORE</varname>/<varname>DEPRECATED</varname>
-	Messages</title>
-
-      <para>This block is optional.  The variables are:</para>
-
-      <itemizedlist>
-	<listitem>
-	  <para><link
-	      linkend="dads-deprecated">DEPRECATED</link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="dads-deprecated">EXPIRATION_DATE</link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link linkend="dads-noinstall">FORBIDDEN</link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link linkend="dads-noinstall">BROKEN</link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link linkend="dads-noinstall">BROKEN_<replaceable>*</replaceable></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link linkend="dads-noinstall">IGNORE</link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link linkend="dads-noinstall">IGNORE_<replaceable>*</replaceable></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link linkend="dads-noinstall">ONLY_FOR_ARCHS</link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link linkend="dads-noinstall">ONLY_FOR_ARCHS_REASON<replaceable>*</replaceable></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link linkend="dads-noinstall">NOT_FOR_ARCHS</link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link linkend="dads-noinstall">NOT_FOR_ARCHS_REASON<replaceable>*</replaceable></link></para>
-	</listitem>
-      </itemizedlist>
-
-      <note>
-	<para><varname>BROKEN<replaceable>*</replaceable></varname>
-	  and <varname>IGNORE<replaceable>*</replaceable></varname>
-	  can be any generic variables, for example,
-	  <varname>IGNORE_amd64</varname>,
-	  <varname>BROKEN_FreeBSD_10</varname>,
-	  <varname>BROKEN_SSL</varname>, etc.</para>
-
-	<para>If the port is marked BROKEN when some conditions are
-	  met, and such conditions can only be tested after including
-	  <filename>bsd.port.options.mk</filename> or
-	  <filename>bsd.port.pre.mk</filename>, then those variables
-	  should be set later, in <xref
-	    linkend="porting-samplem-rest"/>.</para>
-      </note>
-    </sect2>
-
-    <sect2 xml:id="porting-samplem-depends">
-      <title>The Dependencies Block</title>
-
-      <para>This block is optional.  The variables are:</para>
-
-      <itemizedlist>
-	<listitem>
-	  <para><link
-	      linkend="makefile-fetch_depends"><varname>FETCH_DEPENDS</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-extract_depends"><varname>EXTRACT_DEPENDS</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-patch_depends"><varname>PATCH_DEPENDS</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-build_depends"><varname>BUILD_DEPENDS</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-lib_depends"><varname>LIB_DEPENDS</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <para><link
-	      linkend="makefile-run_depends"><varname>RUN_DEPENDS</varname></link></para>
-	</listitem>
-
-	<listitem>
-	  <!-- FIXME: write a section about tests -->
-	  <para><varname>TEST_DEPENDS</varname></para>
-	</listitem>
-      </itemizedlist>
-    </sect2>
-
-    <sect2 xml:id="porting-samplem-uses">
-      <title><varname>USES</varname> and
-	<varname>USE_<replaceable>x</replaceable></varname></title>
-
-      <para>Start this section with defining <varname>USES</varname>,
-	and then possible
-	<varname>USE_<replaceable>x</replaceable></varname>.</para>
-
-      <para>Keep related variables close together.  For example, if
-	using <link
-	  linkend="makefile-master_sites-github"><varname>USE_GITHUB</varname></link>,
-	always put the
-	<varname>GH_<replaceable>*</replaceable></varname> variables
-	right after it.</para>
-    </sect2>
-
-    <sect2 xml:id="porting-samplem-variables">
-      <title>Standard <filename>bsd.port.mk</filename> Variables</title>
-
-      <para>This section block is for variables that can be defined in
-        <filename>bsd.port.mk</filename> that do not belong in any
-        of the previous section blocks.</para>
-
-      <para>Order is not important, however try to keep similar variables together.
-        For example uid and gid variables <varname>USERS</varname> and <varname>GROUPS</varname>.
-	Configuration variables <varname>CONFIGURE_<replaceable>*</replaceable></varname> and
-        <varname><replaceable>*</replaceable>_CONFIGURE</varname>. List of files, and directories
-        <varname>PORTDOCS</varname> and <varname>PORTEXAMPLES</varname>.</para>
-    </sect2>
-
-    <sect2 xml:id="porting-samplem-options">
-      <title>Options</title>
-
-      <para>If the port uses the <link
-	  linkend="makefile-options">options framework</link>, define
-	<varname>OPTIONS_DEFINE</varname> and
-	<varname>OPTIONS_DEFAULT</varname> first, then the other
-	<varname>OPTIONS_<replaceable>*</replaceable></varname>
-	variables first, then the
-	<varname><replaceable>*</replaceable>_DESC</varname>
-	descriptions, then the options helpers.  Try and sort all of
-	those alphabetically.</para>
-    </sect2>
-
-    <sect2 xml:id="porting-samplem-rest">
-      <title>The Rest of the Variables</title>
-
-      <para>And then, the rest of the variables that are not
-	mentioned in the previous blocks.</para>
-    </sect2>
-
-    <sect2 xml:id="porting-samplem-targets">
-      <title>The Targets</title>
-
-      <para>After all the variables are defined, the optional
-	&man.make.1; targets can be defined.  Keep
-	<literal>pre-<replaceable>*</replaceable></literal> before
-	<literal>post-<replaceable>*</replaceable></literal> and in
-	the same order as the different stages run:</para>
-
-      <itemizedlist>
-	<listitem>
-	  <para><varname>fetch</varname></para>
-	</listitem>
-
-	<listitem>
-	  <para><varname>extract</varname></para>
-	</listitem>
-
-	<listitem>
-	  <para><varname>patch</varname></para>
-	</listitem>
-
-	<listitem>
-	  <para><varname>configure</varname></para>
-	</listitem>
-
-	<listitem>
-	  <para><varname>build</varname></para>
-	</listitem>
-
-	<listitem>
-	  <para><varname>install</varname></para>
-	</listitem>
-
-	<listitem>
-	  <para><varname>test</varname></para>
-	</listitem>
-      </itemizedlist>
-    </sect2>
-  </sect1>
 </chapter>
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-doc-all
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.