Thu Apr 9 04:25:46 2009 UTC ()
regen


(jnemeth)
diff -r1.120 -r1.121 pkgsrc/doc/pkgsrc.html
diff -r1.121 -r1.122 pkgsrc/doc/pkgsrc.txt

cvs diff -r1.120 -r1.121 pkgsrc/doc/pkgsrc.html (expand / switch to unified diff)

--- pkgsrc/doc/pkgsrc.html 2009/04/03 01:56:39 1.120
+++ pkgsrc/doc/pkgsrc.html 2009/04/09 04:25:46 1.121
@@ -7164,31 +7164,26 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site @@ -7164,31 +7164,26 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site
7164<div class="titlepage"><div><div><h2 class="title" style="clear: both"> 7164<div class="titlepage"><div><div><h2 class="title" style="clear: both">
7165<a name="build.package"></a>17.15. The <span class="emphasis"><em>package</em></span> phase</h2></div></div></div> 7165<a name="build.package"></a>17.15. The <span class="emphasis"><em>package</em></span> phase</h2></div></div></div>
7166<p>Once the install stage has completed, a binary package of 7166<p>Once the install stage has completed, a binary package of
7167 the installed files can be built. These binary packages can be 7167 the installed files can be built. These binary packages can be
7168 used for quick installation without previous compilation, e.g. by 7168 used for quick installation without previous compilation, e.g. by
7169 the <span class="command"><strong>make bin-install</strong></span> or by using 7169 the <span class="command"><strong>make bin-install</strong></span> or by using
7170 <span class="command"><strong>pkg_add</strong></span>.</p> 7170 <span class="command"><strong>pkg_add</strong></span>.</p>
7171<p>By default, the binary packages are created in 7171<p>By default, the binary packages are created in
7172 <code class="filename">${PACKAGES}/All</code> and symlinks are created in 7172 <code class="filename">${PACKAGES}/All</code> and symlinks are created in
7173 <code class="filename">${PACKAGES}/<em class="replaceable"><code>category</code></em></code>, 7173 <code class="filename">${PACKAGES}/<em class="replaceable"><code>category</code></em></code>,
7174 one for each category in the <code class="varname">CATEGORIES</code> 7174 one for each category in the <code class="varname">CATEGORIES</code>
7175 variable. <code class="varname">PACKAGES</code> defaults to 7175 variable. <code class="varname">PACKAGES</code> defaults to
7176 <code class="filename">pkgsrc/packages</code>.</p> 7176 <code class="filename">pkgsrc/packages</code>.</p>
7177<p>If there should be no binary package, set 
7178 <code class="varname">NO_PACKAGE</code> to &#8220;<span class="quote">yes</span>&#8221;. 
7179 This should only be used in rare cases, like when a package 
7180 definitely is only usable on the machine where it is built and even 
7181 then, a binary package can be useful.</p> 
7182</div> 7177</div>
7183<div class="sect1" lang="en"> 7178<div class="sect1" lang="en">
7184<div class="titlepage"><div><div><h2 class="title" style="clear: both"> 7179<div class="titlepage"><div><div><h2 class="title" style="clear: both">
7185<a name="build.clean"></a>17.16. Cleaning up</h2></div></div></div> 7180<a name="build.clean"></a>17.16. Cleaning up</h2></div></div></div>
7186<p>Once you're finished with a package, you can clean the work 7181<p>Once you're finished with a package, you can clean the work
7187 directory by running <span class="command"><strong>make clean</strong></span>. If you want 7182 directory by running <span class="command"><strong>make clean</strong></span>. If you want
7188 to clean the work directories of all dependencies too, use 7183 to clean the work directories of all dependencies too, use
7189 <span class="command"><strong>make clean-depends</strong></span>.</p> 7184 <span class="command"><strong>make clean-depends</strong></span>.</p>
7190</div> 7185</div>
7191<div class="sect1" lang="en"> 7186<div class="sect1" lang="en">
7192<div class="titlepage"><div><div><h2 class="title" style="clear: both"> 7187<div class="titlepage"><div><div><h2 class="title" style="clear: both">
7193<a name="build.helpful-targets"></a>17.17. Other helpful targets</h2></div></div></div> 7188<a name="build.helpful-targets"></a>17.17. Other helpful targets</h2></div></div></div>
7194<div class="variablelist"><dl> 7189<div class="variablelist"><dl>
@@ -7633,48 +7628,48 @@ TOOLS_PLATFORM.true?= true  @@ -7633,48 +7628,48 @@ TOOLS_PLATFORM.true?= true
7633<dt>18.4.2. <a href="#tools.listall">How do I get a list of all available 7628<dt>18.4.2. <a href="#tools.listall">How do I get a list of all available
7634 tools?</a> 7629 tools?</a>
7635</dt> 7630</dt>
7636<dt>18.4.3. <a href="#tools.used">How can I get a list of all the tools that a 7631<dt>18.4.3. <a href="#tools.used">How can I get a list of all the tools that a
7637 package is using while being built? I want to know whether it 7632 package is using while being built? I want to know whether it
7638 uses sed or not.</a> 7633 uses sed or not.</a>
7639</dt> 7634</dt>
7640</dl> 7635</dl>
7641<table border="0" summary="Q and A Set"> 7636<table border="0" summary="Q and A Set">
7642<col align="left" width="1%"> 7637<col align="left" width="1%">
7643<tbody> 7638<tbody>
7644<tr class="question"> 7639<tr class="question">
7645<td align="left" valign="top"> 7640<td align="left" valign="top">
7646<a name="tools.new"></a><a name="id1168230299317"></a><p><b>18.4.1.</b></p> 7641<a name="tools.new"></a><a name="id9503882"></a><p><b>18.4.1.</b></p>
7647</td> 7642</td>
7648<td align="left" valign="top"><p>How do I add a new tool?</p></td> 7643<td align="left" valign="top"><p>How do I add a new tool?</p></td>
7649</tr> 7644</tr>
7650<tr class="answer"> 7645<tr class="answer">
7651<td align="left" valign="top"></td> 7646<td align="left" valign="top"></td>
7652<td align="left" valign="top"><p>TODO</p></td> 7647<td align="left" valign="top"><p>TODO</p></td>
7653</tr> 7648</tr>
7654<tr class="question"> 7649<tr class="question">
7655<td align="left" valign="top"> 7650<td align="left" valign="top">
7656<a name="tools.listall"></a><a name="id1168230299325"></a><p><b>18.4.2.</b></p> 7651<a name="tools.listall"></a><a name="id9503891"></a><p><b>18.4.2.</b></p>
7657</td> 7652</td>
7658<td align="left" valign="top"><p>How do I get a list of all available 7653<td align="left" valign="top"><p>How do I get a list of all available
7659 tools?</p></td> 7654 tools?</p></td>
7660</tr> 7655</tr>
7661<tr class="answer"> 7656<tr class="answer">
7662<td align="left" valign="top"></td> 7657<td align="left" valign="top"></td>
7663<td align="left" valign="top"><p>TODO</p></td> 7658<td align="left" valign="top"><p>TODO</p></td>
7664</tr> 7659</tr>
7665<tr class="question"> 7660<tr class="question">
7666<td align="left" valign="top"> 7661<td align="left" valign="top">
7667<a name="tools.used"></a><a name="id1168230299334"></a><p><b>18.4.3.</b></p> 7662<a name="tools.used"></a><a name="id9503899"></a><p><b>18.4.3.</b></p>
7668</td> 7663</td>
7669<td align="left" valign="top"><p>How can I get a list of all the tools that a 7664<td align="left" valign="top"><p>How can I get a list of all the tools that a
7670 package is using while being built? I want to know whether it 7665 package is using while being built? I want to know whether it
7671 uses sed or not.</p></td> 7666 uses sed or not.</p></td>
7672</tr> 7667</tr>
7673<tr class="answer"> 7668<tr class="answer">
7674<td align="left" valign="top"></td> 7669<td align="left" valign="top"></td>
7675<td align="left" valign="top"><p>Currently, you can't. (TODO: But I want to be able 7670<td align="left" valign="top"><p>Currently, you can't. (TODO: But I want to be able
7676 to do it.)</p></td> 7671 to do it.)</p></td>
7677</tr> 7672</tr>
7678</tbody> 7673</tbody>
7679</table> 7674</table>
7680</div> 7675</div>
@@ -7838,41 +7833,51 @@ INTERACTIVE_STAGE= configure instal @@ -7838,41 +7833,51 @@ INTERACTIVE_STAGE= configure instal
7838 are labeled with a license tag denoting the license. Note that a 7833 are labeled with a license tag denoting the license. Note that a
7839 package with no license to copy trivially does not meet either the 7834 package with no license to copy trivially does not meet either the
7840 Free or Open Source test.</p> 7835 Free or Open Source test.</p>
7841<p>For packages which are not Free or Open Source, pkgsrc will 7836<p>For packages which are not Free or Open Source, pkgsrc will
7842 not build the package unless the user has indicated to pkgsrc that 7837 not build the package unless the user has indicated to pkgsrc that
7843 packages with that particular license may be built. Note that 7838 packages with that particular license may be built. Note that
7844 this documentation avoids the term "accepted the license". The 7839 this documentation avoids the term "accepted the license". The
7845 pkgsrc system is merely providing a mechanism to avoid 7840 pkgsrc system is merely providing a mechanism to avoid
7846 accidentally building a package with a non-free license; 7841 accidentally building a package with a non-free license;
7847 judgement and responsibility remain with the user. (Installation 7842 judgement and responsibility remain with the user. (Installation
7848 of binary packages are not currently subject to this mechanism; 7843 of binary packages are not currently subject to this mechanism;
7849 this is a bug.)</p> 7844 this is a bug.)</p>
7850<p>One might want to only install packages with a BSD license, 7845<p>One might want to only install packages with a BSD license,
7851 or the GPL, and not the other. The pkgsrc license tag mechanism 7846 or the GPL, and not the other. The free licenses are added to the
7852 does not provide a way to do this. It might be possible to put in 7847 default <code class="varname">ACCEPTABLE_LICENSES</code> variable. The
7853 tags for free licenses, and have a default 7848 user can override the default by setting the
7854 <code class="varname">ACCEPTABLE_LICENSES</code> variable value, but this is 7849 <code class="varname">ACCEPTABLE_LICENSES</code> variable with "=" instead
7855 widely viewed as having a very poor ratio of benefit to 7850 of "+=". The licenses accepted by default are:
7856 work.</p> 7851 </p>
 7852<pre class="programlisting">
 7853 public-domain
 7854 gnu-gpl-v2 gnu-lgpl-v2
 7855 gnu-gpl-v3 gnu-lgpl-v3
 7856 original-bsd modified-bsd
 7857 x11
 7858 apache-2.0
 7859 cddl-1.0
 7860 open-font-license
 7861 </pre>
 7862<p>
 7863 </p>
