summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/pkgsrc.html1590
-rw-r--r--doc/pkgsrc.txt806
2 files changed, 1431 insertions, 965 deletions
diff --git a/doc/pkgsrc.html b/doc/pkgsrc.html
index 850945adf06..757b5a150ac 100644
--- a/doc/pkgsrc.html
+++ b/doc/pkgsrc.html
@@ -19,8 +19,8 @@ alink="#0000FF">
<div class="titlepage">
<div>
<div>
- <h1 class="title"><a name="id2510574" id=
- "id2510574"></a>The pkgsrc guide</h1>
+ <h1 class="title"><a name="id2598171" id=
+ "id2598171"></a>The pkgsrc guide</h1>
</div>
<div>
@@ -66,8 +66,8 @@ alink="#0000FF">
</div>
<div xmlns="http://www.w3.org/TR/xhtml1/transitional">
- <p xmlns="" class="pubdate">$NetBSD: pkgsrc.xml,v 1.4
- 2005/05/07 22:28:47 wiz Exp $</p>
+ <p xmlns="" class="pubdate">$NetBSD: pkgsrc.xml,v 1.5
+ 2005/05/10 00:27:43 rillig Exp $</p>
</div>
<div>
@@ -93,7 +93,7 @@ alink="#0000FF">
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2623537">1.1.
+ <dt><span class="sect1"><a href="#id2568707">1.1.
Introduction</a></span></dt>
<dt><span class="sect1"><a href="#overview">1.2.
@@ -117,13 +117,13 @@ alink="#0000FF">
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2569236">2.1.
+ <dt><span class="sect1"><a href="#id2569429">2.1.
As tar file</a></span></dt>
- <dt><span class="sect1"><a href="#id2569252">2.2.
+ <dt><span class="sect1"><a href="#id2569445">2.2.
Via SUP</a></span></dt>
- <dt><span class="sect1"><a href="#id2569420">2.3.
+ <dt><span class="sect1"><a href="#id2569477">2.3.
Via CVS</a></span></dt>
</dl>
</dd>
@@ -133,35 +133,35 @@ alink="#0000FF">
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2569530">3.1.
+ <dt><span class="sect1"><a href="#id2569587">3.1.
Bootstrapping pkgsrc</a></span></dt>
- <dt><span class="sect1"><a href="#id2569712">3.2.
+ <dt><span class="sect1"><a href="#id2569768">3.2.
Platform specific notes</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2569718">3.2.1. Darwin (Mac OS
+ "#id2569774">3.2.1. Darwin (Mac OS
X)</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2569880">3.2.2. FreeBSD</a></span></dt>
+ "#id2569937">3.2.2. FreeBSD</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2570324">3.2.3. Interix</a></span></dt>
+ "#id2570449">3.2.3. Interix</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2570557">3.2.4. IRIX</a></span></dt>
+ "#id2570750">3.2.4. IRIX</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2570654">3.2.5. Linux</a></span></dt>
+ "#id2570848">3.2.5. Linux</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2570723">3.2.6. OpenBSD</a></span></dt>
+ "#id2570916">3.2.6. OpenBSD</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2570835">3.2.7. Solaris</a></span></dt>
+ "#id2571028">3.2.7. Solaris</a></span></dt>
</dl>
</dd>
</dl>
@@ -179,38 +179,38 @@ alink="#0000FF">
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2571040">4.1.1. Where to get binary
+ "#id2571164">4.1.1. Where to get binary
packages</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2571080">4.1.2. How to use binary
+ "#id2571273">4.1.2. How to use binary
packages</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2571256">4.1.3. A word of
+ "#id2571381">4.1.3. A word of
warning</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2571336">4.2.
+ <dt><span class="sect1"><a href="#id2571393">4.2.
Building packages from source</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2571346">4.2.1.
+ "#id2571948">4.2.1.
Requirements</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2571366">4.2.2. Fetching
+ "#id2571969">4.2.2. Fetching
distfiles</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2571418">4.2.3. How to build and
+ "#id2572021">4.2.3. How to build and
install</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2623831">4.2.4. Selecting the
+ "#id2623888">4.2.4. Selecting the
compiler</a></span></dt>
</dl>
</dd>
@@ -222,10 +222,10 @@ alink="#0000FF">
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2623917">5.1.
+ <dt><span class="sect1"><a href="#id2623974">5.1.
Building a single binary package</a></span></dt>
- <dt><span class="sect1"><a href="#id2623995">5.2.
+ <dt><span class="sect1"><a href="#id2624052">5.2.
Settings for creation of binary
packages</a></span></dt>
@@ -239,26 +239,26 @@ alink="#0000FF">
Configuration</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2624142">5.3.2. Other environmental
+ "#id2624199">5.3.2. Other environmental
considerations</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2624183">5.3.3. Operation</a></span></dt>
+ "#id2624240">5.3.3. Operation</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2624252">5.3.4. What it
+ "#id2624377">5.3.4. What it
does</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2624309">5.3.5. Disk space
+ "#id2624434">5.3.5. Disk space
requirements</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2624336">5.3.6. Setting up a sandbox for
+ "#id2624460">5.3.6. Setting up a sandbox for
chroot'ed builds</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2624865">5.3.7. Building a partial set of
+ "#id2624989">5.3.7. Building a partial set of
packages</a></span></dt>
<dt><span class="sect2"><a href=
@@ -267,14 +267,14 @@ alink="#0000FF">
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2625321">5.4.
+ <dt><span class="sect1"><a href="#id2625378">5.4.
Creating a multiple CD-ROM packages
collection</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2625336">5.4.1. Example of
+ "#id2625393">5.4.1. Example of
cdpack</a></span></dt>
</dl>
</dd>
@@ -286,54 +286,54 @@ alink="#0000FF">
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2625528">6.1.
+ <dt><span class="sect1"><a href="#id2625585">6.1.
Are there any mailing lists for pkg-related
discussion?</a></span></dt>
- <dt><span class="sect1"><a href="#id2625662">6.2.
+ <dt><span class="sect1"><a href="#id2625787">6.2.
Where's the pkgviews documentation?</a></span></dt>
<dt><span class="sect1"><a href=
"#faq-pkgtools">6.3. Utilities for package
management (pkgtools)</a></span></dt>
- <dt><span class="sect1"><a href="#id2625984">6.4.
+ <dt><span class="sect1"><a href="#id2626040">6.4.
How to use pkgsrc as non-root</a></span></dt>
- <dt><span class="sect1"><a href="#id2625995">6.5.
+ <dt><span class="sect1"><a href="#id2626052">6.5.
How to resume transfers when fetching
distfiles?</a></span></dt>
- <dt><span class="sect1"><a href="#id2626045">6.6.
+ <dt><span class="sect1"><a href="#id2626102">6.6.
How can I install/use XFree86 from
pkgsrc?</a></span></dt>
- <dt><span class="sect1"><a href="#id2626073">6.7.
+ <dt><span class="sect1"><a href="#id2626130">6.7.
How can I install/use X.org from
pkgsrc?</a></span></dt>
- <dt><span class="sect1"><a href="#id2626101">6.8.
+ <dt><span class="sect1"><a href="#id2626157">6.8.
How to fetch files from behind a
firewall</a></span></dt>
- <dt><span class="sect1"><a href="#id2626115">6.9.
+ <dt><span class="sect1"><a href="#id2626171">6.9.
How do I tell <span><strong class="command">make
fetch</strong></span> to do passive
FTP?</a></span></dt>
- <dt><span class="sect1"><a href="#id2626166">6.10.
+ <dt><span class="sect1"><a href="#id2626222">6.10.
How to fetch all distfiles at once</a></span></dt>
- <dt><span class="sect1"><a href="#id2626313">6.11.
+ <dt><span class="sect1"><a href="#id2626438">6.11.
What does &#8220;<span class="quote">Don't know how
to make /usr/share/tmac/tmac.andoc</span>&#8221;
mean?</a></span></dt>
- <dt><span class="sect1"><a href="#id2626352">6.12.
+ <dt><span class="sect1"><a href="#id2626476">6.12.
What does &#8220;<span class="quote">Could not find
bsd.own.mk</span>&#8221; mean?</a></span></dt>
- <dt><span class="sect1"><a href="#id2626409">6.13.
+ <dt><span class="sect1"><a href="#id2626534">6.13.
Using 'sudo' with pkgsrc</a></span></dt>
<dt><span class="sect1"><a href="#faq.conf">6.14.
@@ -353,98 +353,130 @@ alink="#0000FF">
<dd>
<dl>
- <dt><span class="chapter"><a href="#components">7.
+ <dt><span class="chapter"><a href="#makefile">7.
+ Programming in <code class=
+ "filename">Makefile</code>s</a></span></dt>
+
+ <dd>
+ <dl>
+ <dt><span class="sect1"><a href=
+ "#makefile.variables">7.1. <code class=
+ "filename">Makefile</code>
+ variables</a></span></dt>
+
+ <dt><span class="sect1"><a href=
+ "#makefile.code">7.2. Code snippets</a></span></dt>
+
+ <dd>
+ <dl>
+ <dt><span class="sect2"><a href=
+ "#id2627092">7.2.1. Adding things to a
+ list</a></span></dt>
+
+ <dt><span class="sect2"><a href=
+ "#id2627101">7.2.2. Converting an internal list
+ into an external list</a></span></dt>
+
+ <dt><span class="sect2"><a href=
+ "#id2627188">7.2.3. Passing variables to a
+ shell command</a></span></dt>
+ </dl>
+ </dd>
+ </dl>
+ </dd>
+
+ <dt><span class="chapter"><a href="#components">8.
Package components - files, directories and
contents</a></span></dt>
<dd>
<dl>
<dt><span class="sect1"><a href=
- "#components.Makefile">7.1. <code class=
+ "#components.Makefile">8.1. <code class=
"filename">Makefile</code></a></span></dt>
<dt><span class="sect1"><a href=
- "#components.distinfo">7.2. <code class=
+ "#components.distinfo">8.2. <code class=
"filename">distinfo</code></a></span></dt>
<dt><span class="sect1"><a href=
- "#components.patches">7.3.
+ "#components.patches">8.3.
patches/*</a></span></dt>
- <dt><span class="sect1"><a href="#id2627489">7.4.
+ <dt><span class="sect1"><a href="#id2627883">8.4.
Other mandatory files</a></span></dt>
<dt><span class="sect1"><a href=
- "#components.optional">7.5. Optional
+ "#components.optional">8.5. Optional
files</a></span></dt>
- <dt><span class="sect1"><a href="#id2627614">7.6.
+ <dt><span class="sect1"><a href="#id2628146">8.6.
<code class="filename">work*</code></a></span></dt>
- <dt><span class="sect1"><a href="#id2627770">7.7.
+ <dt><span class="sect1"><a href="#id2628233">8.7.
<code class=
"filename">files/*</code></a></span></dt>
</dl>
</dd>
- <dt><span class="chapter"><a href="#plist">8. PLIST
+ <dt><span class="chapter"><a href="#plist">9. PLIST
issues</a></span></dt>
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2627961">8.1.
+ <dt><span class="sect1"><a href="#id2628288">9.1.
RCS ID</a></span></dt>
- <dt><span class="sect1"><a href="#id2627976">8.2.
+ <dt><span class="sect1"><a href="#id2628302">9.2.
Semi-automatic <code class="filename">PLIST</code>
generation</a></span></dt>
- <dt><span class="sect1"><a href="#print-PLIST">8.3.
+ <dt><span class="sect1"><a href="#print-PLIST">9.3.
Tweaking output of <span><strong class=
"command">make
print-PLIST</strong></span></a></span></dt>
- <dt><span class="sect1"><a href="#plist.misc">8.4.
+ <dt><span class="sect1"><a href="#plist.misc">9.4.
Variable substitution in PLIST</a></span></dt>
- <dt><span class="sect1"><a href="#id2628297">8.5.
+ <dt><span class="sect1"><a href="#id2628692">9.5.
Manpage-compression</a></span></dt>
- <dt><span class="sect1"><a href="#id2628339">8.6.
+ <dt><span class="sect1"><a href="#id2628733">9.6.
Changing PLIST source with <code class=
"varname">PLIST_SRC</code></a></span></dt>
- <dt><span class="sect1"><a href="#id2628363">8.7.
+ <dt><span class="sect1"><a href="#id2628758">9.7.
Platform specific and differing
PLISTs</a></span></dt>
<dt><span class="sect1"><a href=
- "#faq.common-dirs">8.8. Sharing directories between
+ "#faq.common-dirs">9.8. Sharing directories between
packages</a></span></dt>
</dl>
</dd>
- <dt><span class="chapter"><a href="#buildlink">9.
+ <dt><span class="chapter"><a href="#buildlink">10.
Buildlink methodology</a></span></dt>
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2628562">9.1.
+ <dt><span class="sect1"><a href="#id2629025">10.1.
Converting packages to use
buildlink3</a></span></dt>
- <dt><span class="sect1"><a href="#id2628948">9.2.
+ <dt><span class="sect1"><a href="#id2629206">10.2.
Writing <code class="filename">buildlink3.mk</code>
files</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2629017">9.2.1. Anatomy of a buildlink3.mk
+ "#id2629344">10.2.1. Anatomy of a buildlink3.mk
file</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2629458">9.2.2. Updating <code class=
+ "#id2629921">10.2.2. Updating <code class=
"varname">BUILDLINK_DEPENDS.<em class=
"replaceable"><code>pkg</code></em></code> in
<code class="filename">buildlink3.mk</code>
@@ -452,261 +484,261 @@ alink="#0000FF">
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2629537">9.3.
+ <dt><span class="sect1"><a href="#id2630000">10.3.
Writing <code class="filename">builtin.mk</code>
files</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2629618">9.3.1. Anatomy of a <code class=
+ "#id2630081">10.3.1. Anatomy of a <code class=
"filename">builtin.mk</code>
file</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2629913">9.3.2. Global preferences for
+ "#id2630240">10.3.2. Global preferences for
native or pkgsrc software</a></span></dt>
</dl>
</dd>
</dl>
</dd>
- <dt><span class="chapter"><a href="#options">10.
+ <dt><span class="chapter"><a href="#options">11.
Options handling</a></span></dt>
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2629986">10.1.
+ <dt><span class="sect1"><a href="#id2630312">11.1.
Global default options</a></span></dt>
- <dt><span class="sect1"><a href="#id2630001">10.2.
+ <dt><span class="sect1"><a href="#id2630327">11.2.
Converting packages to use <code class=
"filename">bsd.options.mk</code></a></span></dt>
</dl>
</dd>
- <dt><span class="chapter"><a href="#build">11. The
+ <dt><span class="chapter"><a href="#build">12. The
build process</a></span></dt>
<dd>
<dl>
<dt><span class="sect1"><a href=
- "#build.prefix">11.1. Program
+ "#build.prefix">12.1. Program
location</a></span></dt>
- <dt><span class="sect1"><a href="#id2630624">11.2.
+ <dt><span class="sect1"><a href="#id2631086">12.2.
Main targets</a></span></dt>
<dt><span class="sect1"><a href=
- "#build.helpful-targets">11.3. Other helpful
+ "#build.helpful-targets">12.3. Other helpful
targets</a></span></dt>
</dl>
</dd>
- <dt><span class="chapter"><a href="#fixes">12. Notes on
+ <dt><span class="chapter"><a href="#fixes">13. Notes on
fixes for packages</a></span></dt>
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2632120">12.1.
+ <dt><span class="sect1"><a href="#id2632515">13.1.
General operation</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2632123">12.1.1. How to pull in variables
+ "#id2632518">13.1.1. How to pull in variables
from /etc/mk.conf</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2632275">12.1.2. Restricted
+ "#id2632601">13.1.2. Restricted
packages</a></span></dt>
<dt><span class="sect2"><a href=
- "#dependencies">12.1.3. Handling
+ "#dependencies">13.1.3. Handling
dependencies</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2632728">12.1.4. Handling conflicts with
+ "#id2633123">13.1.4. Handling conflicts with
other packages</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2632846">12.1.5. Packages that cannot or
+ "#id2633173">13.1.5. Packages that cannot or
should not be built</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2632872">12.1.6. Packages which should not
+ "#id2633198">13.1.6. Packages which should not
be deleted, once installed</a></span></dt>
<dt><span class="sect2"><a href=
- "#security-handling">12.1.7. Handling packages
+ "#security-handling">13.1.7. Handling packages
with security problems</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2632964">12.1.8. How to handle compiler
+ "#id2633290">13.1.8. How to handle compiler
bugs</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2633054">12.1.9. How to handle incrementing
+ "#id2633313">13.1.9. How to handle incrementing
versions when fixing an existing
package</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2633104">12.1.10. Portability of
+ "#id2633362">13.1.10. Portability of
packages</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2633128">12.2.
+ <dt><span class="sect1"><a href="#id2633386">13.2.
Possible downloading issues</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2633131">12.2.1. Packages whose distfiles
+ "#id2633389">13.2.1. Packages whose distfiles
aren't available for plain
downloading</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2633194">12.2.2. How to handle modified
+ "#id2633452">13.2.2. How to handle modified
distfiles with the 'old' name</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2633206">12.3.
+ <dt><span class="sect1"><a href="#id2633601">13.3.
Configuration gotchas</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#fixes.libtool">12.3.1. Shared libraries -
+ "#fixes.libtool">13.3.1. Shared libraries -
libtool</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2633640">12.3.2. Using libtool on GNU
+ "#id2634035">13.3.2. Using libtool on GNU
packages that already support
libtool</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2633721">12.3.3. GNU
+ "#id2634184">13.3.3. GNU
Autoconf/Automake</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2633834">12.4.
+ <dt><span class="sect1"><a href="#id2634229">13.4.
Building considerations</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2633837">12.4.1. CPP
+ "#id2634232">13.4.1. CPP
defines</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2633867">12.5.
+ <dt><span class="sect1"><a href="#id2634262">13.5.
Package specific actions</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2633870">12.5.1. Package configuration
+ "#id2634265">13.5.1. Package configuration
files</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2633973">12.5.2. User
+ "#id2634436">13.5.2. User
interaction</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634018">12.5.3. Handling
+ "#id2634549">13.5.3. Handling
licenses</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634169">12.5.4. Creating an account from a
+ "#id2634632">13.5.4. Creating an account from a
package</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634231">12.5.5. Installing score
+ "#id2634694">13.5.5. Installing score
files</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634411">12.5.6. Packages providing login
+ "#id2634738">13.5.6. Packages providing login
shells</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634469">12.5.7. Packages containing perl
+ "#id2634795">13.5.7. Packages containing perl
scripts</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634555">12.5.8. Packages with hardcoded
+ "#id2634813">13.5.8. Packages with hardcoded
paths to other interpreters</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634577">12.5.9. Packages installing perl
+ "#id2634835">13.5.9. Packages installing perl
modules</a></span></dt>
<dt><span class="sect2"><a href=
- "#faq.info-files">12.5.10. Packages installing
+ "#faq.info-files">13.5.10. Packages installing
info files</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634865">12.5.11. Packages installing
+ "#id2635123">13.5.11. Packages installing
GConf2 data files</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634965">12.5.12. Packages installing
+ "#id2635360">13.5.12. Packages installing
scrollkeeper data files</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2635016">12.5.13. Packages installing X11
+ "#id2635411">13.5.13. Packages installing X11
fonts</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2635063">12.5.14. Packages installing GTK2
+ "#id2635526">13.5.14. Packages installing GTK2
modules</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2635201">12.5.15. Packages installing SGML
+ "#id2635595">13.5.15. Packages installing SGML
or XML data</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2635253">12.5.16. Packages installing
+ "#id2635648">13.5.16. Packages installing
extensions to the MIME database</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2635323">12.5.17. Packages using
+ "#id2635718">13.5.17. Packages using
intltool</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2635337">12.5.18. Packages installing
+ "#id2635732">13.5.18. Packages installing
startup scripts</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2635358">12.6.
+ <dt><span class="sect1"><a href="#id2635753">13.6.
Feedback to the author</a></span></dt>
</dl>
</dd>
- <dt><span class="chapter"><a href="#debug">13.
+ <dt><span class="chapter"><a href="#debug">14.
Debugging</a></span></dt>
- <dt><span class="chapter"><a href="#submit">14.
+ <dt><span class="chapter"><a href="#submit">15.
Submitting and Committing</a></span></dt>
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2635957">14.1.
+ <dt><span class="sect1"><a href="#id2636215">15.1.
Submitting your packages</a></span></dt>
- <dt><span class="sect1"><a href="#id2636014">14.2.
+ <dt><span class="sect1"><a href="#id2636273">15.2.
Committing: Importing a package into
CVS</a></span></dt>
- <dt><span class="sect1"><a href="#id2636077">14.3.
+ <dt><span class="sect1"><a href="#id2636540">15.3.
Updating a package to a newer
version</a></span></dt>
- <dt><span class="sect1"><a href="#id2636097">14.4.
+ <dt><span class="sect1"><a href="#id2636560">15.4.
Moving a package in pkgsrc</a></span></dt>
</dl>
</dd>
@@ -718,27 +750,27 @@ alink="#0000FF">
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2636323">A.1.
+ <dt><span class="sect1"><a href="#id2636786">A.1.
files</a></span></dt>
<dd>
<dl>
- <dt><span class="sect2"><a href="#id2636326">A.1.1.
+ <dt><span class="sect2"><a href="#id2636789">A.1.1.
Makefile</a></span></dt>
- <dt><span class="sect2"><a href="#id2636333">A.1.2.
+ <dt><span class="sect2"><a href="#id2636796">A.1.2.
DESCR</a></span></dt>
- <dt><span class="sect2"><a href="#id2636348">A.1.3.
+ <dt><span class="sect2"><a href="#id2636811">A.1.3.
PLIST</a></span></dt>
- <dt><span class="sect2"><a href="#id2636356">A.1.4.
+ <dt><span class="sect2"><a href="#id2636819">A.1.4.
Checking a package with <span><strong class=
"command">pkglint</strong></span></a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2636465">A.2. Steps
+ <dt><span class="sect1"><a href="#id2636859">A.2. Steps
for building, installing, packaging</a></span></dt>
</dl>
</dd>
@@ -764,10 +796,10 @@ alink="#0000FF">
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2637111">D.1.
+ <dt><span class="sect1"><a href="#id2637574">D.1.
Targets</a></span></dt>
- <dt><span class="sect1"><a href="#id2637517">D.2.
+ <dt><span class="sect1"><a href="#id2637776">D.2.
Procedure</a></span></dt>
</dl>
</dd>
@@ -788,7 +820,7 @@ alink="#0000FF">
<p><b>Table of Contents</b></p>
<dl>
- <dt><span class="sect1"><a href="#id2623537">1.1.
+ <dt><span class="sect1"><a href="#id2568707">1.1.
Introduction</a></span></dt>
<dt><span class="sect1"><a href="#overview">1.2.
@@ -807,8 +839,8 @@ alink="#0000FF">
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2623537" id=
- "id2623537"></a>1.1.&nbsp;Introduction</h2>
+ "id2568707" id=
+ "id2568707"></a>1.1.&nbsp;Introduction</h2>
</div>
</div>
</div>
@@ -1118,13 +1150,13 @@ alink="#0000FF">
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2569236">2.1. As
+ <dt><span class="sect1"><a href="#id2569429">2.1. As
tar file</a></span></dt>
- <dt><span class="sect1"><a href="#id2569252">2.2. Via
+ <dt><span class="sect1"><a href="#id2569445">2.2. Via
SUP</a></span></dt>
- <dt><span class="sect1"><a href="#id2569420">2.3. Via
+ <dt><span class="sect1"><a href="#id2569477">2.3. Via
CVS</a></span></dt>
</dl>
</dd>
@@ -1134,35 +1166,35 @@ alink="#0000FF">
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2569530">3.1.
+ <dt><span class="sect1"><a href="#id2569587">3.1.
Bootstrapping pkgsrc</a></span></dt>
- <dt><span class="sect1"><a href="#id2569712">3.2.
+ <dt><span class="sect1"><a href="#id2569768">3.2.
Platform specific notes</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2569718">3.2.1. Darwin (Mac OS
+ "#id2569774">3.2.1. Darwin (Mac OS
X)</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2569880">3.2.2. FreeBSD</a></span></dt>
+ "#id2569937">3.2.2. FreeBSD</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2570324">3.2.3. Interix</a></span></dt>
+ "#id2570449">3.2.3. Interix</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2570557">3.2.4. IRIX</a></span></dt>
+ "#id2570750">3.2.4. IRIX</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2570654">3.2.5. Linux</a></span></dt>
+ "#id2570848">3.2.5. Linux</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2570723">3.2.6. OpenBSD</a></span></dt>
+ "#id2570916">3.2.6. OpenBSD</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2570835">3.2.7. Solaris</a></span></dt>
+ "#id2571028">3.2.7. Solaris</a></span></dt>
</dl>
</dd>
</dl>
@@ -1180,37 +1212,37 @@ alink="#0000FF">
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2571040">4.1.1. Where to get binary
+ "#id2571164">4.1.1. Where to get binary
packages</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2571080">4.1.2. How to use binary
+ "#id2571273">4.1.2. How to use binary
packages</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2571256">4.1.3. A word of
+ "#id2571381">4.1.3. A word of
warning</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2571336">4.2.
+ <dt><span class="sect1"><a href="#id2571393">4.2.
Building packages from source</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2571346">4.2.1. Requirements</a></span></dt>
+ "#id2571948">4.2.1. Requirements</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2571366">4.2.2. Fetching
+ "#id2571969">4.2.2. Fetching
distfiles</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2571418">4.2.3. How to build and
+ "#id2572021">4.2.3. How to build and
install</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2623831">4.2.4. Selecting the
+ "#id2623888">4.2.4. Selecting the
compiler</a></span></dt>
</dl>
</dd>
@@ -1222,10 +1254,10 @@ alink="#0000FF">
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2623917">5.1.
+ <dt><span class="sect1"><a href="#id2623974">5.1.
Building a single binary package</a></span></dt>
- <dt><span class="sect1"><a href="#id2623995">5.2.
+ <dt><span class="sect1"><a href="#id2624052">5.2.
Settings for creation of binary
packages</a></span></dt>
@@ -1239,25 +1271,25 @@ alink="#0000FF">
Configuration</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2624142">5.3.2. Other environmental
+ "#id2624199">5.3.2. Other environmental
considerations</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2624183">5.3.3. Operation</a></span></dt>
+ "#id2624240">5.3.3. Operation</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2624252">5.3.4. What it does</a></span></dt>
+ "#id2624377">5.3.4. What it does</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2624309">5.3.5. Disk space
+ "#id2624434">5.3.5. Disk space
requirements</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2624336">5.3.6. Setting up a sandbox for
+ "#id2624460">5.3.6. Setting up a sandbox for
chroot'ed builds</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2624865">5.3.7. Building a partial set of
+ "#id2624989">5.3.7. Building a partial set of
packages</a></span></dt>
<dt><span class="sect2"><a href=
@@ -1266,14 +1298,14 @@ alink="#0000FF">
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2625321">5.4.
+ <dt><span class="sect1"><a href="#id2625378">5.4.
Creating a multiple CD-ROM packages
collection</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2625336">5.4.1. Example of
+ "#id2625393">5.4.1. Example of
cdpack</a></span></dt>
</dl>
</dd>
@@ -1285,52 +1317,52 @@ alink="#0000FF">
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2625528">6.1. Are
+ <dt><span class="sect1"><a href="#id2625585">6.1. Are
there any mailing lists for pkg-related
discussion?</a></span></dt>
- <dt><span class="sect1"><a href="#id2625662">6.2.
+ <dt><span class="sect1"><a href="#id2625787">6.2.
Where's the pkgviews documentation?</a></span></dt>
<dt><span class="sect1"><a href="#faq-pkgtools">6.3.
Utilities for package management
(pkgtools)</a></span></dt>
- <dt><span class="sect1"><a href="#id2625984">6.4. How
+ <dt><span class="sect1"><a href="#id2626040">6.4. How
to use pkgsrc as non-root</a></span></dt>
- <dt><span class="sect1"><a href="#id2625995">6.5. How
+ <dt><span class="sect1"><a href="#id2626052">6.5. How
to resume transfers when fetching
distfiles?</a></span></dt>
- <dt><span class="sect1"><a href="#id2626045">6.6. How
+ <dt><span class="sect1"><a href="#id2626102">6.6. How
can I install/use XFree86 from
pkgsrc?</a></span></dt>
- <dt><span class="sect1"><a href="#id2626073">6.7. How
+ <dt><span class="sect1"><a href="#id2626130">6.7. How
can I install/use X.org from pkgsrc?</a></span></dt>
- <dt><span class="sect1"><a href="#id2626101">6.8. How
+ <dt><span class="sect1"><a href="#id2626157">6.8. How
to fetch files from behind a firewall</a></span></dt>
- <dt><span class="sect1"><a href="#id2626115">6.9. How
+ <dt><span class="sect1"><a href="#id2626171">6.9. How
do I tell <span><strong class="command">make
fetch</strong></span> to do passive
FTP?</a></span></dt>
- <dt><span class="sect1"><a href="#id2626166">6.10.
+ <dt><span class="sect1"><a href="#id2626222">6.10.
How to fetch all distfiles at once</a></span></dt>
- <dt><span class="sect1"><a href="#id2626313">6.11.
+ <dt><span class="sect1"><a href="#id2626438">6.11.
What does &#8220;<span class="quote">Don't know how
to make /usr/share/tmac/tmac.andoc</span>&#8221;
mean?</a></span></dt>
- <dt><span class="sect1"><a href="#id2626352">6.12.
+ <dt><span class="sect1"><a href="#id2626476">6.12.
What does &#8220;<span class="quote">Could not find
bsd.own.mk</span>&#8221; mean?</a></span></dt>
- <dt><span class="sect1"><a href="#id2626409">6.13.
+ <dt><span class="sect1"><a href="#id2626534">6.13.
Using 'sudo' with pkgsrc</a></span></dt>
<dt><span class="sect1"><a href="#faq.conf">6.14.
@@ -1360,13 +1392,13 @@ alink="#0000FF">
<p><b>Table of Contents</b></p>
<dl>
- <dt><span class="sect1"><a href="#id2569236">2.1. As
+ <dt><span class="sect1"><a href="#id2569429">2.1. As
tar file</a></span></dt>
- <dt><span class="sect1"><a href="#id2569252">2.2. Via
+ <dt><span class="sect1"><a href="#id2569445">2.2. Via
SUP</a></span></dt>
- <dt><span class="sect1"><a href="#id2569420">2.3. Via
+ <dt><span class="sect1"><a href="#id2569477">2.3. Via
CVS</a></span></dt>
</dl>
</div>
@@ -1380,7 +1412,7 @@ alink="#0000FF">
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2569236" id="id2569236"></a>2.1.&nbsp;As tar
+ "id2569429" id="id2569429"></a>2.1.&nbsp;As tar
file</h2>
</div>
</div>
@@ -1398,7 +1430,7 @@ alink="#0000FF">
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2569252" id="id2569252"></a>2.2.&nbsp;Via
+ "id2569445" id="id2569445"></a>2.2.&nbsp;Via
SUP</h2>
</div>
</div>
@@ -1424,7 +1456,7 @@ release=pkgsrc
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2569420" id="id2569420"></a>2.3.&nbsp;Via
+ "id2569477" id="id2569477"></a>2.3.&nbsp;Via
CVS</h2>
</div>
</div>
@@ -1481,33 +1513,33 @@ release=pkgsrc
<p><b>Table of Contents</b></p>
<dl>
- <dt><span class="sect1"><a href="#id2569530">3.1.
+ <dt><span class="sect1"><a href="#id2569587">3.1.
Bootstrapping pkgsrc</a></span></dt>
- <dt><span class="sect1"><a href="#id2569712">3.2.
+ <dt><span class="sect1"><a href="#id2569768">3.2.
Platform specific notes</a></span></dt>
<dd>
<dl>
- <dt><span class="sect2"><a href="#id2569718">3.2.1.
+ <dt><span class="sect2"><a href="#id2569774">3.2.1.
Darwin (Mac OS X)</a></span></dt>
- <dt><span class="sect2"><a href="#id2569880">3.2.2.
+ <dt><span class="sect2"><a href="#id2569937">3.2.2.
FreeBSD</a></span></dt>
- <dt><span class="sect2"><a href="#id2570324">3.2.3.
+ <dt><span class="sect2"><a href="#id2570449">3.2.3.
Interix</a></span></dt>
- <dt><span class="sect2"><a href="#id2570557">3.2.4.
+ <dt><span class="sect2"><a href="#id2570750">3.2.4.
IRIX</a></span></dt>
- <dt><span class="sect2"><a href="#id2570654">3.2.5.
+ <dt><span class="sect2"><a href="#id2570848">3.2.5.
Linux</a></span></dt>
- <dt><span class="sect2"><a href="#id2570723">3.2.6.
+ <dt><span class="sect2"><a href="#id2570916">3.2.6.
OpenBSD</a></span></dt>
- <dt><span class="sect2"><a href="#id2570835">3.2.7.
+ <dt><span class="sect2"><a href="#id2571028">3.2.7.
Solaris</a></span></dt>
</dl>
</dd>
@@ -1519,8 +1551,8 @@ release=pkgsrc
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2569530" id=
- "id2569530"></a>3.1.&nbsp;Bootstrapping pkgsrc</h2>
+ "id2569587" id=
+ "id2569587"></a>3.1.&nbsp;Bootstrapping pkgsrc</h2>
</div>
</div>
</div>
@@ -1610,7 +1642,7 @@ release=pkgsrc
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2569712" id="id2569712"></a>3.2.&nbsp;Platform
+ "id2569768" id="id2569768"></a>3.2.&nbsp;Platform
specific notes</h2>
</div>
</div>
@@ -1623,8 +1655,8 @@ release=pkgsrc
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2569718" id=
- "id2569718"></a>3.2.1.&nbsp;Darwin (Mac OS
+ <h3 class="title"><a name="id2569774" id=
+ "id2569774"></a>3.2.1.&nbsp;Darwin (Mac OS
X)</h3>
</div>
</div>
@@ -1756,8 +1788,8 @@ release=pkgsrc
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2569880" id=
- "id2569880"></a>3.2.2.&nbsp;FreeBSD</h3>
+ <h3 class="title"><a name="id2569937" id=
+ "id2569937"></a>3.2.2.&nbsp;FreeBSD</h3>
</div>
</div>
</div>
@@ -1813,8 +1845,8 @@ release=pkgsrc
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2570324" id=
- "id2570324"></a>3.2.3.&nbsp;Interix</h3>
+ <h3 class="title"><a name="id2570449" id=
+ "id2570449"></a>3.2.3.&nbsp;Interix</h3>
</div>
</div>
</div>
@@ -1995,8 +2027,8 @@ interix:kP=\E[S:kN=\E[T:kH=\E[U:dc@:DC@:tc=pcansi:
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2570557" id=
- "id2570557"></a>3.2.4.&nbsp;IRIX</h3>
+ <h3 class="title"><a name="id2570750" id=
+ "id2570750"></a>3.2.4.&nbsp;IRIX</h3>
</div>
</div>
</div>
@@ -2076,8 +2108,8 @@ PKGSRC_COMPILER=mipspro
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2570654" id=
- "id2570654"></a>3.2.5.&nbsp;Linux</h3>
+ <h3 class="title"><a name="id2570848" id=
+ "id2570848"></a>3.2.5.&nbsp;Linux</h3>
</div>
</div>
</div>
@@ -2154,8 +2186,8 @@ ICCBASE=/opt/icc
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2570723" id=
- "id2570723"></a>3.2.6.&nbsp;OpenBSD</h3>
+ <h3 class="title"><a name="id2570916" id=
+ "id2570916"></a>3.2.6.&nbsp;OpenBSD</h3>
</div>
</div>
</div>
@@ -2221,8 +2253,8 @@ ICCBASE=/opt/icc
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2570835" id=
- "id2570835"></a>3.2.7.&nbsp;Solaris</h3>
+ <h3 class="title"><a name="id2571028" id=
+ "id2571028"></a>3.2.7.&nbsp;Solaris</h3>
</div>
</div>
</div>
@@ -2266,8 +2298,8 @@ ICCBASE=/opt/icc
<div class="titlepage">
<div>
<div>
- <h4 class="title"><a name="id2570934" id=
- "id2570934"></a>3.2.7.1.&nbsp;If you are using
+ <h4 class="title"><a name="id2571059" id=
+ "id2571059"></a>3.2.7.1.&nbsp;If you are using
gcc</h4>
</div>
</div>
@@ -2296,8 +2328,8 @@ ICCBASE=/opt/icc
<div class="titlepage">
<div>
<div>
- <h4 class="title"><a name="id2570955" id=
- "id2570955"></a>3.2.7.2.&nbsp;If you are using
+ <h4 class="title"><a name="id2571080" id=
+ "id2571080"></a>3.2.7.2.&nbsp;If you are using
Sun WorkShop</h4>
</div>
</div>
@@ -2374,32 +2406,32 @@ CFLAGS= -xtarget=ultra -xarch=v9
<dd>
<dl>
- <dt><span class="sect2"><a href="#id2571040">4.1.1.
+ <dt><span class="sect2"><a href="#id2571164">4.1.1.
Where to get binary packages</a></span></dt>
- <dt><span class="sect2"><a href="#id2571080">4.1.2.
+ <dt><span class="sect2"><a href="#id2571273">4.1.2.
How to use binary packages</a></span></dt>
- <dt><span class="sect2"><a href="#id2571256">4.1.3.
+ <dt><span class="sect2"><a href="#id2571381">4.1.3.
A word of warning</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2571336">4.2.
+ <dt><span class="sect1"><a href="#id2571393">4.2.
Building packages from source</a></span></dt>
<dd>
<dl>
- <dt><span class="sect2"><a href="#id2571346">4.2.1.
+ <dt><span class="sect2"><a href="#id2571948">4.2.1.
Requirements</a></span></dt>
- <dt><span class="sect2"><a href="#id2571366">4.2.2.
+ <dt><span class="sect2"><a href="#id2571969">4.2.2.
Fetching distfiles</a></span></dt>
- <dt><span class="sect2"><a href="#id2571418">4.2.3.
+ <dt><span class="sect2"><a href="#id2572021">4.2.3.
How to build and install</a></span></dt>
- <dt><span class="sect2"><a href="#id2623831">4.2.4.
+ <dt><span class="sect2"><a href="#id2623888">4.2.4.
Selecting the compiler</a></span></dt>
</dl>
</dd>
@@ -2426,8 +2458,8 @@ CFLAGS= -xtarget=ultra -xarch=v9
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2571040" id=
- "id2571040"></a>4.1.1.&nbsp;Where to get binary
+ <h3 class="title"><a name="id2571164" id=
+ "id2571164"></a>4.1.1.&nbsp;Where to get binary
packages</h3>
</div>
</div>
@@ -2458,8 +2490,8 @@ CFLAGS= -xtarget=ultra -xarch=v9
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2571080" id=
- "id2571080"></a>4.1.2.&nbsp;How to use binary
+ <h3 class="title"><a name="id2571273" id=
+ "id2571273"></a>4.1.2.&nbsp;How to use binary
packages</h3>
</div>
</div>
@@ -2529,8 +2561,8 @@ CFLAGS= -xtarget=ultra -xarch=v9
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2571256" id=
- "id2571256"></a>4.1.3.&nbsp;A word of
+ <h3 class="title"><a name="id2571381" id=
+ "id2571381"></a>4.1.3.&nbsp;A word of
warning</h3>
</div>
</div>
@@ -2553,7 +2585,7 @@ CFLAGS= -xtarget=ultra -xarch=v9
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2571336" id="id2571336"></a>4.2.&nbsp;Building
+ "id2571393" id="id2571393"></a>4.2.&nbsp;Building
packages from source</h2>
</div>
</div>
@@ -2568,8 +2600,8 @@ CFLAGS= -xtarget=ultra -xarch=v9
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2571346" id=
- "id2571346"></a>4.2.1.&nbsp;Requirements</h3>
+ <h3 class="title"><a name="id2571948" id=
+ "id2571948"></a>4.2.1.&nbsp;Requirements</h3>
</div>
</div>
</div>
@@ -2588,8 +2620,8 @@ CFLAGS= -xtarget=ultra -xarch=v9
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2571366" id=
- "id2571366"></a>4.2.2.&nbsp;Fetching
+ <h3 class="title"><a name="id2571969" id=
+ "id2571969"></a>4.2.2.&nbsp;Fetching
distfiles</h3>
</div>
</div>
@@ -2630,8 +2662,8 @@ CFLAGS= -xtarget=ultra -xarch=v9
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2571418" id=
- "id2571418"></a>4.2.3.&nbsp;How to build and
+ <h3 class="title"><a name="id2572021" id=
+ "id2572021"></a>4.2.3.&nbsp;How to build and
install</h3>
</div>
</div>
@@ -2799,8 +2831,8 @@ CFLAGS= -xtarget=ultra -xarch=v9
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2623831" id=
- "id2623831"></a>4.2.4.&nbsp;Selecting the
+ <h3 class="title"><a name="id2623888" id=
+ "id2623888"></a>4.2.4.&nbsp;Selecting the
compiler</h3>
</div>
</div>
@@ -2900,10 +2932,10 @@ CFLAGS= -xtarget=ultra -xarch=v9
<p><b>Table of Contents</b></p>
<dl>
- <dt><span class="sect1"><a href="#id2623917">5.1.
+ <dt><span class="sect1"><a href="#id2623974">5.1.
Building a single binary package</a></span></dt>
- <dt><span class="sect1"><a href="#id2623995">5.2.
+ <dt><span class="sect1"><a href="#id2624052">5.2.
Settings for creation of binary
packages</a></span></dt>
@@ -2916,23 +2948,23 @@ CFLAGS= -xtarget=ultra -xarch=v9
"#binary.configuration">5.3.1.
Configuration</a></span></dt>
- <dt><span class="sect2"><a href="#id2624142">5.3.2.
+ <dt><span class="sect2"><a href="#id2624199">5.3.2.
Other environmental considerations</a></span></dt>
- <dt><span class="sect2"><a href="#id2624183">5.3.3.
+ <dt><span class="sect2"><a href="#id2624240">5.3.3.
Operation</a></span></dt>
- <dt><span class="sect2"><a href="#id2624252">5.3.4.
+ <dt><span class="sect2"><a href="#id2624377">5.3.4.
What it does</a></span></dt>
- <dt><span class="sect2"><a href="#id2624309">5.3.5.
+ <dt><span class="sect2"><a href="#id2624434">5.3.5.
Disk space requirements</a></span></dt>
- <dt><span class="sect2"><a href="#id2624336">5.3.6.
+ <dt><span class="sect2"><a href="#id2624460">5.3.6.
Setting up a sandbox for chroot'ed
builds</a></span></dt>
- <dt><span class="sect2"><a href="#id2624865">5.3.7.
+ <dt><span class="sect2"><a href="#id2624989">5.3.7.
Building a partial set of packages</a></span></dt>
<dt><span class="sect2"><a href=
@@ -2941,13 +2973,13 @@ CFLAGS= -xtarget=ultra -xarch=v9
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2625321">5.4.
+ <dt><span class="sect1"><a href="#id2625378">5.4.
Creating a multiple CD-ROM packages
collection</a></span></dt>
<dd>
<dl>
- <dt><span class="sect2"><a href="#id2625336">5.4.1.
+ <dt><span class="sect2"><a href="#id2625393">5.4.1.
Example of cdpack</a></span></dt>
</dl>
</dd>
@@ -2959,7 +2991,7 @@ CFLAGS= -xtarget=ultra -xarch=v9
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2623917" id="id2623917"></a>5.1.&nbsp;Building a
+ "id2623974" id="id2623974"></a>5.1.&nbsp;Building a
single binary package</h2>
</div>
</div>
@@ -3003,8 +3035,8 @@ CFLAGS= -xtarget=ultra -xarch=v9
class="pkgname">misc/figlet</a> example.</p>
<p>See <a href="#submit" title=
- "Chapter&nbsp;14.&nbsp;Submitting and Committing">Chapter
- 14, <i>Submitting and Committing</i></a> for information
+ "Chapter&nbsp;15.&nbsp;Submitting and Committing">Chapter
+ 15, <i>Submitting and Committing</i></a> for information
on how to submit such a binary package.</p>
</div>
@@ -3013,14 +3045,14 @@ CFLAGS= -xtarget=ultra -xarch=v9
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2623995" id="id2623995"></a>5.2.&nbsp;Settings
+ "id2624052" id="id2624052"></a>5.2.&nbsp;Settings
for creation of binary packages</h2>
</div>
</div>
</div>
<p>See <a href="#build.helpful-targets" title=
- "11.3.&nbsp;Other helpful targets">Section&nbsp;11.3,
+ "12.3.&nbsp;Other helpful targets">Section&nbsp;12.3,
&#8220;Other helpful targets&#8221;</a>.</p>
</div>
@@ -3095,8 +3127,8 @@ _ACCEPTABLE= yes
<div class="titlepage">
<div>
<div>
- <h4 class="title"><a name="id2624060" id=
- "id2624060"></a>5.3.1.2.&nbsp;<code class=
+ <h4 class="title"><a name="id2624117" id=
+ "id2624117"></a>5.3.1.2.&nbsp;<code class=
"filename">build.conf</code></h4>
</div>
</div>
@@ -3121,8 +3153,8 @@ _ACCEPTABLE= yes
<div class="titlepage">
<div>
<div>
- <h4 class="title"><a name="id2624097" id=
- "id2624097"></a>5.3.1.3.&nbsp;<code class=
+ <h4 class="title"><a name="id2624153" id=
+ "id2624153"></a>5.3.1.3.&nbsp;<code class=
"filename">pre-build.local</code></h4>
</div>
</div>
@@ -3156,8 +3188,8 @@ _ACCEPTABLE= yes
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2624142" id=
- "id2624142"></a>5.3.2.&nbsp;Other environmental
+ <h3 class="title"><a name="id2624199" id=
+ "id2624199"></a>5.3.2.&nbsp;Other environmental
considerations</h3>
</div>
</div>
@@ -3198,8 +3230,8 @@ fi
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2624183" id=
- "id2624183"></a>5.3.3.&nbsp;Operation</h3>
+ <h3 class="title"><a name="id2624240" id=
+ "id2624240"></a>5.3.3.&nbsp;Operation</h3>
</div>
</div>
</div>
@@ -3245,8 +3277,8 @@ fi
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2624252" id=
- "id2624252"></a>5.3.4.&nbsp;What it does</h3>
+ <h3 class="title"><a name="id2624377" id=
+ "id2624377"></a>5.3.4.&nbsp;What it does</h3>
</div>
</div>
</div>
@@ -3304,8 +3336,8 @@ fi
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2624309" id=
- "id2624309"></a>5.3.5.&nbsp;Disk space
+ <h3 class="title"><a name="id2624434" id=
+ "id2624434"></a>5.3.5.&nbsp;Disk space
requirements</h3>
</div>
</div>
@@ -3347,8 +3379,8 @@ fi
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2624336" id=
- "id2624336"></a>5.3.6.&nbsp;Setting up a sandbox
+ <h3 class="title"><a name="id2624460" id=
+ "id2624460"></a>5.3.6.&nbsp;Setting up a sandbox
for chroot'ed builds</h3>
</div>
</div>
@@ -3537,8 +3569,8 @@ fi
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2624865" id=
- "id2624865"></a>5.3.7.&nbsp;Building a partial
+ <h3 class="title"><a name="id2624989" id=
+ "id2624989"></a>5.3.7.&nbsp;Building a partial
set of packages</h3>
</div>
</div>
@@ -3731,7 +3763,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2625321" id="id2625321"></a>5.4.&nbsp;Creating a
+ "id2625378" id="id2625378"></a>5.4.&nbsp;Creating a
multiple CD-ROM packages collection</h2>
</div>
</div>
@@ -3754,8 +3786,8 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2625336" id=
- "id2625336"></a>5.4.1.&nbsp;Example of
+ <h3 class="title"><a name="id2625393" id=
+ "id2625393"></a>5.4.1.&nbsp;Example of
cdpack</h3>
</div>
</div>
@@ -3828,51 +3860,51 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<p><b>Table of Contents</b></p>
<dl>
- <dt><span class="sect1"><a href="#id2625528">6.1. Are
+ <dt><span class="sect1"><a href="#id2625585">6.1. Are
there any mailing lists for pkg-related
discussion?</a></span></dt>
- <dt><span class="sect1"><a href="#id2625662">6.2.
+ <dt><span class="sect1"><a href="#id2625787">6.2.
Where's the pkgviews documentation?</a></span></dt>
<dt><span class="sect1"><a href="#faq-pkgtools">6.3.
Utilities for package management
(pkgtools)</a></span></dt>
- <dt><span class="sect1"><a href="#id2625984">6.4. How
+ <dt><span class="sect1"><a href="#id2626040">6.4. How
to use pkgsrc as non-root</a></span></dt>
- <dt><span class="sect1"><a href="#id2625995">6.5. How
+ <dt><span class="sect1"><a href="#id2626052">6.5. How
to resume transfers when fetching
distfiles?</a></span></dt>
- <dt><span class="sect1"><a href="#id2626045">6.6. How
+ <dt><span class="sect1"><a href="#id2626102">6.6. How
can I install/use XFree86 from pkgsrc?</a></span></dt>
- <dt><span class="sect1"><a href="#id2626073">6.7. How
+ <dt><span class="sect1"><a href="#id2626130">6.7. How
can I install/use X.org from pkgsrc?</a></span></dt>
- <dt><span class="sect1"><a href="#id2626101">6.8. How
+ <dt><span class="sect1"><a href="#id2626157">6.8. How
to fetch files from behind a firewall</a></span></dt>
- <dt><span class="sect1"><a href="#id2626115">6.9. How
+ <dt><span class="sect1"><a href="#id2626171">6.9. How
do I tell <span><strong class="command">make
fetch</strong></span> to do passive
FTP?</a></span></dt>
- <dt><span class="sect1"><a href="#id2626166">6.10. How
+ <dt><span class="sect1"><a href="#id2626222">6.10. How
to fetch all distfiles at once</a></span></dt>
- <dt><span class="sect1"><a href="#id2626313">6.11. What
+ <dt><span class="sect1"><a href="#id2626438">6.11. What
does &#8220;<span class="quote">Don't know how to make
/usr/share/tmac/tmac.andoc</span>&#8221;
mean?</a></span></dt>
- <dt><span class="sect1"><a href="#id2626352">6.12. What
+ <dt><span class="sect1"><a href="#id2626476">6.12. What
does &#8220;<span class="quote">Could not find
bsd.own.mk</span>&#8221; mean?</a></span></dt>
- <dt><span class="sect1"><a href="#id2626409">6.13.
+ <dt><span class="sect1"><a href="#id2626534">6.13.
Using 'sudo' with pkgsrc</a></span></dt>
<dt><span class="sect1"><a href="#faq.conf">6.14.
@@ -3894,7 +3926,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2625528" id="id2625528"></a>6.1.&nbsp;Are there
+ "id2625585" id="id2625585"></a>6.1.&nbsp;Are there
any mailing lists for pkg-related discussion?</h2>
</div>
</div>
@@ -3953,7 +3985,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2625662" id="id2625662"></a>6.2.&nbsp;Where's
+ "id2625787" id="id2625787"></a>6.2.&nbsp;Where's
the pkgviews documentation?</h2>
</div>
</div>
@@ -4208,7 +4240,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2625984" id="id2625984"></a>6.4.&nbsp;How to use
+ "id2626040" id="id2626040"></a>6.4.&nbsp;How to use
pkgsrc as non-root</h2>
</div>
</div>
@@ -4226,7 +4258,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2625995" id="id2625995"></a>6.5.&nbsp;How to
+ "id2626052" id="id2626052"></a>6.5.&nbsp;How to
resume transfers when fetching distfiles?</h2>
</div>
</div>
@@ -4269,7 +4301,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2626045" id="id2626045"></a>6.6.&nbsp;How can I
+ "id2626102" id="id2626102"></a>6.6.&nbsp;How can I
install/use XFree86 from pkgsrc?</h2>
</div>
</div>
@@ -4292,7 +4324,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2626073" id="id2626073"></a>6.7.&nbsp;How can I
+ "id2626130" id="id2626130"></a>6.7.&nbsp;How can I
install/use X.org from pkgsrc?</h2>
</div>
</div>
@@ -4315,7 +4347,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2626101" id="id2626101"></a>6.8.&nbsp;How to
+ "id2626157" id="id2626157"></a>6.8.&nbsp;How to
fetch files from behind a firewall</h2>
</div>
</div>
@@ -4340,7 +4372,7 @@ http_proxy=http://orpheus.amdahl.com:80/
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2626115" id="id2626115"></a>6.9.&nbsp;How do I
+ "id2626171" id="id2626171"></a>6.9.&nbsp;How do I
tell <span><strong class="command">make
fetch</strong></span> to do passive FTP?</h2>
</div>
@@ -4374,7 +4406,7 @@ ${LOCALBASE}/bin/ftp
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2626166" id="id2626166"></a>6.10.&nbsp;How to
+ "id2626222" id="id2626222"></a>6.10.&nbsp;How to
fetch all distfiles at once</h2>
</div>
</div>
@@ -4447,7 +4479,7 @@ ${LOCALBASE}/bin/ftp
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2626313" id="id2626313"></a>6.11.&nbsp;What does
+ "id2626438" id="id2626438"></a>6.11.&nbsp;What does
&#8220;<span class="quote">Don't know how to make
/usr/share/tmac/tmac.andoc</span>&#8221; mean?</h2>
</div>
@@ -4479,7 +4511,7 @@ ${LOCALBASE}/bin/ftp
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2626352" id="id2626352"></a>6.12.&nbsp;What does
+ "id2626476" id="id2626476"></a>6.12.&nbsp;What does
&#8220;<span class="quote">Could not find
bsd.own.mk</span>&#8221; mean?</h2>
</div>
@@ -4508,7 +4540,7 @@ ${LOCALBASE}/bin/ftp
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2626409" id="id2626409"></a>6.13.&nbsp;Using
+ "id2626534" id="id2626534"></a>6.13.&nbsp;Using
'sudo' with pkgsrc</h2>
</div>
</div>
@@ -4756,94 +4788,125 @@ CONF_FILES= ${EGDIR}/Muttrc ${PKG_SYSCONFDIR}/Muttrc
<p><b>Table of Contents</b></p>
<dl>
- <dt><span class="chapter"><a href="#components">7.
+ <dt><span class="chapter"><a href="#makefile">7.
+ Programming in <code class=
+ "filename">Makefile</code>s</a></span></dt>
+
+ <dd>
+ <dl>
+ <dt><span class="sect1"><a href=
+ "#makefile.variables">7.1. <code class=
+ "filename">Makefile</code> variables</a></span></dt>
+
+ <dt><span class="sect1"><a href="#makefile.code">7.2.
+ Code snippets</a></span></dt>
+
+ <dd>
+ <dl>
+ <dt><span class="sect2"><a href=
+ "#id2627092">7.2.1. Adding things to a
+ list</a></span></dt>
+
+ <dt><span class="sect2"><a href=
+ "#id2627101">7.2.2. Converting an internal list
+ into an external list</a></span></dt>
+
+ <dt><span class="sect2"><a href=
+ "#id2627188">7.2.3. Passing variables to a shell
+ command</a></span></dt>
+ </dl>
+ </dd>
+ </dl>
+ </dd>
+
+ <dt><span class="chapter"><a href="#components">8.
Package components - files, directories and
contents</a></span></dt>
<dd>
<dl>
<dt><span class="sect1"><a href=
- "#components.Makefile">7.1. <code class=
+ "#components.Makefile">8.1. <code class=
"filename">Makefile</code></a></span></dt>
<dt><span class="sect1"><a href=
- "#components.distinfo">7.2. <code class=
+ "#components.distinfo">8.2. <code class=
"filename">distinfo</code></a></span></dt>
<dt><span class="sect1"><a href=
- "#components.patches">7.3. patches/*</a></span></dt>
+ "#components.patches">8.3. patches/*</a></span></dt>
- <dt><span class="sect1"><a href="#id2627489">7.4.
+ <dt><span class="sect1"><a href="#id2627883">8.4.
Other mandatory files</a></span></dt>
<dt><span class="sect1"><a href=
- "#components.optional">7.5. Optional
+ "#components.optional">8.5. Optional
files</a></span></dt>
- <dt><span class="sect1"><a href="#id2627614">7.6.
+ <dt><span class="sect1"><a href="#id2628146">8.6.
<code class="filename">work*</code></a></span></dt>
- <dt><span class="sect1"><a href="#id2627770">7.7.
+ <dt><span class="sect1"><a href="#id2628233">8.7.
<code class="filename">files/*</code></a></span></dt>
</dl>
</dd>
- <dt><span class="chapter"><a href="#plist">8. PLIST
+ <dt><span class="chapter"><a href="#plist">9. PLIST
issues</a></span></dt>
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2627961">8.1. RCS
+ <dt><span class="sect1"><a href="#id2628288">9.1. RCS
ID</a></span></dt>
- <dt><span class="sect1"><a href="#id2627976">8.2.
+ <dt><span class="sect1"><a href="#id2628302">9.2.
Semi-automatic <code class="filename">PLIST</code>
generation</a></span></dt>
- <dt><span class="sect1"><a href="#print-PLIST">8.3.
+ <dt><span class="sect1"><a href="#print-PLIST">9.3.
Tweaking output of <span><strong class="command">make
print-PLIST</strong></span></a></span></dt>
- <dt><span class="sect1"><a href="#plist.misc">8.4.
+ <dt><span class="sect1"><a href="#plist.misc">9.4.
Variable substitution in PLIST</a></span></dt>
- <dt><span class="sect1"><a href="#id2628297">8.5.
+ <dt><span class="sect1"><a href="#id2628692">9.5.
Manpage-compression</a></span></dt>
- <dt><span class="sect1"><a href="#id2628339">8.6.
+ <dt><span class="sect1"><a href="#id2628733">9.6.
Changing PLIST source with <code class=
"varname">PLIST_SRC</code></a></span></dt>
- <dt><span class="sect1"><a href="#id2628363">8.7.
+ <dt><span class="sect1"><a href="#id2628758">9.7.
Platform specific and differing
PLISTs</a></span></dt>
<dt><span class="sect1"><a href=
- "#faq.common-dirs">8.8. Sharing directories between
+ "#faq.common-dirs">9.8. Sharing directories between
packages</a></span></dt>
</dl>
</dd>
- <dt><span class="chapter"><a href="#buildlink">9.
+ <dt><span class="chapter"><a href="#buildlink">10.
Buildlink methodology</a></span></dt>
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2628562">9.1.
+ <dt><span class="sect1"><a href="#id2629025">10.1.
Converting packages to use buildlink3</a></span></dt>
- <dt><span class="sect1"><a href="#id2628948">9.2.
+ <dt><span class="sect1"><a href="#id2629206">10.2.
Writing <code class="filename">buildlink3.mk</code>
files</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2629017">9.2.1. Anatomy of a buildlink3.mk
+ "#id2629344">10.2.1. Anatomy of a buildlink3.mk
file</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2629458">9.2.2. Updating <code class=
+ "#id2629921">10.2.2. Updating <code class=
"varname">BUILDLINK_DEPENDS.<em class=
"replaceable"><code>pkg</code></em></code> in
<code class="filename">buildlink3.mk</code>
@@ -4851,257 +4914,257 @@ CONF_FILES= ${EGDIR}/Muttrc ${PKG_SYSCONFDIR}/Muttrc
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2629537">9.3.
+ <dt><span class="sect1"><a href="#id2630000">10.3.
Writing <code class="filename">builtin.mk</code>
files</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2629618">9.3.1. Anatomy of a <code class=
+ "#id2630081">10.3.1. Anatomy of a <code class=
"filename">builtin.mk</code> file</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2629913">9.3.2. Global preferences for native
- or pkgsrc software</a></span></dt>
+ "#id2630240">10.3.2. Global preferences for
+ native or pkgsrc software</a></span></dt>
</dl>
</dd>
</dl>
</dd>
- <dt><span class="chapter"><a href="#options">10. Options
+ <dt><span class="chapter"><a href="#options">11. Options
handling</a></span></dt>
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2629986">10.1.
+ <dt><span class="sect1"><a href="#id2630312">11.1.
Global default options</a></span></dt>
- <dt><span class="sect1"><a href="#id2630001">10.2.
+ <dt><span class="sect1"><a href="#id2630327">11.2.
Converting packages to use <code class=
"filename">bsd.options.mk</code></a></span></dt>
</dl>
</dd>
- <dt><span class="chapter"><a href="#build">11. The build
+ <dt><span class="chapter"><a href="#build">12. The build
process</a></span></dt>
<dd>
<dl>
- <dt><span class="sect1"><a href="#build.prefix">11.1.
+ <dt><span class="sect1"><a href="#build.prefix">12.1.
Program location</a></span></dt>
- <dt><span class="sect1"><a href="#id2630624">11.2.
+ <dt><span class="sect1"><a href="#id2631086">12.2.
Main targets</a></span></dt>
<dt><span class="sect1"><a href=
- "#build.helpful-targets">11.3. Other helpful
+ "#build.helpful-targets">12.3. Other helpful
targets</a></span></dt>
</dl>
</dd>
- <dt><span class="chapter"><a href="#fixes">12. Notes on
+ <dt><span class="chapter"><a href="#fixes">13. Notes on
fixes for packages</a></span></dt>
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2632120">12.1.
+ <dt><span class="sect1"><a href="#id2632515">13.1.
General operation</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2632123">12.1.1. How to pull in variables
+ "#id2632518">13.1.1. How to pull in variables
from /etc/mk.conf</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2632275">12.1.2. Restricted
+ "#id2632601">13.1.2. Restricted
packages</a></span></dt>
<dt><span class="sect2"><a href=
- "#dependencies">12.1.3. Handling
+ "#dependencies">13.1.3. Handling
dependencies</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2632728">12.1.4. Handling conflicts with
+ "#id2633123">13.1.4. Handling conflicts with
other packages</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2632846">12.1.5. Packages that cannot or
+ "#id2633173">13.1.5. Packages that cannot or
should not be built</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2632872">12.1.6. Packages which should not be
+ "#id2633198">13.1.6. Packages which should not be
deleted, once installed</a></span></dt>
<dt><span class="sect2"><a href=
- "#security-handling">12.1.7. Handling packages
+ "#security-handling">13.1.7. Handling packages
with security problems</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2632964">12.1.8. How to handle compiler
+ "#id2633290">13.1.8. How to handle compiler
bugs</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2633054">12.1.9. How to handle incrementing
+ "#id2633313">13.1.9. How to handle incrementing
versions when fixing an existing
package</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2633104">12.1.10. Portability of
+ "#id2633362">13.1.10. Portability of
packages</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2633128">12.2.
+ <dt><span class="sect1"><a href="#id2633386">13.2.
Possible downloading issues</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2633131">12.2.1. Packages whose distfiles
+ "#id2633389">13.2.1. Packages whose distfiles
aren't available for plain
downloading</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2633194">12.2.2. How to handle modified
+ "#id2633452">13.2.2. How to handle modified
distfiles with the 'old' name</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2633206">12.3.
+ <dt><span class="sect1"><a href="#id2633601">13.3.
Configuration gotchas</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#fixes.libtool">12.3.1. Shared libraries -
+ "#fixes.libtool">13.3.1. Shared libraries -
libtool</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2633640">12.3.2. Using libtool on GNU
+ "#id2634035">13.3.2. Using libtool on GNU
packages that already support
libtool</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2633721">12.3.3. GNU
+ "#id2634184">13.3.3. GNU
Autoconf/Automake</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2633834">12.4.
+ <dt><span class="sect1"><a href="#id2634229">13.4.
Building considerations</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2633837">12.4.1. CPP defines</a></span></dt>
+ "#id2634232">13.4.1. CPP defines</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2633867">12.5.
+ <dt><span class="sect1"><a href="#id2634262">13.5.
Package specific actions</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2633870">12.5.1. Package configuration
+ "#id2634265">13.5.1. Package configuration
files</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2633973">12.5.2. User
+ "#id2634436">13.5.2. User
interaction</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634018">12.5.3. Handling
+ "#id2634549">13.5.3. Handling
licenses</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634169">12.5.4. Creating an account from a
+ "#id2634632">13.5.4. Creating an account from a
package</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634231">12.5.5. Installing score
+ "#id2634694">13.5.5. Installing score
files</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634411">12.5.6. Packages providing login
+ "#id2634738">13.5.6. Packages providing login
shells</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634469">12.5.7. Packages containing perl
+ "#id2634795">13.5.7. Packages containing perl
scripts</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634555">12.5.8. Packages with hardcoded
+ "#id2634813">13.5.8. Packages with hardcoded
paths to other interpreters</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634577">12.5.9. Packages installing perl
+ "#id2634835">13.5.9. Packages installing perl
modules</a></span></dt>
<dt><span class="sect2"><a href=
- "#faq.info-files">12.5.10. Packages installing
+ "#faq.info-files">13.5.10. Packages installing
info files</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634865">12.5.11. Packages installing GConf2
+ "#id2635123">13.5.11. Packages installing GConf2
data files</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634965">12.5.12. Packages installing
+ "#id2635360">13.5.12. Packages installing
scrollkeeper data files</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2635016">12.5.13. Packages installing X11
+ "#id2635411">13.5.13. Packages installing X11
fonts</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2635063">12.5.14. Packages installing GTK2
+ "#id2635526">13.5.14. Packages installing GTK2
modules</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2635201">12.5.15. Packages installing SGML or
+ "#id2635595">13.5.15. Packages installing SGML or
XML data</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2635253">12.5.16. Packages installing
+ "#id2635648">13.5.16. Packages installing
extensions to the MIME database</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2635323">12.5.17. Packages using
+ "#id2635718">13.5.17. Packages using
intltool</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2635337">12.5.18. Packages installing startup
+ "#id2635732">13.5.18. Packages installing startup
scripts</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2635358">12.6.
+ <dt><span class="sect1"><a href="#id2635753">13.6.
Feedback to the author</a></span></dt>
</dl>
</dd>
- <dt><span class="chapter"><a href="#debug">13.
+ <dt><span class="chapter"><a href="#debug">14.
Debugging</a></span></dt>
- <dt><span class="chapter"><a href="#submit">14.
+ <dt><span class="chapter"><a href="#submit">15.
Submitting and Committing</a></span></dt>
<dd>
<dl>
- <dt><span class="sect1"><a href="#id2635957">14.1.
+ <dt><span class="sect1"><a href="#id2636215">15.1.
Submitting your packages</a></span></dt>
- <dt><span class="sect1"><a href="#id2636014">14.2.
+ <dt><span class="sect1"><a href="#id2636273">15.2.
Committing: Importing a package into
CVS</a></span></dt>
- <dt><span class="sect1"><a href="#id2636077">14.3.
+ <dt><span class="sect1"><a href="#id2636540">15.3.
Updating a package to a newer version</a></span></dt>
- <dt><span class="sect1"><a href="#id2636097">14.4.
+ <dt><span class="sect1"><a href="#id2636560">15.4.
Moving a package in pkgsrc</a></span></dt>
</dl>
</dd>
@@ -5112,8 +5175,275 @@ CONF_FILES= ${EGDIR}/Muttrc ${PKG_SYSCONFDIR}/Muttrc
<div class="titlepage">
<div>
<div>
+ <h2 class="title"><a name="makefile" id=
+ "makefile"></a>Chapter&nbsp;7.&nbsp;Programming in
+ <code class="filename">Makefile</code>s</h2>
+ </div>
+ </div>
+ </div>
+
+ <div class="toc">
+ <p><b>Table of Contents</b></p>
+
+ <dl>
+ <dt><span class="sect1"><a href=
+ "#makefile.variables">7.1. <code class=
+ "filename">Makefile</code> variables</a></span></dt>
+
+ <dt><span class="sect1"><a href="#makefile.code">7.2.
+ Code snippets</a></span></dt>
+
+ <dd>
+ <dl>
+ <dt><span class="sect2"><a href="#id2627092">7.2.1.
+ Adding things to a list</a></span></dt>
+
+ <dt><span class="sect2"><a href="#id2627101">7.2.2.
+ Converting an internal list into an external
+ list</a></span></dt>
+
+ <dt><span class="sect2"><a href="#id2627188">7.2.3.
+ Passing variables to a shell
+ command</a></span></dt>
+ </dl>
+ </dd>
+ </dl>
+ </div>
+
+ <p>WARNING: The <a 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 is
+ wrong. After the man page has been corrected, this chapter
+ will be updated. Until that, don't take it too serious.</p>
+
+ <p>Pkgsrc consists of many <code class=
+ "filename">Makefile</code> fragments, each of which forms a
+ well-defined part of the pkgsrc system. Using the <a href=
+ "http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current">
+ <span class="citerefentry"><span class=
+ "refentrytitle">make</span>(1)</span></a> system as a
+ programming language for a big system like pkgsrc requires
+ some discipline to keep the code correct and
+ understandable.</p>
+
+ <p>The basic ingredients for <code class=
+ "filename">Makefile</code> programming are variables (which
+ are actually macros) and shell commands. Among these shell
+ commands may even be more complex ones like <a href=
+ "http://netbsd.gw.com/cgi-bin/man-cgi?awk+1+NetBSD-current">
+ <span class="citerefentry"><span class=
+ "refentrytitle">awk</span>(1)</span></a> programs. To make
+ sure that every shell command runs as intended it is
+ necessary to quote all variables correctly when they are
+ used.</p>
+
+ <p>This chapter describes some patterns, that appear quite
+ often in <code class="filename">Makefile</code>s, including
+ the pitfalls that come along with them.</p>
+
+ <div class="sect1" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title" style="clear: both"><a name=
+ "makefile.variables" id=
+ "makefile.variables"></a>7.1.&nbsp;<code class=
+ "filename">Makefile</code> variables</h2>
+ </div>
+ </div>
+ </div>
+
+ <p>A restriction common to all types of variables is that
+ they can neither contain a newline character nor the '\0'
+ character nor the '#' character. The effects of the
+ backslash character is not documented, so you should not
+ use it at the moment. As the $ is used to get values of a
+ <code class="filename">Makefile</code> variable, it must
+ be quoted as $$.</p>
+
+ <p>There are several types of variables that must be
+ handled differently.</p>
+
+ <div class="itemizedlist">
+ <ul type="disc">
+ <li>
+ <p><span class="emphasis"><em>Simple
+ values</em></span> (which I will call atoms) can
+ contain any string, which does not have to be
+ quoted in any way. All other types are somewhat
+ restricted in their possible values.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><em>Internal
+ lists</em></span> are lists that are never exported
+ to any shell command. Their elements are separated
+ by whitespace. Therefore the elements themselves
+ cannot have embedded whitespace. Any other
+ characters are allowed. Internal lists can be used
+ in <code class="varname">.for</code> loops.
+ Examples are <code class="varname">DEPENDS</code>,
+ <code class="varname">BUILD_DEPENDS</code>.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><em>External
+ lists</em></span> are lists that may be exported to
+ a shell command. Their elements can contain any
+ characters, including whitespace. That's why they
+ cannot be used in <code class="varname">.for</code>
+ loops. Examples are <code class=
+ "varname">DISTFILES</code>, <code class=
+ "varname">MASTER_SITES</code>.</p>
+ </li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="sect1" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title" style="clear: both"><a name=
+ "makefile.code" id=
+ "makefile.code"></a>7.2.&nbsp;Code snippets</h2>
+ </div>
+ </div>
+ </div>
+
+ <p>This section presents you with some code snippets you
+ should use in your own code. If you don't find anything
+ appropriate here, you should test your code and add it
+ here.</p>
+
+ <div class="sect2" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title"><a name="id2627092" id=
+ "id2627092"></a>7.2.1.&nbsp;Adding things to a
+ list</h3>
+ </div>
+ </div>
+ </div>
+ <pre class="programlisting">
+ATOM= foo * bar `date`
+INT_LIST= # empty
+ANOTHER_INT_LIST= apache-[0-9]*:../../www/apache
+EXT_LIST= # empty
+ANOTHER_EXT_LIST= a=b c=d
+
+INT_LIST+= ${ATOM} # 1
+INT_LIST+= ${ANOTHER_INT_LIST} # 2
+EXT_LIST+= ${ATOM:Q} # 3
+EXT_LIST+= ${ANOTHER_EXT_LIST} # 4
+
+</pre>
+
+ <p>When you add an atom to an external list (example
+ 3), it must be quoted. In all other cases, you must not
+ add a quoting level. You must not merge internal and
+ external lists, unless you are sure that all entries
+ are correctly interpreted in both lists.</p>
+ </div>
+
+ <div class="sect2" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title"><a name="id2627101" id=
+ "id2627101"></a>7.2.2.&nbsp;Converting an
+ internal list into an external list</h3>
+ </div>
+ </div>
+ </div>
+ <pre class="programlisting">
+EXT_LIST= # empty
+.for i in ${INT_LIST}
+EXT_LIST+= ${i:Q}
+.endfor
+
+</pre>
+
+ <p>This code converts the internal list <code class=
+ "varname">INT_LIST</code> into the external list
+ <code class="varname">EXT_LIST</code>. As the elements
+ of an internal list are unquoted they must be quoted
+ here.</p>
+ </div>
+
+ <div class="sect2" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title"><a name="id2627188" id=
+ "id2627188"></a>7.2.3.&nbsp;Passing variables to
+ a shell command</h3>
+ </div>
+ </div>
+ </div>
+ <pre class="programlisting">
+ATOM= foo bar &lt; &gt; * `date` $$HOME ' "
+EXT_LIST= atom=${ATOM:Q} x=second\ item
+
+all:
+ echo ${ATOM} # 1
+ echo "${ATOM}" # 2
+ echo "${ATOM:Q}" # 3
+ echo ${ATOM:Q} # 4
+ echo x${ATOM:Q} | sed 1s,.,, # 5
+ env ${EXT_LIST} /bin/sh -c 'echo "$$atom"; echo "$$x"'
+
+</pre>
+
+ <p>Example 1 leads to a syntax error in the shell, as
+ the characters are just copied.</p>
+
+ <p>Example 2 leads to a syntax error too, and when you
+ leave out the last " character from <code class=
+ "varname">${ATOM}</code> the <a href=
+ "http://netbsd.gw.com/cgi-bin/man-cgi?date+1+NetBSD-current">
+ <span class="citerefentry"><span class=
+ "refentrytitle">date</span>(1)</span></a> would be
+ executed. The <code class="varname">$HOME</code> shell
+ variable would be evaluated, too.</p>
+
+ <p>Example 3 would output precede each space character
+ with a backslash (or not), depending on the
+ implementation of the <a href=
+ "http://netbsd.gw.com/cgi-bin/man-cgi?echo+1+NetBSD-current">
+ <span class="citerefentry"><span class=
+ "refentrytitle">echo</span>(1)</span></a> command.</p>
+
+ <p>Example 4 handles correctly every string that does
+ not start with a dash. In that case, the result depends
+ on the implementation of the <a href=
+ "http://netbsd.gw.com/cgi-bin/man-cgi?echo+1+NetBSD-current">
+ <span class="citerefentry"><span class=
+ "refentrytitle">echo</span>(1)</span></a> command. As
+ long as you can guarantee that your input does not
+ start with a dash this form is appropriate.</p>
+
+ <p>Example 5 handles even the case of a leading dash
+ correctly.</p>
+
+ <p>The <code class="varname">EXT_LIST</code> does not
+ need to be quoted because the quoting has already be
+ done when adding elements to the list.</p>
+
+ <p>As internal lists shall not be passed to the shell,
+ there is no example for it.</p>
+ </div>
+ </div>
+ </div>
+
+ <div class="chapter" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
<h2 class="title"><a name="components" id=
- "components"></a>Chapter&nbsp;7.&nbsp;Package
+ "components"></a>Chapter&nbsp;8.&nbsp;Package
components - files, directories and contents</h2>
</div>
</div>
@@ -5124,27 +5454,27 @@ CONF_FILES= ${EGDIR}/Muttrc ${PKG_SYSCONFDIR}/Muttrc
<dl>
<dt><span class="sect1"><a href=
- "#components.Makefile">7.1. <code class=
+ "#components.Makefile">8.1. <code class=
"filename">Makefile</code></a></span></dt>
<dt><span class="sect1"><a href=
- "#components.distinfo">7.2. <code class=
+ "#components.distinfo">8.2. <code class=
"filename">distinfo</code></a></span></dt>
<dt><span class="sect1"><a href=
- "#components.patches">7.3. patches/*</a></span></dt>
+ "#components.patches">8.3. patches/*</a></span></dt>
- <dt><span class="sect1"><a href="#id2627489">7.4. Other
+ <dt><span class="sect1"><a href="#id2627883">8.4. Other
mandatory files</a></span></dt>
<dt><span class="sect1"><a href=
- "#components.optional">7.5. Optional
+ "#components.optional">8.5. Optional
files</a></span></dt>
- <dt><span class="sect1"><a href="#id2627614">7.6.
+ <dt><span class="sect1"><a href="#id2628146">8.6.
<code class="filename">work*</code></a></span></dt>
- <dt><span class="sect1"><a href="#id2627770">7.7.
+ <dt><span class="sect1"><a href="#id2628233">8.7.
<code class="filename">files/*</code></a></span></dt>
</dl>
</div>
@@ -5159,7 +5489,7 @@ CONF_FILES= ${EGDIR}/Muttrc ${PKG_SYSCONFDIR}/Muttrc
<div>
<h2 class="title" style="clear: both"><a name=
"components.Makefile" id=
- "components.Makefile"></a>7.1.&nbsp;<code class=
+ "components.Makefile"></a>8.1.&nbsp;<code class=
"filename">Makefile</code></h2>
</div>
</div>
@@ -5333,8 +5663,8 @@ converters games mbone print x11
<li>
<p>If the package installs any info files, see
<a href="#faq.info-files" title=
- "12.5.10.&nbsp;Packages installing info files">Section
- 12.5.10, &#8220;Packages installing info
+ "13.5.10.&nbsp;Packages installing info files">Section
+ 13.5.10, &#8220;Packages installing info
files&#8221;</a>.</p>
</li>
@@ -5370,7 +5700,7 @@ converters games mbone print x11
<div>
<h2 class="title" style="clear: both"><a name=
"components.distinfo" id=
- "components.distinfo"></a>7.2.&nbsp;<code class=
+ "components.distinfo"></a>8.2.&nbsp;<code class=
"filename">distinfo</code></h2>
</div>
</div>
@@ -5415,7 +5745,7 @@ converters games mbone print x11
patches found in the <code class=
"filename">patches/</code> directory (see <a href=
"#components.patches" title=
- "7.3.&nbsp;patches/*">Section&nbsp;7.3,
+ "8.3.&nbsp;patches/*">Section&nbsp;8.3,
&#8220;patches/*&#8221;</a>) for the package is also
stored in the <code class="filename">distinfo</code>
file. This is a message digest/checksum of all lines in
@@ -5432,7 +5762,7 @@ converters games mbone print x11
<div>
<h2 class="title" style="clear: both"><a name=
"components.patches" id=
- "components.patches"></a>7.3.&nbsp;patches/*</h2>
+ "components.patches"></a>8.3.&nbsp;patches/*</h2>
</div>
</div>
</div>
@@ -5493,7 +5823,7 @@ converters games mbone print x11
<span><strong class="command">make
makepatchsum</strong></span> command, see <a href=
"#components.distinfo" title=
- "7.2.&nbsp;distinfo">Section&nbsp;7.2,
+ "8.2.&nbsp;distinfo">Section&nbsp;8.2,
&#8220;<code class="filename">distinfo</code>&#8221;</a>.</p>
<p>Patch files that are distributed by the author or
@@ -5523,7 +5853,7 @@ converters games mbone print x11
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2627489" id="id2627489"></a>7.4.&nbsp;Other
+ "id2627883" id="id2627883"></a>8.4.&nbsp;Other
mandatory files</h2>
</div>
</div>
@@ -5553,7 +5883,7 @@ converters games mbone print x11
entered in this file, to control the creation and
deletion of directories, and the location of
inserted files. See <a href="#plist" title=
- "Chapter&nbsp;8.&nbsp;PLIST issues">Chapter&nbsp;8,
+ "Chapter&nbsp;9.&nbsp;PLIST issues">Chapter&nbsp;9,
<i>PLIST issues</i></a> for more information.</p>
</dd>
</dl>
@@ -5566,7 +5896,7 @@ converters games mbone print x11
<div>
<h2 class="title" style="clear: both"><a name=
"components.optional" id=
- "components.optional"></a>7.5.&nbsp;Optional
+ "components.optional"></a>8.5.&nbsp;Optional
files</h2>
</div>
</div>
@@ -5647,8 +5977,8 @@ MESSAGE_SUBST+= SOMEVAR="somevalue"
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2627614" id=
- "id2627614"></a>7.6.&nbsp;<code class=
+ "id2628146" id=
+ "id2628146"></a>8.6.&nbsp;<code class=
"filename">work*</code></h2>
</div>
</div>
@@ -5708,8 +6038,8 @@ WRKSRC= ${WRKDIR}/${DISTNAME}/unix
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2627770" id=
- "id2627770"></a>7.7.&nbsp;<code class=
+ "id2628233" id=
+ "id2628233"></a>8.7.&nbsp;<code class=
"filename">files/*</code></h2>
</div>
</div>
@@ -5732,7 +6062,7 @@ WRKSRC= ${WRKDIR}/${DISTNAME}/unix
<div>
<div>
<h2 class="title"><a name="plist" id=
- "plist"></a>Chapter&nbsp;8.&nbsp;PLIST issues</h2>
+ "plist"></a>Chapter&nbsp;9.&nbsp;PLIST issues</h2>
</div>
</div>
</div>
@@ -5741,31 +6071,31 @@ WRKSRC= ${WRKDIR}/${DISTNAME}/unix
<p><b>Table of Contents</b></p>
<dl>
- <dt><span class="sect1"><a href="#id2627961">8.1. RCS
+ <dt><span class="sect1"><a href="#id2628288">9.1. RCS
ID</a></span></dt>
- <dt><span class="sect1"><a href="#id2627976">8.2.
+ <dt><span class="sect1"><a href="#id2628302">9.2.
Semi-automatic <code class="filename">PLIST</code>
generation</a></span></dt>
- <dt><span class="sect1"><a href="#print-PLIST">8.3.
+ <dt><span class="sect1"><a href="#print-PLIST">9.3.
Tweaking output of <span><strong class="command">make
print-PLIST</strong></span></a></span></dt>
- <dt><span class="sect1"><a href="#plist.misc">8.4.
+ <dt><span class="sect1"><a href="#plist.misc">9.4.
Variable substitution in PLIST</a></span></dt>
- <dt><span class="sect1"><a href="#id2628297">8.5.
+ <dt><span class="sect1"><a href="#id2628692">9.5.
Manpage-compression</a></span></dt>
- <dt><span class="sect1"><a href="#id2628339">8.6.
+ <dt><span class="sect1"><a href="#id2628733">9.6.
Changing PLIST source with <code class=
"varname">PLIST_SRC</code></a></span></dt>
- <dt><span class="sect1"><a href="#id2628363">8.7.
+ <dt><span class="sect1"><a href="#id2628758">9.7.
Platform specific and differing PLISTs</a></span></dt>
- <dt><span class="sect1"><a href="#faq.common-dirs">8.8.
+ <dt><span class="sect1"><a href="#faq.common-dirs">9.8.
Sharing directories between packages</a></span></dt>
</dl>
</div>
@@ -5788,7 +6118,7 @@ WRKSRC= ${WRKDIR}/${DISTNAME}/unix
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2627961" id="id2627961"></a>8.1.&nbsp;RCS
+ "id2628288" id="id2628288"></a>9.1.&nbsp;RCS
ID</h2>
</div>
</div>
@@ -5806,8 +6136,8 @@ WRKSRC= ${WRKDIR}/${DISTNAME}/unix
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2627976" id=
- "id2627976"></a>8.2.&nbsp;Semi-automatic
+ "id2628302" id=
+ "id2628302"></a>9.2.&nbsp;Semi-automatic
<code class="filename">PLIST</code> generation</h2>
</div>
</div>
@@ -5817,7 +6147,7 @@ WRKSRC= ${WRKDIR}/${DISTNAME}/unix
print-PLIST</strong></span> command to output a PLIST
that matches any new files since the package was
extracted. See <a href="#build.helpful-targets" title=
- "11.3.&nbsp;Other helpful targets">Section&nbsp;11.3,
+ "12.3.&nbsp;Other helpful targets">Section&nbsp;12.3,
&#8220;Other helpful targets&#8221;</a> for more
information on this target.</p>
</div>
@@ -5828,7 +6158,7 @@ WRKSRC= ${WRKDIR}/${DISTNAME}/unix
<div>
<h2 class="title" style="clear: both"><a name=
"print-PLIST" id=
- "print-PLIST"></a>8.3.&nbsp;Tweaking output of
+ "print-PLIST"></a>9.3.&nbsp;Tweaking output of
<span><strong class="command">make
print-PLIST</strong></span></h2>
</div>
@@ -5837,7 +6167,7 @@ WRKSRC= ${WRKDIR}/${DISTNAME}/unix
<p>If you have used any of the *-dirs packages, as
explained in <a href="#faq.common-dirs" title=
- "8.8.&nbsp;Sharing directories between packages">Section&nbsp;8.8,
+ "9.8.&nbsp;Sharing directories between packages">Section&nbsp;9.8,
&#8220;Sharing directories between packages&#8221;</a>,
you may have noticed that <span><strong class=
"command">make print-PLIST</strong></span> outputs a set
@@ -5877,7 +6207,7 @@ WRKSRC= ${WRKDIR}/${DISTNAME}/unix
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "plist.misc" id="plist.misc"></a>8.4.&nbsp;Variable
+ "plist.misc" id="plist.misc"></a>9.4.&nbsp;Variable
substitution in PLIST</h2>
</div>
</div>
@@ -5985,7 +6315,7 @@ WRKSRC= ${WRKDIR}/${DISTNAME}/unix
variable in the following way, similar to <code class=
"varname">MESSAGE_SUBST</code> (see <a href=
"#components.optional" title=
- "7.5.&nbsp;Optional files">Section&nbsp;7.5,
+ "8.5.&nbsp;Optional files">Section&nbsp;8.5,
&#8220;Optional files&#8221;</a>):</p>
<pre class="programlisting">
PLIST_SUBST+= SOMEVAR="somevalue"
@@ -6001,8 +6331,8 @@ PLIST_SUBST+= SOMEVAR="somevalue"
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2628297" id=
- "id2628297"></a>8.5.&nbsp;Manpage-compression</h2>
+ "id2628692" id=
+ "id2628692"></a>9.5.&nbsp;Manpage-compression</h2>
</div>
</div>
</div>
@@ -6026,7 +6356,7 @@ PLIST_SUBST+= SOMEVAR="somevalue"
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2628339" id="id2628339"></a>8.6.&nbsp;Changing
+ "id2628733" id="id2628733"></a>9.6.&nbsp;Changing
PLIST source with <code class=
"varname">PLIST_SRC</code></h2>
</div>
@@ -6049,7 +6379,7 @@ PLIST_SUBST+= SOMEVAR="somevalue"
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2628363" id="id2628363"></a>8.7.&nbsp;Platform
+ "id2628758" id="id2628758"></a>9.7.&nbsp;Platform
specific and differing PLISTs</h2>
</div>
</div>
@@ -6094,7 +6424,7 @@ PLIST_SUBST+= SOMEVAR="somevalue"
<div>
<h2 class="title" style="clear: both"><a name=
"faq.common-dirs" id=
- "faq.common-dirs"></a>8.8.&nbsp;Sharing directories
+ "faq.common-dirs"></a>9.8.&nbsp;Sharing directories
between packages</h2>
</div>
</div>
@@ -6184,7 +6514,7 @@ PLIST_SUBST+= SOMEVAR="somevalue"
<div>
<div>
<h2 class="title"><a name="buildlink" id=
- "buildlink"></a>Chapter&nbsp;9.&nbsp;Buildlink
+ "buildlink"></a>Chapter&nbsp;10.&nbsp;Buildlink
methodology</h2>
</div>
</div>
@@ -6194,20 +6524,21 @@ PLIST_SUBST+= SOMEVAR="somevalue"
<p><b>Table of Contents</b></p>
<dl>
- <dt><span class="sect1"><a href="#id2628562">9.1.
+ <dt><span class="sect1"><a href="#id2629025">10.1.
Converting packages to use buildlink3</a></span></dt>
- <dt><span class="sect1"><a href="#id2628948">9.2.
+ <dt><span class="sect1"><a href="#id2629206">10.2.
Writing <code class="filename">buildlink3.mk</code>
files</a></span></dt>
<dd>
<dl>
- <dt><span class="sect2"><a href="#id2629017">9.2.1.
- Anatomy of a buildlink3.mk file</a></span></dt>
+ <dt><span class="sect2"><a href=
+ "#id2629344">10.2.1. Anatomy of a buildlink3.mk
+ file</a></span></dt>
- <dt><span class="sect2"><a href="#id2629458">9.2.2.
- Updating <code class=
+ <dt><span class="sect2"><a href=
+ "#id2629921">10.2.2. Updating <code class=
"varname">BUILDLINK_DEPENDS.<em class=
"replaceable"><code>pkg</code></em></code> in
<code class="filename">buildlink3.mk</code>
@@ -6215,19 +6546,19 @@ PLIST_SUBST+= SOMEVAR="somevalue"
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2629537">9.3.
+ <dt><span class="sect1"><a href="#id2630000">10.3.
Writing <code class="filename">builtin.mk</code>
files</a></span></dt>
<dd>
<dl>
- <dt><span class="sect2"><a href="#id2629618">9.3.1.
- Anatomy of a <code class=
+ <dt><span class="sect2"><a href=
+ "#id2630081">10.3.1. Anatomy of a <code class=
"filename">builtin.mk</code> file</a></span></dt>
- <dt><span class="sect2"><a href="#id2629913">9.3.2.
- Global preferences for native or pkgsrc
- software</a></span></dt>
+ <dt><span class="sect2"><a href=
+ "#id2630240">10.3.2. Global preferences for native
+ or pkgsrc software</a></span></dt>
</dl>
</dd>
</dl>
@@ -6276,8 +6607,9 @@ PLIST_SUBST+= SOMEVAR="somevalue"
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2628562" id="id2628562"></a>9.1.&nbsp;Converting
- packages to use buildlink3</h2>
+ "id2629025" id=
+ "id2629025"></a>10.1.&nbsp;Converting packages to
+ use buildlink3</h2>
</div>
</div>
</div>
@@ -6421,7 +6753,7 @@ DEPENDS+= foo&gt;=1.1.0:../../category/foo
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2628948" id="id2628948"></a>9.2.&nbsp;Writing
+ "id2629206" id="id2629206"></a>10.2.&nbsp;Writing
<code class="filename">buildlink3.mk</code>
files</h2>
</div>
@@ -6461,9 +6793,9 @@ DEPENDS+= foo&gt;=1.1.0:../../category/foo
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2629017" id=
- "id2629017"></a>9.2.1. Anatomy of a buildlink3.mk
- file</h3>
+ <h3 class="title"><a name="id2629344" id=
+ "id2629344"></a>10.2.1. Anatomy of a
+ buildlink3.mk file</h3>
</div>
</div>
</div>
@@ -6692,8 +7024,8 @@ BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2629458" id=
- "id2629458"></a>9.2.2. Updating <code class=
+ <h3 class="title"><a name="id2629921" id=
+ "id2629921"></a>10.2.2. Updating <code class=
"varname">BUILDLINK_DEPENDS.<em class=
"replaceable"><code>pkg</code></em></code> in
<code class="filename">buildlink3.mk</code>
@@ -6745,15 +7077,15 @@ BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
want to cause unneeded package deletions and rebuilds.
In many cases, new versions of packages work just fine
with older dependencies. See <a href="#dependencies"
- title="12.1.3.&nbsp;Handling dependencies">Section
- 12.1.3, &#8220;Handling dependencies&#8221;</a> and
+ title="13.1.3.&nbsp;Handling dependencies">Section
+ 13.1.3, &#8220;Handling dependencies&#8221;</a> and
<a href="#buildlink" title=
- "Chapter&nbsp;9.&nbsp;Buildlink methodology">Chapter 9,
- <i>Buildlink methodology</i></a> for more information
- about dependencies on other packages, including the
- <code class="varname">BUILDLINK_RECOMMENDED</code> and
- <code class="varname">RECOMMENDED</code>
- definitions.</p>
+ "Chapter&nbsp;10.&nbsp;Buildlink methodology">Chapter
+ 10, <i>Buildlink methodology</i></a> for more
+ information about dependencies on other packages,
+ including the <code class=
+ "varname">BUILDLINK_RECOMMENDED</code> and <code class=
+ "varname">RECOMMENDED</code> definitions.</p>
</div>
</div>
@@ -6762,7 +7094,7 @@ BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2629537" id="id2629537"></a>9.3.&nbsp;Writing
+ "id2630000" id="id2630000"></a>10.3.&nbsp;Writing
<code class="filename">builtin.mk</code> files</h2>
</div>
</div>
@@ -6814,8 +7146,8 @@ BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2629618" id=
- "id2629618"></a>9.3.1.&nbsp;Anatomy of a
+ <h3 class="title"><a name="id2630081" id=
+ "id2630081"></a>10.3.1.&nbsp;Anatomy of a
<code class="filename">builtin.mk</code>
file</h3>
</div>
@@ -6940,8 +7272,8 @@ CHECK_BUILTIN.foo?= no
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2629913" id=
- "id2629913"></a>9.3.2.&nbsp;Global preferences
+ <h3 class="title"><a name="id2630240" id=
+ "id2630240"></a>10.3.2.&nbsp;Global preferences
for native or pkgsrc software</h3>
</div>
</div>
@@ -6989,7 +7321,7 @@ CHECK_BUILTIN.foo?= no
<div>
<div>
<h2 class="title"><a name="options" id=
- "options"></a>Chapter&nbsp;10.&nbsp;Options
+ "options"></a>Chapter&nbsp;11.&nbsp;Options
handling</h2>
</div>
</div>
@@ -6999,10 +7331,10 @@ CHECK_BUILTIN.foo?= no
<p><b>Table of Contents</b></p>
<dl>
- <dt><span class="sect1"><a href="#id2629986">10.1.
+ <dt><span class="sect1"><a href="#id2630312">11.1.
Global default options</a></span></dt>
- <dt><span class="sect1"><a href="#id2630001">10.2.
+ <dt><span class="sect1"><a href="#id2630327">11.2.
Converting packages to use <code class=
"filename">bsd.options.mk</code></a></span></dt>
</dl>
@@ -7022,7 +7354,7 @@ CHECK_BUILTIN.foo?= no
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2629986" id="id2629986"></a>10.1.&nbsp;Global
+ "id2630312" id="id2630312"></a>11.1.&nbsp;Global
default options</h2>
</div>
</div>
@@ -7040,8 +7372,8 @@ CHECK_BUILTIN.foo?= no
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2630001" id=
- "id2630001"></a>10.2.&nbsp;Converting packages to
+ "id2630327" id=
+ "id2630327"></a>11.2.&nbsp;Converting packages to
use <code class=
"filename">bsd.options.mk</code></h2>
</div>
@@ -7191,7 +7523,7 @@ CONFIGURE_ARGS+= --enable-sasl=${BUILDLINK_PREFIX.sasl}
<div>
<div>
<h2 class="title"><a name="build" id=
- "build"></a>Chapter&nbsp;11.&nbsp;The build
+ "build"></a>Chapter&nbsp;12.&nbsp;The build
process</h2>
</div>
</div>
@@ -7201,14 +7533,14 @@ CONFIGURE_ARGS+= --enable-sasl=${BUILDLINK_PREFIX.sasl}
<p><b>Table of Contents</b></p>
<dl>
- <dt><span class="sect1"><a href="#build.prefix">11.1.
+ <dt><span class="sect1"><a href="#build.prefix">12.1.
Program location</a></span></dt>
- <dt><span class="sect1"><a href="#id2630624">11.2. Main
+ <dt><span class="sect1"><a href="#id2631086">12.2. Main
targets</a></span></dt>
<dt><span class="sect1"><a href=
- "#build.helpful-targets">11.3. Other helpful
+ "#build.helpful-targets">12.3. Other helpful
targets</a></span></dt>
</dl>
</div>
@@ -7231,7 +7563,7 @@ CONFIGURE_ARGS+= --enable-sasl=${BUILDLINK_PREFIX.sasl}
<div>
<h2 class="title" style="clear: both"><a name=
"build.prefix" id=
- "build.prefix"></a>11.1.&nbsp;Program location</h2>
+ "build.prefix"></a>12.1.&nbsp;Program location</h2>
</div>
</div>
</div>
@@ -7252,10 +7584,10 @@ CONFIGURE_ARGS+= --enable-sasl=${BUILDLINK_PREFIX.sasl}
be put into the various places in the program's source
where paths to these files are encoded. See <a href=
"#components.patches" title=
- "7.3.&nbsp;patches/*">Section&nbsp;7.3,
+ "8.3.&nbsp;patches/*">Section&nbsp;8.3,
&#8220;patches/*&#8221;</a> and <a href="#fixes.libtool"
title=
- "12.3.1.&nbsp;Shared libraries - libtool">Section&nbsp;12.3.1,
+ "13.3.1.&nbsp;Shared libraries - libtool">Section&nbsp;13.3.1,
&#8220;Shared libraries - libtool&#8221;</a> for more
details.</p>
@@ -7406,7 +7738,7 @@ GTKDIR_DEFAULT= ${LOCALBASE}
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2630624" id="id2630624"></a>11.2.&nbsp;Main
+ "id2631086" id="id2631086"></a>12.2.&nbsp;Main
targets</h2>
</div>
</div>
@@ -7533,7 +7865,7 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS}
handed in <code class=
"varname">PATCH_DIST_ARGS</code>. See <a href=
"#components.patches" title=
- "7.3.&nbsp;patches/*">Section&nbsp;7.3,
+ "8.3.&nbsp;patches/*">Section&nbsp;8.3,
&#8220;patches/*&#8221;</a> for more details.</p>
<p>By default <a href=
@@ -7657,7 +7989,7 @@ make build
<div>
<h2 class="title" style="clear: both"><a name=
"build.helpful-targets" id=
- "build.helpful-targets"></a>11.3.&nbsp;Other
+ "build.helpful-targets"></a>12.3.&nbsp;Other
helpful targets</h2>
</div>
</div>
@@ -8097,7 +8429,7 @@ make build
won't catch them!</p>
<p>See <a href="#print-PLIST" title=
- "8.3.&nbsp;Tweaking output of make print-PLIST">Section&nbsp;8.3,
+ "9.3.&nbsp;Tweaking output of make print-PLIST">Section&nbsp;9.3,
&#8220;Tweaking output of <span><strong class=
"command">make
print-PLIST</strong></span>&#8221;</a> for more
@@ -8175,7 +8507,7 @@ make build
<div>
<div>
<h2 class="title"><a name="fixes" id=
- "fixes"></a>Chapter&nbsp;12.&nbsp;Notes on fixes for
+ "fixes"></a>Chapter&nbsp;13.&nbsp;Notes on fixes for
packages</h2>
</div>
</div>
@@ -8185,179 +8517,179 @@ make build
<p><b>Table of Contents</b></p>
<dl>
- <dt><span class="sect1"><a href="#id2632120">12.1.
+ <dt><span class="sect1"><a href="#id2632515">13.1.
General operation</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2632123">12.1.1. How to pull in variables from
+ "#id2632518">13.1.1. How to pull in variables from
/etc/mk.conf</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2632275">12.1.2. Restricted
+ "#id2632601">13.1.2. Restricted
packages</a></span></dt>
<dt><span class="sect2"><a href=
- "#dependencies">12.1.3. Handling
+ "#dependencies">13.1.3. Handling
dependencies</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2632728">12.1.4. Handling conflicts with other
+ "#id2633123">13.1.4. Handling conflicts with other
packages</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2632846">12.1.5. Packages that cannot or should
+ "#id2633173">13.1.5. Packages that cannot or should
not be built</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2632872">12.1.6. Packages which should not be
+ "#id2633198">13.1.6. Packages which should not be
deleted, once installed</a></span></dt>
<dt><span class="sect2"><a href=
- "#security-handling">12.1.7. Handling packages with
+ "#security-handling">13.1.7. Handling packages with
security problems</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2632964">12.1.8. How to handle compiler
+ "#id2633290">13.1.8. How to handle compiler
bugs</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2633054">12.1.9. How to handle incrementing
+ "#id2633313">13.1.9. How to handle incrementing
versions when fixing an existing
package</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2633104">12.1.10. Portability of
+ "#id2633362">13.1.10. Portability of
packages</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2633128">12.2.
+ <dt><span class="sect1"><a href="#id2633386">13.2.
Possible downloading issues</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2633131">12.2.1. Packages whose distfiles
+ "#id2633389">13.2.1. Packages whose distfiles
aren't available for plain
downloading</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2633194">12.2.2. How to handle modified
+ "#id2633452">13.2.2. How to handle modified
distfiles with the 'old' name</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2633206">12.3.
+ <dt><span class="sect1"><a href="#id2633601">13.3.
Configuration gotchas</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#fixes.libtool">12.3.1. Shared libraries -
+ "#fixes.libtool">13.3.1. Shared libraries -
libtool</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2633640">12.3.2. Using libtool on GNU packages
+ "#id2634035">13.3.2. Using libtool on GNU packages
that already support libtool</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2633721">12.3.3. GNU
+ "#id2634184">13.3.3. GNU
Autoconf/Automake</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2633834">12.4.
+ <dt><span class="sect1"><a href="#id2634229">13.4.
Building considerations</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2633837">12.4.1. CPP defines</a></span></dt>
+ "#id2634232">13.4.1. CPP defines</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2633867">12.5.
+ <dt><span class="sect1"><a href="#id2634262">13.5.
Package specific actions</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#id2633870">12.5.1. Package configuration
+ "#id2634265">13.5.1. Package configuration
files</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2633973">12.5.2. User
+ "#id2634436">13.5.2. User
interaction</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634018">12.5.3. Handling
+ "#id2634549">13.5.3. Handling
licenses</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634169">12.5.4. Creating an account from a
+ "#id2634632">13.5.4. Creating an account from a
package</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634231">12.5.5. Installing score
+ "#id2634694">13.5.5. Installing score
files</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634411">12.5.6. Packages providing login
+ "#id2634738">13.5.6. Packages providing login
shells</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634469">12.5.7. Packages containing perl
+ "#id2634795">13.5.7. Packages containing perl
scripts</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634555">12.5.8. Packages with hardcoded paths
+ "#id2634813">13.5.8. Packages with hardcoded paths
to other interpreters</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634577">12.5.9. Packages installing perl
+ "#id2634835">13.5.9. Packages installing perl
modules</a></span></dt>
<dt><span class="sect2"><a href=
- "#faq.info-files">12.5.10. Packages installing info
+ "#faq.info-files">13.5.10. Packages installing info
files</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634865">12.5.11. Packages installing GConf2
+ "#id2635123">13.5.11. Packages installing GConf2
data files</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2634965">12.5.12. Packages installing
+ "#id2635360">13.5.12. Packages installing
scrollkeeper data files</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2635016">12.5.13. Packages installing X11
+ "#id2635411">13.5.13. Packages installing X11
fonts</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2635063">12.5.14. Packages installing GTK2
+ "#id2635526">13.5.14. Packages installing GTK2
modules</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2635201">12.5.15. Packages installing SGML or
+ "#id2635595">13.5.15. Packages installing SGML or
XML data</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2635253">12.5.16. Packages installing
+ "#id2635648">13.5.16. Packages installing
extensions to the MIME database</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2635323">12.5.17. Packages using
+ "#id2635718">13.5.17. Packages using
intltool</a></span></dt>
<dt><span class="sect2"><a href=
- "#id2635337">12.5.18. Packages installing startup
+ "#id2635732">13.5.18. Packages installing startup
scripts</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2635358">12.6.
+ <dt><span class="sect1"><a href="#id2635753">13.6.
Feedback to the author</a></span></dt>
</dl>
</div>
@@ -8367,7 +8699,7 @@ make build
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2632120" id="id2632120"></a>12.1.&nbsp;General
+ "id2632515" id="id2632515"></a>13.1.&nbsp;General
operation</h2>
</div>
</div>
@@ -8377,8 +8709,8 @@ make build
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2632123" id=
- "id2632123"></a>12.1.1.&nbsp;How to pull in
+ <h3 class="title"><a name="id2632518" id=
+ "id2632518"></a>13.1.1.&nbsp;How to pull in
variables from /etc/mk.conf</h3>
</div>
</div>
@@ -8438,8 +8770,8 @@ CFLAGS+= -your -flags
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2632275" id=
- "id2632275"></a>12.1.2.&nbsp;Restricted
+ <h3 class="title"><a name="id2632601" id=
+ "id2632601"></a>13.1.2.&nbsp;Restricted
packages</h3>
</div>
</div>
@@ -8518,7 +8850,7 @@ CFLAGS+= -your -flags
<div>
<div>
<h3 class="title"><a name="dependencies" id=
- "dependencies"></a>12.1.3.&nbsp;Handling
+ "dependencies"></a>13.1.3.&nbsp;Handling
dependencies</h3>
</div>
</div>
@@ -8533,7 +8865,7 @@ CFLAGS+= -your -flags
"filename">buildlink3.mk</code>, which is the preferred
way to handle dependencies, and which uses the
variables named above. See <a href="#buildlink" title=
- "Chapter&nbsp;9.&nbsp;Buildlink methodology">Chapter&nbsp;9,
+ "Chapter&nbsp;10.&nbsp;Buildlink methodology">Chapter&nbsp;10,
<i>Buildlink methodology</i></a> for more
information.</p>
@@ -8671,8 +9003,8 @@ RECOMMENDED+= tiff&gt;=3.6.1:../../graphics/tiff
vulnerabilities file as well as setting
<code class="varname">RECOMMENDED</code>, see
<a href="#security-handling" title=
- "12.1.7.&nbsp;Handling packages with security problems">
- Section 12.1.7, &#8220;Handling packages with
+ "13.1.7.&nbsp;Handling packages with security problems">
+ Section 13.1.7, &#8220;Handling packages with
security problems&#8221;</a> for more
information.</p>
</li>
@@ -8746,8 +9078,8 @@ pre-clean:
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2632728" id=
- "id2632728"></a>12.1.4.&nbsp;Handling conflicts
+ <h3 class="title"><a name="id2633123" id=
+ "id2633123"></a>13.1.4.&nbsp;Handling conflicts
with other packages</h3>
</div>
</div>
@@ -8794,8 +9126,8 @@ CONFLICTS= Xaw3d-[0-9]*
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2632846" id=
- "id2632846"></a>12.1.5.&nbsp;Packages that cannot
+ <h3 class="title"><a name="id2633173" id=
+ "id2633173"></a>13.1.5.&nbsp;Packages that cannot
or should not be built</h3>
</div>
</div>
@@ -8826,8 +9158,8 @@ CONFLICTS= Xaw3d-[0-9]*
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2632872" id=
- "id2632872"></a>12.1.6.&nbsp;Packages which
+ <h3 class="title"><a name="id2633198" id=
+ "id2633198"></a>13.1.6.&nbsp;Packages which
should not be deleted, once installed</h3>
</div>
</div>
@@ -8852,7 +9184,7 @@ CONFLICTS= Xaw3d-[0-9]*
<div>
<div>
<h3 class="title"><a name="security-handling" id=
- "security-handling"></a>12.1.7.&nbsp;Handling
+ "security-handling"></a>13.1.7.&nbsp;Handling
packages with security problems</h3>
</div>
</div>
@@ -8876,7 +9208,7 @@ CONFLICTS= Xaw3d-[0-9]*
"varname">BUILDLINK_RECOMMENDED.<em class=
"replaceable"><code>pkg</code></em></code> entry should
be considered. See <a href="#buildlink" title=
- "Chapter&nbsp;9.&nbsp;Buildlink methodology">Chapter&nbsp;9,
+ "Chapter&nbsp;10.&nbsp;Buildlink methodology">Chapter&nbsp;10,
<i>Buildlink methodology</i></a> for more information
about writing <code class=
"filename">buildlink3.mk</code> files and <code class=
@@ -8890,8 +9222,8 @@ CONFLICTS= Xaw3d-[0-9]*
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2632964" id=
- "id2632964"></a>12.1.8.&nbsp;How to handle
+ <h3 class="title"><a name="id2633290" id=
+ "id2633290"></a>13.1.8.&nbsp;How to handle
compiler bugs</h3>
</div>
</div>
@@ -8916,8 +9248,8 @@ CONFLICTS= Xaw3d-[0-9]*
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2633054" id=
- "id2633054"></a>12.1.9.&nbsp;How to handle
+ <h3 class="title"><a name="id2633313" id=
+ "id2633313"></a>13.1.9.&nbsp;How to handle
incrementing versions when fixing an existing
package</h3>
</div>
@@ -8957,8 +9289,8 @@ DISTNAME= foo-17.43
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2633104" id=
- "id2633104"></a>12.1.10.&nbsp;Portability of
+ <h3 class="title"><a name="id2633362" id=
+ "id2633362"></a>13.1.10.&nbsp;Portability of
packages</h3>
</div>
</div>
@@ -8974,8 +9306,8 @@ DISTNAME= foo-17.43
<div class="titlepage">
<div>
<div>
- <h4 class="title"><a name="id2633109" id=
- "id2633109"></a>12.1.10.1.&nbsp;${INSTALL},
+ <h4 class="title"><a name="id2633367" id=
+ "id2633367"></a>13.1.10.1.&nbsp;${INSTALL},
${INSTALL_DATA_DIR}, ...</h4>
</div>
</div>
@@ -9000,7 +9332,7 @@ ${INSTALL_DATA_DIR} ${PREFIX}/dir2
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2633128" id="id2633128"></a>12.2.&nbsp;Possible
+ "id2633386" id="id2633386"></a>13.2.&nbsp;Possible
downloading issues</h2>
</div>
</div>
@@ -9010,8 +9342,8 @@ ${INSTALL_DATA_DIR} ${PREFIX}/dir2
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2633131" id=
- "id2633131"></a>12.2.1.&nbsp;Packages whose
+ <h3 class="title"><a name="id2633389" id=
+ "id2633389"></a>13.2.1.&nbsp;Packages whose
distfiles aren't available for plain
downloading</h3>
</div>
@@ -9072,8 +9404,8 @@ ${INSTALL_DATA_DIR} ${PREFIX}/dir2
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2633194" id=
- "id2633194"></a>12.2.2.&nbsp;How to handle
+ <h3 class="title"><a name="id2633452" id=
+ "id2633452"></a>13.2.2.&nbsp;How to handle
modified distfiles with the 'old' name</h3>
</div>
</div>
@@ -9102,8 +9434,8 @@ ${INSTALL_DATA_DIR} ${PREFIX}/dir2
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2633206" id=
- "id2633206"></a>12.3.&nbsp;Configuration
+ "id2633601" id=
+ "id2633601"></a>13.3.&nbsp;Configuration
gotchas</h2>
</div>
</div>
@@ -9114,7 +9446,7 @@ ${INSTALL_DATA_DIR} ${PREFIX}/dir2
<div>
<div>
<h3 class="title"><a name="fixes.libtool" id=
- "fixes.libtool"></a>12.3.1.&nbsp;Shared libraries
+ "fixes.libtool"></a>13.3.1.&nbsp;Shared libraries
- libtool</h3>
</div>
</div>
@@ -9322,8 +9654,8 @@ ${LIBTOOL} --mode=install ${BSD_INSTALL_DATA} ${SOMELIB:.a=.la} ${PREFIX}/lib
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2633640" id=
- "id2633640"></a>12.3.2.&nbsp;Using libtool on GNU
+ <h3 class="title"><a name="id2634035" id=
+ "id2634035"></a>13.3.2.&nbsp;Using libtool on GNU
packages that already support libtool</h3>
</div>
</div>
@@ -9401,8 +9733,8 @@ ${LIBTOOL} --mode=install ${BSD_INSTALL_DATA} ${SOMELIB:.a=.la} ${PREFIX}/lib
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2633721" id=
- "id2633721"></a>12.3.3.&nbsp;GNU
+ <h3 class="title"><a name="id2634184" id=
+ "id2634184"></a>13.3.3.&nbsp;GNU
Autoconf/Automake</h3>
</div>
</div>
@@ -9468,7 +9800,7 @@ pre-configure:
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2633834" id="id2633834"></a>12.4.&nbsp;Building
+ "id2634229" id="id2634229"></a>13.4.&nbsp;Building
considerations</h2>
</div>
</div>
@@ -9478,8 +9810,8 @@ pre-configure:
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2633837" id=
- "id2633837"></a>12.4.1.&nbsp;CPP defines</h3>
+ <h3 class="title"><a name="id2634232" id=
+ "id2634232"></a>13.4.1.&nbsp;CPP defines</h3>
</div>
</div>
</div>
@@ -9518,7 +9850,7 @@ pre-configure:
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2633867" id="id2633867"></a>12.5.&nbsp;Package
+ "id2634262" id="id2634262"></a>13.5.&nbsp;Package
specific actions</h2>
</div>
</div>
@@ -9528,8 +9860,8 @@ pre-configure:
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2633870" id=
- "id2633870"></a>12.5.1.&nbsp;Package
+ <h3 class="title"><a name="id2634265" id=
+ "id2634265"></a>13.5.1.&nbsp;Package
configuration files</h3>
</div>
</div>
@@ -9601,8 +9933,8 @@ pre-configure:
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2633973" id=
- "id2633973"></a>12.5.2.&nbsp;User
+ <h3 class="title"><a name="id2634436" id=
+ "id2634436"></a>13.5.2.&nbsp;User
interaction</h3>
</div>
</div>
@@ -9651,8 +9983,8 @@ INTERACTIVE_STAGE= configure install
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2634018" id=
- "id2634018"></a>12.5.3.&nbsp;Handling
+ <h3 class="title"><a name="id2634549" id=
+ "id2634549"></a>13.5.3.&nbsp;Handling
licenses</h3>
</div>
</div>
@@ -9726,8 +10058,8 @@ ACCEPTABLE_LICENSES+=graphviz-license
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2634169" id=
- "id2634169"></a>12.5.4.&nbsp;Creating an account
+ <h3 class="title"><a name="id2634632" id=
+ "id2634632"></a>13.5.4.&nbsp;Creating an account
from a package</h3>
</div>
</div>
@@ -9781,8 +10113,8 @@ user:group[:[userid][:[description][:[home][:shell]]]]
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2634231" id=
- "id2634231"></a>12.5.5.&nbsp;Installing score
+ <h3 class="title"><a name="id2634694" id=
+ "id2634694"></a>13.5.5.&nbsp;Installing score
files</h3>
</div>
</div>
@@ -9819,8 +10151,8 @@ user:group[:[userid][:[description][:[home][:shell]]]]
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2634411" id=
- "id2634411"></a>12.5.6.&nbsp;Packages providing
+ <h3 class="title"><a name="id2634738" id=
+ "id2634738"></a>13.5.6.&nbsp;Packages providing
login shells</h3>
</div>
</div>
@@ -9855,8 +10187,8 @@ user:group[:[userid][:[description][:[home][:shell]]]]
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2634469" id=
- "id2634469"></a>12.5.7.&nbsp;Packages containing
+ <h3 class="title"><a name="id2634795" id=
+ "id2634795"></a>13.5.7.&nbsp;Packages containing
perl scripts</h3>
</div>
</div>
@@ -9874,8 +10206,8 @@ user:group[:[userid][:[description][:[home][:shell]]]]
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2634555" id=
- "id2634555"></a>12.5.8.&nbsp;Packages with
+ <h3 class="title"><a name="id2634813" id=
+ "id2634813"></a>13.5.8.&nbsp;Packages with
hardcoded paths to other interpreters</h3>
</div>
</div>
@@ -9901,8 +10233,8 @@ user:group[:[userid][:[description][:[home][:shell]]]]
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2634577" id=
- "id2634577"></a>12.5.9.&nbsp;Packages installing
+ <h3 class="title"><a name="id2634835" id=
+ "id2634835"></a>13.5.9.&nbsp;Packages installing
perl modules</h3>
</div>
</div>
@@ -9945,7 +10277,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<div>
<div>
<h3 class="title"><a name="faq.info-files" id=
- "faq.info-files"></a>12.5.10.&nbsp;Packages
+ "faq.info-files"></a>13.5.10.&nbsp;Packages
installing info files</h3>
</div>
</div>
@@ -10041,8 +10373,8 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2634865" id=
- "id2634865"></a>12.5.11.&nbsp;Packages installing
+ <h3 class="title"><a name="id2635123" id=
+ "id2635123"></a>13.5.11.&nbsp;Packages installing
GConf2 data files</h3>
</div>
</div>
@@ -10116,8 +10448,8 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2634965" id=
- "id2634965"></a>12.5.12.&nbsp;Packages installing
+ <h3 class="title"><a name="id2635360" id=
+ "id2635360"></a>13.5.12.&nbsp;Packages installing
scrollkeeper data files</h3>
</div>
</div>
@@ -10161,8 +10493,8 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2635016" id=
- "id2635016"></a>12.5.13.&nbsp;Packages installing
+ <h3 class="title"><a name="id2635411" id=
+ "id2635411"></a>13.5.13.&nbsp;Packages installing
X11 fonts</h3>
</div>
</div>
@@ -10199,8 +10531,8 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2635063" id=
- "id2635063"></a>12.5.14.&nbsp;Packages installing
+ <h3 class="title"><a name="id2635526" id=
+ "id2635526"></a>13.5.14.&nbsp;Packages installing
GTK2 modules</h3>
</div>
</div>
@@ -10266,8 +10598,8 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2635201" id=
- "id2635201"></a>12.5.15.&nbsp;Packages installing
+ <h3 class="title"><a name="id2635595" id=
+ "id2635595"></a>13.5.15.&nbsp;Packages installing
SGML or XML data</h3>
</div>
</div>
@@ -10328,8 +10660,8 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2635253" id=
- "id2635253"></a>12.5.16.&nbsp;Packages installing
+ <h3 class="title"><a name="id2635648" id=
+ "id2635648"></a>13.5.16.&nbsp;Packages installing
extensions to the MIME database</h3>
</div>
</div>
@@ -10387,8 +10719,8 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2635323" id=
- "id2635323"></a>12.5.17.&nbsp;Packages using
+ <h3 class="title"><a name="id2635718" id=
+ "id2635718"></a>13.5.17.&nbsp;Packages using
intltool</h3>
</div>
</div>
@@ -10411,8 +10743,8 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2635337" id=
- "id2635337"></a>12.5.18.&nbsp;Packages installing
+ <h3 class="title"><a name="id2635732" id=
+ "id2635732"></a>13.5.18.&nbsp;Packages installing
startup scripts</h3>
</div>
</div>
@@ -10435,7 +10767,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2635358" id="id2635358"></a>12.6.&nbsp;Feedback
+ "id2635753" id="id2635753"></a>13.6.&nbsp;Feedback
to the author</h2>
</div>
</div>
@@ -10459,7 +10791,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<div>
<div>
<h2 class="title"><a name="debug" id=
- "debug"></a>Chapter&nbsp;13.&nbsp;Debugging</h2>
+ "debug"></a>Chapter&nbsp;14.&nbsp;Debugging</h2>
</div>
</div>
</div>
@@ -10558,7 +10890,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<p>Look at the <code class=
"filename">Makefile</code>, fix if necessary; see
<a href="#components.Makefile" title=
- "7.1.&nbsp;Makefile">Section&nbsp;7.1,
+ "8.1.&nbsp;Makefile">Section&nbsp;8.1,
&#8220;<code class=
"filename">Makefile</code>&#8221;</a>.</p>
</li>
@@ -10649,7 +10981,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<li>
<p>Submit (or commit, if you have cvs access); see
<a href="#submit" title=
- "Chapter&nbsp;14.&nbsp;Submitting and Committing">Chapter&nbsp;14,
+ "Chapter&nbsp;15.&nbsp;Submitting and Committing">Chapter&nbsp;15,
<i>Submitting and Committing</i></a>.</p>
</li>
</ul>
@@ -10661,7 +10993,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<div>
<div>
<h2 class="title"><a name="submit" id=
- "submit"></a>Chapter&nbsp;14.&nbsp;Submitting and
+ "submit"></a>Chapter&nbsp;15.&nbsp;Submitting and
Committing</h2>
</div>
</div>
@@ -10671,17 +11003,17 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<p><b>Table of Contents</b></p>
<dl>
- <dt><span class="sect1"><a href="#id2635957">14.1.
+ <dt><span class="sect1"><a href="#id2636215">15.1.
Submitting your packages</a></span></dt>
- <dt><span class="sect1"><a href="#id2636014">14.2.
+ <dt><span class="sect1"><a href="#id2636273">15.2.
Committing: Importing a package into
CVS</a></span></dt>
- <dt><span class="sect1"><a href="#id2636077">14.3.
+ <dt><span class="sect1"><a href="#id2636540">15.3.
Updating a package to a newer version</a></span></dt>
- <dt><span class="sect1"><a href="#id2636097">14.4.
+ <dt><span class="sect1"><a href="#id2636560">15.4.
Moving a package in pkgsrc</a></span></dt>
</dl>
</div>
@@ -10691,8 +11023,8 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2635957" id=
- "id2635957"></a>14.1.&nbsp;Submitting your
+ "id2636215" id=
+ "id2636215"></a>15.1.&nbsp;Submitting your
packages</h2>
</div>
</div>
@@ -10725,7 +11057,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<p>First, check that your package is complete,
compiles and runs well; see <a href="#debug" title=
- "Chapter&nbsp;13.&nbsp;Debugging">Chapter&nbsp;13,
+ "Chapter&nbsp;14.&nbsp;Debugging">Chapter&nbsp;14,
<i>Debugging</i></a> and the rest of this document.
Next, generate an uuencoded gzipped <a href=
"http://netbsd.gw.com/cgi-bin/man-cgi?tar+1+NetBSD-current">
@@ -10761,8 +11093,8 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2636014" id=
- "id2636014"></a>14.2.&nbsp;Committing: Importing a
+ "id2636273" id=
+ "id2636273"></a>15.2.&nbsp;Committing: Importing a
package into CVS</h2>
</div>
</div>
@@ -10818,7 +11150,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2636077" id="id2636077"></a>14.3.&nbsp;Updating
+ "id2636540" id="id2636540"></a>15.3.&nbsp;Updating
a package to a newer version</h2>
</div>
</div>
@@ -10869,7 +11201,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2636097" id="id2636097"></a>14.4.&nbsp;Moving a
+ "id2636560" id="id2636560"></a>15.4.&nbsp;Moving a
package in pkgsrc</h2>
</div>
</div>
@@ -10970,27 +11302,27 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<p><b>Table of Contents</b></p>
<dl>
- <dt><span class="sect1"><a href="#id2636323">A.1.
+ <dt><span class="sect1"><a href="#id2636786">A.1.
files</a></span></dt>
<dd>
<dl>
- <dt><span class="sect2"><a href="#id2636326">A.1.1.
+ <dt><span class="sect2"><a href="#id2636789">A.1.1.
Makefile</a></span></dt>
- <dt><span class="sect2"><a href="#id2636333">A.1.2.
+ <dt><span class="sect2"><a href="#id2636796">A.1.2.
DESCR</a></span></dt>
- <dt><span class="sect2"><a href="#id2636348">A.1.3.
+ <dt><span class="sect2"><a href="#id2636811">A.1.3.
PLIST</a></span></dt>
- <dt><span class="sect2"><a href="#id2636356">A.1.4.
+ <dt><span class="sect2"><a href="#id2636819">A.1.4.
Checking a package with <span><strong class=
"command">pkglint</strong></span></a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#id2636465">A.2. Steps
+ <dt><span class="sect1"><a href="#id2636859">A.2. Steps
for building, installing, packaging</a></span></dt>
</dl>
</div>
@@ -11008,7 +11340,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2636323" id="id2636323"></a>A.1.&nbsp;files</h2>
+ "id2636786" id="id2636786"></a>A.1.&nbsp;files</h2>
</div>
</div>
</div>
@@ -11017,8 +11349,8 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2636326" id=
- "id2636326"></a>A.1.1.&nbsp;Makefile</h3>
+ <h3 class="title"><a name="id2636789" id=
+ "id2636789"></a>A.1.1.&nbsp;Makefile</h3>
</div>
</div>
</div>
@@ -11045,8 +11377,8 @@ INFO_FILES= bison.info
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2636333" id=
- "id2636333"></a>A.1.2.&nbsp;DESCR</h3>
+ <h3 class="title"><a name="id2636796" id=
+ "id2636796"></a>A.1.2.&nbsp;DESCR</h3>
</div>
</div>
</div>
@@ -11062,8 +11394,8 @@ of the NetBSD source tree is beyond me.
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2636348" id=
- "id2636348"></a>A.1.3.&nbsp;PLIST</h3>
+ <h3 class="title"><a name="id2636811" id=
+ "id2636811"></a>A.1.3.&nbsp;PLIST</h3>
</div>
</div>
</div>
@@ -11080,8 +11412,8 @@ share/bison.hairy
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a name="id2636356" id=
- "id2636356"></a>A.1.4.&nbsp;Checking a package with
+ <h3 class="title"><a name="id2636819" id=
+ "id2636819"></a>A.1.4.&nbsp;Checking a package with
<span><strong class=
"command">pkglint</strong></span></h3>
</div>
@@ -11100,10 +11432,6 @@ share/bison.hairy
<pre class="screen">
<code class="prompt">$</code> <strong class=
"userinput"><code>pkglint</code></strong>
-OK: checking ./DESCR.
-OK: checking Makefile.
-OK: checking distinfo.
-OK: checking patches/patch-aa.
looks fine.
</pre>
@@ -11119,7 +11447,7 @@ looks fine.
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2636465" id="id2636465"></a>A.2.&nbsp;Steps for
+ "id2636859" id="id2636859"></a>A.2.&nbsp;Steps for
building, installing, packaging</h2>
</div>
</div>
@@ -11141,8 +11469,8 @@ looks fine.
<p>Create <code class="filename">Makefile</code>,
<code class="filename">DESCR</code> and <code class=
"filename">PLIST</code> (see <a href="#components" title=
- "Chapter&nbsp;7.&nbsp;Package components - files, directories and contents">
- Chapter 7, <i>Package components - files, directories and
+ "Chapter&nbsp;8.&nbsp;Package components - files, directories and contents">
+ Chapter 8, <i>Package components - files, directories and
contents</i></a>) then continue with fetching the
distfile:</p>
<pre class="screen">
@@ -11537,10 +11865,10 @@ Registering depends:.
<p><b>Table of Contents</b></p>
<dl>
- <dt><span class="sect1"><a href="#id2637111">D.1.
+ <dt><span class="sect1"><a href="#id2637574">D.1.
Targets</a></span></dt>
- <dt><span class="sect1"><a href="#id2637517">D.2.
+ <dt><span class="sect1"><a href="#id2637776">D.2.
Procedure</a></span></dt>
</dl>
</div>
@@ -11553,7 +11881,7 @@ Registering depends:.
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2637111" id="id2637111"></a>D.1.&nbsp;Targets</h2>
+ "id2637574" id="id2637574"></a>D.1.&nbsp;Targets</h2>
</div>
</div>
</div>
@@ -11604,8 +11932,8 @@ Registering depends:.
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "id2637517" id=
- "id2637517"></a>D.2.&nbsp;Procedure</h2>
+ "id2637776" id=
+ "id2637776"></a>D.2.&nbsp;Procedure</h2>
</div>
</div>
</div>
diff --git a/doc/pkgsrc.txt b/doc/pkgsrc.txt
index 9be7232bf02..04e91623990 100644
--- a/doc/pkgsrc.txt
+++ b/doc/pkgsrc.txt
@@ -14,7 +14,7 @@ The pkgsrc Developers
Copyright (C) 1994-2004 The NetBSD Foundation, Inc
-$NetBSD: pkgsrc.xml,v 1.4 2005/05/07 22:28:47 wiz Exp $
+$NetBSD: pkgsrc.xml,v 1.5 2005/05/10 00:27:43 rillig Exp $
Abstract
@@ -109,113 +109,122 @@ I. The pkgsrc user's guide
II. The pkgsrc developer's guide
- 7. Package components - files, directories and contents
+ 7. Programming in Makefiles
- 7.1. Makefile
- 7.2. distinfo
- 7.3. patches/*
- 7.4. Other mandatory files
- 7.5. Optional files
- 7.6. work*
- 7.7. files/*
+ 7.1. Makefile variables
+ 7.2. Code snippets
- 8. PLIST issues
+ 7.2.1. Adding things to a list
+ 7.2.2. Converting an internal list into an external list
+ 7.2.3. Passing variables to a shell command
- 8.1. RCS ID
- 8.2. Semi-automatic PLIST generation
- 8.3. Tweaking output of make print-PLIST
- 8.4. Variable substitution in PLIST
- 8.5. Manpage-compression
- 8.6. Changing PLIST source with PLIST_SRC
- 8.7. Platform specific and differing PLISTs
- 8.8. Sharing directories between packages
+ 8. Package components - files, directories and contents
- 9. Buildlink methodology
+ 8.1. Makefile
+ 8.2. distinfo
+ 8.3. patches/*
+ 8.4. Other mandatory files
+ 8.5. Optional files
+ 8.6. work*
+ 8.7. files/*
- 9.1. Converting packages to use buildlink3
- 9.2. Writing buildlink3.mk files
+ 9. PLIST issues
- 9.2.1. Anatomy of a buildlink3.mk file
- 9.2.2. Updating BUILDLINK_DEPENDS.pkg in buildlink3.mk files
+ 9.1. RCS ID
+ 9.2. Semi-automatic PLIST generation
+ 9.3. Tweaking output of make print-PLIST
+ 9.4. Variable substitution in PLIST
+ 9.5. Manpage-compression
+ 9.6. Changing PLIST source with PLIST_SRC
+ 9.7. Platform specific and differing PLISTs
+ 9.8. Sharing directories between packages
- 9.3. Writing builtin.mk files
+ 10. Buildlink methodology
- 9.3.1. Anatomy of a builtin.mk file
- 9.3.2. Global preferences for native or pkgsrc software
+ 10.1. Converting packages to use buildlink3
+ 10.2. Writing buildlink3.mk files
- 10. Options handling
+ 10.2.1. Anatomy of a buildlink3.mk file
+ 10.2.2. Updating BUILDLINK_DEPENDS.pkg in buildlink3.mk files
- 10.1. Global default options
- 10.2. Converting packages to use bsd.options.mk
+ 10.3. Writing builtin.mk files
- 11. The build process
+ 10.3.1. Anatomy of a builtin.mk file
+ 10.3.2. Global preferences for native or pkgsrc software
- 11.1. Program location
- 11.2. Main targets
- 11.3. Other helpful targets
+ 11. Options handling
- 12. Notes on fixes for packages
+ 11.1. Global default options
+ 11.2. Converting packages to use bsd.options.mk
- 12.1. General operation
+ 12. The build process
- 12.1.1. How to pull in variables from /etc/mk.conf
- 12.1.2. Restricted packages
- 12.1.3. Handling dependencies
- 12.1.4. Handling conflicts with other packages
- 12.1.5. Packages that cannot or should not be built
- 12.1.6. Packages which should not be deleted, once installed
- 12.1.7. Handling packages with security problems
- 12.1.8. How to handle compiler bugs
- 12.1.9. How to handle incrementing versions when fixing an existing
+ 12.1. Program location
+ 12.2. Main targets
+ 12.3. Other helpful targets
+
+ 13. Notes on fixes for packages
+
+ 13.1. General operation
+
+ 13.1.1. How to pull in variables from /etc/mk.conf
+ 13.1.2. Restricted packages
+ 13.1.3. Handling dependencies
+ 13.1.4. Handling conflicts with other packages
+ 13.1.5. Packages that cannot or should not be built
+ 13.1.6. Packages which should not be deleted, once installed
+ 13.1.7. Handling packages with security problems
+ 13.1.8. How to handle compiler bugs
+ 13.1.9. How to handle incrementing versions when fixing an existing
package
- 12.1.10. Portability of packages
+ 13.1.10. Portability of packages
- 12.2. Possible downloading issues
+ 13.2. Possible downloading issues
- 12.2.1. Packages whose distfiles aren't available for plain
+ 13.2.1. Packages whose distfiles aren't available for plain
downloading
- 12.2.2. How to handle modified distfiles with the 'old' name
+ 13.2.2. How to handle modified distfiles with the 'old' name
- 12.3. Configuration gotchas
+ 13.3. Configuration gotchas
- 12.3.1. Shared libraries - libtool
- 12.3.2. Using libtool on GNU packages that already support libtool
- 12.3.3. GNU Autoconf/Automake
+ 13.3.1. Shared libraries - libtool
+ 13.3.2. Using libtool on GNU packages that already support libtool
+ 13.3.3. GNU Autoconf/Automake
- 12.4. Building considerations
+ 13.4. Building considerations
- 12.4.1. CPP defines
+ 13.4.1. CPP defines
- 12.5. Package specific actions
+ 13.5. Package specific actions
- 12.5.1. Package configuration files
- 12.5.2. User interaction
- 12.5.3. Handling licenses
- 12.5.4. Creating an account from a package
- 12.5.5. Installing score files
- 12.5.6. Packages providing login shells
- 12.5.7. Packages containing perl scripts
- 12.5.8. Packages with hardcoded paths to other interpreters
- 12.5.9. Packages installing perl modules
- 12.5.10. Packages installing info files
- 12.5.11. Packages installing GConf2 data files
- 12.5.12. Packages installing scrollkeeper data files
- 12.5.13. Packages installing X11 fonts
- 12.5.14. Packages installing GTK2 modules
- 12.5.15. Packages installing SGML or XML data
- 12.5.16. Packages installing extensions to the MIME database
- 12.5.17. Packages using intltool
- 12.5.18. Packages installing startup scripts
+ 13.5.1. Package configuration files
+ 13.5.2. User interaction
+ 13.5.3. Handling licenses
+ 13.5.4. Creating an account from a package
+ 13.5.5. Installing score files
+ 13.5.6. Packages providing login shells
+ 13.5.7. Packages containing perl scripts
+ 13.5.8. Packages with hardcoded paths to other interpreters
+ 13.5.9. Packages installing perl modules
+ 13.5.10. Packages installing info files
+ 13.5.11. Packages installing GConf2 data files
+ 13.5.12. Packages installing scrollkeeper data files
+ 13.5.13. Packages installing X11 fonts
+ 13.5.14. Packages installing GTK2 modules
+ 13.5.15. Packages installing SGML or XML data
+ 13.5.16. Packages installing extensions to the MIME database
+ 13.5.17. Packages using intltool
+ 13.5.18. Packages installing startup scripts
- 12.6. Feedback to the author
+ 13.6. Feedback to the author
- 13. Debugging
- 14. Submitting and Committing
+ 14. Debugging
+ 15. Submitting and Committing
- 14.1. Submitting your packages
- 14.2. Committing: Importing a package into CVS
- 14.3. Updating a package to a newer version
- 14.4. Moving a package in pkgsrc
+ 15.1. Submitting your packages
+ 15.2. Committing: Importing a package into CVS
+ 15.3. Updating a package to a newer version
+ 15.4. Moving a package in pkgsrc
A. A simple example package: bison
@@ -1167,12 +1176,12 @@ manipulate it. Binary packages are created by default in /usr/pkgsrc/packages,
in the form of a gzipped tar file. See Section B.2, "Packaging figlet" for a
continuation of the above misc/figlet example.
-See Chapter 14, Submitting and Committing for information on how to submit such
+See Chapter 15, Submitting and Committing for information on how to submit such
a binary package.
5.2. Settings for creation of binary packages
-See Section 11.3, "Other helpful targets".
+See Section 12.3, "Other helpful targets".
5.3. Doing a bulk build of all packages
@@ -1880,129 +1889,262 @@ The pkgsrc developer's guide
Table of Contents
-7. Package components - files, directories and contents
+7. Programming in Makefiles
+
+ 7.1. Makefile variables
+ 7.2. Code snippets
+
+ 7.2.1. Adding things to a list
+ 7.2.2. Converting an internal list into an external list
+ 7.2.3. Passing variables to a shell command
+
+8. Package components - files, directories and contents
- 7.1. Makefile
- 7.2. distinfo
- 7.3. patches/*
- 7.4. Other mandatory files
- 7.5. Optional files
- 7.6. work*
- 7.7. files/*
+ 8.1. Makefile
+ 8.2. distinfo
+ 8.3. patches/*
+ 8.4. Other mandatory files
+ 8.5. Optional files
+ 8.6. work*
+ 8.7. files/*
-8. PLIST issues
+9. PLIST issues
- 8.1. RCS ID
- 8.2. Semi-automatic PLIST generation
- 8.3. Tweaking output of make print-PLIST
- 8.4. Variable substitution in PLIST
- 8.5. Manpage-compression
- 8.6. Changing PLIST source with PLIST_SRC
- 8.7. Platform specific and differing PLISTs
- 8.8. Sharing directories between packages
+ 9.1. RCS ID
+ 9.2. Semi-automatic PLIST generation
+ 9.3. Tweaking output of make print-PLIST
+ 9.4. Variable substitution in PLIST
+ 9.5. Manpage-compression
+ 9.6. Changing PLIST source with PLIST_SRC
+ 9.7. Platform specific and differing PLISTs
+ 9.8. Sharing directories between packages
-9. Buildlink methodology
+10. Buildlink methodology
- 9.1. Converting packages to use buildlink3
- 9.2. Writing buildlink3.mk files
+ 10.1. Converting packages to use buildlink3
+ 10.2. Writing buildlink3.mk files
- 9.2.1. Anatomy of a buildlink3.mk file
- 9.2.2. Updating BUILDLINK_DEPENDS.pkg in buildlink3.mk files
+ 10.2.1. Anatomy of a buildlink3.mk file
+ 10.2.2. Updating BUILDLINK_DEPENDS.pkg in buildlink3.mk files
- 9.3. Writing builtin.mk files
+ 10.3. Writing builtin.mk files
- 9.3.1. Anatomy of a builtin.mk file
- 9.3.2. Global preferences for native or pkgsrc software
+ 10.3.1. Anatomy of a builtin.mk file
+ 10.3.2. Global preferences for native or pkgsrc software
-10. Options handling
+11. Options handling
- 10.1. Global default options
- 10.2. Converting packages to use bsd.options.mk
+ 11.1. Global default options
+ 11.2. Converting packages to use bsd.options.mk
-11. The build process
+12. The build process
- 11.1. Program location
- 11.2. Main targets
- 11.3. Other helpful targets
+ 12.1. Program location
+ 12.2. Main targets
+ 12.3. Other helpful targets
-12. Notes on fixes for packages
+13. Notes on fixes for packages
- 12.1. General operation
+ 13.1. General operation
- 12.1.1. How to pull in variables from /etc/mk.conf
- 12.1.2. Restricted packages
- 12.1.3. Handling dependencies
- 12.1.4. Handling conflicts with other packages
- 12.1.5. Packages that cannot or should not be built
- 12.1.6. Packages which should not be deleted, once installed
- 12.1.7. Handling packages with security problems
- 12.1.8. How to handle compiler bugs
- 12.1.9. How to handle incrementing versions when fixing an existing
+ 13.1.1. How to pull in variables from /etc/mk.conf
+ 13.1.2. Restricted packages
+ 13.1.3. Handling dependencies
+ 13.1.4. Handling conflicts with other packages
+ 13.1.5. Packages that cannot or should not be built
+ 13.1.6. Packages which should not be deleted, once installed
+ 13.1.7. Handling packages with security problems
+ 13.1.8. How to handle compiler bugs
+ 13.1.9. How to handle incrementing versions when fixing an existing
package
- 12.1.10. Portability of packages
+ 13.1.10. Portability of packages
+
+ 13.2. Possible downloading issues
+
+ 13.2.1. Packages whose distfiles aren't available for plain downloading
+ 13.2.2. How to handle modified distfiles with the 'old' name
+
+ 13.3. Configuration gotchas
+
+ 13.3.1. Shared libraries - libtool
+ 13.3.2. Using libtool on GNU packages that already support libtool
+ 13.3.3. GNU Autoconf/Automake
+
+ 13.4. Building considerations
+
+ 13.4.1. CPP defines
+
+ 13.5. Package specific actions
+
+ 13.5.1. Package configuration files
+ 13.5.2. User interaction
+ 13.5.3. Handling licenses
+ 13.5.4. Creating an account from a package
+ 13.5.5. Installing score files
+ 13.5.6. Packages providing login shells
+ 13.5.7. Packages containing perl scripts
+ 13.5.8. Packages with hardcoded paths to other interpreters
+ 13.5.9. Packages installing perl modules
+ 13.5.10. Packages installing info files
+ 13.5.11. Packages installing GConf2 data files
+ 13.5.12. Packages installing scrollkeeper data files
+ 13.5.13. Packages installing X11 fonts
+ 13.5.14. Packages installing GTK2 modules
+ 13.5.15. Packages installing SGML or XML data
+ 13.5.16. Packages installing extensions to the MIME database
+ 13.5.17. Packages using intltool
+ 13.5.18. Packages installing startup scripts
+
+ 13.6. Feedback to the author
+
+14. Debugging
+15. Submitting and Committing
+
+ 15.1. Submitting your packages
+ 15.2. Committing: Importing a package into CVS
+ 15.3. Updating a package to a newer version
+ 15.4. Moving a package in pkgsrc
+
+Chapter 7. Programming in Makefiles
+
+Table of Contents
+
+7.1. Makefile variables
+7.2. Code snippets
+
+ 7.2.1. Adding things to a list
+ 7.2.2. Converting an internal list into an external list
+ 7.2.3. Passing variables to a shell command
+
+WARNING: The make(1) man page is wrong. After the man page has been corrected,
+this chapter will be updated. Until that, don't take it too serious.
+
+Pkgsrc consists of many Makefile fragments, each of which forms a well-defined
+part of the pkgsrc system. Using the make(1) system as a programming language
+for a big system like pkgsrc requires some discipline to keep the code correct
+and understandable.
+
+The basic ingredients for Makefile programming are variables (which are
+actually macros) and shell commands. Among these shell commands may even be
+more complex ones like awk(1) programs. To make sure that every shell command
+runs as intended it is necessary to quote all variables correctly when they are
+used.
+
+This chapter describes some patterns, that appear quite often in Makefiles,
+including the pitfalls that come along with them.
+
+7.1. Makefile variables
+
+A restriction common to all types of variables is that they can neither contain
+a newline character nor the '\0' character nor the '#' character. The effects
+of the backslash character is not documented, so you should not use it at the
+moment. As the $ is used to get values of a Makefile variable, it must be
+quoted as $$.
+
+There are several types of variables that must be handled differently.
+
+ * Simple values (which I will call atoms) can contain any string, which does
+ not have to be quoted in any way. All other types are somewhat restricted
+ in their possible values.
+
+ * Internal lists are lists that are never exported to any shell command.
+ Their elements are separated by whitespace. Therefore the elements
+ themselves cannot have embedded whitespace. Any other characters are
+ allowed. Internal lists can be used in .for loops. Examples are DEPENDS,
+ BUILD_DEPENDS.
+
+ * External lists are lists that may be exported to a shell command. Their
+ elements can contain any characters, including whitespace. That's why they
+ cannot be used in .for loops. Examples are DISTFILES, MASTER_SITES.
+
+7.2. Code snippets
+
+This section presents you with some code snippets you should use in your own
+code. If you don't find anything appropriate here, you should test your code
+and add it here.
+
+7.2.1. Adding things to a list
+
+ATOM= foo * bar `date`
+INT_LIST= # empty
+ANOTHER_INT_LIST= apache-[0-9]*:../../www/apache
+EXT_LIST= # empty
+ANOTHER_EXT_LIST= a=b c=d
+
+INT_LIST+= ${ATOM} # 1
+INT_LIST+= ${ANOTHER_INT_LIST} # 2
+EXT_LIST+= ${ATOM:Q} # 3
+EXT_LIST+= ${ANOTHER_EXT_LIST} # 4
+
+
+When you add an atom to an external list (example 3), it must be quoted. In all
+other cases, you must not add a quoting level. You must not merge internal and
+external lists, unless you are sure that all entries are correctly interpreted
+in both lists.
+
+7.2.2. Converting an internal list into an external list
+
+EXT_LIST= # empty
+.for i in ${INT_LIST}
+EXT_LIST+= ${i:Q}
+.endfor
+
+
+This code converts the internal list INT_LIST into the external list EXT_LIST.
+As the elements of an internal list are unquoted they must be quoted here.
- 12.2. Possible downloading issues
+7.2.3. Passing variables to a shell command
- 12.2.1. Packages whose distfiles aren't available for plain downloading
- 12.2.2. How to handle modified distfiles with the 'old' name
+ATOM= foo bar < > * `date` $$HOME ' "
+EXT_LIST= atom=${ATOM:Q} x=second\ item
- 12.3. Configuration gotchas
+all:
+ echo ${ATOM} # 1
+ echo "${ATOM}" # 2
+ echo "${ATOM:Q}" # 3
+ echo ${ATOM:Q} # 4
+ echo x${ATOM:Q} | sed 1s,.,, # 5
+ env ${EXT_LIST} /bin/sh -c 'echo "$$atom"; echo "$$x"'
- 12.3.1. Shared libraries - libtool
- 12.3.2. Using libtool on GNU packages that already support libtool
- 12.3.3. GNU Autoconf/Automake
- 12.4. Building considerations
+Example 1 leads to a syntax error in the shell, as the characters are just
+copied.
- 12.4.1. CPP defines
+Example 2 leads to a syntax error too, and when you leave out the last "
+character from ${ATOM} the date(1) would be executed. The $HOME shell variable
+would be evaluated, too.
- 12.5. Package specific actions
+Example 3 would output precede each space character with a backslash (or not),
+depending on the implementation of the echo(1) command.
- 12.5.1. Package configuration files
- 12.5.2. User interaction
- 12.5.3. Handling licenses
- 12.5.4. Creating an account from a package
- 12.5.5. Installing score files
- 12.5.6. Packages providing login shells
- 12.5.7. Packages containing perl scripts
- 12.5.8. Packages with hardcoded paths to other interpreters
- 12.5.9. Packages installing perl modules
- 12.5.10. Packages installing info files
- 12.5.11. Packages installing GConf2 data files
- 12.5.12. Packages installing scrollkeeper data files
- 12.5.13. Packages installing X11 fonts
- 12.5.14. Packages installing GTK2 modules
- 12.5.15. Packages installing SGML or XML data
- 12.5.16. Packages installing extensions to the MIME database
- 12.5.17. Packages using intltool
- 12.5.18. Packages installing startup scripts
+Example 4 handles correctly every string that does not start with a dash. In
+that case, the result depends on the implementation of the echo(1) command. As
+long as you can guarantee that your input does not start with a dash this form
+is appropriate.
- 12.6. Feedback to the author
+Example 5 handles even the case of a leading dash correctly.
-13. Debugging
-14. Submitting and Committing
+The EXT_LIST does not need to be quoted because the quoting has already be done
+when adding elements to the list.
- 14.1. Submitting your packages
- 14.2. Committing: Importing a package into CVS
- 14.3. Updating a package to a newer version
- 14.4. Moving a package in pkgsrc
+As internal lists shall not be passed to the shell, there is no example for it.
-Chapter 7. Package components - files, directories and contents
+Chapter 8. Package components - files, directories and contents
Table of Contents
-7.1. Makefile
-7.2. distinfo
-7.3. patches/*
-7.4. Other mandatory files
-7.5. Optional files
-7.6. work*
-7.7. files/*
+8.1. Makefile
+8.2. distinfo
+8.3. patches/*
+8.4. Other mandatory files
+8.5. Optional files
+8.6. work*
+8.7. files/*
Whenever you're preparing a package, there are a number of files involved which
are described in the following sections.
-7.1. Makefile
+8.1. Makefile
Building, installation and creation of a binary package are all controlled by
the package's Makefile. The Makefile describes various things about a package,
@@ -2098,7 +2240,7 @@ Please pay attention to the following gotchas:
* Replace /usr/local with "${PREFIX}" in all files (see patches, below).
- * If the package installs any info files, see Section 12.5.10, "Packages
+ * If the package installs any info files, see Section 13.5.10, "Packages
installing info files".
* Set MAINTAINER to be yourself. If you really can't maintain the package for
@@ -2111,7 +2253,7 @@ Please pay attention to the following gotchas:
* Be sure to set the COMMENT variable to a short description of the package,
not containing the pkg's name.
-7.2. distinfo
+8.2. distinfo
Most important, the mandatory message digest, or checksum, of all the distfiles
needed for the package to compile, confirming they match the original file
@@ -2131,12 +2273,12 @@ should be taken when upgrading such a package to ensure distfile information is
not lost.
The message digest/checksum for all the official patches found in the patches/
-directory (see Section 7.3, "patches/*") for the package is also stored in the
+directory (see Section 8.3, "patches/*") for the package is also stored in the
distinfo file. This is a message digest/checksum of all lines in the patch file
except the NetBSD RCS Id. This file is generated by invoking make makepatchsum
(or make mps if you're in a hurry).
-7.3. patches/*
+8.3. patches/*
This directory contains files that are used by the patch(1) command to modify
the sources as distributed in the distribution file into a form that will
@@ -2167,7 +2309,7 @@ easily compare the new set of patches with the previously existing one with
patchdiff.
When you have finished a package, remember to generate the checksums for the
-patch files by using the make makepatchsum command, see Section 7.2, "distinfo"
+patch files by using the make makepatchsum command, see Section 8.2, "distinfo"
.
Patch files that are distributed by the author or other maintainers can be
@@ -2182,7 +2324,7 @@ pkgsrc/graphics/png, keep it in $LOCALPATCHES/graphics/png/mypatch. All files
in the named directory are expected to be patch files, and they are applied
after pkgsrc patches are applied.
-7.4. Other mandatory files
+8.4. Other mandatory files
DESCR
@@ -2196,10 +2338,10 @@ PLIST
This file governs the files that are installed on your system: all the
binaries, manual pages, etc. There are other directives which may be
entered in this file, to control the creation and deletion of directories,
- and the location of inserted files. See Chapter 8, PLIST issues for more
+ and the location of inserted files. See Chapter 9, PLIST issues for more
information.
-7.5. Optional files
+8.5. Optional files
INSTALL
@@ -2229,7 +2371,7 @@ MESSAGE
replaces "${SOMEVAR}" with "somevalue" in MESSAGE.
-7.6. work*
+8.6. work*
When you type make the distribution files are unpacked into this directory. It
can be removed by running make clean. Besides the sources, this directory is
@@ -2253,7 +2395,7 @@ same pkgsrc tree should be used on several different platforms, the variable
OBJMACHINE can be set in /etc/mk.conf to attach the platform to the directory
name, e.g. work.i386 or work.sparc.
-7.7. files/*
+8.7. files/*
If you have any files that you wish to be placed in the package prior to
configuration or building, you could place these files here and use a "${CP}"
@@ -2261,18 +2403,18 @@ command in the "pre-configure" target to achieve this. Alternatively, you could
simply diff the file against /dev/null and use the patch mechanism to manage
the creation of this file.
-Chapter 8. PLIST issues
+Chapter 9. PLIST issues
Table of Contents
-8.1. RCS ID
-8.2. Semi-automatic PLIST generation
-8.3. Tweaking output of make print-PLIST
-8.4. Variable substitution in PLIST
-8.5. Manpage-compression
-8.6. Changing PLIST source with PLIST_SRC
-8.7. Platform specific and differing PLISTs
-8.8. Sharing directories between packages
+9.1. RCS ID
+9.2. Semi-automatic PLIST generation
+9.3. Tweaking output of make print-PLIST
+9.4. Variable substitution in PLIST
+9.5. Manpage-compression
+9.6. Changing PLIST source with PLIST_SRC
+9.7. Platform specific and differing PLISTs
+9.8. Sharing directories between packages
The PLIST file contains a package's "packing list", i.e. a list of files that
belong to the package (relative to the ${PREFIX} directory it's been installed
@@ -2280,21 +2422,21 @@ in) plus some additional statements - see the pkg_create(1) manpage for a full
list. This chapter addresses some issues that need attention when dealing with
the PLIST file (or files, see below!).
-8.1. RCS ID
+9.1. RCS ID
Be sure to add a RCS ID line as the first thing in any PLIST file you write:
@comment $NetBSD$
-8.2. Semi-automatic PLIST generation
+9.2. Semi-automatic PLIST generation
You can use the make print-PLIST command to output a PLIST that matches any new
-files since the package was extracted. See Section 11.3, "Other helpful
+files since the package was extracted. See Section 12.3, "Other helpful
targets" for more information on this target.
-8.3. Tweaking output of make print-PLIST
+9.3. Tweaking output of make print-PLIST
-If you have used any of the *-dirs packages, as explained in Section 8.8,
+If you have used any of the *-dirs packages, as explained in Section 9.8,
"Sharing directories between packages", you may have noticed that make
print-PLIST outputs a set of @comments instead of real @dirrm lines. You can
also do this for specific directories and files, so that the results of that
@@ -2317,7 +2459,7 @@ converted to @comments:
PRINT_PLIST_AWK+= /^@dirrm share\/specific/ { print "@comment " $$0; next; }
-8.4. Variable substitution in PLIST
+9.4. Variable substitution in PLIST
A number of variables are substituted automatically in PLISTs when a package is
installed on a system. This includes the following variables:
@@ -2360,13 +2502,13 @@ bsd.pkg.mk (and search for PLIST_SUBST).
If you want to change other variables not listed above, you can add variables
and their expansions to this variable in the following way, similar to
-MESSAGE_SUBST (see Section 7.5, "Optional files"):
+MESSAGE_SUBST (see Section 8.5, "Optional files"):
PLIST_SUBST+= SOMEVAR="somevalue"
This replaces all occurrences of "${SOMEVAR}" in the PLIST with "somevalue".
-8.5. Manpage-compression
+9.5. Manpage-compression
Manpages should be installed in compressed form if MANZ is set (in bsd.own.mk),
and uncompressed otherwise. To handle this in the PLIST file, the suffix ".gz"
@@ -2374,13 +2516,13 @@ is appended/removed automatically for manpages according to MANZ and
MANCOMPRESSED being set or not, see above for details. This modification of the
PLIST file is done on a copy of it, not PLIST itself.
-8.6. Changing PLIST source with PLIST_SRC
+9.6. Changing PLIST source with PLIST_SRC
To use one or more files as source for the PLIST used in generating the binary
package, set the variable PLIST_SRC to the names of that file(s). The files are
later concatenated using cat(1), and order of things is important.
-8.7. Platform specific and differing PLISTs
+9.7. Platform specific and differing PLISTs
Some packages decide to install a different set of files based on the operating
system being used. These differences can be automatically handled by using the
@@ -2396,7 +2538,7 @@ following files:
* PLIST.common_end
-8.8. Sharing directories between packages
+9.8. Sharing directories between packages
A "shared directory" is a directory where multiple (and unrelated) packages
install files. These directories are problematic because you have to add
@@ -2446,20 +2588,20 @@ Note that, even if your package is using $X11BASE, it must not depend on the
*-x11-dirs packages. Just specify the name without that part and pkgsrc (in
particular, mk/dirs.mk) will take care of it.
-Chapter 9. Buildlink methodology
+Chapter 10. Buildlink methodology
Table of Contents
-9.1. Converting packages to use buildlink3
-9.2. Writing buildlink3.mk files
+10.1. Converting packages to use buildlink3
+10.2. Writing buildlink3.mk files
- 9.2.1. Anatomy of a buildlink3.mk file
- 9.2.2. Updating BUILDLINK_DEPENDS.pkg in buildlink3.mk files
+ 10.2.1. Anatomy of a buildlink3.mk file
+ 10.2.2. Updating BUILDLINK_DEPENDS.pkg in buildlink3.mk files
-9.3. Writing builtin.mk files
+10.3. Writing builtin.mk files
- 9.3.1. Anatomy of a builtin.mk file
- 9.3.2. Global preferences for native or pkgsrc software
+ 10.3.1. Anatomy of a builtin.mk file
+ 10.3.2. Global preferences for native or pkgsrc software
Buildlink is a framework in pkgsrc that controls what headers and libraries are
seen by a package's configure and build processes. This is implemented in a two
@@ -2480,7 +2622,7 @@ note that the normal system header and library paths, e.g. /usr/include, /usr/
lib, etc., are always searched -- buildlink3 is designed to insulate the
package build from non-system-supplied software.
-9.1. Converting packages to use buildlink3
+10.1. Converting packages to use buildlink3
The process of converting packages to use the buildlink3 framework
("bl3ifying") is fairly straightforward. The things to keep in mind are:
@@ -2537,7 +2679,7 @@ issues:
The comments in those buildlink3.mk files provide a more complete description
of how to use them properly.
-9.2. Writing buildlink3.mk files
+10.2. Writing buildlink3.mk files
A package's buildlink3.mk file is included by Makefiles to indicate the need to
compile and link against header files and libraries provided by the package. A
@@ -2552,7 +2694,7 @@ following command will generate a good starting point for buildlink3.mk files:
% cd pkgsrc/category/pkgdir
% createbuildlink -3 >buildlink3.mk
-9.2.1. Anatomy of a buildlink3.mk file
+10.2.1. Anatomy of a buildlink3.mk file
The following real-life example buildlink3.mk is taken from pkgsrc/graphics/
tiff:
@@ -2647,7 +2789,7 @@ dependencies. Including these buildlink3.mk files means that the headers and
libraries for these dependencies are also symlinked into ${BUILDLINK_DIR}
whenever the pkg buildlink3.mk file is included.
-9.2.2. Updating BUILDLINK_DEPENDS.pkg in buildlink3.mk files
+10.2.2. Updating BUILDLINK_DEPENDS.pkg in buildlink3.mk files
There are two situations that require increasing the dependency listed in
BUILDLINK_DEPENDS.pkg after a package update:
@@ -2668,11 +2810,11 @@ libraries.
Please take careful consideration before adjusting BUILDLINK_DEPENDS.pkg as we
don't want to cause unneeded package deletions and rebuilds. In many cases, new
versions of packages work just fine with older dependencies. See Section
-12.1.3, "Handling dependencies" and Chapter 9, Buildlink methodology for more
+13.1.3, "Handling dependencies" and Chapter 10, Buildlink methodology for more
information about dependencies on other packages, including the
BUILDLINK_RECOMMENDED and RECOMMENDED definitions.
-9.3. Writing builtin.mk files
+10.3. Writing builtin.mk files
Some packages in pkgsrc install headers and libraries that coincide with
headers and libraries present in the base system. Aside from a buildlink3.mk
@@ -2690,7 +2832,7 @@ The only requirements of a builtin.mk file for pkg are:
3. It should be written to allow multiple inclusion. This is very important
and takes careful attention to Makefile coding.
-9.3.1. Anatomy of a builtin.mk file
+10.3.1. Anatomy of a builtin.mk file
The following is the recommended template for builtin.mk files:
@@ -2759,7 +2901,7 @@ the value of USE_BUILTIN.pkg set in the previous section. This typically
includes, e.g., adding additional dependency restrictions and listing
additional files to symlink into ${BUILDLINK_DIR} (via BUILDLINK_FILES.pkg).
-9.3.2. Global preferences for native or pkgsrc software
+10.3.2. Global preferences for native or pkgsrc software
When building packages, it's possible to choose whether to set a global
preference for using either the built-in (native) version or the pkgsrc version
@@ -2780,12 +2922,12 @@ all but the most basic bits on a NetBSD system, you can set:
A package must have a builtin.mk file to be listed in PREFER_NATIVE, otherwise
it is simply ignored in that list.
-Chapter 10. Options handling
+Chapter 11. Options handling
Table of Contents
-10.1. Global default options
-10.2. Converting packages to use bsd.options.mk
+11.1. Global default options
+11.2. Converting packages to use bsd.options.mk
Many packages have the ability to be built to support different sets of
features. bsd.options.mk is a framework in pkgsrc that provides generic
@@ -2794,13 +2936,13 @@ can be built. It's possible for the user to specify exactly which sets of
options will be built into a package or to allow a set of global default
options apply.
-10.1. Global default options
+11.1. Global default options
Global default options are listed in PKG_DEFAULT_OPTIONS, which is a list of
the options that should be built into every package if that option is
supported. This variable should be set in /etc/mk.conf.
-10.2. Converting packages to use bsd.options.mk
+11.2. Converting packages to use bsd.options.mk
The following example shows how bsd.options.mk should be used in a package
Makefile, or in a file, e.g. options.mk, that is included by the main package
@@ -2890,13 +3032,13 @@ should be clear documentation on what turning on the option will do in the
comments preceding each section. The correct way to check for an option is to
check whether it is listed in PKG_OPTIONS.
-Chapter 11. The build process
+Chapter 12. The build process
Table of Contents
-11.1. Program location
-11.2. Main targets
-11.3. Other helpful targets
+12.1. Program location
+12.2. Main targets
+12.3. Other helpful targets
The basic steps for building a program are always the same. First the program's
source (distfile) must be brought to the local system and then extracted. After
@@ -2906,7 +3048,7 @@ binaries, etc. can be put into place on the system. These are exactly the steps
performed by the NetBSD package system, which is implemented as a series of
targets in a central Makefile, pkgsrc/mk/bsd.pkg.mk.
-11.1. Program location
+12.1. Program location
Before outlining the process performed by the NetBSD package system in the next
section, here's a brief discussion on where programs are installed, and which
@@ -2916,7 +3058,7 @@ The automatic variable PREFIX indicates where all files of the final program
shall be installed. It is usually set to LOCALBASE (/usr/pkg), or CROSSBASE for
pkgs in the "cross" category. The value of PREFIX needs to be put into the
various places in the program's source where paths to these files are encoded.
-See Section 7.3, "patches/*" and Section 12.3.1, "Shared libraries - libtool"
+See Section 8.3, "patches/*" and Section 13.3.1, "Shared libraries - libtool"
for more details.
When choosing which of these variables to use, follow the following rules:
@@ -2982,7 +3124,7 @@ When choosing which of these variables to use, follow the following rules:
the exception that manual pages go into ${PREFIX}/man, not ${PREFIX}/share/
man.
-11.2. Main targets
+12.2. Main targets
The main targets used during the build process defined in bsd.pkg.mk are:
@@ -3041,7 +3183,7 @@ patch
$PKGPATH (e.g. /usr/local/patches/graphics/png) are applied. Patchfiles
ending in .Z or .gz are uncompressed before they are applied, files ending
in .orig or .rej are ignored. Any special options to patch(1) can be handed
- in PATCH_DIST_ARGS. See Section 7.3, "patches/*" for more details.
+ in PATCH_DIST_ARGS. See Section 8.3, "patches/*" for more details.
By default patch(1) is given special args to make it fail if the patches
apply with some lines of fuzz. Please fix (regen) the patches so that they
@@ -3101,7 +3243,7 @@ make patch
make configure
make build
-11.3. Other helpful targets
+12.3. Other helpful targets
pre/post-*
@@ -3305,7 +3447,7 @@ print-PLIST
file access times, be sure to add these files manually to your PLIST, as
the "find -newer" command used by this target won't catch them!
- See Section 8.3, "Tweaking output of make print-PLIST" for more information
+ See Section 9.3, "Tweaking output of make print-PLIST" for more information
on this target.
bulk-package
@@ -3337,64 +3479,64 @@ bulk-install
Beware that this target may deinstall all packages installed on a system!
-Chapter 12. Notes on fixes for packages
+Chapter 13. Notes on fixes for packages
Table of Contents
-12.1. General operation
+13.1. General operation
- 12.1.1. How to pull in variables from /etc/mk.conf
- 12.1.2. Restricted packages
- 12.1.3. Handling dependencies
- 12.1.4. Handling conflicts with other packages
- 12.1.5. Packages that cannot or should not be built
- 12.1.6. Packages which should not be deleted, once installed
- 12.1.7. Handling packages with security problems
- 12.1.8. How to handle compiler bugs
- 12.1.9. How to handle incrementing versions when fixing an existing package
- 12.1.10. Portability of packages
+ 13.1.1. How to pull in variables from /etc/mk.conf
+ 13.1.2. Restricted packages
+ 13.1.3. Handling dependencies
+ 13.1.4. Handling conflicts with other packages
+ 13.1.5. Packages that cannot or should not be built
+ 13.1.6. Packages which should not be deleted, once installed
+ 13.1.7. Handling packages with security problems
+ 13.1.8. How to handle compiler bugs
+ 13.1.9. How to handle incrementing versions when fixing an existing package
+ 13.1.10. Portability of packages
-12.2. Possible downloading issues
+13.2. Possible downloading issues
- 12.2.1. Packages whose distfiles aren't available for plain downloading
- 12.2.2. How to handle modified distfiles with the 'old' name
+ 13.2.1. Packages whose distfiles aren't available for plain downloading
+ 13.2.2. How to handle modified distfiles with the 'old' name
-12.3. Configuration gotchas
+13.3. Configuration gotchas
- 12.3.1. Shared libraries - libtool
- 12.3.2. Using libtool on GNU packages that already support libtool
- 12.3.3. GNU Autoconf/Automake
+ 13.3.1. Shared libraries - libtool
+ 13.3.2. Using libtool on GNU packages that already support libtool
+ 13.3.3. GNU Autoconf/Automake
-12.4. Building considerations
+13.4. Building considerations
- 12.4.1. CPP defines
+ 13.4.1. CPP defines
-12.5. Package specific actions
+13.5. Package specific actions
- 12.5.1. Package configuration files
- 12.5.2. User interaction
- 12.5.3. Handling licenses
- 12.5.4. Creating an account from a package
- 12.5.5. Installing score files
- 12.5.6. Packages providing login shells
- 12.5.7. Packages containing perl scripts
- 12.5.8. Packages with hardcoded paths to other interpreters
- 12.5.9. Packages installing perl modules
- 12.5.10. Packages installing info files
- 12.5.11. Packages installing GConf2 data files
- 12.5.12. Packages installing scrollkeeper data files
- 12.5.13. Packages installing X11 fonts
- 12.5.14. Packages installing GTK2 modules
- 12.5.15. Packages installing SGML or XML data
- 12.5.16. Packages installing extensions to the MIME database
- 12.5.17. Packages using intltool
- 12.5.18. Packages installing startup scripts
+ 13.5.1. Package configuration files
+ 13.5.2. User interaction
+ 13.5.3. Handling licenses
+ 13.5.4. Creating an account from a package
+ 13.5.5. Installing score files
+ 13.5.6. Packages providing login shells
+ 13.5.7. Packages containing perl scripts
+ 13.5.8. Packages with hardcoded paths to other interpreters
+ 13.5.9. Packages installing perl modules
+ 13.5.10. Packages installing info files
+ 13.5.11. Packages installing GConf2 data files
+ 13.5.12. Packages installing scrollkeeper data files
+ 13.5.13. Packages installing X11 fonts
+ 13.5.14. Packages installing GTK2 modules
+ 13.5.15. Packages installing SGML or XML data
+ 13.5.16. Packages installing extensions to the MIME database
+ 13.5.17. Packages using intltool
+ 13.5.18. Packages installing startup scripts
-12.6. Feedback to the author
+13.6. Feedback to the author
-12.1. General operation
+13.1. General operation
-12.1.1. How to pull in variables from /etc/mk.conf
+13.1.1. How to pull in variables from /etc/mk.conf
The problem with package-defined variables that can be overridden via MAKECONF
or /etc/mk.conf is that make(1) expands a variable as it is used, but evaluates
@@ -3421,7 +3563,7 @@ Using CFLAGS= (i.e. without the "+") may lead to problems with packages that
need to add their own flags. Also, you may want to take a look at the devel/
cpuflags package if you're interested in optimization for the current CPU.
-12.1.2. Restricted packages
+13.1.2. Restricted packages
Some licenses restrict how software may be re-distributed. In order to satisfy
these restrictions, the package system defines five make variables that can be
@@ -3460,13 +3602,13 @@ Please note that the use of NO_PACKAGE, IGNORE, NO_CDROM, or other generic make
variables to denote restrictions is deprecated, because they unconditionally
prevent users from generating binary packages!
-12.1.3. Handling dependencies
+13.1.3. Handling dependencies
Your package may depend on some other package being present - and there are
various ways of expressing this dependency. pkgsrc supports the BUILD_DEPENDS
and DEPENDS definitions, as well as dependencies via buildlink3.mk, which is
the preferred way to handle dependencies, and which uses the variables named
-above. See Chapter 9, Buildlink methodology for more information.
+above. See Chapter 10, Buildlink methodology for more information.
The basic difference between the two variables is as follows: The DEPENDS
definition registers that pre-requisite in the binary package so it will be
@@ -3540,7 +3682,7 @@ version numbers recognized by pkg_info(1).
different versions of binary packages installed.
For security fixes, please update the package vulnerabilities file as well
- as setting RECOMMENDED, see Section 12.1.7, "Handling packages with
+ as setting RECOMMENDED, see Section 13.1.7, "Handling packages with
security problems" for more information.
4. If your package needs some executable to be able to run correctly and if
@@ -3575,7 +3717,7 @@ gettext package. The latter adds a build dependency on either an installed
version of an older gettext package, or if it isn't, installs the devel/
gettext-m4 package.
-12.1.4. Handling conflicts with other packages
+13.1.4. Handling conflicts with other packages
Your package may conflict with other packages a user might already have
installed on his system, e.g. if your package installs the same set of files
@@ -3597,7 +3739,7 @@ Packages will automatically conflict with other packages with the name prefix
and a different version string. "Xaw3d-1.5" e.g. will automatically conflict
with the older version "Xaw3d-1.3".
-12.1.5. Packages that cannot or should not be built
+13.1.5. Packages that cannot or should not be built
There are several reasons why a package might be instructed to not build under
certain circumstances. If the package builds and runs on most platforms, the
@@ -3611,7 +3753,7 @@ PKG_FAIL_REASON to a descriptive message.
IGNORE is deprecated because it didn't provide enough information to determine
whether the build should fail.
-12.1.6. Packages which should not be deleted, once installed
+13.1.6. Packages which should not be deleted, once installed
To ensure that a package may not be deleted, once it has been installed, the
PKG_PRESERVE definition should be set in the package Makefile. This will be
@@ -3619,7 +3761,7 @@ carried into any binary package that is made from this pkgsrc entry. A
"preserved" package will not be deleted using pkg_delete(1) unless the "-f"
option is used.
-12.1.7. Handling packages with security problems
+13.1.7. Handling packages with security problems
When a vulnerability is found, this should be noted in localsrc/security/
advisories/pkg-vulnerabilities, and after the commit of that file, it should be
@@ -3627,14 +3769,14 @@ copied to both /pub/NetBSD/packages/distfiles/pkg-vulnerabilities and /pub/
NetBSD/packages/distfiles/vulnerabilities on ftp.NetBSD.org using localsrc/
security/advisories/Makefile. In addition, if a buildlink3.mk file exists for
an affected package, bumping PKGREVISION and creating a corresponding
-BUILDLINK_RECOMMENDED.pkg entry should be considered. See Chapter 9, Buildlink
+BUILDLINK_RECOMMENDED.pkg entry should be considered. See Chapter 10, Buildlink
methodology for more information about writing buildlink3.mk files and
BUILDLINK_* definitions.
Also, if the fix should be applied to the stable pkgsrc branch, be sure to
submit a pullup request!
-12.1.8. How to handle compiler bugs
+13.1.8. How to handle compiler bugs
Some source files trigger bugs in the compiler, based on combinations of
compiler version and architecture and almost always relation to optimisation
@@ -3645,7 +3787,7 @@ Typically a workaround involves testing the MACHINE_ARCH and compiler version,
disabling optimisation for that file/MACHINE_ARCH/compiler combination, and
documenting it in pkgsrc/doc/HACKS. See that file for a number of examples!
-12.1.9. How to handle incrementing versions when fixing an existing package
+13.1.9. How to handle incrementing versions when fixing an existing package
When making fixes to an existing package it can be useful to change the version
number in PKGNAME. To avoid conflicting with future versions by the original
@@ -3663,14 +3805,14 @@ like:
DISTNAME= foo-17.43
-12.1.10. Portability of packages
+13.1.10. Portability of packages
One appealing feature of pkgsrc is that it runs on many different platforms. As
a result, it is important to ensure, where possible, that packages in pkgsrc
are portable. There are some particular details you should pay attention to
while working on pkgsrc.
-12.1.10.1. ${INSTALL}, ${INSTALL_DATA_DIR}, ...
+13.1.10.1. ${INSTALL}, ${INSTALL_DATA_DIR}, ...
The BSD-compatible install supplied with some operating systems will not
perform more than one operation at a time. As such, you should call "${INSTALL}
@@ -3679,9 +3821,9 @@ perform more than one operation at a time. As such, you should call "${INSTALL}
${INSTALL_DATA_DIR} ${PREFIX}/dir1
${INSTALL_DATA_DIR} ${PREFIX}/dir2
-12.2. Possible downloading issues
+13.2. Possible downloading issues
-12.2.1. Packages whose distfiles aren't available for plain downloading
+13.2.1. Packages whose distfiles aren't available for plain downloading
If you need to download from a dynamic URL you can set DYNAMIC_MASTER_SITES and
a make fetch will call files/getsite.sh with the name of each file to download
@@ -3697,7 +3839,7 @@ packages use this: audio/realplayer, cad/simian, devel/ipv6socket, emulators/
vmware-module, fonts/acroread-jpnfont, sysutils/storage-manager, www/
ap-aolserver, www/openacs. Try to be consistent with them.
-12.2.2. How to handle modified distfiles with the 'old' name
+13.2.2. How to handle modified distfiles with the 'old' name
Sometimes authors of a software package make some modifications after the
software was released, and they put up a new distfile without changing the
@@ -3710,9 +3852,9 @@ Furthermore, a mail to the package's author seems appropriate making sure the
distfile was really updated on purpose, and that no trojan horse or so crept
in.
-12.3. Configuration gotchas
+13.3. Configuration gotchas
-12.3.1. Shared libraries - libtool
+13.3.1. Shared libraries - libtool
pkgsrc supports many different machines, with different object formats like
a.out and ELF, and varying abilities to do shared library and dynamic loading
@@ -3806,7 +3948,7 @@ Here's how to use libtool in a pkg in seven simple steps:
7. In your PLIST, include only the .la file (this is a change from previous
behaviour).
-12.3.2. Using libtool on GNU packages that already support libtool
+13.3.2. Using libtool on GNU packages that already support libtool
Add USE_LIBTOOL=yes to the package Makefile. This will override the package's
own libtool in most cases. For older libtool using packages, libtool is made by
@@ -3840,7 +3982,7 @@ in some circumstances. Some of the more common errors are:
The function lt_dlinit() should be called and the macro
LTDL_SET_PRELOADED_SYMBOLS included in executables.
-12.3.3. GNU Autoconf/Automake
+13.3.3. GNU Autoconf/Automake
If a package needs GNU autoconf or automake to be executed to regenerate the
configure script and Makefile.in makefile templates, then they should be
@@ -3883,9 +4025,9 @@ automake sequence. This is prevented by touching various files in the configure
stage. If this causes problems with your package you can set AUTOMAKE_OVERRIDE=
NO in the package Makefile.
-12.4. Building considerations
+13.4. Building considerations
-12.4.1. CPP defines
+13.4.1. CPP defines
To port an application to NetBSD, it's usually necessary for the compiler to be
able to judge the system on which it's compiling, and we use definitions so
@@ -3906,9 +4048,9 @@ using this conditional:
Please use the "__NetBSD__" definition sparingly - it should only apply to
features of NetBSD that are not present in other 4.4-lite derived BSDs.
-12.5. Package specific actions
+13.5. Package specific actions
-12.5.1. Package configuration files
+13.5.1. Package configuration files
Packages should be taught to look for their configuration files in $
{PKG_SYSCONFDIR}, which is passed through to the configure and build processes.
@@ -3935,7 +4077,7 @@ The only variables that users should customize are PKG_SYSCONFBASE and
PKG_SYSCONFDIR.${PKG_SYSCONFVAR}. Users will typically want to set
PKG_SYSCONFBASE to /etc, or to accept the default location of ${PREFIX}/etc.
-12.5.2. User interaction
+13.5.2. User interaction
Occasionally, packages require interaction from the user, and this can be in a
number of ways:
@@ -3958,7 +4100,7 @@ Multiple interactive stages can be specified:
INTERACTIVE_STAGE= configure install
-12.5.3. Handling licenses
+13.5.3. Handling licenses
A package may underly a license which the user has or has not agreed to accept.
Usually, packages that underly well-known Open Source licenses (e.g. the GNU
@@ -3999,7 +4141,7 @@ If there is a really pressing need to accept all licenses at once, like when
trying to download or mirror all distfiles or doing a bulk build to test if all
packages in pkgsrc build, this can be done by setting _ACCEPTABLE=yes.
-12.5.4. Creating an account from a package
+13.5.4. Creating an account from a package
There are two make variables used to control the creation of package-specific
groups and users at pre-install time. The first is PKG_GROUPS, which is a list
@@ -4029,7 +4171,7 @@ prompted to remove them at post-deinstall time. Automatic creation of the users
and groups can be toggled on and off by setting the PKG_CREATE_USERGROUP
variable prior to package installation.
-12.5.5. Installing score files
+13.5.5. Installing score files
Certain packages, most of them in the games category, install a score file that
allows all users on the system to record their highscores. In order for this to
@@ -4044,7 +4186,7 @@ SETGIDGAME=YES will set all the other variables accordingly.
A package should therefor never hard code file ownership or access permissions
but rely on INSTALL_GAME and INSTALL_GAME_DATA to set these correctly.
-12.5.6. Packages providing login shells
+13.5.6. Packages providing login shells
If the purpose of the package is to provide a login shell, the variable
PKG_SHELL should contain the full pathname of the shell executable installed by
@@ -4060,13 +4202,13 @@ The shell is registered into /etc/shells file automatically in the post-install
target by the generated INSTALL script and removed in the deinstall target by
the DEINSTALL script.
-12.5.7. Packages containing perl scripts
+13.5.7. Packages containing perl scripts
If your package contains interpreted perl scripts, set REPLACE_PERL to ensure
that the proper interpreter path is set. REPLACE_PERL should contain a list of
scripts, relative to WRKSRC, that you want adjusted.
-12.5.8. Packages with hardcoded paths to other interpreters
+13.5.8. Packages with hardcoded paths to other interpreters
Your package may also contain scripts with hardcoded paths to other
interpreters besides (or as well as) perl. To correct the full pathname to the
@@ -4079,7 +4221,7 @@ script interpreter, you need to set the following definitions in your Makefile
_REPLACE_FILES.tcl= ...list of tcl scripts which need to be fixed,
relative to ${WRKSRC}, just as in REPLACE_PERL
-12.5.9. Packages installing perl modules
+13.5.9. Packages installing perl modules
Makefiles of packages providing perl5 modules should include the Makefile
fragment ../../lang/perl5/module.mk. It provides a do-configure target for the
@@ -4099,7 +4241,7 @@ three locations in which perl5 modules may be installed, and may be used by
perl5 packages that don't have a packlist. These three variables are also
substituted for in the PLIST.
-12.5.10. Packages installing info files
+13.5.10. Packages installing info files
Some packages install info files or use the "makeinfo" or "install-info"
commands. Each of the info files:
@@ -4138,7 +4280,7 @@ message. The script overriding makeinfo logs a message and according to the
value of USE_MAKEINFO and TEXINFO_REQD either run the appropriate makeinfo
command or exit on error.
-12.5.11. Packages installing GConf2 data files
+13.5.11. Packages installing GConf2 data files
If a package installs .schemas or .entries files, used by GConf2, you need to
take some extra steps to make sure they get registered in the database:
@@ -4165,7 +4307,7 @@ take some extra steps to make sure they get registered in the database:
.entries files installed by the package, if any. Names must not contain any
directories in them.
-12.5.12. Packages installing scrollkeeper data files
+13.5.12. Packages installing scrollkeeper data files
If a package installs .omf files, used by scrollkeeper, you need to take some
extra steps to make sure they get registered in the database:
@@ -4181,7 +4323,7 @@ extra steps to make sure they get registered in the database:
3. Remove the share/omf directory from the PLIST. It will be handled by
scrollkeeper.
-12.5.13. Packages installing X11 fonts
+13.5.13. Packages installing X11 fonts
If a package installs font files, you will need to rebuild the fonts database
in the directory where they get installed at installation and deinstallation
@@ -4197,7 +4339,7 @@ Note that you should not create new directories for fonts; instead use the
standard ones to avoid that the user needs to manually configure his X server
to find them.
-12.5.14. Packages installing GTK2 modules
+13.5.14. Packages installing GTK2 modules
If a package installs gtk2 immodules or loaders, you need to take some extra
steps to get them registered in the GTK2 database properly:
@@ -4220,7 +4362,7 @@ steps to get them registered in the GTK2 database properly:
5. Check the PLIST and remove any entries under the libdata/gtk-2.0 directory,
as they will be handled automatically.
-12.5.15. Packages installing SGML or XML data
+13.5.15. Packages installing SGML or XML data
If a package installs SGML or XML data files that need to be registered in
system-wide catalogs (like DTDs, sub-catalogs, etc.), you need to take some
@@ -4246,7 +4388,7 @@ extra steps:
(specifically, arguments recognized by the 'add' action). Note that you
will normally not use this variable.
-12.5.16. Packages installing extensions to the MIME database
+13.5.16. Packages installing extensions to the MIME database
If a package provides extensions to the MIME database by installing .xml files
inside ${PREFIX}/share/mime/packages, you need to take some extra steps to
@@ -4267,7 +4409,7 @@ ensure that the database is kept consistent with respect to these new files:
3. Remove any share/mime/* directories from the PLIST. They will be handled by
the shared-mime-info package.
-12.5.17. Packages using intltool
+13.5.17. Packages using intltool
If a package uses intltool during its build, include the ../../textproc/
intltool/buildlink3.mk file, which forces it to use the intltool package
@@ -4277,7 +4419,7 @@ This tracks intltool's build-time dependencies and uses the latest available
version; this way, the package benefits of any bug fixes that may have appeared
since it was released.
-12.5.18. Packages installing startup scripts
+13.5.18. Packages installing startup scripts
If a package contains a rc.d script, it won't be copied into the startup
directory by default, but you can enable it, by adding the option
@@ -4285,7 +4427,7 @@ PKG_RCD_SCRIPTS=YES in /etc/mk.conf. This option will copy the scripts into /
etc/rc.d when a package is installed, and it will automatically remove the
scripts when the package is deinstalled.
-12.6. Feedback to the author
+13.6. Feedback to the author
If you have found any bugs in the package you make available, if you had to do
special steps to make it run under NetBSD or if you enhanced the software in
@@ -4296,7 +4438,7 @@ win from your efforts.
Support the idea of free software!
-Chapter 13. Debugging
+Chapter 14. Debugging
To check out all the gotchas when building a package, here are the steps that I
do in order to get a package working. Please note this is basically the same as
@@ -4334,7 +4476,7 @@ what was explained in the previous sections, only with some debugging aids.
shouldn't be, especially during the build phase. mkpatches, patchdiff and
pkgvi are from the pkgtools/pkgdiff package.
- * Look at the Makefile, fix if necessary; see Section 7.1, "Makefile".
+ * Look at the Makefile, fix if necessary; see Section 8.1, "Makefile".
* Generate a PLIST:
@@ -4375,19 +4517,19 @@ what was explained in the previous sections, only with some debugging aids.
# pkglint
- * Submit (or commit, if you have cvs access); see Chapter 14, Submitting and
+ * Submit (or commit, if you have cvs access); see Chapter 15, Submitting and
Committing.
-Chapter 14. Submitting and Committing
+Chapter 15. Submitting and Committing
Table of Contents
-14.1. Submitting your packages
-14.2. Committing: Importing a package into CVS
-14.3. Updating a package to a newer version
-14.4. Moving a package in pkgsrc
+15.1. Submitting your packages
+15.2. Committing: Importing a package into CVS
+15.3. Updating a package to a newer version
+15.4. Moving a package in pkgsrc
-14.1. Submitting your packages
+15.1. Submitting your packages
You have to separate between binary and "normal" (source) packages here:
@@ -4403,7 +4545,7 @@ You have to separate between binary and "normal" (source) packages here:
* packages
First, check that your package is complete, compiles and runs well; see
- Chapter 13, Debugging and the rest of this document. Next, generate an
+ Chapter 14, Debugging and the rest of this document. Next, generate an
uuencoded gzipped tar(1) archive, preferably with all files in a single
directory. Finally, send-pr with category "pkg", a synopsis which includes
the package name and version number, a short description of your package
@@ -4417,7 +4559,7 @@ You have to separate between binary and "normal" (source) packages here:
work-in-progress"); see the homepage at http://pkgsrc-wip.sourceforge.net/
for details.
-14.2. Committing: Importing a package into CVS
+15.2. Committing: Importing a package into CVS
This section is only of interest for pkgsrc developers with write access to the
pkgsrc repository. Please remember that cvs imports files relative to the
@@ -4446,7 +4588,7 @@ there.
For new packages, "cvs import" is preferred to "cvs add" because the former
gets everything with a single command, and provides a consistent tag.
-14.3. Updating a package to a newer version
+15.3. Updating a package to a newer version
Please always put a concise, appropriate and relevant summary of the changes
between old and new versions into the commit log when updating a package. There
@@ -4471,7 +4613,7 @@ which pkgsrc is used. Please use your judgement about what should go into
pkgsrc, and bear in mind that stability is to be preferred above new and
possibly untested features.
-14.4. Moving a package in pkgsrc
+15.4. Moving a package in pkgsrc
1. Make a copy of the directory somewhere else.
@@ -4566,10 +4708,6 @@ contents of these files. After installation it is quite easy to use, just
change to the directory of the package you wish to examine and execute pkglint:
$ pkglint
-OK: checking ./DESCR.
-OK: checking Makefile.
-OK: checking distinfo.
-OK: checking patches/patch-aa.
looks fine.
Depending on the supplied command line arguments (see pkglint(1)) more verbose
@@ -4584,7 +4722,7 @@ Create the directory where the package lives, plus any auxiliary directories:
# cd bison
# mkdir patches
-Create Makefile, DESCR and PLIST (see Chapter 7, Package components - files,
+Create Makefile, DESCR and PLIST (see Chapter 8, Package components - files,
directories and contents) then continue with fetching the distfile:
# make fetch