svn commit: r51790 - in head/en_US.ISO8859-1/books/porters-handbook: makefiles slow-porting

Tobias Kortkamp tobik at FreeBSD.org
Thu Jun 7 07:58:23 UTC 2018


Author: tobik (ports committer)
Date: Thu Jun  7 07:58:22 2018
New Revision: 51790
URL: https://svnweb.freebsd.org/changeset/doc/51790

Log:
  Document BINARY_ALIAS in the Porter's Handbook
  
  Approved by:	mat
  Differential Revision:	https://reviews.freebsd.org/D15666

Modified:
  head/en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml
  head/en_US.ISO8859-1/books/porters-handbook/slow-porting/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	Thu Jun  7 03:38:30 2018	(r51789)
+++ head/en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml	Thu Jun  7 07:58:22 2018	(r51790)
@@ -8104,4 +8104,54 @@ bind910</screen>
 	files.</para>
     </sect2>
   </sect1>
+
+  <sect1 xml:id="binary-alias">
+    <title>Use <varname>BINARY_ALIAS</varname> to Rename Commands
+      Instead of Patching the Build</title>
+
+    <para>When <varname>BINARY_ALIAS</varname> is defined it will
+      create symlinks of the given commands in a directory which
+      will be prepended to <varname>PATH</varname>.</para>
+
+    <para>Use it to substitute hardcoded commands the build phase
+      relies on without having to patch any build files.</para>
+
+    <example xml:id="binary-alias-ex1">
+      <title>Using <varname>BINARY_ALIAS</varname> to Make
+	<command>gsed</command> Available as
+	<command>sed</command></title>
+
+      <para>Some ports expect <command>sed</command> to behave like
+	<application>GNU sed</application> and use features that
+	&man.sed.1; does not provide.
+	<application>GNU sed</application> is available from
+	<package role="port">textproc/gsed</package> on &os;.</para>
+
+      <para>Use <varname>BINARY_ALIAS</varname> to substitute
+	<command>sed</command> with <command>gsed</command>
+	for the duration of the build:</para>
+
+      <programlisting>BUILD_DEPENDS=	gsed:textproc/gsed
+...
+BINARY_ALIAS=	sed=gsed</programlisting>
+    </example>
+
+    <example xml:id="binary-alias-ex2">
+      <title>Using <varname>BINARY_ALIAS</varname> to Provide Aliases
+	for Hardcoded <command>python3</command> Commands</title>
+
+      <para>A port that has a hardcoded reference to
+	<command>python3</command> in its build scripts will need
+	to have it available in <varname>PATH</varname> at build
+	time.  Use <varname>BINARY_ALIAS</varname> to create an alias
+	that points to the right Python 3 binary:</para>
+
+      <programlisting>USES=	python:3.4+,build
+...
+BINARY_ALIAS=	python3=${PYTHON_CMD}</programlisting>
+
+      <para>See <xref linkend="using-python" /> for more information
+	about <literal>USES=python</literal>.</para>
+    </example>
+  </sect1>
 </chapter>

Modified: head/en_US.ISO8859-1/books/porters-handbook/slow-porting/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/porters-handbook/slow-porting/chapter.xml	Thu Jun  7 03:38:30 2018	(r51789)
+++ head/en_US.ISO8859-1/books/porters-handbook/slow-porting/chapter.xml	Thu Jun  7 07:58:22 2018	(r51790)
@@ -270,6 +270,13 @@
       generate updated patch files in the <filename>files</filename>
       directory.</para>
 
+    <tip>
+      <para>Use <varname>BINARY_ALIAS</varname> to substitute
+	hardcoded commands during the build and avoid patching
+	build files.  See <xref linkend="binary-alias" /> for
+	more information.</para>
+    </tip>
+
     <sect2 xml:id="slow-patch-rules">
       <title>General Rules for Patching</title>
 


More information about the svn-doc-all mailing list