7857<p>The license tag mechanism is intended to address 7864<p>The license tag mechanism is intended to address
7858 copyright-related issues surrounding building, installing and 7865 copyright-related issues surrounding building, installing and
7859 using a package, and not to address redistribution issues (see 7866 using a package, and not to address redistribution issues (see
7860 <code class="varname">RESTRICTED</code> and 7867 <code class="varname">RESTRICTED</code> and
7861 <code class="varname">NO_SRC_ON_FTP</code>, etc.). However, the above 7868 <code class="varname">NO_SRC_ON_FTP</code>, etc.).
7862 definition of licenses for which tags are not needed implies 7869 Packages with redistribution restrictions should set these
7863 that packages with redistribution restrictions should have 7870 tags.</p>
7864 tags, because Free or Open Source programs do not have 
7865 redistribution restrictions.</p> 
7866<p>Denoting that a package may be copied according to a 7871<p>Denoting that a package may be copied according to a
7867 particular license is done by placing the license in 7872 particular license is done by placing the license in
7868 <code class="filename">pkgsrc/licenses</code> and setting the 7873 <code class="filename">pkgsrc/licenses</code> and setting the
7869 <code class="varname">LICENSE</code> variable to a string identifying the 7874 <code class="varname">LICENSE</code> variable to a string identifying the
7870 license, e.g. in <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/graphics/xv/README.html" target="_top"><code class="filename">graphics/xv</code></a>:</p> 7875 license, e.g. in <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/graphics/xv/README.html" target="_top"><code class="filename">graphics/xv</code></a>:</p>
7871<pre class="programlisting"> 7876<pre class="programlisting">
7872LICENSE= xv-license 7877LICENSE= xv-license
7873 </pre> 7878 </pre>
7874<p>When trying to build, the user will get a notice that the 7879<p>When trying to build, the user will get a notice that the
7875 package is covered by a license which has not been placed in the 7880 package is covered by a license which has not been placed in the
7876 <code class="varname">ACCEPTABLE_LICENSES</code> variable:</p> 7881 <code class="varname">ACCEPTABLE_LICENSES</code> variable:</p>
7877<pre class="programlisting"> 7882<pre class="programlisting">
7878<code class="prompt">%</code> <strong class="userinput"><code>make</code></strong> 7883<code class="prompt">%</code> <strong class="userinput"><code>make</code></strong>
@@ -7963,31 +7968,26 @@ ACCEPTABLE_LICENSES+=xv-license @@ -7963,31 +7968,26 @@ ACCEPTABLE_LICENSES+=xv-license
7963<p>Distfiles may not be placed on CD-ROM, together with 7968<p>Distfiles may not be placed on CD-ROM, together with
7964 other distfiles, for which a fee may be charged. In this 7969 other distfiles, for which a fee may be charged. In this
7965 case, set this variable to <code class="varname">${RESTRICTED}</code>. 7970 case, set this variable to <code class="varname">${RESTRICTED}</code>.
7966 </p> 7971 </p>
7967</li> 7972</li>
7968<li> 7973<li>
7969<p><code class="varname">NO_SRC_ON_FTP</code></p> 7974<p><code class="varname">NO_SRC_ON_FTP</code></p>
7970<p>Distfiles may not made available via FTP at no charge. 7975<p>Distfiles may not made available via FTP at no charge.
7971 In this case, set this variable to 7976 In this case, set this variable to
7972 <code class="varname">${RESTRICTED}</code>. If this variable is set, 7977 <code class="varname">${RESTRICTED}</code>. If this variable is set,
7973 the distfile(s) will not be mirrored on ftp.NetBSD.org.</p> 7978 the distfile(s) will not be mirrored on ftp.NetBSD.org.</p>
7974</li> 7979</li>
7975</ul></div> 7980</ul></div>
7976<p>Please note that the use of <code class="varname">NO_PACKAGE</code>, 
7977 <code class="varname">IGNORE</code>, <code class="varname">NO_CDROM</code>, or other 
7978 generic make variables to denote restrictions is deprecated, 
7979 because they unconditionally prevent users from generating 
7980 binary packages!</p> 
7981</div> 7981</div>
7982<div class="sect2" lang="en"> 7982<div class="sect2" lang="en">
7983<div class="titlepage"><div><div><h3 class="title"> 7983<div class="titlepage"><div><div><h3 class="title">
7984<a name="dependencies"></a>19.1.6. Handling dependencies</h3></div></div></div> 7984<a name="dependencies"></a>19.1.6. Handling dependencies</h3></div></div></div>
7985<p>Your package may depend on some other package being present 7985<p>Your package may depend on some other package being present
7986 - and there are various ways of expressing this dependency. 7986 - and there are various ways of expressing this dependency.
7987 pkgsrc supports the <code class="varname">BUILD_DEPENDS</code> and 7987 pkgsrc supports the <code class="varname">BUILD_DEPENDS</code> and
7988 <code class="varname">DEPENDS</code> definitions, the 7988 <code class="varname">DEPENDS</code> definitions, the
7989 <code class="varname">USE_TOOLS</code> definition, as well as dependencies 7989 <code class="varname">USE_TOOLS</code> definition, as well as dependencies
7990 via <code class="filename">buildlink3.mk</code>, which is the preferred way 7990 via <code class="filename">buildlink3.mk</code>, which is the preferred way
7991 to handle dependencies, and which uses the variables named above. 7991 to handle dependencies, and which uses the variables named above.
7992 See <a class="xref" href="#buildlink" title="Chapter 14. Buildlink methodology">Chapter 14, <i>Buildlink methodology</i></a> for more information.</p> 7992 See <a class="xref" href="#buildlink" title="Chapter 14. Buildlink methodology">Chapter 14, <i>Buildlink methodology</i></a> for more information.</p>
7993<p>The basic difference between the two variables is as 7993<p>The basic difference between the two variables is as
@@ -9666,157 +9666,157 @@ place.

 @@ -9666,157 +9666,157 @@ place.

