summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorrillig <rillig@pkgsrc.org>2006-02-14 10:16:26 +0000
committerrillig <rillig@pkgsrc.org>2006-02-14 10:16:26 +0000
commita76e2b5bf351e43b529d6ce812ed4c4ee90a1774 (patch)
tree1c6f85dee58a15a0d349588007d643c68e1afc5a /doc
parent529c1ceea2ee493a48934c86c0950863bb44de31 (diff)
downloadpkgsrc-a76e2b5bf351e43b529d6ce812ed4c4ee90a1774.tar.gz
regen.
Diffstat (limited to 'doc')
-rw-r--r--doc/pkgsrc.html878
-rw-r--r--doc/pkgsrc.txt630
2 files changed, 1027 insertions, 481 deletions
diff --git a/doc/pkgsrc.html b/doc/pkgsrc.html
index 8696728abc1..461a4b42810 100644
--- a/doc/pkgsrc.html
+++ b/doc/pkgsrc.html
@@ -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.10
- 2005/10/05 13:59:56 dillo Exp $</p>
+ <p xmlns="" class="pubdate">$NetBSD: pkgsrc.xml,v 1.11
+ 2006/01/13 17:42:33 reed Exp $</p>
</div>
<div>
@@ -771,236 +771,255 @@ alink="#0000FF">
</dl>
</dd>
- <dt><span class="chapter"><a href="#fixes">15. Making
+ <dt><span class="chapter"><a href="#tools">15. Tools
+ needed for building or running</a></span></dt>
+
+ <dd>
+ <dl>
+ <dt><span class="sect1"><a href=
+ "#pkgsrc-tools">15.1. Tools for pkgsrc
+ builds</a></span></dt>
+
+ <dt><span class="sect1"><a href=
+ "#package-tools">15.2. Tools needed by
+ packages</a></span></dt>
+
+ <dt><span class="sect1"><a href=
+ "#platform-tools">15.3. Tools provided by
+ platforms</a></span></dt>
+ </dl>
+ </dd>
+
+ <dt><span class="chapter"><a href="#fixes">16. Making
your package work</a></span></dt>
<dd>
<dl>
<dt><span class="sect1"><a href=
- "#general-operation">15.1. General
+ "#general-operation">16.1. General
operation</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#pulling-vars-from-etc-mk.conf">15.1.1. How to
+ "#pulling-vars-from-etc-mk.conf">16.1.1. How to
pull in variables from
/etc/mk.conf</a></span></dt>
<dt><span class="sect2"><a href=
- "#where-to-install-documentation">15.1.2. Where
+ "#where-to-install-documentation">16.1.2. Where
to install documentation</a></span></dt>
<dt><span class="sect2"><a href=
- "#restricted-packages">15.1.3. Restricted
+ "#restricted-packages">16.1.3. Restricted
packages</a></span></dt>
<dt><span class="sect2"><a href=
- "#dependencies">15.1.4. Handling
+ "#dependencies">16.1.4. Handling
dependencies</a></span></dt>
<dt><span class="sect2"><a href=
- "#conflicts">15.1.5. Handling conflicts with
+ "#conflicts">16.1.5. Handling conflicts with
other packages</a></span></dt>
<dt><span class="sect2"><a href=
- "#not-building-packages">15.1.6. Packages that
+ "#not-building-packages">16.1.6. Packages that
cannot or should not be built</a></span></dt>
<dt><span class="sect2"><a href=
- "#undeletable-packages">15.1.7. Packages which
+ "#undeletable-packages">16.1.7. Packages which
should not be deleted, once
installed</a></span></dt>
<dt><span class="sect2"><a href=
- "#security-handling">15.1.8. Handling packages
+ "#security-handling">16.1.8. Handling packages
with security problems</a></span></dt>
<dt><span class="sect2"><a href=
- "#compiler-bugs">15.1.9. How to handle compiler
+ "#compiler-bugs">16.1.9. How to handle compiler
bugs</a></span></dt>
<dt><span class="sect2"><a href=
- "#bumping-pkgrevision">15.1.10. How to handle
+ "#bumping-pkgrevision">16.1.10. How to handle
incrementing versions when fixing an existing
package</a></span></dt>
<dt><span class="sect2"><a href=
- "#portability-of-packages">15.1.11. Portability
+ "#portability-of-packages">16.1.11. Portability
of packages</a></span></dt>
</dl>
</dd>
<dt><span class="sect1"><a href=
- "#downloading-issues">15.2. Possible downloading
+ "#downloading-issues">16.2. Possible downloading
issues</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#no-plain-download">15.2.1. Packages whose
+ "#no-plain-download">16.2.1. Packages whose
distfiles aren't available for plain
downloading</a></span></dt>
<dt><span class="sect2"><a href=
- "#modified-distfiles-same-name">15.2.2. How to
+ "#modified-distfiles-same-name">16.2.2. How to
handle modified distfiles with the 'old'
name</a></span></dt>
</dl>
</dd>
<dt><span class="sect1"><a href=
- "#configuration-gotchas">15.3. Configuration
+ "#configuration-gotchas">16.3. Configuration
gotchas</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#fixes.libtool">15.3.1. Shared libraries -
+ "#fixes.libtool">16.3.1. Shared libraries -
libtool</a></span></dt>
<dt><span class="sect2"><a href=
- "#using-libtool">15.3.2. Using libtool on GNU
+ "#using-libtool">16.3.2. Using libtool on GNU
packages that already support
libtool</a></span></dt>
<dt><span class="sect2"><a href=
- "#autoconf-automake">15.3.3. GNU
+ "#autoconf-automake">16.3.3. GNU
Autoconf/Automake</a></span></dt>
</dl>
</dd>
<dt><span class="sect1"><a href=
- "#fixes-build">15.4. Building the
+ "#fixes-build">16.4. Building the
package</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#cpp-defines">15.4.1. CPP
+ "#cpp-defines">16.4.1. CPP
defines</a></span></dt>
<dt><span class="sect2"><a href=
- "#cpp-list-examples">15.4.2. Examples of CPP
+ "#cpp-list-examples">16.4.2. Examples of CPP
defines for some platforms</a></span></dt>
<dt><span class="sect2"><a href=
- "#cpp-list">15.4.3. Getting a list of CPP
+ "#cpp-list">16.4.3. Getting a list of CPP
defines</a></span></dt>
</dl>
</dd>
<dt><span class="sect1"><a href=
- "#package-specific-actions">15.5. Package specific
+ "#package-specific-actions">16.5. Package specific
actions</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#user-interaction">15.5.1. User
+ "#user-interaction">16.5.1. User
interaction</a></span></dt>
<dt><span class="sect2"><a href=
- "#handling-licenses">15.5.2. Handling
+ "#handling-licenses">16.5.2. Handling
licenses</a></span></dt>
<dt><span class="sect2"><a href=
- "#installing-score-files">15.5.3. Installing
+ "#installing-score-files">16.5.3. Installing
score files</a></span></dt>
<dt><span class="sect2"><a href=
- "#perl-scripts">15.5.4. Packages containing
+ "#perl-scripts">16.5.4. Packages containing
perl scripts</a></span></dt>
<dt><span class="sect2"><a href=
- "#hardcoded-paths">15.5.5. Packages with
+ "#hardcoded-paths">16.5.5. Packages with
hardcoded paths to other
interpreters</a></span></dt>
<dt><span class="sect2"><a href=
- "#perl-modules">15.5.6. Packages installing
+ "#perl-modules">16.5.6. Packages installing
perl modules</a></span></dt>
<dt><span class="sect2"><a href=
- "#faq.info-files">15.5.7. Packages installing
+ "#faq.info-files">16.5.7. Packages installing
info files</a></span></dt>
<dt><span class="sect2"><a href=
- "#manpages">15.5.8. Packages installing man
+ "#manpages">16.5.8. Packages installing man
pages</a></span></dt>
<dt><span class="sect2"><a href=
- "#gconf2-data-files">15.5.9. Packages
+ "#gconf2-data-files">16.5.9. Packages
installing GConf2 data files</a></span></dt>
<dt><span class="sect2"><a href=
- "#scrollkeeper-data-files">15.5.10. Packages
+ "#scrollkeeper-data-files">16.5.10. Packages
installing scrollkeeper data
files</a></span></dt>
<dt><span class="sect2"><a href=
- "#x11-fonts">15.5.11. Packages installing X11
+ "#x11-fonts">16.5.11. Packages installing X11
fonts</a></span></dt>
<dt><span class="sect2"><a href=
- "#gtk2-modules">15.5.12. Packages installing
+ "#gtk2-modules">16.5.12. Packages installing
GTK2 modules</a></span></dt>
<dt><span class="sect2"><a href=
- "#sgml-xml-data">15.5.13. Packages installing
+ "#sgml-xml-data">16.5.13. Packages installing
SGML or XML data</a></span></dt>
<dt><span class="sect2"><a href=
- "#mime-database">15.5.14. Packages installing
+ "#mime-database">16.5.14. Packages installing
extensions to the MIME database</a></span></dt>
<dt><span class="sect2"><a href=
- "#intltool">15.5.15. Packages using
+ "#intltool">16.5.15. Packages using
intltool</a></span></dt>
<dt><span class="sect2"><a href=
- "#startup-scripts">15.5.16. Packages installing
+ "#startup-scripts">16.5.16. Packages installing
startup scripts</a></span></dt>
<dt><span class="sect2"><a href=
- "#tex-packages">15.5.17. Packages installing
+ "#tex-packages">16.5.17. Packages installing
TeX modules</a></span></dt>
</dl>
</dd>
<dt><span class="sect1"><a href=
- "#feedback-to-author">15.6. Feedback to the
+ "#feedback-to-author">16.6. Feedback to the
author</a></span></dt>
</dl>
</dd>
- <dt><span class="chapter"><a href="#debug">16.
+ <dt><span class="chapter"><a href="#debug">17.
Debugging</a></span></dt>
- <dt><span class="chapter"><a href="#submit">17.
+ <dt><span class="chapter"><a href="#submit">18.
Submitting and Committing</a></span></dt>
<dd>
<dl>
<dt><span class="sect1"><a href=
- "#submitting-your-package">17.1. Submitting your
+ "#submitting-your-package">18.1. Submitting your
packages</a></span></dt>
<dt><span class="sect1"><a href=
- "#general-notes-for-changes">17.2. General notes
+ "#general-notes-for-changes">18.2. General notes
when adding, updating, or removing
packages</a></span></dt>
<dt><span class="sect1"><a href=
- "#committing-importing">17.3. Committing: Importing
+ "#committing-importing">18.3. Committing: Importing
a package into CVS</a></span></dt>
<dt><span class="sect1"><a href=
- "#updating-package">17.4. Updating a package to a
+ "#updating-package">18.4. Updating a package to a
newer version</a></span></dt>
<dt><span class="sect1"><a href=
- "#moving-package">17.5. Moving a package in
+ "#moving-package">18.5. Moving a package in
pkgsrc</a></span></dt>
</dl>
</dd>
@@ -2943,6 +2962,36 @@ alink="#0000FF">
"http://www.w3.org/TR/xhtml1/transitional" class=
"filename">/usr/pkg/{bin,sbin}</code>.</p>
</div>
+
+ <div class="sect3" lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h4 class="title"><a name=
+ "plat.sunos.problems"></a>3.2.7.3.&nbsp;Common
+ problems</h4>
+ </div>
+ </div>
+ </div>
+
+ <p>Sometimes, when using <span><strong class=
+ "command">libtool</strong></span>, <code xmlns=
+ "http://www.w3.org/TR/xhtml1/transitional" class=
+ "filename">/bin/ksh</code> crashes with a
+ segmentation fault. The workaround is to use another
+ shell for the configure scripts, for example by
+ installing <a xmlns=
+ "http://www.w3.org/TR/xhtml1/transitional" href=
+ "ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc/shells/bash/README.html"
+ target="_top"><code xmlns="" class=
+ "filename">shells/bash</code></a> and adding the
+ following line to your <code xmlns=
+ "http://www.w3.org/TR/xhtml1/transitional" class=
+ "filename">mk.conf</code>:</p>
+ <pre class="programlisting">
+ CONFIG_SHELL= ${LOCALBASE}/bin/bash
+</pre>
+ </div>
</div>
</div>
</div>
@@ -3854,7 +3903,7 @@ alink="#0000FF">
<pre class="screen">
<code class="prompt">$</code> <span><strong class=
"command">grep "PKG.*OPTION" /etc/mk.conf</strong></span>
-PKG_DEFAULT_OPTIONS= -arts -dvdread -esound
+PKG_DEFAULT_OPTIONS= -arts -dvdread -esound
PKG_OPTIONS.kdebase= debug -sasl
PKG_OPTIONS.apache= suexec
</pre>
@@ -4041,7 +4090,7 @@ PKG_OPTIONS.apache= suexec
"filename">misc/figlet</code></a> example.</p>
<p>See <a href="#submit" title=
- "Chapter&nbsp;17.&nbsp;Submitting and Committing">Chapter&nbsp;17,
+ "Chapter&nbsp;18.&nbsp;Submitting and Committing">Chapter&nbsp;18,
<i>Submitting and Committing</i></a> for information on
how to submit such a binary package.</p>
</div>
@@ -4196,6 +4245,39 @@ PKG_OPTIONS.apache= suexec
</li>
</ul>
</div>
+
+ <p>Some other options are scattered in the pkgsrc
+ infrastructure:</p>
+
+ <div class="itemizedlist">
+ <ul type="disc">
+ <li>
+ <p><code class="varname">CHECK_FILES</code>
+ (<code xmlns=
+ "http://www.w3.org/TR/xhtml1/transitional"
+ class=
+ "filename">pkgsrc/mk/bsd.pkg.check.mk</code>)
+ can be set to &#8220;<span class=
+ "quote">yes</span>&#8221; to check that the
+ installed set of files matches the <code xmlns=
+ "http://www.w3.org/TR/xhtml1/transitional"
+ class="filename">PLIST</code>.</p>
+ </li>
+
+ <li>
+ <p><code class=
+ "varname">CHECK_INTERPRETER</code>
+ (<code xmlns="http://www.w3.org/TR/xhtml1/transitional"
+ class=
+ "filename">pkgsrc/mk/bsd.pkg.check.mk</code>)
+ can be set to &#8220;<span class=
+ "quote">yes</span>&#8221; to check that the
+ installed &#8220;<span class=
+ "quote">#!</span>&#8221;-scripts will find
+ their interpreter.</p>
+ </li>
+ </ul>
+ </div>
</div>
<div class="sect3" lang="en">
@@ -4626,16 +4708,6 @@ PKG_OPTIONS.apache= suexec
"filename">mk/bulk/build.conf</code> to suit your
needs.</p>
</li>
-
- <li>
- <p>If you have set <code class=
- "varname">CVS_USER</code> in <code xmlns=
- "http://www.w3.org/TR/xhtml1/transitional" class=
- "filename">build.conf</code>, make sure that
- account exists and can do a <span><strong class=
- "command">cvs ${CVS_FLAGS} update</strong></span>
- properly!</p>
- </li>
</ol>
</div>
@@ -4747,15 +4819,15 @@ PKG_OPTIONS.apache= suexec
class="filename">mk/bulk/build.conf</code> file, i.e.
adjust it to something like one of the following:</p>
<pre class="screen">
-RSYNC_DST=$CVS_USER@ftp.NetBSD.org:/pub/NetBSD/packages/pkgsrc-200xQy/NetBSD-a.b.c/arch/upload
+RSYNC_DST=ftp.NetBSD.org:/pub/NetBSD/packages/pkgsrc-200xQy/NetBSD-a.b.c/arch/upload
</pre>
<p>Please use appropriate values for "pkgsrc-200xQy",
"NetBSD-a.b.c" and "arch" here. If your login on
- ftp.NetBSD.org is different from <code class=
- "varname">CVS_USER</code>, write your login directly
- into the variable, e.g. my local account is "feyrer",
- but for my login "hubertf", I use:</p>
+ ftp.NetBSD.org is different from your local login,
+ write your login directly into the variable, e.g. my
+ local account is "feyrer", but for my login "hubertf",
+ I use:</p>
<pre class="screen">
RSYNC_DST=hubertf@ftp.NetBSD.org:/pub/NetBSD/packages/pkgsrc-200xQy/NetBSD-a.b.c/arch/upload
</pre>
@@ -4786,11 +4858,11 @@ nbftp% <strong class=
that no keys should be present there usually):</p>
<pre class="screen">
<code class="prompt">#</code> <strong class=
-"userinput"><code>chroot /usr/sandbox</code></strong>
+"userinput"><code>chroot /usr/sandbox</code></strong>
chroot-<code class="prompt">#</code> <strong class=
-"userinput"><code>rm $HOME/.ssh/id-dsa*</code></strong>
+"userinput"><code>rm $HOME/.ssh/id-dsa*</code></strong>
chroot-<code class="prompt">#</code> <strong class=
-"userinput"><code>ssh-keygen -t dsa</code></strong>
+"userinput"><code>ssh-keygen -t dsa</code></strong>
chroot-<code class="prompt">#</code> <strong class=
"userinput"><code>cat $HOME/.ssh/id-dsa.pub</code></strong>
</pre>
@@ -4815,9 +4887,9 @@ chroot-<code class="prompt">#</code> <strong class=
and start the upload:</p>
<pre class="screen">
chroot-<code class="prompt">#</code> <strong class=
-"userinput"><code>exit</code></strong>
+"userinput"><code>exit</code></strong>
<code class="prompt">#</code> <strong class=
-"userinput"><code>cd /usr/sandbox/usr/pkgsrc</code></strong>
+"userinput"><code>cd /usr/sandbox/usr/pkgsrc</code></strong>
<code class="prompt">#</code> <strong class=
"userinput"><code>sh mk/bulk/do-sandbox-upload</code></strong>
</pre>
@@ -6263,235 +6335,253 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
</dl>
</dd>
- <dt><span class="chapter"><a href="#fixes">15. Making
+ <dt><span class="chapter"><a href="#tools">15. Tools
+ needed for building or running</a></span></dt>
+
+ <dd>
+ <dl>
+ <dt><span class="sect1"><a href="#pkgsrc-tools">15.1.
+ Tools for pkgsrc builds</a></span></dt>
+
+ <dt><span class="sect1"><a href=
+ "#package-tools">15.2. Tools needed by
+ packages</a></span></dt>
+
+ <dt><span class="sect1"><a href=
+ "#platform-tools">15.3. Tools provided by
+ platforms</a></span></dt>
+ </dl>
+ </dd>
+
+ <dt><span class="chapter"><a href="#fixes">16. Making
your package work</a></span></dt>
<dd>
<dl>
<dt><span class="sect1"><a href=
- "#general-operation">15.1. General
+ "#general-operation">16.1. General
operation</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#pulling-vars-from-etc-mk.conf">15.1.1. How to
+ "#pulling-vars-from-etc-mk.conf">16.1.1. How to
pull in variables from
/etc/mk.conf</a></span></dt>
<dt><span class="sect2"><a href=
- "#where-to-install-documentation">15.1.2. Where
+ "#where-to-install-documentation">16.1.2. Where
to install documentation</a></span></dt>
<dt><span class="sect2"><a href=
- "#restricted-packages">15.1.3. Restricted
+ "#restricted-packages">16.1.3. Restricted
packages</a></span></dt>
<dt><span class="sect2"><a href=
- "#dependencies">15.1.4. Handling
+ "#dependencies">16.1.4. Handling
dependencies</a></span></dt>
<dt><span class="sect2"><a href=
- "#conflicts">15.1.5. Handling conflicts with
+ "#conflicts">16.1.5. Handling conflicts with
other packages</a></span></dt>
<dt><span class="sect2"><a href=
- "#not-building-packages">15.1.6. Packages that
+ "#not-building-packages">16.1.6. Packages that
cannot or should not be built</a></span></dt>
<dt><span class="sect2"><a href=
- "#undeletable-packages">15.1.7. Packages which
+ "#undeletable-packages">16.1.7. Packages which
should not be deleted, once
installed</a></span></dt>
<dt><span class="sect2"><a href=
- "#security-handling">15.1.8. Handling packages
+ "#security-handling">16.1.8. Handling packages
with security problems</a></span></dt>
<dt><span class="sect2"><a href=
- "#compiler-bugs">15.1.9. How to handle compiler
+ "#compiler-bugs">16.1.9. How to handle compiler
bugs</a></span></dt>
<dt><span class="sect2"><a href=
- "#bumping-pkgrevision">15.1.10. How to handle
+ "#bumping-pkgrevision">16.1.10. How to handle
incrementing versions when fixing an existing
package</a></span></dt>
<dt><span class="sect2"><a href=
- "#portability-of-packages">15.1.11. Portability
+ "#portability-of-packages">16.1.11. Portability
of packages</a></span></dt>
</dl>
</dd>
<dt><span class="sect1"><a href=
- "#downloading-issues">15.2. Possible downloading
+ "#downloading-issues">16.2. Possible downloading
issues</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#no-plain-download">15.2.1. Packages whose
+ "#no-plain-download">16.2.1. Packages whose
distfiles aren't available for plain
downloading</a></span></dt>
<dt><span class="sect2"><a href=
- "#modified-distfiles-same-name">15.2.2. How to
+ "#modified-distfiles-same-name">16.2.2. How to
handle modified distfiles with the 'old'
name</a></span></dt>
</dl>
</dd>
<dt><span class="sect1"><a href=
- "#configuration-gotchas">15.3. Configuration
+ "#configuration-gotchas">16.3. Configuration
gotchas</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#fixes.libtool">15.3.1. Shared libraries -
+ "#fixes.libtool">16.3.1. Shared libraries -
libtool</a></span></dt>
<dt><span class="sect2"><a href=
- "#using-libtool">15.3.2. Using libtool on GNU
+ "#using-libtool">16.3.2. Using libtool on GNU
packages that already support
libtool</a></span></dt>
<dt><span class="sect2"><a href=
- "#autoconf-automake">15.3.3. GNU
+ "#autoconf-automake">16.3.3. GNU
Autoconf/Automake</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#fixes-build">15.4.
+ <dt><span class="sect1"><a href="#fixes-build">16.4.
Building the package</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#cpp-defines">15.4.1. CPP
+ "#cpp-defines">16.4.1. CPP
defines</a></span></dt>
<dt><span class="sect2"><a href=
- "#cpp-list-examples">15.4.2. Examples of CPP
+ "#cpp-list-examples">16.4.2. Examples of CPP
defines for some platforms</a></span></dt>
<dt><span class="sect2"><a href=
- "#cpp-list">15.4.3. Getting a list of CPP
+ "#cpp-list">16.4.3. Getting a list of CPP
defines</a></span></dt>
</dl>
</dd>
<dt><span class="sect1"><a href=
- "#package-specific-actions">15.5. Package specific
+ "#package-specific-actions">16.5. Package specific
actions</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#user-interaction">15.5.1. User
+ "#user-interaction">16.5.1. User
interaction</a></span></dt>
<dt><span class="sect2"><a href=
- "#handling-licenses">15.5.2. Handling
+ "#handling-licenses">16.5.2. Handling
licenses</a></span></dt>
<dt><span class="sect2"><a href=
- "#installing-score-files">15.5.3. Installing
+ "#installing-score-files">16.5.3. Installing
score files</a></span></dt>
<dt><span class="sect2"><a href=
- "#perl-scripts">15.5.4. Packages containing perl
+ "#perl-scripts">16.5.4. Packages containing perl
scripts</a></span></dt>
<dt><span class="sect2"><a href=
- "#hardcoded-paths">15.5.5. Packages with
+ "#hardcoded-paths">16.5.5. Packages with
hardcoded paths to other
interpreters</a></span></dt>
<dt><span class="sect2"><a href=
- "#perl-modules">15.5.6. Packages installing perl
+ "#perl-modules">16.5.6. Packages installing perl
modules</a></span></dt>
<dt><span class="sect2"><a href=
- "#faq.info-files">15.5.7. Packages installing
+ "#faq.info-files">16.5.7. Packages installing
info files</a></span></dt>
<dt><span class="sect2"><a href=
- "#manpages">15.5.8. Packages installing man
+ "#manpages">16.5.8. Packages installing man
pages</a></span></dt>
<dt><span class="sect2"><a href=
- "#gconf2-data-files">15.5.9. Packages installing
+ "#gconf2-data-files">16.5.9. Packages installing
GConf2 data files</a></span></dt>
<dt><span class="sect2"><a href=
- "#scrollkeeper-data-files">15.5.10. Packages
+ "#scrollkeeper-data-files">16.5.10. Packages
installing scrollkeeper data
files</a></span></dt>
<dt><span class="sect2"><a href=
- "#x11-fonts">15.5.11. Packages installing X11
+ "#x11-fonts">16.5.11. Packages installing X11
fonts</a></span></dt>
<dt><span class="sect2"><a href=
- "#gtk2-modules">15.5.12. Packages installing GTK2
+ "#gtk2-modules">16.5.12. Packages installing GTK2
modules</a></span></dt>
<dt><span class="sect2"><a href=
- "#sgml-xml-data">15.5.13. Packages installing
+ "#sgml-xml-data">16.5.13. Packages installing
SGML or XML data</a></span></dt>
<dt><span class="sect2"><a href=
- "#mime-database">15.5.14. Packages installing
+ "#mime-database">16.5.14. Packages installing
extensions to the MIME database</a></span></dt>
<dt><span class="sect2"><a href=
- "#intltool">15.5.15. Packages using
+ "#intltool">16.5.15. Packages using
intltool</a></span></dt>
<dt><span class="sect2"><a href=
- "#startup-scripts">15.5.16. Packages installing
+ "#startup-scripts">16.5.16. Packages installing
startup scripts</a></span></dt>
<dt><span class="sect2"><a href=
- "#tex-packages">15.5.17. Packages installing TeX
+ "#tex-packages">16.5.17. Packages installing TeX
modules</a></span></dt>
</dl>
</dd>
<dt><span class="sect1"><a href=
- "#feedback-to-author">15.6. Feedback to the
+ "#feedback-to-author">16.6. Feedback to the
author</a></span></dt>
</dl>
</dd>
- <dt><span class="chapter"><a href="#debug">16.
+ <dt><span class="chapter"><a href="#debug">17.
Debugging</a></span></dt>
- <dt><span class="chapter"><a href="#submit">17.
+ <dt><span class="chapter"><a href="#submit">18.
Submitting and Committing</a></span></dt>
<dd>
<dl>
<dt><span class="sect1"><a href=
- "#submitting-your-package">17.1. Submitting your
+ "#submitting-your-package">18.1. Submitting your
packages</a></span></dt>
<dt><span class="sect1"><a href=
- "#general-notes-for-changes">17.2. General notes when
+ "#general-notes-for-changes">18.2. General notes when
adding, updating, or removing
packages</a></span></dt>
<dt><span class="sect1"><a href=
- "#committing-importing">17.3. Committing: Importing a
+ "#committing-importing">18.3. Committing: Importing a
package into CVS</a></span></dt>
<dt><span class="sect1"><a href=
- "#updating-package">17.4. Updating a package to a
+ "#updating-package">18.4. Updating a package to a
newer version</a></span></dt>
<dt><span class="sect1"><a href=
- "#moving-package">17.5. Moving a package in
+ "#moving-package">18.5. Moving a package in
pkgsrc</a></span></dt>
</dl>
</dd>
@@ -6860,7 +6950,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<li>
<p>If the package installs any info files, see
<a href="#faq.info-files" title=
- "15.5.7.&nbsp;Packages installing info files">Section&nbsp;15.5.7,
+ "16.5.7.&nbsp;Packages installing info files">Section&nbsp;16.5.7,
&#8220;Packages installing info
files&#8221;</a>.</p>
</li>
@@ -8862,7 +8952,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
In many cases, new versions of packages work just fine
with older dependencies. See <a href="#dependencies"
title=
- "15.1.4.&nbsp;Handling dependencies">Section&nbsp;15.1.4,
+ "16.1.4.&nbsp;Handling dependencies">Section&nbsp;16.1.4,
&#8220;Handling dependencies&#8221;</a> for more
information about dependencies on other packages,
including the <code class=
@@ -10416,7 +10506,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
"8.3.&nbsp;patches/*">Section&nbsp;8.3,
&#8220;patches/*&#8221;</a> and <a href="#fixes.libtool"
title=
- "15.3.1.&nbsp;Shared libraries - libtool">Section&nbsp;15.3.1,
+ "16.3.1.&nbsp;Shared libraries - libtool">Section&nbsp;16.3.1,
&#8220;Shared libraries - libtool&#8221;</a> for more
details.</p>
@@ -10856,7 +10946,10 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
</div>
</div>
- <p>[TODO]</p>
+ <p>This is covered in <a href="#tools" title=
+ "Chapter&nbsp;15.&nbsp;Tools needed for building or running">
+ Chapter&nbsp;15, <i>Tools needed for building or
+ running</i></a>.</p>
</div>
<div class="sect1" lang="en">
@@ -11005,15 +11098,156 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<p>Once the build stage has completed, the final step is
to install the software in public directories, so users
- can access the programs and files. As in the
- build-target, <code class="varname">$MAKE_PROGRAM</code>
- is invoked on <code class="varname">$MAKEFILE</code>
- here, but with the <code class=
- "varname">$INSTALL_TARGET</code> instead, the latter
- defaulting to &#8220;<span class=
- "quote">install</span>&#8221; (plus &#8220;<span class=
- "quote">install.man</span>&#8221;, if <code class=
- "varname">USE_IMAKE</code> is set).</p>
+ can access the programs and files.</p>
+
+ <p>In the <span class="emphasis"><em>install</em></span>
+ phase, a rough equivalent of the following code is
+ executed. Additionally, before and after this code, much
+ magic is performed to do consistency checks, registering
+ the package, and so on.</p>
+ <pre class="programlisting">
+ .for d in ${INSTALL_DIRS}
+ cd ${WRKSRC} &amp;&amp; cd ${d} &amp;&amp; env ${MAKE_ENV} \
+ ${MAKE_PROGRAM} ${INSTALL_MAKE_FLAGS} \
+ -f ${MAKEFILE} ${BUILD_TARGET}
+ .endfor
+</pre>
+
+ <p>The variable's meanings are analogous to the ones in
+ the <span class="emphasis"><em>build</em></span> phase.
+ <code class="varname">INSTALL_DIRS</code> defaults to
+ <code class="varname">BUILD_DIRS</code>. <code class=
+ "varname">INSTALL_TARGET</code> is &#8220;<span class=
+ "quote">install</span>&#8221; by default, plus
+ &#8220;<span class="quote">install.man</span>&#8221; if
+ <code class="varname">USE_IMAKE</code> is defined.</p>
+
+ <p>In the <span class="emphasis"><em>install</em></span>
+ phase, the following variables are useful. They are all
+ variations of the <a href=
+ "http://netbsd.gw.com/cgi-bin/man-cgi?install+1+NetBSD-current">
+ <span class="citerefentry"><span class=
+ "refentrytitle">install</span>(1)</span></a> command that
+ have the owner, group and permissions preset.
+ <code class="varname">INSTALL</code> is the plain install
+ command. The specialized variants, together with their
+ intended use, are:</p>
+
+ <div class="variablelist">
+ <dl>
+ <dt><span class="term"><code class=
+ "varname">INSTALL_PROGRAM_DIR</code></span></dt>
+
+ <dd>
+ <p>directories that contain binaries</p>
+ </dd>
+
+ <dt><span class="term"><code class=
+ "varname">INSTALL_SCRIPT_DIR</code></span></dt>
+
+ <dd>
+ <p>directories that contain scripts</p>
+ </dd>
+
+ <dt><span class="term"><code class=
+ "varname">INSTALL_LIB_DIR</code></span></dt>
+
+ <dd>
+ <p>directories that contain shared and static
+ libraries</p>
+ </dd>
+
+ <dt><span class="term"><code class=
+ "varname">INSTALL_DATA_DIR</code></span></dt>
+
+ <dd>
+ <p>directories that contain data files</p>
+ </dd>
+
+ <dt><span class="term"><code class=
+ "varname">INSTALL_MAN_DIR</code></span></dt>
+
+ <dd>
+ <p>directories that contain man pages</p>
+ </dd>
+
+ <dt><span class="term"><code class=
+ "varname">INSTALL_PROGRAM</code></span></dt>
+
+ <dd>
+ <p>binaries that can be stripped from debugging
+ symbols</p>
+ </dd>
+
+ <dt><span class="term"><code class=
+ "varname">INSTALL_SCRIPT</code></span></dt>
+
+ <dd>
+ <p>binaries that cannot be stripped</p>
+ </dd>
+
+ <dt><span class="term"><code class=
+ "varname">INSTALL_GAME</code></span></dt>
+
+ <dd>
+ <p>game binaries</p>
+ </dd>
+
+ <dt><span class="term"><code class=
+ "varname">INSTALL_LIB</code></span></dt>
+
+ <dd>
+ <p>shared and static libraries</p>
+ </dd>
+
+ <dt><span class="term"><code class=
+ "varname">INSTALL_DATA</code></span></dt>
+
+ <dd>
+ <p>data files</p>
+ </dd>
+
+ <dt><span class="term"><code class=
+ "varname">INSTALL_GAME_DATA</code></span></dt>
+
+ <dd>
+ <p>data files for games</p>
+ </dd>
+
+ <dt><span class="term"><code class=
+ "varname">INSTALL_MAN</code></span></dt>
+
+ <dd>
+ <p>man pages</p>
+ </dd>
+ </dl>
+ </div>
+
+ <p>Some other variables are:</p>
+
+ <div class="variablelist">
+ <dl>
+ <dt><span class="term"><code class=
+ "varname">INSTALLATION_DIRS</code></span></dt>
+
+ <dd>
+ <p>A list of directories relative to <code class=
+ "varname">PREFIX</code> that are created by pkgsrc
+ at the beginning of the <span class=
+ "emphasis"><em>install</em></span> phase. If this
+ variable is set, <code class=
+ "varname">NO_MTREE</code>=&#8220;<span class=
+ "quote">yes</span>&#8221; is assumed, which means
+ that the package claims to create all needed
+ directories itself before installing files to it.
+ Therefore this variable should only be set in
+ <code xmlns=
+ "http://www.w3.org/TR/xhtml1/transitional" class=
+ "filename">Makefile</code>s that are under control
+ of the package's author.</p>
+ </dd>
+ </dl>
+ </div>
</div>
<div class="sect1" lang="en">
@@ -11575,7 +11809,151 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title"><a name=
- "fixes"></a>Chapter&nbsp;15.&nbsp;Making your package
+ "tools"></a>Chapter&nbsp;15.&nbsp;Tools needed for
+ building or running</h2>
+ </div>
+ </div>
+ </div>
+
+ <div class="toc">
+ <p><b>Table of Contents</b></p>
+
+ <dl>
+ <dt><span class="sect1"><a href="#pkgsrc-tools">15.1.
+ Tools for pkgsrc builds</a></span></dt>
+
+ <dt><span class="sect1"><a href="#package-tools">15.2.
+ Tools needed by packages</a></span></dt>
+
+ <dt><span class="sect1"><a href="#platform-tools">15.3.
+ Tools provided by platforms</a></span></dt>
+ </dl>
+ </div>
+
+ <p>The <code class="varname">USE_TOOLS</code> definition is
+ used both internally by pkgsrc and also for individual
+ packages to define what commands are needed for building a
+ package (like <code class="varname">BUILD_DEPENDS</code>)
+ or for later run-time of an installed packaged (such as
+ <code class="varname">DEPENDS</code>). If the native system
+ provides an adequate tool, then in many cases, a pkgsrc
+ package will not be used.</p>
+
+ <p>When building a package, the replacement tools are made
+ available in a directory (as symlinks or wrapper scripts)
+ that is early in the executable search path. Just like the
+ buildlink system, this helps with consistent builds.</p>
+
+ <p>A tool may be needed to help build a specific package.
+ For example, perl, GNU make (gmake) or yacc may be
+ needed.</p>
+
+ <p>Also a tool may be needed, for example, because the
+ native system's supplied tool may be inefficient for
+ building a package with pkgsrc. For example, a package may
+ need GNU awk, bison (instead of yacc) or a better sed.</p>
+
+ <p>The tools used by a package can be listed by running
+ <span><strong class="command">make
+ show-tools</strong></span>.</p>
+
+ <div class="sect1" lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title" style="clear: both"><a name=
+ "pkgsrc-tools"></a>15.1.&nbsp;Tools for pkgsrc
+ builds</h2>
+ </div>
+ </div>
+ </div>
+
+ <p>The default set of tools used by pkgsrc is defined in
+ <code xmlns="http://www.w3.org/TR/xhtml1/transitional"
+ class="filename">bsd.pkg.mk</code>. This includes
+ standard Unix tools, such as: <span><strong class=
+ "command">cat</strong></span>, <span><strong class=
+ "command">awk</strong></span>, <span><strong class=
+ "command">chmod</strong></span>, <span><strong class=
+ "command">test</strong></span>, and so on. These can be
+ seen by running: <span><strong class="command">make
+ show-var VARNAME=USE_TOOLS</strong></span>.</p>
+
+ <p>If a package needs a specific program to build then
+ the <code class="varname">USE_TOOLS</code> variable can
+ be used to define the tools needed.</p>
+ </div>
+
+ <div class="sect1" lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title" style="clear: both"><a name=
+ "package-tools"></a>15.2.&nbsp;Tools needed by
+ packages</h2>
+ </div>
+ </div>
+ </div>
+
+ <p>In the following examples, the :pkgsrc means to use
+ the pkgsrc version and not the native version for a build
+ dependency. And the :run means that it is used for a
+ run-time dependencies also (and becomes a DEPENDS). The
+ default is a build dependency which can be set with
+ :build. (So in this example, it is the same as
+ gmake:build and pkg-config:build.)</p>
+ <pre class="programlisting">
+USE_TOOLS+= mktemp:pkgsrc
+USE_TOOLS+= gmake perl:run pkg-config
+</pre>
+
+ <p>When using the tools framework, a <code class=
+ "varname">TOOLS_PATH.foo</code> variable is defined which
+ contains the full path to the appropriate tool. For
+ example, <code class="varname">TOOLS_PATH.bash</code>
+ could be &#8220;<span class=
+ "quote">/bin/bash</span>&#8221; on Linux systems.</p>
+
+ <p>If you always need a pkgsrc version of the tool at
+ run-time, then just use <code class=
+ "varname">DEPENDS</code> instead.</p>
+ </div>
+
+ <div class="sect1" lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title" style="clear: both"><a name=
+ "platform-tools"></a>15.3.&nbsp;Tools provided by
+ platforms</h2>
+ </div>
+ </div>
+ </div>
+
+ <p>When improving or porting pkgsrc to a new platform,
+ have a look at (or create) the corresponding platform
+ specific make file fragment under <code xmlns=
+ "http://www.w3.org/TR/xhtml1/transitional" class=
+ "filename">pkgsrc/mk/tools/tools.${OPSYS}.mk</code> which
+ defines the name of the common tools. For example:</p>
+ <pre class="programlisting">
+.if exists(/usr/bin/bzcat)
+TOOLS_PLATFORM.bzcat?= /usr/bin/bzcat
+.elif exists(/usr/bin/bzip2)
+TOOLS_PLATFORM.bzcat?= /usr/bin/bzip2 -cd
+.endif
+
+TOOLS_PLATFORM.true?= true # shell builtin
+</pre>
+ </div>
+ </div>
+
+ <div class="chapter" lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title"><a name=
+ "fixes"></a>Chapter&nbsp;16.&nbsp;Making your package
work</h2>
</div>
</div>
@@ -11586,192 +11964,192 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<dl>
<dt><span class="sect1"><a href=
- "#general-operation">15.1. General
+ "#general-operation">16.1. General
operation</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#pulling-vars-from-etc-mk.conf">15.1.1. How to
+ "#pulling-vars-from-etc-mk.conf">16.1.1. How to
pull in variables from /etc/mk.conf</a></span></dt>
<dt><span class="sect2"><a href=
- "#where-to-install-documentation">15.1.2. Where to
+ "#where-to-install-documentation">16.1.2. Where to
install documentation</a></span></dt>
<dt><span class="sect2"><a href=
- "#restricted-packages">15.1.3. Restricted
+ "#restricted-packages">16.1.3. Restricted
packages</a></span></dt>
<dt><span class="sect2"><a href=
- "#dependencies">15.1.4. Handling
+ "#dependencies">16.1.4. Handling
dependencies</a></span></dt>
<dt><span class="sect2"><a href=
- "#conflicts">15.1.5. Handling conflicts with other
+ "#conflicts">16.1.5. Handling conflicts with other
packages</a></span></dt>
<dt><span class="sect2"><a href=
- "#not-building-packages">15.1.6. Packages that
+ "#not-building-packages">16.1.6. Packages that
cannot or should not be built</a></span></dt>
<dt><span class="sect2"><a href=
- "#undeletable-packages">15.1.7. Packages which
+ "#undeletable-packages">16.1.7. Packages which
should not be deleted, once
installed</a></span></dt>
<dt><span class="sect2"><a href=
- "#security-handling">15.1.8. Handling packages with
+ "#security-handling">16.1.8. Handling packages with
security problems</a></span></dt>
<dt><span class="sect2"><a href=
- "#compiler-bugs">15.1.9. How to handle compiler
+ "#compiler-bugs">16.1.9. How to handle compiler
bugs</a></span></dt>
<dt><span class="sect2"><a href=
- "#bumping-pkgrevision">15.1.10. How to handle
+ "#bumping-pkgrevision">16.1.10. How to handle
incrementing versions when fixing an existing
package</a></span></dt>
<dt><span class="sect2"><a href=
- "#portability-of-packages">15.1.11. Portability of
+ "#portability-of-packages">16.1.11. Portability of
packages</a></span></dt>
</dl>
</dd>
<dt><span class="sect1"><a href=
- "#downloading-issues">15.2. Possible downloading
+ "#downloading-issues">16.2. Possible downloading
issues</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#no-plain-download">15.2.1. Packages whose
+ "#no-plain-download">16.2.1. Packages whose
distfiles aren't available for plain
downloading</a></span></dt>
<dt><span class="sect2"><a href=
- "#modified-distfiles-same-name">15.2.2. How to
+ "#modified-distfiles-same-name">16.2.2. How to
handle modified distfiles with the 'old'
name</a></span></dt>
</dl>
</dd>
<dt><span class="sect1"><a href=
- "#configuration-gotchas">15.3. Configuration
+ "#configuration-gotchas">16.3. Configuration
gotchas</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#fixes.libtool">15.3.1. Shared libraries -
+ "#fixes.libtool">16.3.1. Shared libraries -
libtool</a></span></dt>
<dt><span class="sect2"><a href=
- "#using-libtool">15.3.2. Using libtool on GNU
+ "#using-libtool">16.3.2. Using libtool on GNU
packages that already support
libtool</a></span></dt>
<dt><span class="sect2"><a href=
- "#autoconf-automake">15.3.3. GNU
+ "#autoconf-automake">16.3.3. GNU
Autoconf/Automake</a></span></dt>
</dl>
</dd>
- <dt><span class="sect1"><a href="#fixes-build">15.4.
+ <dt><span class="sect1"><a href="#fixes-build">16.4.
Building the package</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#cpp-defines">15.4.1. CPP defines</a></span></dt>
+ "#cpp-defines">16.4.1. CPP defines</a></span></dt>
<dt><span class="sect2"><a href=
- "#cpp-list-examples">15.4.2. Examples of CPP
+ "#cpp-list-examples">16.4.2. Examples of CPP
defines for some platforms</a></span></dt>
- <dt><span class="sect2"><a href="#cpp-list">15.4.3.
+ <dt><span class="sect2"><a href="#cpp-list">16.4.3.
Getting a list of CPP defines</a></span></dt>
</dl>
</dd>
<dt><span class="sect1"><a href=
- "#package-specific-actions">15.5. Package specific
+ "#package-specific-actions">16.5. Package specific
actions</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href=
- "#user-interaction">15.5.1. User
+ "#user-interaction">16.5.1. User
interaction</a></span></dt>
<dt><span class="sect2"><a href=
- "#handling-licenses">15.5.2. Handling
+ "#handling-licenses">16.5.2. Handling
licenses</a></span></dt>
<dt><span class="sect2"><a href=
- "#installing-score-files">15.5.3. Installing score
+ "#installing-score-files">16.5.3. Installing score
files</a></span></dt>
<dt><span class="sect2"><a href=
- "#perl-scripts">15.5.4. Packages containing perl
+ "#perl-scripts">16.5.4. Packages containing perl
scripts</a></span></dt>
<dt><span class="sect2"><a href=
- "#hardcoded-paths">15.5.5. Packages with hardcoded
+ "#hardcoded-paths">16.5.5. Packages with hardcoded
paths to other interpreters</a></span></dt>
<dt><span class="sect2"><a href=
- "#perl-modules">15.5.6. Packages installing perl
+ "#perl-modules">16.5.6. Packages installing perl
modules</a></span></dt>
<dt><span class="sect2"><a href=
- "#faq.info-files">15.5.7. Packages installing info
+ "#faq.info-files">16.5.7. Packages installing info
files</a></span></dt>
- <dt><span class="sect2"><a href="#manpages">15.5.8.
+ <dt><span class="sect2"><a href="#manpages">16.5.8.
Packages installing man pages</a></span></dt>
<dt><span class="sect2"><a href=
- "#gconf2-data-files">15.5.9. Packages installing
+ "#gconf2-data-files">16.5.9. Packages installing
GConf2 data files</a></span></dt>
<dt><span class="sect2"><a href=
- "#scrollkeeper-data-files">15.5.10. Packages
+ "#scrollkeeper-data-files">16.5.10. Packages
installing scrollkeeper data files</a></span></dt>
<dt><span class="sect2"><a href=
- "#x11-fonts">15.5.11. Packages installing X11
+ "#x11-fonts">16.5.11. Packages installing X11
fonts</a></span></dt>
<dt><span class="sect2"><a href=
- "#gtk2-modules">15.5.12. Packages installing GTK2
+ "#gtk2-modules">16.5.12. Packages installing GTK2
modules</a></span></dt>
<dt><span class="sect2"><a href=
- "#sgml-xml-data">15.5.13. Packages installing SGML
+ "#sgml-xml-data">16.5.13. Packages installing SGML
or XML data</a></span></dt>
<dt><span class="sect2"><a href=
- "#mime-database">15.5.14. Packages installing
+ "#mime-database">16.5.14. Packages installing
extensions to the MIME database</a></span></dt>
<dt><span class="sect2"><a href=
- "#intltool">15.5.15. Packages using
+ "#intltool">16.5.15. Packages using
intltool</a></span></dt>
<dt><span class="sect2"><a href=
- "#startup-scripts">15.5.16. Packages installing
+ "#startup-scripts">16.5.16. Packages installing
startup scripts</a></span></dt>
<dt><span class="sect2"><a href=
- "#tex-packages">15.5.17. Packages installing TeX
+ "#tex-packages">16.5.17. Packages installing TeX
modules</a></span></dt>
</dl>
</dd>
<dt><span class="sect1"><a href=
- "#feedback-to-author">15.6. Feedback to the
+ "#feedback-to-author">16.6. Feedback to the
author</a></span></dt>
</dl>
</div>
@@ -11781,7 +12159,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "general-operation"></a>15.1.&nbsp;General
+ "general-operation"></a>16.1.&nbsp;General
operation</h2>
</div>
</div>
@@ -11792,7 +12170,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "pulling-vars-from-etc-mk.conf"></a>15.1.1.&nbsp;How
+ "pulling-vars-from-etc-mk.conf"></a>16.1.1.&nbsp;How
to pull in variables from /etc/mk.conf</h3>
</div>
</div>
@@ -11860,7 +12238,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "where-to-install-documentation"></a>15.1.2.&nbsp;Where
+ "where-to-install-documentation"></a>16.1.2.&nbsp;Where
to install documentation</h3>
</div>
</div>
@@ -11880,7 +12258,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "restricted-packages"></a>15.1.3.&nbsp;Restricted
+ "restricted-packages"></a>16.1.3.&nbsp;Restricted
packages</h3>
</div>
</div>
@@ -11959,7 +12337,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "dependencies"></a>15.1.4.&nbsp;Handling
+ "dependencies"></a>16.1.4.&nbsp;Handling
dependencies</h3>
</div>
</div>
@@ -12131,8 +12509,8 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
vulnerabilities file as well as setting
<code class="varname">RECOMMENDED</code>, see
<a href="#security-handling" title=
- "15.1.8.&nbsp;Handling packages with security problems">
- Section&nbsp;15.1.8, &#8220;Handling packages
+ "16.1.8.&nbsp;Handling packages with security problems">
+ Section&nbsp;16.1.8, &#8220;Handling packages
with security problems&#8221;</a> for more
information.</p>
</li>
@@ -12214,7 +12592,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "conflicts"></a>15.1.5.&nbsp;Handling conflicts
+ "conflicts"></a>16.1.5.&nbsp;Handling conflicts
with other packages</h3>
</div>
</div>
@@ -12266,7 +12644,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "not-building-packages"></a>15.1.6.&nbsp;Packages
+ "not-building-packages"></a>16.1.6.&nbsp;Packages
that cannot or should not be built</h3>
</div>
</div>
@@ -12299,7 +12677,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "undeletable-packages"></a>15.1.7.&nbsp;Packages
+ "undeletable-packages"></a>16.1.7.&nbsp;Packages
which should not be deleted, once installed</h3>
</div>
</div>
@@ -12324,7 +12702,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "security-handling"></a>15.1.8.&nbsp;Handling
+ "security-handling"></a>16.1.8.&nbsp;Handling
packages with security problems</h3>
</div>
</div>
@@ -12363,7 +12741,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "compiler-bugs"></a>15.1.9.&nbsp;How to handle
+ "compiler-bugs"></a>16.1.9.&nbsp;How to handle
compiler bugs</h3>
</div>
</div>
@@ -12390,7 +12768,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "bumping-pkgrevision"></a>15.1.10.&nbsp;How to
+ "bumping-pkgrevision"></a>16.1.10.&nbsp;How to
handle incrementing versions when fixing an
existing package</h3>
</div>
@@ -12431,7 +12809,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "portability-of-packages"></a>15.1.11.&nbsp;Portability
+ "portability-of-packages"></a>16.1.11.&nbsp;Portability
of packages</h3>
</div>
</div>
@@ -12448,7 +12826,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h4 class="title"><a name=
- "install-scripts"></a>15.1.11.1.&nbsp;${INSTALL},
+ "install-scripts"></a>16.1.11.1.&nbsp;${INSTALL},
${INSTALL_DATA_DIR}, ...</h4>
</div>
</div>
@@ -12473,7 +12851,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "downloading-issues"></a>15.2.&nbsp;Possible
+ "downloading-issues"></a>16.2.&nbsp;Possible
downloading issues</h2>
</div>
</div>
@@ -12484,7 +12862,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "no-plain-download"></a>15.2.1.&nbsp;Packages
+ "no-plain-download"></a>16.2.1.&nbsp;Packages
whose distfiles aren't available for plain
downloading</h3>
</div>
@@ -12558,7 +12936,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "modified-distfiles-same-name"></a>15.2.2.&nbsp;How
+ "modified-distfiles-same-name"></a>16.2.2.&nbsp;How
to handle modified distfiles with the 'old'
name</h3>
</div>
@@ -12600,7 +12978,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "configuration-gotchas"></a>15.3.&nbsp;Configuration
+ "configuration-gotchas"></a>16.3.&nbsp;Configuration
gotchas</h2>
</div>
</div>
@@ -12611,7 +12989,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "fixes.libtool"></a>15.3.1.&nbsp;Shared libraries
+ "fixes.libtool"></a>16.3.1.&nbsp;Shared libraries
- libtool</h3>
</div>
</div>
@@ -12705,7 +13083,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
this library implements. In other words, the library implements
all the interface numbers in the range from number `CURRENT -
AGE' to `CURRENT'.
-
+
If two libraries have identical CURRENT and AGE numbers, then the
dynamic linker chooses the library with the greater REVISION number.
</pre>
@@ -12840,7 +13218,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "using-libtool"></a>15.3.2.&nbsp;Using libtool on
+ "using-libtool"></a>16.3.2.&nbsp;Using libtool on
GNU packages that already support libtool</h3>
</div>
</div>
@@ -12923,7 +13301,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "autoconf-automake"></a>15.3.3.&nbsp;GNU
+ "autoconf-automake"></a>16.3.3.&nbsp;GNU
Autoconf/Automake</h3>
</div>
</div>
@@ -12980,7 +13358,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "fixes-build"></a>15.4.&nbsp;Building the
+ "fixes-build"></a>16.4.&nbsp;Building the
package</h2>
</div>
</div>
@@ -12991,7 +13369,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "cpp-defines"></a>15.4.1.&nbsp;CPP defines</h3>
+ "cpp-defines"></a>16.4.1.&nbsp;CPP defines</h3>
</div>
</div>
</div>
@@ -13026,7 +13404,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h4 class="title"><a name=
- "fixes-build-cpp-opsys"></a>15.4.1.1.&nbsp;CPP
+ "fixes-build-cpp-opsys"></a>16.4.1.1.&nbsp;CPP
defines for operating systems</h4>
</div>
</div>
@@ -13062,7 +13440,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h4 class="title"><a name=
- "fixes-build-cpp-cpu"></a>15.4.1.2.&nbsp;CPP
+ "fixes-build-cpp-cpu"></a>16.4.1.2.&nbsp;CPP
defines for CPUs</h4>
</div>
</div>
@@ -13079,7 +13457,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h4 class="title"><a name=
- "fixes-build-cpp-compiler"></a>15.4.1.3.&nbsp;CPP
+ "fixes-build-cpp-compiler"></a>16.4.1.3.&nbsp;CPP
defines for compilers</h4>
</div>
</div>
@@ -13096,7 +13474,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "cpp-list-examples"></a>15.4.2.&nbsp;Examples of
+ "cpp-list-examples"></a>16.4.2.&nbsp;Examples of
CPP defines for some platforms</h3>
</div>
</div>
@@ -13164,7 +13542,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "cpp-list"></a>15.4.3.&nbsp;Getting a list of CPP
+ "cpp-list"></a>16.4.3.&nbsp;Getting a list of CPP
defines</h3>
</div>
</div>
@@ -13189,7 +13567,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "package-specific-actions"></a>15.5.&nbsp;Package
+ "package-specific-actions"></a>16.5.&nbsp;Package
specific actions</h2>
</div>
</div>
@@ -13200,7 +13578,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "user-interaction"></a>15.5.1.&nbsp;User
+ "user-interaction"></a>16.5.1.&nbsp;User
interaction</h3>
</div>
</div>
@@ -13251,7 +13629,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "handling-licenses"></a>15.5.2.&nbsp;Handling
+ "handling-licenses"></a>16.5.2.&nbsp;Handling
licenses</h3>
</div>
</div>
@@ -13350,7 +13728,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "installing-score-files"></a>15.5.3.&nbsp;Installing
+ "installing-score-files"></a>16.5.3.&nbsp;Installing
score files</h3>
</div>
</div>
@@ -13389,7 +13767,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "perl-scripts"></a>15.5.4.&nbsp;Packages
+ "perl-scripts"></a>16.5.4.&nbsp;Packages
containing perl scripts</h3>
</div>
</div>
@@ -13408,7 +13786,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "hardcoded-paths"></a>15.5.5.&nbsp;Packages with
+ "hardcoded-paths"></a>16.5.5.&nbsp;Packages with
hardcoded paths to other interpreters</h3>
</div>
</div>
@@ -13437,7 +13815,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "perl-modules"></a>15.5.6.&nbsp;Packages
+ "perl-modules"></a>16.5.6.&nbsp;Packages
installing perl modules</h3>
</div>
</div>
@@ -13486,7 +13864,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "faq.info-files"></a>15.5.7.&nbsp;Packages
+ "faq.info-files"></a>16.5.7.&nbsp;Packages
installing info files</h3>
</div>
</div>
@@ -13590,7 +13968,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "manpages"></a>15.5.8.&nbsp;Packages installing
+ "manpages"></a>16.5.8.&nbsp;Packages installing
man pages</h3>
</div>
</div>
@@ -13658,7 +14036,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "gconf2-data-files"></a>15.5.9.&nbsp;Packages
+ "gconf2-data-files"></a>16.5.9.&nbsp;Packages
installing GConf2 data files</h3>
</div>
</div>
@@ -13747,7 +14125,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "scrollkeeper-data-files"></a>15.5.10.&nbsp;Packages
+ "scrollkeeper-data-files"></a>16.5.10.&nbsp;Packages
installing scrollkeeper data files</h3>
</div>
</div>
@@ -13797,7 +14175,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "x11-fonts"></a>15.5.11.&nbsp;Packages installing
+ "x11-fonts"></a>16.5.11.&nbsp;Packages installing
X11 fonts</h3>
</div>
</div>
@@ -13834,7 +14212,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "gtk2-modules"></a>15.5.12.&nbsp;Packages
+ "gtk2-modules"></a>16.5.12.&nbsp;Packages
installing GTK2 modules</h3>
</div>
</div>
@@ -13908,7 +14286,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "sgml-xml-data"></a>15.5.13.&nbsp;Packages
+ "sgml-xml-data"></a>16.5.13.&nbsp;Packages
installing SGML or XML data</h3>
</div>
</div>
@@ -13972,7 +14350,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "mime-database"></a>15.5.14.&nbsp;Packages
+ "mime-database"></a>16.5.14.&nbsp;Packages
installing extensions to the MIME database</h3>
</div>
</div>
@@ -14039,7 +14417,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "intltool"></a>15.5.15.&nbsp;Packages using
+ "intltool"></a>16.5.15.&nbsp;Packages using
intltool</h3>
</div>
</div>
@@ -14064,7 +14442,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "startup-scripts"></a>15.5.16.&nbsp;Packages
+ "startup-scripts"></a>16.5.16.&nbsp;Packages
installing startup scripts</h3>
</div>
</div>
@@ -14088,7 +14466,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h3 class="title"><a name=
- "tex-packages"></a>15.5.17.&nbsp;Packages
+ "tex-packages"></a>16.5.17.&nbsp;Packages
installing TeX modules</h3>
</div>
</div>
@@ -14165,7 +14543,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "feedback-to-author"></a>15.6.&nbsp;Feedback to the
+ "feedback-to-author"></a>16.6.&nbsp;Feedback to the
author</h2>
</div>
</div>
@@ -14189,7 +14567,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title"><a name=
- "debug"></a>Chapter&nbsp;16.&nbsp;Debugging</h2>
+ "debug"></a>Chapter&nbsp;17.&nbsp;Debugging</h2>
</div>
</div>
</div>
@@ -14393,7 +14771,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<li>
<p>Submit (or commit, if you have cvs access); see
<a href="#submit" title=
- "Chapter&nbsp;17.&nbsp;Submitting and Committing">Chapter&nbsp;17,
+ "Chapter&nbsp;18.&nbsp;Submitting and Committing">Chapter&nbsp;18,
<i>Submitting and Committing</i></a>.</p>
</li>
</ul>
@@ -14405,7 +14783,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title"><a name=
- "submit"></a>Chapter&nbsp;17.&nbsp;Submitting and
+ "submit"></a>Chapter&nbsp;18.&nbsp;Submitting and
Committing</h2>
</div>
</div>
@@ -14416,22 +14794,22 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<dl>
<dt><span class="sect1"><a href=
- "#submitting-your-package">17.1. Submitting your
+ "#submitting-your-package">18.1. Submitting your
packages</a></span></dt>
<dt><span class="sect1"><a href=
- "#general-notes-for-changes">17.2. General notes when
+ "#general-notes-for-changes">18.2. General notes when
adding, updating, or removing packages</a></span></dt>
<dt><span class="sect1"><a href=
- "#committing-importing">17.3. Committing: Importing a
+ "#committing-importing">18.3. Committing: Importing a
package into CVS</a></span></dt>
<dt><span class="sect1"><a href=
- "#updating-package">17.4. Updating a package to a newer
+ "#updating-package">18.4. Updating a package to a newer
version</a></span></dt>
- <dt><span class="sect1"><a href="#moving-package">17.5.
+ <dt><span class="sect1"><a href="#moving-package">18.5.
Moving a package in pkgsrc</a></span></dt>
</dl>
</div>
@@ -14441,7 +14819,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "submitting-your-package"></a>17.1.&nbsp;Submitting
+ "submitting-your-package"></a>18.1.&nbsp;Submitting
your packages</h2>
</div>
</div>
@@ -14474,7 +14852,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<p>First, check that your package is complete,
compiles and runs well; see <a href="#debug" title=
- "Chapter&nbsp;16.&nbsp;Debugging">Chapter&nbsp;16,
+ "Chapter&nbsp;17.&nbsp;Debugging">Chapter&nbsp;17,
<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">
@@ -14510,7 +14888,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "general-notes-for-changes"></a>17.2.&nbsp;General
+ "general-notes-for-changes"></a>18.2.&nbsp;General
notes when adding, updating, or removing
packages</h2>
</div>
@@ -14563,7 +14941,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "committing-importing"></a>17.3.&nbsp;Committing:
+ "committing-importing"></a>18.3.&nbsp;Committing:
Importing a package into CVS</h2>
</div>
</div>
@@ -14612,7 +14990,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "updating-package"></a>17.4.&nbsp;Updating a
+ "updating-package"></a>18.4.&nbsp;Updating a
package to a newer version</h2>
</div>
</div>
@@ -14663,7 +15041,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong>
<div>
<div>
<h2 class="title" style="clear: both"><a name=
- "moving-package"></a>17.5.&nbsp;Moving a package in
+ "moving-package"></a>18.5.&nbsp;Moving a package in
pkgsrc</h2>
</div>
</div>
@@ -15002,7 +15380,7 @@ cc -c -DSTDC_HEADERS=1 -DHAVE_STRING_H=1 -DHAVE_STDLIB_H=1 -DHAVE_MEMORY_H=1 -DH
cc -c -DSTDC_HEADERS=1 -DHAVE_STRING_H=1 -DHAVE_STDLIB_H=1 -DHAVE_MEMORY_H=1 -DHAVE_ALLOCA=1 -DHAVE_STRERROR=1 -I./../include -g closure.c
cc -c -DSTDC_HEADERS=1 -DHAVE_STRING_H=1 -DHAVE_STDLIB_H=1 -DHAVE_MEMORY_H=1 -DHAVE_ALLOCA=1 -DHAVE_STRERROR=1 -I./../include -g conflicts.c
cc -c -DSTDC_HEADERS=1 -DHAVE_STRING_H=1 -DHAVE_STDLIB_H=1 -DHAVE_MEMORY_H=1 -DHAVE_ALLOCA=1 -DHAVE_STRERROR=1 -I./../include -g derives.c
-cc -c -DXPFILE=\"/usr/pkg/share/bison.simple\" -DXPFILE1=\"/usr/pkg/share/bison.hairy\" -DSTDC_HEADERS=1 -DHAVE_STRING_H=1 -DHAVE_STDLIB_H=1 -DHAVE_MEMORY_H=1 -DHAVE_ALLOCA=1 -DHAVE_STRERROR=1 -g ./files.c
+cc -c -DXPFILE=\"/usr/pkg/share/bison.simple\" -DXPFILE1=\"/usr/pkg/share/bison.hairy\" -DSTDC_HEADERS=1 -DHAVE_STRING_H=1 -DHAVE_STDLIB_H=1 -DHAVE_MEMORY_H=1 -DHAVE_ALLOCA=1 -DHAVE_STRERROR=1 -g ./files.c
cc -c -DSTDC_HEADERS=1 -DHAVE_STRING_H=1 -DHAVE_STDLIB_H=1 -DHAVE_MEMORY_H=1 -DHAVE_ALLOCA=1 -DHAVE_STRERROR=1 -I./../include -g getargs.c
cc -c -DSTDC_HEADERS=1 -DHAVE_STRING_H=1 -DHAVE_STDLIB_H=1 -DHAVE_MEMORY_H=1 -DHAVE_ALLOCA=1 -DHAVE_STRERROR=1 -I./../include -g gram.c
cc -c -DSTDC_HEADERS=1 -DHAVE_STRING_H=1 -DHAVE_STDLIB_H=1 -DHAVE_MEMORY_H=1 -DHAVE_ALLOCA=1 -DHAVE_STRERROR=1 -I./../include -g lalr.c
@@ -15109,8 +15487,8 @@ Connected to ftp.plig.net.
331 Guest login ok, send your complete e-mail address as password.
230-You are user #5 of 500 simultaneous users allowed.
230-
-230- ___ _ _ _
-230- | _| |_ ___ ___| |_|___ ___ ___ ___
+230- ___ _ _ _
+230- | _| |_ ___ ___| |_|___ ___ ___ ___
230- | _| _| . |_| . | | | . |_| . | _| . |
230- |_| |_| | _|_| _|_|_|_ |_|___|_| |_ |
230- |_| |_| |___| |___|
@@ -15127,7 +15505,7 @@ Connected to ftp.plig.net.
230-RSYNC: rsync://ftp.plig.org/ (max 30 connections)
230-
230-Please email comments, bug reports and requests for packages to be
-230-mirrored to ftp-admin@plig.org.
+230-mirrored to ftp-admin@plig.org.
230-
230-
230 Logged in anonymously.
@@ -15138,7 +15516,7 @@ Using binary mode to transfer files.
250-"/pub/figlet" is new cwd.
250-
250-Welcome to the figlet archive at ftp.figlet.org
-250-
+250-
250- ftp://ftp.figlet.org/pub/figlet/
250-
250-The official FIGlet web page is:
@@ -15146,7 +15524,7 @@ Using binary mode to transfer files.
250-
250-If you have questions, please mailto:info@figlet.org. If you want to
250-contribute a font or something else, you can email us.
-250
+250
250 "/pub/figlet/program" is new cwd.
250 "/pub/figlet/program/unix" is new cwd.
local: figlet221.tar.gz remote: figlet221.tar.gz
@@ -15208,7 +15586,7 @@ cp figlet.6 /usr/pkg/man/man6
===&gt; Building binary package for figlet-2.2.1nb2
Creating package /home/cvs/pkgsrc/packages/i386/All/figlet-2.2.1nb2.tgz
Using SrcDir value of /usr/pkg
-Registering depends:.
+Registering depends:.
<code class="prompt">#</code>
</pre>
</div>
diff --git a/doc/pkgsrc.txt b/doc/pkgsrc.txt
index d59212245ae..f8af187b0f2 100644
--- a/doc/pkgsrc.txt
+++ b/doc/pkgsrc.txt
@@ -14,7 +14,7 @@ The pkgsrc Developers
Copyright (C) 1994-2005 The NetBSD Foundation, Inc
-$NetBSD: pkgsrc.xml,v 1.10 2005/10/05 13:59:56 dillo Exp $
+$NetBSD: pkgsrc.xml,v 1.11 2006/01/13 17:42:33 reed Exp $
Abstract
@@ -217,71 +217,77 @@ II. The pkgsrc developer's guide
14.15. The package phase
14.16. Other helpful targets
- 15. Making your package work
+ 15. Tools needed for building or running
- 15.1. General operation
+ 15.1. Tools for pkgsrc builds
+ 15.2. Tools needed by packages
+ 15.3. Tools provided by platforms
- 15.1.1. How to pull in variables from /etc/mk.conf
- 15.1.2. Where to install documentation
- 15.1.3. Restricted packages
- 15.1.4. Handling dependencies
- 15.1.5. Handling conflicts with other packages
- 15.1.6. Packages that cannot or should not be built
- 15.1.7. Packages which should not be deleted, once installed
- 15.1.8. Handling packages with security problems
- 15.1.9. How to handle compiler bugs
- 15.1.10. How to handle incrementing versions when fixing an
+ 16. Making your package work
+
+ 16.1. General operation
+
+ 16.1.1. How to pull in variables from /etc/mk.conf
+ 16.1.2. Where to install documentation
+ 16.1.3. Restricted packages
+ 16.1.4. Handling dependencies
+ 16.1.5. Handling conflicts with other packages
+ 16.1.6. Packages that cannot or should not be built
+ 16.1.7. Packages which should not be deleted, once installed
+ 16.1.8. Handling packages with security problems
+ 16.1.9. How to handle compiler bugs
+ 16.1.10. How to handle incrementing versions when fixing an
existing package
- 15.1.11. Portability of packages
+ 16.1.11. Portability of packages
- 15.2. Possible downloading issues
+ 16.2. Possible downloading issues
- 15.2.1. Packages whose distfiles aren't available for plain
+ 16.2.1. Packages whose distfiles aren't available for plain
downloading
- 15.2.2. How to handle modified distfiles with the 'old' name
-
- 15.3. Configuration gotchas
-
- 15.3.1. Shared libraries - libtool
- 15.3.2. Using libtool on GNU packages that already support libtool
- 15.3.3. GNU Autoconf/Automake
-
- 15.4. Building the package
-
- 15.4.1. CPP defines
- 15.4.2. Examples of CPP defines for some platforms
- 15.4.3. Getting a list of CPP defines
-
- 15.5. Package specific actions
-
- 15.5.1. User interaction
- 15.5.2. Handling licenses
- 15.5.3. Installing score files
- 15.5.4. Packages containing perl scripts
- 15.5.5. Packages with hardcoded paths to other interpreters
- 15.5.6. Packages installing perl modules
- 15.5.7. Packages installing info files
- 15.5.8. Packages installing man pages
- 15.5.9. Packages installing GConf2 data files
- 15.5.10. Packages installing scrollkeeper data files
- 15.5.11. Packages installing X11 fonts
- 15.5.12. Packages installing GTK2 modules
- 15.5.13. Packages installing SGML or XML data
- 15.5.14. Packages installing extensions to the MIME database
- 15.5.15. Packages using intltool
- 15.5.16. Packages installing startup scripts
- 15.5.17. Packages installing TeX modules
-
- 15.6. Feedback to the author
-
- 16. Debugging
- 17. Submitting and Committing
-
- 17.1. Submitting your packages
- 17.2. General notes when adding, updating, or removing packages
- 17.3. Committing: Importing a package into CVS
- 17.4. Updating a package to a newer version
- 17.5. Moving a package in pkgsrc
+ 16.2.2. How to handle modified distfiles with the 'old' name
+
+ 16.3. Configuration gotchas
+
+ 16.3.1. Shared libraries - libtool
+ 16.3.2. Using libtool on GNU packages that already support libtool
+ 16.3.3. GNU Autoconf/Automake
+
+ 16.4. Building the package
+
+ 16.4.1. CPP defines
+ 16.4.2. Examples of CPP defines for some platforms
+ 16.4.3. Getting a list of CPP defines
+
+ 16.5. Package specific actions
+
+ 16.5.1. User interaction
+ 16.5.2. Handling licenses
+ 16.5.3. Installing score files
+ 16.5.4. Packages containing perl scripts
+ 16.5.5. Packages with hardcoded paths to other interpreters
+ 16.5.6. Packages installing perl modules
+ 16.5.7. Packages installing info files
+ 16.5.8. Packages installing man pages
+ 16.5.9. Packages installing GConf2 data files
+ 16.5.10. Packages installing scrollkeeper data files
+ 16.5.11. Packages installing X11 fonts
+ 16.5.12. Packages installing GTK2 modules
+ 16.5.13. Packages installing SGML or XML data
+ 16.5.14. Packages installing extensions to the MIME database
+ 16.5.15. Packages using intltool
+ 16.5.16. Packages installing startup scripts
+ 16.5.17. Packages installing TeX modules
+
+ 16.6. Feedback to the author
+
+ 17. Debugging
+ 18. Submitting and Committing
+
+ 18.1. Submitting your packages
+ 18.2. General notes when adding, updating, or removing packages
+ 18.3. Committing: Importing a package into CVS
+ 18.4. Updating a package to a newer version
+ 18.5. Moving a package in pkgsrc
A. A simple example package: bison
@@ -1073,6 +1079,14 @@ Whichever compiler you use, please ensure the compiler tools and your $prefix
are in your PATH. This includes /usr/ccs/{bin,lib} and e.g. /usr/pkg/
{bin,sbin}.
+3.2.7.3. Common problems
+
+Sometimes, when using libtool, /bin/ksh crashes with a segmentation fault. The
+workaround is to use another shell for the configure scripts, for example by
+installing shells/bash and adding the following line to your mk.conf:
+
+ CONFIG_SHELL= ${LOCALBASE}/bin/bash
+
Chapter 4. Using pkgsrc
Table of Contents
@@ -1489,7 +1503,7 @@ 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 17, Submitting and Committing for information on how to submit such
+See Chapter 18, Submitting and Committing for information on how to submit such
a binary package.
6.2. Settings for creation of binary packages
@@ -1549,6 +1563,14 @@ briefly described here.
* Another important variable is BULK_PREREQ, which is a list of packages that
should be always available while building other packages.
+Some other options are scattered in the pkgsrc infrastructure:
+
+ * CHECK_FILES (pkgsrc/mk/bsd.pkg.check.mk) can be set to "yes" to check that
+ the installed set of files matches the PLIST.
+
+ * CHECK_INTERPRETER (pkgsrc/mk/bsd.pkg.check.mk) can be set to "yes" to check
+ that the installed "#!"-scripts will find their interpreter.
+
6.3.1.3. pre-build.local
It is possible to configure the bulk build to perform certain site-specific
@@ -1714,9 +1736,6 @@ src/etc, be sure the following items are present and properly configured:
12. Adjust mk/bulk/build.conf to suit your needs.
-13. If you have set CVS_USER in build.conf, make sure that account exists and
- can do a cvs ${CVS_FLAGS} update properly!
-
When the chroot sandbox is set up, you can start the build with the following
steps:
@@ -1767,12 +1786,12 @@ everything.
Then, make sure that you have RSYNC_DST set properly in your mk/bulk/build.conf
file, i.e. adjust it to something like one of the following:
-RSYNC_DST=$CVS_USER@ftp.NetBSD.org:/pub/NetBSD/packages/pkgsrc-200xQy/NetBSD-a.b.c/arch/upload
+RSYNC_DST=ftp.NetBSD.org:/pub/NetBSD/packages/pkgsrc-200xQy/NetBSD-a.b.c/arch/upload
Please use appropriate values for "pkgsrc-200xQy", "NetBSD-a.b.c" and "arch"
-here. If your login on ftp.NetBSD.org is different from CVS_USER, write your
-login directly into the variable, e.g. my local account is "feyrer", but for my
-login "hubertf", I use:
+here. If your login on ftp.NetBSD.org is different from your local login, write
+your login directly into the variable, e.g. my local account is "feyrer", but
+for my login "hubertf", I use:
RSYNC_DST=hubertf@ftp.NetBSD.org:/pub/NetBSD/packages/pkgsrc-200xQy/NetBSD-a.b.c/arch/upload
@@ -2287,70 +2306,76 @@ Table of Contents
14.15. The package phase
14.16. Other helpful targets
-15. Making your package work
+15. Tools needed for building or running
- 15.1. General operation
+ 15.1. Tools for pkgsrc builds
+ 15.2. Tools needed by packages
+ 15.3. Tools provided by platforms
- 15.1.1. How to pull in variables from /etc/mk.conf
- 15.1.2. Where to install documentation
- 15.1.3. Restricted packages
- 15.1.4. Handling dependencies
- 15.1.5. Handling conflicts with other packages
- 15.1.6. Packages that cannot or should not be built
- 15.1.7. Packages which should not be deleted, once installed
- 15.1.8. Handling packages with security problems
- 15.1.9. How to handle compiler bugs
- 15.1.10. How to handle incrementing versions when fixing an existing
+16. Making your package work
+
+ 16.1. General operation
+
+ 16.1.1. How to pull in variables from /etc/mk.conf
+ 16.1.2. Where to install documentation
+ 16.1.3. Restricted packages
+ 16.1.4. Handling dependencies
+ 16.1.5. Handling conflicts with other packages
+ 16.1.6. Packages that cannot or should not be built
+ 16.1.7. Packages which should not be deleted, once installed
+ 16.1.8. Handling packages with security problems
+ 16.1.9. How to handle compiler bugs
+ 16.1.10. How to handle incrementing versions when fixing an existing
package
- 15.1.11. Portability of packages
+ 16.1.11. Portability of packages
- 15.2. Possible downloading issues
+ 16.2. Possible downloading issues
- 15.2.1. Packages whose distfiles aren't available for plain downloading
- 15.2.2. How to handle modified distfiles with the 'old' name
+ 16.2.1. Packages whose distfiles aren't available for plain downloading
+ 16.2.2. How to handle modified distfiles with the 'old' name
- 15.3. Configuration gotchas
+ 16.3. Configuration gotchas
- 15.3.1. Shared libraries - libtool
- 15.3.2. Using libtool on GNU packages that already support libtool
- 15.3.3. GNU Autoconf/Automake
+ 16.3.1. Shared libraries - libtool
+ 16.3.2. Using libtool on GNU packages that already support libtool
+ 16.3.3. GNU Autoconf/Automake
- 15.4. Building the package
+ 16.4. Building the package
- 15.4.1. CPP defines
- 15.4.2. Examples of CPP defines for some platforms
- 15.4.3. Getting a list of CPP defines
+ 16.4.1. CPP defines
+ 16.4.2. Examples of CPP defines for some platforms
+ 16.4.3. Getting a list of CPP defines
- 15.5. Package specific actions
+ 16.5. Package specific actions
- 15.5.1. User interaction
- 15.5.2. Handling licenses
- 15.5.3. Installing score files
- 15.5.4. Packages containing perl scripts
- 15.5.5. Packages with hardcoded paths to other interpreters
- 15.5.6. Packages installing perl modules
- 15.5.7. Packages installing info files
- 15.5.8. Packages installing man pages
- 15.5.9. Packages installing GConf2 data files
- 15.5.10. Packages installing scrollkeeper data files
- 15.5.11. Packages installing X11 fonts
- 15.5.12. Packages installing GTK2 modules
- 15.5.13. Packages installing SGML or XML data
- 15.5.14. Packages installing extensions to the MIME database
- 15.5.15. Packages using intltool
- 15.5.16. Packages installing startup scripts
- 15.5.17. Packages installing TeX modules
+ 16.5.1. User interaction
+ 16.5.2. Handling licenses
+ 16.5.3. Installing score files
+ 16.5.4. Packages containing perl scripts
+ 16.5.5. Packages with hardcoded paths to other interpreters
+ 16.5.6. Packages installing perl modules
+ 16.5.7. Packages installing info files
+ 16.5.8. Packages installing man pages
+ 16.5.9. Packages installing GConf2 data files
+ 16.5.10. Packages installing scrollkeeper data files
+ 16.5.11. Packages installing X11 fonts
+ 16.5.12. Packages installing GTK2 modules
+ 16.5.13. Packages installing SGML or XML data
+ 16.5.14. Packages installing extensions to the MIME database
+ 16.5.15. Packages using intltool
+ 16.5.16. Packages installing startup scripts
+ 16.5.17. Packages installing TeX modules
- 15.6. Feedback to the author
+ 16.6. Feedback to the author
-16. Debugging
-17. Submitting and Committing
+17. Debugging
+18. Submitting and Committing
- 17.1. Submitting your packages
- 17.2. General notes when adding, updating, or removing packages
- 17.3. Committing: Importing a package into CVS
- 17.4. Updating a package to a newer version
- 17.5. Moving a package in pkgsrc
+ 18.1. Submitting your packages
+ 18.2. General notes when adding, updating, or removing packages
+ 18.3. Committing: Importing a package into CVS
+ 18.4. Updating a package to a newer version
+ 18.5. Moving a package in pkgsrc
Chapter 8. Package components - files, directories and contents
@@ -2515,7 +2540,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 15.5.7, "Packages
+ * If the package installs any info files, see Section 16.5.7, "Packages
installing info files".
8.2. distinfo
@@ -3297,7 +3322,7 @@ settle for an older one which will not contain the necessary shared 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 15.1.4, "Handling dependencies" for more information about dependencies
+Section 16.1.4, "Handling dependencies" for more information about dependencies
on other packages, including the BUILDLINK_RECOMMENDED and RECOMMENDED
definitions.
@@ -3940,7 +3965,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 8.3, "patches/*" and Section 15.3.1, "Shared libraries - libtool"
+See Section 8.3, "patches/*" and Section 16.3.1, "Shared libraries - libtool"
for more details.
When choosing which of these variables to use, follow the following rules:
@@ -4110,7 +4135,7 @@ end up being applied in the wrong place, and cause severe harm there.
14.9. The tools phase
-[TODO]
+This is covered in Chapter 15, Tools needed for building or running.
14.10. The wrapper phase
@@ -4170,10 +4195,85 @@ defaults to "all".
14.14. The install phase
Once the build stage has completed, the final step is to install the software
-in public directories, so users can access the programs and files. As in the
-build-target, $MAKE_PROGRAM is invoked on $MAKEFILE here, but with the
-$INSTALL_TARGET instead, the latter defaulting to "install" (plus
-"install.man", if USE_IMAKE is set).
+in public directories, so users can access the programs and files.
+
+In the install phase, a rough equivalent of the following code is executed.
+Additionally, before and after this code, much magic is performed to do
+consistency checks, registering the package, and so on.
+
+ .for d in ${INSTALL_DIRS}
+ cd ${WRKSRC} && cd ${d} && env ${MAKE_ENV} \
+ ${MAKE_PROGRAM} ${INSTALL_MAKE_FLAGS} \
+ -f ${MAKEFILE} ${BUILD_TARGET}
+ .endfor
+
+The variable's meanings are analogous to the ones in the build phase.
+INSTALL_DIRS defaults to BUILD_DIRS. INSTALL_TARGET is "install" by default,
+plus "install.man" if USE_IMAKE is defined.
+
+In the install phase, the following variables are useful. They are all
+variations of the install(1) command that have the owner, group and permissions
+preset. INSTALL is the plain install command. The specialized variants,
+together with their intended use, are:
+
+INSTALL_PROGRAM_DIR
+
+ directories that contain binaries
+
+INSTALL_SCRIPT_DIR
+
+ directories that contain scripts
+
+INSTALL_LIB_DIR
+
+ directories that contain shared and static libraries
+
+INSTALL_DATA_DIR
+
+ directories that contain data files
+
+INSTALL_MAN_DIR
+
+ directories that contain man pages
+
+INSTALL_PROGRAM
+
+ binaries that can be stripped from debugging symbols
+
+INSTALL_SCRIPT
+
+ binaries that cannot be stripped
+
+INSTALL_GAME
+
+ game binaries
+
+INSTALL_LIB
+
+ shared and static libraries
+
+INSTALL_DATA
+
+ data files
+
+INSTALL_GAME_DATA
+
+ data files for games
+
+INSTALL_MAN
+
+ man pages
+
+Some other variables are:
+
+INSTALLATION_DIRS
+
+ A list of directories relative to PREFIX that are created by pkgsrc at the
+ beginning of the install phase. If this variable is set, NO_MTREE="yes" is
+ assumed, which means that the package claims to create all needed
+ directories itself before installing files to it. Therefore this variable
+ should only be set in Makefiles that are under control of the package's
+ author.
14.15. The package phase
@@ -4415,67 +4515,135 @@ bulk-install
Beware that this target may deinstall all packages installed on a system!
-Chapter 15. Making your package work
+Chapter 15. Tools needed for building or running
+
+Table of Contents
+
+15.1. Tools for pkgsrc builds
+15.2. Tools needed by packages
+15.3. Tools provided by platforms
+
+The USE_TOOLS definition is used both internally by pkgsrc and also for
+individual packages to define what commands are needed for building a package
+(like BUILD_DEPENDS) or for later run-time of an installed packaged (such as
+DEPENDS). If the native system provides an adequate tool, then in many cases, a
+pkgsrc package will not be used.
+
+When building a package, the replacement tools are made available in a
+directory (as symlinks or wrapper scripts) that is early in the executable
+search path. Just like the buildlink system, this helps with consistent builds.
+
+A tool may be needed to help build a specific package. For example, perl, GNU
+make (gmake) or yacc may be needed.
+
+Also a tool may be needed, for example, because the native system's supplied
+tool may be inefficient for building a package with pkgsrc. For example, a
+package may need GNU awk, bison (instead of yacc) or a better sed.
+
+The tools used by a package can be listed by running make show-tools.
+
+15.1. Tools for pkgsrc builds
+
+The default set of tools used by pkgsrc is defined in bsd.pkg.mk. This includes
+standard Unix tools, such as: cat, awk, chmod, test, and so on. These can be
+seen by running: make show-var VARNAME=USE_TOOLS.
+
+If a package needs a specific program to build then the USE_TOOLS variable can
+be used to define the tools needed.
+
+15.2. Tools needed by packages
+
+In the following examples, the :pkgsrc means to use the pkgsrc version and not
+the native version for a build dependency. And the :run means that it is used
+for a run-time dependencies also (and becomes a DEPENDS). The default is a
+build dependency which can be set with :build. (So in this example, it is the
+same as gmake:build and pkg-config:build.)
+
+USE_TOOLS+= mktemp:pkgsrc
+USE_TOOLS+= gmake perl:run pkg-config
+
+When using the tools framework, a TOOLS_PATH.foo variable is defined which
+contains the full path to the appropriate tool. For example, TOOLS_PATH.bash
+could be "/bin/bash" on Linux systems.
+
+If you always need a pkgsrc version of the tool at run-time, then just use
+DEPENDS instead.
+
+15.3. Tools provided by platforms
+
+When improving or porting pkgsrc to a new platform, have a look at (or create)
+the corresponding platform specific make file fragment under pkgsrc/mk/tools/
+tools.${OPSYS}.mk which defines the name of the common tools. For example:
+
+.if exists(/usr/bin/bzcat)
+TOOLS_PLATFORM.bzcat?= /usr/bin/bzcat
+.elif exists(/usr/bin/bzip2)
+TOOLS_PLATFORM.bzcat?= /usr/bin/bzip2 -cd
+.endif
+
+TOOLS_PLATFORM.true?= true # shell builtin
+
+Chapter 16. Making your package work
Table of Contents
-15.1. General operation
-
- 15.1.1. How to pull in variables from /etc/mk.conf
- 15.1.2. Where to install documentation
- 15.1.3. Restricted packages
- 15.1.4. Handling dependencies
- 15.1.5. Handling conflicts with other packages
- 15.1.6. Packages that cannot or should not be built
- 15.1.7. Packages which should not be deleted, once installed
- 15.1.8. Handling packages with security problems
- 15.1.9. How to handle compiler bugs
- 15.1.10. How to handle incrementing versions when fixing an existing
+16.1. General operation
+
+ 16.1.1. How to pull in variables from /etc/mk.conf
+ 16.1.2. Where to install documentation
+ 16.1.3. Restricted packages
+ 16.1.4. Handling dependencies
+ 16.1.5. Handling conflicts with other packages
+ 16.1.6. Packages that cannot or should not be built
+ 16.1.7. Packages which should not be deleted, once installed
+ 16.1.8. Handling packages with security problems
+ 16.1.9. How to handle compiler bugs
+ 16.1.10. How to handle incrementing versions when fixing an existing
package
- 15.1.11. Portability of packages
+ 16.1.11. Portability of packages
-15.2. Possible downloading issues
+16.2. Possible downloading issues
- 15.2.1. Packages whose distfiles aren't available for plain downloading
- 15.2.2. How to handle modified distfiles with the 'old' name
+ 16.2.1. Packages whose distfiles aren't available for plain downloading
+ 16.2.2. How to handle modified distfiles with the 'old' name
-15.3. Configuration gotchas
+16.3. Configuration gotchas
- 15.3.1. Shared libraries - libtool
- 15.3.2. Using libtool on GNU packages that already support libtool
- 15.3.3. GNU Autoconf/Automake
+ 16.3.1. Shared libraries - libtool
+ 16.3.2. Using libtool on GNU packages that already support libtool
+ 16.3.3. GNU Autoconf/Automake
-15.4. Building the package
+16.4. Building the package
- 15.4.1. CPP defines
- 15.4.2. Examples of CPP defines for some platforms
- 15.4.3. Getting a list of CPP defines
+ 16.4.1. CPP defines
+ 16.4.2. Examples of CPP defines for some platforms
+ 16.4.3. Getting a list of CPP defines
-15.5. Package specific actions
+16.5. Package specific actions
- 15.5.1. User interaction
- 15.5.2. Handling licenses
- 15.5.3. Installing score files
- 15.5.4. Packages containing perl scripts
- 15.5.5. Packages with hardcoded paths to other interpreters
- 15.5.6. Packages installing perl modules
- 15.5.7. Packages installing info files
- 15.5.8. Packages installing man pages
- 15.5.9. Packages installing GConf2 data files
- 15.5.10. Packages installing scrollkeeper data files
- 15.5.11. Packages installing X11 fonts
- 15.5.12. Packages installing GTK2 modules
- 15.5.13. Packages installing SGML or XML data
- 15.5.14. Packages installing extensions to the MIME database
- 15.5.15. Packages using intltool
- 15.5.16. Packages installing startup scripts
- 15.5.17. Packages installing TeX modules
+ 16.5.1. User interaction
+ 16.5.2. Handling licenses
+ 16.5.3. Installing score files
+ 16.5.4. Packages containing perl scripts
+ 16.5.5. Packages with hardcoded paths to other interpreters
+ 16.5.6. Packages installing perl modules
+ 16.5.7. Packages installing info files
+ 16.5.8. Packages installing man pages
+ 16.5.9. Packages installing GConf2 data files
+ 16.5.10. Packages installing scrollkeeper data files
+ 16.5.11. Packages installing X11 fonts
+ 16.5.12. Packages installing GTK2 modules
+ 16.5.13. Packages installing SGML or XML data
+ 16.5.14. Packages installing extensions to the MIME database
+ 16.5.15. Packages using intltool
+ 16.5.16. Packages installing startup scripts
+ 16.5.17. Packages installing TeX modules
-15.6. Feedback to the author
+16.6. Feedback to the author
-15.1. General operation
+16.1. General operation
-15.1.1. How to pull in variables from /etc/mk.conf
+16.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
@@ -4503,13 +4671,13 @@ 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.
-15.1.2. Where to install documentation
+16.1.2. Where to install documentation
Documentation should be installed into ${PREFIX}/share/doc/${PKGBASE} or $
{PREFIX}/share/doc/${PKGNAME} (the latter includes the version number of the
package).
-15.1.3. Restricted packages
+16.1.3. 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
@@ -4548,7 +4716,7 @@ 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!
-15.1.4. Handling dependencies
+16.1.4. 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
@@ -4637,7 +4805,7 @@ version numbers recognized by pkg_info(1).
systems that may have different versions of binary packages installed.
For security fixes, please update the package vulnerabilities file as well
- as setting RECOMMENDED, see Section 15.1.8, "Handling packages with
+ as setting RECOMMENDED, see Section 16.1.8, "Handling packages with
security problems" for more information.
4. If your package needs some executable to be able to run correctly and if
@@ -4672,7 +4840,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.
-15.1.5. Handling conflicts with other packages
+16.1.5. 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
@@ -4694,7 +4862,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".
-15.1.6. Packages that cannot or should not be built
+16.1.6. 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
@@ -4708,7 +4876,7 @@ functionality already provided by the system), set PKG_SKIP_REASON to a
descriptive message. If the package should fail because some preconditions are
not met, set PKG_FAIL_REASON to a descriptive message.
-15.1.7. Packages which should not be deleted, once installed
+16.1.7. 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
@@ -4716,7 +4884,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.
-15.1.8. Handling packages with security problems
+16.1.8. Handling packages with security problems
When a vulnerability is found, this should be noted in localsrc/security/
advisories/pkg-vulnerabilities, and after committing that file, use make upload
@@ -4734,7 +4902,7 @@ submit a pullup request!
Binary packages already on ftp.NetBSD.org will be handled semi-automatically by
a weekly cron job.
-15.1.9. How to handle compiler bugs
+16.1.9. 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
@@ -4745,7 +4913,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!
-15.1.10. How to handle incrementing versions when fixing an existing package
+16.1.10. 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
@@ -4763,14 +4931,14 @@ like:
DISTNAME= foo-17.43
-15.1.11. Portability of packages
+16.1.11. 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.
-15.1.11.1. ${INSTALL}, ${INSTALL_DATA_DIR}, ...
+16.1.11.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}
@@ -4779,9 +4947,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
-15.2. Possible downloading issues
+16.2. Possible downloading issues
-15.2.1. Packages whose distfiles aren't available for plain downloading
+16.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
@@ -4797,7 +4965,7 @@ packages use this: cad/simian, devel/ipv6socket, emulators/vmware-module, fonts
/acroread-jpnfont, multimedia/realplayer, sysutils/storage-manager, www/
ap-aolserver, www/openacs. Try to be consistent with them.
-15.2.2. How to handle modified distfiles with the 'old' name
+16.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
@@ -4814,9 +4982,9 @@ filenames. Furthermore, a mail to the package's authors seems appropriate
telling them that changing distfiles after releases without changing the file
names is not good practice.
-15.3. Configuration gotchas
+16.3. Configuration gotchas
-15.3.1. Shared libraries - libtool
+16.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
@@ -4911,7 +5079,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).
-15.3.2. Using libtool on GNU packages that already support libtool
+16.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
@@ -4945,7 +5113,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.
-15.3.3. GNU Autoconf/Automake
+16.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
@@ -4983,9 +5151,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.
-15.4. Building the package
+16.4. Building the package
-15.4.1. CPP defines
+16.4.1. CPP defines
Sometimes you need to compile different code depending on the target platform.
The C preprocessor has a set of predefined macros that can be queried by using
@@ -5002,7 +5170,7 @@ and compiler has its own macro. For example, if the macros __GNUC__, __i386__
and __NetBSD__ are all defined, you know that you are using NetBSD on an i386
compatible CPU, and your compiler is GCC.
-15.4.1.1. CPP defines for operating systems
+16.4.1.1. CPP defines for operating systems
To distinguish between 4.4 BSD-derived systems and the rest of the world, you
should use the following code.
@@ -5024,18 +5192,18 @@ If this distinction is not fine enough, you can also use the following defines.
OpenBSD __OpenBSD__
Solaris sun, __sun
-15.4.1.2. CPP defines for CPUs
+16.4.1.2. CPP defines for CPUs
i386 i386, __i386, __i386__
MIPS __mips
SPARC sparc, __sparc
-15.4.1.3. CPP defines for compilers
+16.4.1.3. CPP defines for compilers
GCC __GNUC__ (major version), __GNUC_MINOR__
SunPro __SUNPRO_C (0x570 for version 5.7)
-15.4.2. Examples of CPP defines for some platforms
+16.4.2. Examples of CPP defines for some platforms
The list of the CPP identification macros for hardware and operating system may
depend on the compiler that is used. The following list contains some examples
@@ -5065,7 +5233,7 @@ SunPro 5.7 + Solaris 8 + SPARC
__SVR4, __sparc, __sun, __unix, sparc, sun, unix.
-15.4.3. Getting a list of CPP defines
+16.4.3. Getting a list of CPP defines
If your system uses the GNU C Compiler, you can get a list of symbols that are
defined by default, e.g. to identify the platform, with the following command:
@@ -5076,9 +5244,9 @@ On other systems you may get the list by using the system's syscall trace
utility (ktrace, truss, strace) to have a look which arguments are passed to
the actual compiler.
-15.5. Package specific actions
+16.5. Package specific actions
-15.5.1. User interaction
+16.5.1. User interaction
Occasionally, packages require interaction from the user, and this can be in a
number of ways:
@@ -5101,7 +5269,7 @@ Multiple interactive stages can be specified:
INTERACTIVE_STAGE= configure install
-15.5.2. Handling licenses
+16.5.2. Handling licenses
A package may be covered by a license which the user has or has not agreed to
accept. For these cases, pkgsrc contains a mechanism to note that a package is
@@ -5156,7 +5324,7 @@ license text for another package. In particular, this can be inappropriate when
e.g. one accepts a particular license to indicate to pkgsrc that a fee has been
paid.
-15.5.3. Installing score files
+16.5.3. 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
@@ -5171,13 +5339,13 @@ 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.
-15.5.4. Packages containing perl scripts
+16.5.4. 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.
-15.5.5. Packages with hardcoded paths to other interpreters
+16.5.5. 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
@@ -5190,7 +5358,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
-15.5.6. Packages installing perl modules
+16.5.6. 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
@@ -5210,7 +5378,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.
-15.5.7. Packages installing info files
+16.5.7. Packages installing info files
Some packages install info files or use the "makeinfo" or "install-info"
commands. Each of the info files:
@@ -5249,7 +5417,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.
-15.5.8. Packages installing man pages
+16.5.8. Packages installing man pages
Many packages install manual pages. The man pages are installed under ${PREFIX}
/${PKGMANDIR} which is /usr/pkg/man by default. PKGMANDIR defaults to "man".
@@ -5275,7 +5443,7 @@ use of --mandir, you can set GNU_CONFIGURE_MANDIR as needed.
See Section 10.5, "Man page compression" for information on installation of
compressed manual pages.
-15.5.9. Packages installing GConf2 data files
+16.5.9. 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:
@@ -5302,7 +5470,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.
-15.5.10. Packages installing scrollkeeper data files
+16.5.10. 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:
@@ -5318,7 +5486,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.
-15.5.11. Packages installing X11 fonts
+16.5.11. 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
@@ -5332,7 +5500,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.
-15.5.12. Packages installing GTK2 modules
+16.5.12. 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:
@@ -5355,7 +5523,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.
-15.5.13. Packages installing SGML or XML data
+16.5.13. 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
@@ -5381,7 +5549,7 @@ extra steps:
(specifically, arguments recognized by the 'add' action). Note that you
will normally not use this variable.
-15.5.14. Packages installing extensions to the MIME database
+16.5.14. 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
@@ -5402,7 +5570,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.
-15.5.15. Packages using intltool
+16.5.15. 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
@@ -5412,7 +5580,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.
-15.5.16. Packages installing startup scripts
+16.5.16. 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
@@ -5420,7 +5588,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.
-15.5.17. Packages installing TeX modules
+16.5.17. Packages installing TeX modules
If a package installs TeX packages into the texmf tree, the ls-R database of
the tree needs to be updated.
@@ -5446,7 +5614,7 @@ into PKG_LOCALTEXMFPREFIX, not PKG_TEXMFPREFIX.
3. Make sure that none of ls-R databases are included in PLIST, as they will
be removed only by the teTeX-bin package.
-15.6. Feedback to the author
+16.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
@@ -5457,7 +5625,7 @@ win from your efforts.
Support the idea of free software!
-Chapter 16. Debugging
+Chapter 17. 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
@@ -5536,20 +5704,20 @@ what was explained in the previous sections, only with some debugging aids.
# pkglint
- * Submit (or commit, if you have cvs access); see Chapter 17, Submitting and
+ * Submit (or commit, if you have cvs access); see Chapter 18, Submitting and
Committing.
-Chapter 17. Submitting and Committing
+Chapter 18. Submitting and Committing
Table of Contents
-17.1. Submitting your packages
-17.2. General notes when adding, updating, or removing packages
-17.3. Committing: Importing a package into CVS
-17.4. Updating a package to a newer version
-17.5. Moving a package in pkgsrc
+18.1. Submitting your packages
+18.2. General notes when adding, updating, or removing packages
+18.3. Committing: Importing a package into CVS
+18.4. Updating a package to a newer version
+18.5. Moving a package in pkgsrc
-17.1. Submitting your packages
+18.1. Submitting your packages
You have to separate between binary and "normal" (source) packages here:
@@ -5565,7 +5733,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 16, Debugging and the rest of this document. Next, generate an
+ Chapter 17, 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
@@ -5579,7 +5747,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.
-17.2. General notes when adding, updating, or removing packages
+18.2. General notes when adding, updating, or removing packages
Please note all package additions, updates, moves, and removals in pkgsrc/doc/
CHANGES. It's very important to keep this file up to date and conforming to the
@@ -5598,7 +5766,7 @@ or package moves or removals, set the CTYPE variable on the command line to
if your local login name is not the same as your NetBSD login name. Don't
forget to commit the changes to pkgsrc/doc/CHANGES!
-17.3. Committing: Importing a package into CVS
+18.3. 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
@@ -5620,7 +5788,7 @@ so people reading the mailing lists know what the package is/does.
For new packages, "cvs import" is preferred to "cvs add" because the former
gets everything with a single command, and provides a consistent tag.
-17.4. Updating a package to a newer version
+18.4. 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
@@ -5645,7 +5813,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.
-17.5. Moving a package in pkgsrc
+18.5. Moving a package in pkgsrc
1. Make a copy of the directory somewhere else.