Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Jul 2015 09:39:46 +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: r46929 - in head/en_US.ISO8859-1/books/porters-handbook: makefiles special uses
Message-ID:  <201507060939.t669dk72041062@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mat
Date: Mon Jul  6 09:39:45 2015
New Revision: 46929
URL: https://svnweb.freebsd.org/changeset/doc/46929

Log:
  Various small fixes.
  
  - Mention WRKSRC_SUBDIR.
  - Note that NO_WRKSUBDIR should not be used.
  - Mention USES=metaport.
  - NEED_ROOT is gone, mention USES=fakeroot.
  
  Approved by:	wblock (mentor)
  Differential Revision:	https://reviews.freebsd.org/D2941

Modified:
  head/en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml
  head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml
  head/en_US.ISO8859-1/books/porters-handbook/uses/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	Mon Jul  6 09:26:34 2015	(r46928)
+++ head/en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml	Mon Jul  6 09:39:45 2015	(r46929)
@@ -4692,6 +4692,16 @@ PORTVERSION=	1.0</programlisting>
       <programlisting>WRKSRC=	${WRKDIR}/${PORTNAME}</programlisting>
     </sect2>
 
+    <sect2 xml:id="makefile-wrksrc_subdir">
+      <title><varname>WRKSRC_SUBDIR</varname></title>
+
+      <para>If the source files needed for the port are in a
+	subdirectory of the extracted distribution file, set
+	<varname>WRKSRC_SUBDIR</varname> to that directory.</para>
+
+      <programlisting>WRKSRC_SUBDIR=	src</programlisting>
+    </sect2>
+
     <sect2 xml:id="makefile-no_wrksubdir">
       <title><varname>NO_WRKSUBDIR</varname></title>
 
@@ -4700,6 +4710,14 @@ PORTVERSION=	1.0</programlisting>
 	indicate that.</para>
 
       <programlisting>NO_WRKSUBDIR=	yes</programlisting>
+
+      <note>
+	<para>Because <varname>WRKDIR</varname> is the only directory
+	  that is supposed to be writable during the build, and is
+	  used to store many files recording the status of the build,
+	  it is always better to force extraction into a subdirectory
+	  anyway.</para>
+      </note>
     </sect2>
   </sect1>
 

Modified: head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml	Mon Jul  6 09:26:34 2015	(r46928)
+++ head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml	Mon Jul  6 09:39:45 2015	(r46929)
@@ -31,21 +31,16 @@
       in &os;, <varname>DESTDIR</varname> has a different meaning
       (see <xref linkend="porting-prefix"/>).</para>
 
-    <para>When a port still requires system-wide privileges in order
-      to run the <buildtarget>stage</buildtarget> and
-      <buildtarget>package</buildtarget> targets, this line must be
-      added to the
-      <filename>Makefile</filename>:</para>
-
-    <programlisting>NEED_ROOT=	yes</programlisting>
-
     <note>
-      <para>The vast majority of ports do not <emphasis>really
-	  need</emphasis> to be root.  It can mostly be avoided by
-	using <link
-	  linkend="uses-uidfix"><literal>USES=uidfix</literal></link>,
-	and from time to time by slightly patching the port's
-	<filename>Makefiles</filename>.</para>
+      <para>No port <emphasis>really</emphasis> needs to be root.  It
+	can mostly be avoided by using <link
+	  linkend="uses-uidfix"><literal>USES=uidfix</literal></link>.
+	If the port still runs commands like &man.chown.8;,
+	&man.chgrp.1;, or forces owner or group with &man.install.1;
+	then use <link
+	  linkend="uses-fakeroot"><literal>USES=fakeroot</literal></link>
+	to fake those calls.  Sligh patching of the port's
+	<filename>Makefiles</filename> will be needed.</para>
     </note>
 
     <para>Meta ports, or ports that do not install files themselves
@@ -57,6 +52,13 @@
 
     <programlisting>NO_MTREE=	yes</programlisting>
 
+    <tip>
+      <para>Metaports should use <link
+	  linkend="uses-metaport"><literal>USES=metaport</literal></link>.
+	It sets up defaults for ports that do not fetch, build, or
+	install anything.</para>
+    </tip>
+
     <para>Staging is enabled by prepending
       <varname>STAGEDIR</varname> to paths used in the
       <buildtarget>pre-install</buildtarget>,

Modified: head/en_US.ISO8859-1/books/porters-handbook/uses/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/porters-handbook/uses/chapter.xml	Mon Jul  6 09:26:34 2015	(r46928)
+++ head/en_US.ISO8859-1/books/porters-handbook/uses/chapter.xml	Mon Jul  6 09:39:45 2015	(r46929)
@@ -407,7 +407,9 @@
 	  <entry>(none)</entry>
 
 	  <entry>Changes some default behaviour of build systems to
-	    allow installing as a user.</entry>
+	    allow installing as a user.  See <link
+	      xlink:href="http://fakeroot.alioth.debian.org/"/>; for
+	    more information on <command>fakeroot</command>.</entry>
 	</row>
 
 	<row xml:id="uses-fam">



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201507060939.t669dk72041062>