9666</dt> 9666</dt>
9667<dt>22.8. <a href="#devfaq.documentation">Where is the pkgsrc 9667<dt>22.8. <a href="#devfaq.documentation">Where is the pkgsrc
9668 documentation?</a> 9668 documentation?</a>
9669</dt> 9669</dt>
9670<dt>22.9. <a href="#devfaq.too-much-time">I have a little time to kill. What shall I 9670<dt>22.9. <a href="#devfaq.too-much-time">I have a little time to kill. What shall I
9671do?</a> 9671do?</a>
9672</dt> 9672</dt>
9673</dl> 9673</dl>
9674<table border="0" summary="Q and A Set"> 9674<table border="0" summary="Q and A Set">
9675<col align="left" width="1%"> 9675<col align="left" width="1%">
9676<tbody> 9676<tbody>
9677<tr class="question"> 9677<tr class="question">
9678<td align="left" valign="top"> 9678<td align="left" valign="top">
9679<a name="devfaq.makeflags"></a><a name="id1168230286353"></a><p><b>22.1.</b></p> 9679<a name="devfaq.makeflags"></a><a name="id9508424"></a><p><b>22.1.</b></p>
9680</td> 9680</td>
9681<td align="left" valign="top"><p>What is the difference between 9681<td align="left" valign="top"><p>What is the difference between
9682 <code class="varname">MAKEFLAGS</code>, <code class="varname">.MAKEFLAGS</code> and 9682 <code class="varname">MAKEFLAGS</code>, <code class="varname">.MAKEFLAGS</code> and
9683 <code class="varname">MAKE_FLAGS</code>?</p></td> 9683 <code class="varname">MAKE_FLAGS</code>?</p></td>
9684</tr> 9684</tr>
9685<tr class="answer"> 9685<tr class="answer">
9686<td align="left" valign="top"></td> 9686<td align="left" valign="top"></td>
9687<td align="left" valign="top"><p><code class="varname">MAKEFLAGS</code> are the flags passed 9687<td align="left" valign="top"><p><code class="varname">MAKEFLAGS</code> are the flags passed
9688 to the pkgsrc-internal invocations of <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a>, while 9688 to the pkgsrc-internal invocations of <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a>, while
9689 <code class="varname">MAKE_FLAGS</code> are the flags that are passed to 9689 <code class="varname">MAKE_FLAGS</code> are the flags that are passed to
9690 the <code class="varname">MAKE_PROGRAM</code> when building the 9690 the <code class="varname">MAKE_PROGRAM</code> when building the
9691 package. [FIXME: What is .MAKEFLAGS for?]</p></td> 9691 package. [FIXME: What is .MAKEFLAGS for?]</p></td>
9692</tr> 9692</tr>
9693<tr class="question"> 9693<tr class="question">
9694<td align="left" valign="top"> 9694<td align="left" valign="top">
9695<a name="devfaq.make"></a><a name="id1168230286387"></a><p><b>22.2.</b></p> 9695<a name="devfaq.make"></a><a name="id9508458"></a><p><b>22.2.</b></p>
9696</td> 9696</td>
9697<td align="left" valign="top"><p>What is the difference between 9697<td align="left" valign="top"><p>What is the difference between
9698 <code class="varname">MAKE</code>, <code class="varname">GMAKE</code> and 9698 <code class="varname">MAKE</code>, <code class="varname">GMAKE</code> and
9699 <code class="varname">MAKE_PROGRAM</code>?</p></td> 9699 <code class="varname">MAKE_PROGRAM</code>?</p></td>
9700</tr> 9700</tr>
9701<tr class="answer"> 9701<tr class="answer">
9702<td align="left" valign="top"></td> 9702<td align="left" valign="top"></td>
9703<td align="left" valign="top"><p><code class="varname">MAKE</code> is the path to the 9703<td align="left" valign="top"><p><code class="varname">MAKE</code> is the path to the
9704 <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> program that is used in the pkgsrc 9704 <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> program that is used in the pkgsrc
9705 infrastructure. <code class="varname">GMAKE</code> is the path to GNU 9705 infrastructure. <code class="varname">GMAKE</code> is the path to GNU
9706 Make, but you need to say <code class="varname">USE_TOOLS+=gmake</code> to 9706 Make, but you need to say <code class="varname">USE_TOOLS+=gmake</code> to
9707 use that. <code class="varname">MAKE_PROGRAM</code> is the path to the 9707 use that. <code class="varname">MAKE_PROGRAM</code> is the path to the
9708 Make program that is used for building the 9708 Make program that is used for building the
9709 package.</p></td> 9709 package.</p></td>
9710</tr> 9710</tr>
9711<tr class="question"> 9711<tr class="question">
9712<td align="left" valign="top"> 9712<td align="left" valign="top">
9713<a name="devfaq.cc"></a><a name="id1168230286423"></a><p><b>22.3.</b></p> 9713<a name="devfaq.cc"></a><a name="id9508494"></a><p><b>22.3.</b></p>
9714</td> 9714</td>
9715<td align="left" valign="top"><p>What is the difference between 9715<td align="left" valign="top"><p>What is the difference between
9716 <code class="varname">CC</code>, <code class="varname">PKG_CC</code> and 9716 <code class="varname">CC</code>, <code class="varname">PKG_CC</code> and
9717 <code class="varname">PKGSRC_COMPILER</code>?</p></td> 9717 <code class="varname">PKGSRC_COMPILER</code>?</p></td>
9718</tr> 9718</tr>
9719<tr class="answer"> 9719<tr class="answer">
9720<td align="left" valign="top"></td> 9720<td align="left" valign="top"></td>
9721<td align="left" valign="top"><p><code class="varname">CC</code> is the path to the real C 9721<td align="left" valign="top"><p><code class="varname">CC</code> is the path to the real C
9722 compiler, which can be configured by the pkgsrc user. 9722 compiler, which can be configured by the pkgsrc user.
9723 <code class="varname">PKG_CC</code> is the path to the compiler wrapper. 9723 <code class="varname">PKG_CC</code> is the path to the compiler wrapper.
9724 <code class="varname">PKGSRC_COMPILER</code> is <span class="emphasis"><em>not</em></span> a 9724 <code class="varname">PKGSRC_COMPILER</code> is <span class="emphasis"><em>not</em></span> a
9725 path to a compiler, but the type of compiler that should be 9725 path to a compiler, but the type of compiler that should be
9726 used. See <code class="filename">mk/compiler.mk</code> for more 9726 used. See <code class="filename">mk/compiler.mk</code> for more
9727 information about the latter variable.</p></td> 9727 information about the latter variable.</p></td>
9728</tr> 9728</tr>
9729<tr class="question"> 9729<tr class="question">
9730<td align="left" valign="top"> 9730<td align="left" valign="top">
9731<a name="devfaq.bl3flags"></a><a name="id1168230286458"></a><p><b>22.4.</b></p> 9731<a name="devfaq.bl3flags"></a><a name="id9508530"></a><p><b>22.4.</b></p>
9732</td> 9732</td>
9733<td align="left" valign="top"><p>What is the difference between 9733<td align="left" valign="top"><p>What is the difference between
9734 <code class="varname">BUILDLINK_LDFLAGS</code>, 9734 <code class="varname">BUILDLINK_LDFLAGS</code>,
9735 <code class="varname">BUILDLINK_LDADD</code> and 9735 <code class="varname">BUILDLINK_LDADD</code> and
9736 <code class="varname">BUILDLINK_LIBS</code>?</p></td> 9736 <code class="varname">BUILDLINK_LIBS</code>?</p></td>
9737</tr> 9737</tr>
9738<tr class="answer"> 9738<tr class="answer">
9739<td align="left" valign="top"></td> 9739<td align="left" valign="top"></td>
9740<td align="left" valign="top"><p>[FIXME]</p></td> 9740<td align="left" valign="top"><p>[FIXME]</p></td>
9741</tr> 9741</tr>
9742<tr class="question"> 9742<tr class="question">
9743<td align="left" valign="top"> 9743<td align="left" valign="top">
9744<a name="devfaq.bl3prefix"></a><a name="id1168230286476"></a><p><b>22.5.</b></p> 9744<a name="devfaq.bl3prefix"></a><a name="id9508548"></a><p><b>22.5.</b></p>
9745</td> 9745</td>
9746<td align="left" valign="top"><p>Why does <span class="command"><strong>make show-var 9746<td align="left" valign="top"><p>Why does <span class="command"><strong>make show-var
9747 VARNAME=BUILDLINK_PREFIX.<em class="replaceable"><code>foo</code></em></strong></span> 9747 VARNAME=BUILDLINK_PREFIX.<em class="replaceable"><code>foo</code></em></strong></span>
9748 say it's empty?</p></td> 9748 say it's empty?</p></td>
9749</tr> 9749</tr>
9750<tr class="answer"> 9750<tr class="answer">
9751<td align="left" valign="top"></td> 9751<td align="left" valign="top"></td>
9752<td align="left" valign="top"><p>For optimization reasons, some variables are only 9752<td align="left" valign="top"><p>For optimization reasons, some variables are only
9753 available in the &#8220;<span class="quote">wrapper</span>&#8221; phase and later. To 9753 available in the &#8220;<span class="quote">wrapper</span>&#8221; phase and later. To
9754 &#8220;<span class="quote">simulate</span>&#8221; the wrapper phase, append 9754 &#8220;<span class="quote">simulate</span>&#8221; the wrapper phase, append
9755 <span class="command"><strong>PKG_PHASE=wrapper</strong></span> to the above 9755 <span class="command"><strong>PKG_PHASE=wrapper</strong></span> to the above
9756 command.</p></td> 9756 command.</p></td>
9757</tr> 9757</tr>
9758<tr class="question"> 9758<tr class="question">
9759<td align="left" valign="top"> 9759<td align="left" valign="top">
9760<a name="devfaq.master_sites"></a><a name="id1168230286502"></a><p><b>22.6.</b></p> 9760<a name="devfaq.master_sites"></a><a name="id9508573"></a><p><b>22.6.</b></p>
9761</td> 9761</td>
9762<td align="left" valign="top"><p>What does 9762<td align="left" valign="top"><p>What does
9763 <code class="literal">${MASTER_SITE_SOURCEFORGE:=package/}</code> mean? I 9763 <code class="literal">${MASTER_SITE_SOURCEFORGE:=package/}</code> mean? I
9764 don't understand the <code class="literal">:=</code> inside 9764 don't understand the <code class="literal">:=</code> inside
9765 it.</p></td> 9765 it.</p></td>
9766</tr> 9766</tr>
9767<tr class="answer"> 9767<tr class="answer">
9768<td align="left" valign="top"></td> 9768<td align="left" valign="top"></td>
9769<td align="left" valign="top"><p>The <code class="literal">:=</code> is not really an 9769<td align="left" valign="top"><p>The <code class="literal">:=</code> is not really an
9770 assignment operator, like you might expect at first sight. 9770 assignment operator, like you might expect at first sight.
9771 Instead, it is a degenerate form of 9771 Instead, it is a degenerate form of
9772 <code class="literal">${LIST:<em class="replaceable"><code>old_string</code></em>=<em class="replaceable"><code>new_string</code></em>}</code>, 9772 <code class="literal">${LIST:<em class="replaceable"><code>old_string</code></em>=<em class="replaceable"><code>new_string</code></em>}</code>,
9773 which is documented in the <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> man page and which you 9773 which is documented in the <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> man page and which you
9774 may have seen as in <code class="literal">${SRCS:.c=.o}</code>. In the 9774 may have seen as in <code class="literal">${SRCS:.c=.o}</code>. In the
9775 case of <code class="varname">MASTER_SITE_*</code>, 9775 case of <code class="varname">MASTER_SITE_*</code>,
9776 <em class="replaceable"><code>old_string</code></em> is the empty string and 9776 <em class="replaceable"><code>old_string</code></em> is the empty string and
9777 <em class="replaceable"><code>new_string</code></em> is 9777 <em class="replaceable"><code>new_string</code></em> is
9778 <code class="literal">package/</code>. That's where the 9778 <code class="literal">package/</code>. That's where the
9779 <code class="literal">:</code> and the <code class="literal">=</code> fall 9779 <code class="literal">:</code> and the <code class="literal">=</code> fall
9780 together.</p></td> 9780 together.</p></td>
9781</tr> 9781</tr>
9782<tr class="question"> 9782<tr class="question">
9783<td align="left" valign="top"> 9783<td align="left" valign="top">
9784<a name="devfaq.mailinglists"></a><a name="id1168230286569"></a><p><b>22.7.</b></p> 9784<a name="devfaq.mailinglists"></a><a name="id9508641"></a><p><b>22.7.</b></p>
9785</td> 9785</td>
9786<td align="left" valign="top"><p>Which mailing lists are there for package 9786<td align="left" valign="top"><p>Which mailing lists are there for package
9787 developers?</p></td> 9787 developers?</p></td>
9788</tr> 9788</tr>
9789<tr class="answer"> 9789<tr class="answer">
9790<td align="left" valign="top"></td> 9790<td align="left" valign="top"></td>
9791<td align="left" valign="top"><div class="variablelist"><dl> 9791<td align="left" valign="top"><div class="variablelist"><dl>
9792<dt><span class="term"><a class="ulink" href="http://www.NetBSD.org/mailinglists/index.html#tech-pkg" target="_top">tech-pkg</a></span></dt> 9792<dt><span class="term"><a class="ulink" href="http://www.NetBSD.org/mailinglists/index.html#tech-pkg" target="_top">tech-pkg</a></span></dt>
9793<dd><p>This is a list for technical discussions related 9793<dd><p>This is a list for technical discussions related
9794 to pkgsrc development, e.g. soliciting feedback for changes to 9794 to pkgsrc development, e.g. soliciting feedback for changes to
9795 pkgsrc infrastructure, proposed new features, questions related 9795 pkgsrc infrastructure, proposed new features, questions related
9796 to porting pkgsrc to a new platform, advice for maintaining a 9796 to porting pkgsrc to a new platform, advice for maintaining a
9797 package, patches that affect many packages, help requests moved 9797 package, patches that affect many packages, help requests moved
9798 from pkgsrc-users when an infrastructure bug is found, 9798 from pkgsrc-users when an infrastructure bug is found,
9799 etc.</p></dd> 9799 etc.</p></dd>
9800<dt><span class="term"><a class="ulink" href="http://www.NetBSD.org/mailinglists/index.html#pkgsrc-bugs" target="_top">pkgsrc-bugs</a></span></dt> 9800<dt><span class="term"><a class="ulink" href="http://www.NetBSD.org/mailinglists/index.html#pkgsrc-bugs" target="_top">pkgsrc-bugs</a></span></dt>
9801<dd><p>All bug reports in category "pkg" sent with 9801<dd><p>All bug reports in category "pkg" sent with
9802 <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?send-pr+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">send-pr</span>(1)</span></a> appear here. Please do not report your bugs here 9802 <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?send-pr+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">send-pr</span>(1)</span></a> appear here. Please do not report your bugs here
9803 directly; use one of the other mailing 9803 directly; use one of the other mailing
9804 lists.</p></dd> 9804 lists.</p></dd>
9805</dl></div></td> 9805</dl></div></td>
9806</tr> 9806</tr>
9807<tr class="question"> 9807<tr class="question">
9808<td align="left" valign="top"> 9808<td align="left" valign="top">
9809<a name="devfaq.documentation"></a><a name="id1168230286669"></a><p><b>22.8.</b></p> 9809<a name="devfaq.documentation"></a><a name="id9508741"></a><p><b>22.8.</b></p>
9810</td> 9810</td>
9811<td align="left" valign="top"><p>Where is the pkgsrc 9811<td align="left" valign="top"><p>Where is the pkgsrc
9812 documentation?</p></td> 9812 documentation?</p></td>
9813</tr> 9813</tr>
9814<tr class="answer"> 9814<tr class="answer">
9815<td align="left" valign="top"></td> 9815<td align="left" valign="top"></td>
9816<td align="left" valign="top"> 9816<td align="left" valign="top">
9817<p>There are many places where you can find 9817<p>There are many places where you can find
9818 documentation about pkgsrc:</p> 9818 documentation about pkgsrc:</p>
9819<div class="itemizedlist"><ul type="disc"> 9819<div class="itemizedlist"><ul type="disc">
9820<li><p>The pkgsrc guide (this document) is a collection 9820<li><p>The pkgsrc guide (this document) is a collection
9821 of chapters that explain large parts of pkgsrc, but some 9821 of chapters that explain large parts of pkgsrc, but some
9822 chapters tend to be outdated. Which ones they are is hard to 9822 chapters tend to be outdated. Which ones they are is hard to
@@ -9844,27 +9844,27 @@ do? @@ -9844,27 +9844,27 @@ do?
9844 documented</span>&#8221;, that is the documentation exists only in the 9844 documented</span>&#8221;, that is the documentation exists only in the
9845 mind of the developer who wrote the code. To get this 9845 mind of the developer who wrote the code. To get this
9846 information, use the <span class="command"><strong>cvs annotate</strong></span> command 9846 information, use the <span class="command"><strong>cvs annotate</strong></span> command
9847 to see who has written it and ask on the 9847 to see who has written it and ask on the
9848 <code class="literal">tech-pkg</code> mailing list, so that others can 9848 <code class="literal">tech-pkg</code> mailing list, so that others can
9849 find your questions later (see above). To be sure that the 9849 find your questions later (see above). To be sure that the
9850 developer in charge reads the mail, you may CC him or 9850 developer in charge reads the mail, you may CC him or
9851 her.</p></li> 9851 her.</p></li>
9852</ul></div> 9852</ul></div>
9853</td> 9853</td>
9854</tr> 9854</tr>
9855<tr class="question"> 9855<tr class="question">
9856<td align="left" valign="top"> 9856<td align="left" valign="top">
9857<a name="devfaq.too-much-time"></a><a name="id1168230286724"></a><p><b>22.9.</b></p> 9857<a name="devfaq.too-much-time"></a><a name="id9508794"></a><p><b>22.9.</b></p>
9858</td> 9858</td>
9859<td align="left" valign="top"><p>I have a little time to kill. What shall I 9859<td align="left" valign="top"><p>I have a little time to kill. What shall I
9860do?</p></td> 9860do?</p></td>
9861</tr> 9861</tr>
9862<tr class="answer"> 9862<tr class="answer">
9863<td align="left" valign="top"></td> 9863<td align="left" valign="top"></td>
9864<td align="left" valign="top"> 9864<td align="left" valign="top">
9865<p>This is not really an FAQ yet, but here's the answer 9865<p>This is not really an FAQ yet, but here's the answer
9866anyway.</p> 9866anyway.</p>
9867<div class="itemizedlist"><ul type="disc"> 9867<div class="itemizedlist"><ul type="disc">
9868<li><p>Run <span class="command"><strong>pkg_chk -N</strong></span> (from the 9868<li><p>Run <span class="command"><strong>pkg_chk -N</strong></span> (from the
9869 <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkg_chk/README.html" target="_top"><code class="filename">pkgtools/pkg_chk</code></a> package). It 9869 <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkg_chk/README.html" target="_top"><code class="filename">pkgtools/pkg_chk</code></a> package). It
9870 will tell you about newer versions of installed packages that are 9870 will tell you about newer versions of installed packages that are

cvs diff -r1.121 -r1.122 pkgsrc/doc/pkgsrc.txt (expand / switch to unified diff)

--- pkgsrc/doc/pkgsrc.txt 2009/04/03 01:56:39 1.121
+++ pkgsrc/doc/pkgsrc.txt 2009/04/09 04:25:46 1.122
@@ -6093,30 +6093,26 @@ INSTALLATION_DIRS @@ -6093,30 +6093,26 @@ INSTALLATION_DIRS
6093In the rare cases that a package shouldn't install anything, set NO_INSTALL to 6093In the rare cases that a package shouldn't install anything, set NO_INSTALL to
6094"yes". This is mostly relevant for packages in the regress category. 6094"yes". This is mostly relevant for packages in the regress category.
6095 6095
609617.15. The package phase 609617.15. The package phase
6097 6097
6098Once the install stage has completed, a binary package of the installed files 6098Once the install stage has completed, a binary package of the installed files
6099can be built. These binary packages can be used for quick installation without 6099can be built. These binary packages can be used for quick installation without
6100previous compilation, e.g. by the make bin-install or by using pkg_add. 6100previous compilation, e.g. by the make bin-install or by using pkg_add.
6101 6101
6102By default, the binary packages are created in ${PACKAGES}/All and symlinks are 6102By default, the binary packages are created in ${PACKAGES}/All and symlinks are
6103created in ${PACKAGES}/category, one for each category in the CATEGORIES 6103created in ${PACKAGES}/category, one for each category in the CATEGORIES
6104variable. PACKAGES defaults to pkgsrc/packages. 6104variable. PACKAGES defaults to pkgsrc/packages.
6105 6105
6106If there should be no binary package, set NO_PACKAGE to "yes". This should only 
6107be used in rare cases, like when a package definitely is only usable on the 
6108machine where it is built and even then, a binary package can be useful. 
6109 
611017.16. Cleaning up 610617.16. Cleaning up
6111 6107
6112Once you're finished with a package, you can clean the work directory by 6108Once you're finished with a package, you can clean the work directory by
6113running make clean. If you want to clean the work directories of all 6109running make clean. If you want to clean the work directories of all
6114dependencies too, use make clean-depends. 6110dependencies too, use make clean-depends.
6115 6111
611617.17. Other helpful targets 611217.17. Other helpful targets
6117 6113
6118pre/post-* 6114pre/post-*
6119 6115
6120 For any of the main targets described in the previous section, two 6116 For any of the main targets described in the previous section, two
6121 auxiliary targets exist with "pre-" and "post-" used as a prefix for the 6117 auxiliary targets exist with "pre-" and "post-" used as a prefix for the
6122 main target's name. These targets are invoked before and after the main 6118 main target's name. These targets are invoked before and after the main
@@ -6626,37 +6622,44 @@ are Free or Open Source. However, packag @@ -6626,37 +6622,44 @@ are Free or Open Source. However, packag
6626those tests are labeled with a license tag denoting the license. Note that a 6622those tests are labeled with a license tag denoting the license. Note that a
6627package with no license to copy trivially does not meet either the Free or Open 6623package with no license to copy trivially does not meet either the Free or Open
6628Source test. 6624Source test.
6629 6625
6630For packages which are not Free or Open Source, pkgsrc will not build the 6626For packages which are not Free or Open Source, pkgsrc will not build the
6631package unless the user has indicated to pkgsrc that packages with that 6627package unless the user has indicated to pkgsrc that packages with that
6632particular license may be built. Note that this documentation avoids the term 6628particular license may be built. Note that this documentation avoids the term
6633"accepted the license". The pkgsrc system is merely providing a mechanism to 6629"accepted the license". The pkgsrc system is merely providing a mechanism to
6634avoid accidentally building a package with a non-free license; judgement and 6630avoid accidentally building a package with a non-free license; judgement and
6635responsibility remain with the user. (Installation of binary packages are not 6631responsibility remain with the user. (Installation of binary packages are not
6636currently subject to this mechanism; this is a bug.) 6632currently subject to this mechanism; this is a bug.)
6637 6633
6638One might want to only install packages with a BSD license, or the GPL, and not 6634One might want to only install packages with a BSD license, or the GPL, and not
6639the other. The pkgsrc license tag mechanism does not provide a way to do this. 6635the other. The free licenses are added to the default ACCEPTABLE_LICENSES
6640It might be possible to put in tags for free licenses, and have a default 6636variable. The user can override the default by setting the ACCEPTABLE_LICENSES
6641ACCEPTABLE_LICENSES variable value, but this is widely viewed as having a very 6637variable with "=" instead of "+=". The licenses accepted by default are:
6642poor ratio of benefit to work. 6638
 6639 public-domain
 6640 gnu-gpl-v2 gnu-lgpl-v2
 6641 gnu-gpl-v3 gnu-lgpl-v3
 6642 original-bsd modified-bsd
 6643 x11
 6644 apache-2.0
 6645 cddl-1.0
 6646 open-font-license
 6647
6643 6648
6644The license tag mechanism is intended to address copyright-related issues 6649The license tag mechanism is intended to address copyright-related issues
6645surrounding building, installing and using a package, and not to address 6650surrounding building, installing and using a package, and not to address
6646redistribution issues (see RESTRICTED and NO_SRC_ON_FTP, etc.). However, the 6651redistribution issues (see RESTRICTED and NO_SRC_ON_FTP, etc.). Packages with
6647above definition of licenses for which tags are not needed implies that 6652redistribution restrictions should set these tags.
6648packages with redistribution restrictions should have tags, because Free or 
6649Open Source programs do not have redistribution restrictions. 
6650 6653
6651Denoting that a package may be copied according to a particular license is done 6654Denoting that a package may be copied according to a particular license is done
6652by placing the license in pkgsrc/licenses and setting the LICENSE variable to a 6655by placing the license in pkgsrc/licenses and setting the LICENSE variable to a
6653string identifying the license, e.g. in graphics/xv: 6656string identifying the license, e.g. in graphics/xv:
6654 6657
6655LICENSE= xv-license 6658LICENSE= xv-license
6656 6659
6657 6660
6658When trying to build, the user will get a notice that the package is covered by 6661When trying to build, the user will get a notice that the package is covered by
6659a license which has not been placed in the ACCEPTABLE_LICENSES variable: 6662a license which has not been placed in the ACCEPTABLE_LICENSES variable:
6660 6663
6661% make 6664% make
6662===> xv-3.10anb9 has an unacceptable license: xv-license. 6665===> xv-3.10anb9 has an unacceptable license: xv-license.
@@ -6733,30 +6736,26 @@ variables that can be set to note these  @@ -6733,30 +6736,26 @@ variables that can be set to note these
6733 6736
6734 * NO_SRC_ON_CDROM 6737 * NO_SRC_ON_CDROM
6735 6738
6736 Distfiles may not be placed on CD-ROM, together with other distfiles, for 6739 Distfiles may not be placed on CD-ROM, together with other distfiles, for
6737 which a fee may be charged. In this case, set this variable to $ 6740 which a fee may be charged. In this case, set this variable to $
6738 {RESTRICTED}. 6741 {RESTRICTED}.
6739 6742
6740 * NO_SRC_ON_FTP 6743 * NO_SRC_ON_FTP
6741 6744
6742 Distfiles may not made available via FTP at no charge. In this case, set 6745 Distfiles may not made available via FTP at no charge. In this case, set
6743 this variable to ${RESTRICTED}. If this variable is set, the distfile(s) 6746 this variable to ${RESTRICTED}. If this variable is set, the distfile(s)
6744 will not be mirrored on ftp.NetBSD.org. 6747 will not be mirrored on ftp.NetBSD.org.
6745 6748
6746Please note that the use of NO_PACKAGE, IGNORE, NO_CDROM, or other generic make 
6747variables to denote restrictions is deprecated, because they unconditionally 
6748prevent users from generating binary packages! 
6749 
675019.1.6. Handling dependencies 674919.1.6. Handling dependencies
6751 6750
6752Your package may depend on some other package being present - and there are 6751Your package may depend on some other package being present - and there are
6753various ways of expressing this dependency. pkgsrc supports the BUILD_DEPENDS 6752various ways of expressing this dependency. pkgsrc supports the BUILD_DEPENDS
6754and DEPENDS definitions, the USE_TOOLS definition, as well as dependencies via 6753and DEPENDS definitions, the USE_TOOLS definition, as well as dependencies via
6755buildlink3.mk, which is the preferred way to handle dependencies, and which 6754buildlink3.mk, which is the preferred way to handle dependencies, and which
6756uses the variables named above. See Chapter 14, Buildlink methodology for more 6755uses the variables named above. See Chapter 14, Buildlink methodology for more
6757information. 6756information.
6758 6757
6759The basic difference between the two variables is as follows: The DEPENDS 6758The basic difference between the two variables is as follows: The DEPENDS
6760definition registers that pre-requisite in the binary package so it will be 6759definition registers that pre-requisite in the binary package so it will be
6761pulled in when the binary package is later installed, whilst the BUILD_DEPENDS 6760pulled in when the binary package is later installed, whilst the BUILD_DEPENDS
6762definition does not, marking a dependency that is only needed for building the 6761definition does not, marking a dependency that is only needed for building the