diff options
-rw-r--r-- | doc/pkgsrc.html | 932 | ||||
-rw-r--r-- | doc/pkgsrc.txt | 5 |
2 files changed, 470 insertions, 467 deletions
diff --git a/doc/pkgsrc.html b/doc/pkgsrc.html index b015bdf7ad1..cb460550a82 100644 --- a/doc/pkgsrc.html +++ b/doc/pkgsrc.html @@ -18,13 +18,13 @@ <h3 class="author"> <span class="firstname">Alistair</span> <span class="surname">Crooks</span> </h3> -<div class="affiliation"><div class="address"><p><code class="email"><<a href="mailto:agc@NetBSD.org">agc@NetBSD.org</a>></code></p></div></div> +<div class="affiliation"><div class="address"><p><code class="email"><<a class="email" href="mailto:agc@NetBSD.org">agc@NetBSD.org</a>></code></p></div></div> </div> <div class="author"> <h3 class="author"> <span class="firstname">Hubert</span> <span class="surname">Feyrer</span> </h3> -<div class="affiliation"><div class="address"><p><code class="email"><<a href="mailto:hubertf@NetBSD.org">hubertf@NetBSD.org</a>></code></p></div></div> +<div class="affiliation"><div class="address"><p><code class="email"><<a class="email" href="mailto:hubertf@NetBSD.org">hubertf@NetBSD.org</a>></code></p></div></div> </div> <h3 class="corpauthor"> The pkgsrc Developers @@ -163,7 +163,7 @@ builds)</a></span></dt> <dt><span class="sect1"><a href="#resume-transfers">9.5. How to resume transfers when fetching distfiles?</a></span></dt> <dt><span class="sect1"><a href="#x.org-from-pkgsrc">9.6. How can I install/use modular X.org from pkgsrc?</a></span></dt> <dt><span class="sect1"><a href="#fetch-behind-firewall">9.7. How to fetch files from behind a firewall</a></span></dt> -<dt><span class="sect1"><a href="#passive-ftp">9.8. How do I tell <span><strong class="command">make fetch</strong></span> to do passive FTP?</a></span></dt> +<dt><span class="sect1"><a href="#passive-ftp">9.8. How do I tell <span class="command"><strong>make fetch</strong></span> to do passive FTP?</a></span></dt> <dt><span class="sect1"><a href="#fetching-all-distfiles">9.9. How to fetch all distfiles at once</a></span></dt> <dt><span class="sect1"><a href="#tmac.andoc-missing">9.10. What does “<span class="quote">Don't know how to make /usr/share/tmac/tmac.andoc</span>” mean?</a></span></dt> @@ -228,7 +228,7 @@ builds)</a></span></dt> <dd><dl> <dt><span class="sect1"><a href="#rcs-id">13.1. RCS ID</a></span></dt> <dt><span class="sect1"><a href="#automatic-plist-generation">13.2. Semi-automatic <code class="filename">PLIST</code> generation</a></span></dt> -<dt><span class="sect1"><a href="#print-PLIST">13.3. Tweaking output of <span><strong class="command">make print-PLIST</strong></span></a></span></dt> +<dt><span class="sect1"><a href="#print-PLIST">13.3. Tweaking output of <span class="command"><strong>make print-PLIST</strong></span></a></span></dt> <dt><span class="sect1"><a href="#plist.misc">13.4. Variable substitution in PLIST</a></span></dt> <dt><span class="sect1"><a href="#manpage-compression">13.5. Man page compression</a></span></dt> <dt><span class="sect1"><a href="#using-PLIST_SRC">13.6. Changing PLIST source with <code class="varname">PLIST_SRC</code></a></span></dt> @@ -442,7 +442,7 @@ builds)</a></span></dt> <dt><span class="sect2"><a href="#example-Makefile">A.1.1. Makefile</a></span></dt> <dt><span class="sect2"><a href="#example-descr">A.1.2. DESCR</a></span></dt> <dt><span class="sect2"><a href="#example-plist">A.1.3. PLIST</a></span></dt> -<dt><span class="sect2"><a href="#checking-package-with-pkglint">A.1.4. Checking a package with <span><strong class="command">pkglint</strong></span></a></span></dt> +<dt><span class="sect2"><a href="#checking-package-with-pkglint">A.1.4. Checking a package with <span class="command"><strong>pkglint</strong></span></a></span></dt> </dl></dd> <dt><span class="sect1"><a href="#steps-for-b-i-p">A.2. Steps for building, installing, packaging</a></span></dt> </dl></dd> @@ -562,14 +562,14 @@ pkgsrc provides the following key features: <p>The following principles are basic to pkgsrc:</p> <div class="itemizedlist"><ul type="disc"> <li><p>“<span class="quote">It should only work if it's right.</span>” -— That means, if a package contains bugs, it's better to find +— That means, if a package contains bugs, it's better to find them and to complain about them rather than to just install the package and hope that it works. There are numerous checks in pkgsrc that try to find such bugs: Static analysis tools (<a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkglint/README.html" target="_top"><code class="filename">pkgtools/pkglint</code></a>), build-time checks (portability of shell scripts), and post-installation checks (installed files, references to shared libraries, script interpreters).</p></li> <li><p>“<span class="quote">If it works, it should work everywhere</span>” -— Like NetBSD has been ported to many hardware architectures, +— Like NetBSD has been ported to many hardware architectures, pkgsrc has been ported to many operating systems. Care is taken that packages behave the same on all platforms.</p></li> </ul></div> @@ -597,34 +597,34 @@ minutes!</p> </tr></thead> <tbody> <tr> -<td><a href="http://www.NetBSD.org/" target="_top">NetBSD</a></td> +<td><a class="ulink" href="http://www.NetBSD.org/" target="_top">NetBSD</a></td> <td align="center">Aug 1997</td> </tr> <tr> -<td><a href="http://wwws.sun.com/software/solaris/" target="_top">Solaris</a></td> +<td><a class="ulink" href="http://wwws.sun.com/software/solaris/" target="_top">Solaris</a></td> <td align="center">Mar 1999</td> </tr> <tr> -<td><a href="http://www.kernel.org/" target="_top">Linux</a></td> +<td><a class="ulink" href="http://www.kernel.org/" target="_top">Linux</a></td> <td align="center">Jun 1999</td> </tr> <tr> <td> - <a href="http://developer.apple.com/darwin/" target="_top">Darwin</a> - (<a href="http://developer.apple.com/macosx/" target="_top">Mac OS X</a>) + <a class="ulink" href="http://developer.apple.com/darwin/" target="_top">Darwin</a> + (<a class="ulink" href="http://developer.apple.com/macosx/" target="_top">Mac OS X</a>) </td> <td align="center">Oct 2001</td> </tr> <tr> -<td><a href="http://www.freebsd.org/" target="_top">FreeBSD</a></td> +<td><a class="ulink" href="http://www.freebsd.org/" target="_top">FreeBSD</a></td> <td align="center">Nov 2002</td> </tr> <tr> -<td><a href="http://www.openbsd.org/" target="_top">OpenBSD</a></td> +<td><a class="ulink" href="http://www.openbsd.org/" target="_top">OpenBSD</a></td> <td align="center">Nov 2002</td> </tr> <tr> -<td><a href="http://www.sgi.com/software/irix/" target="_top">IRIX</a></td> +<td><a class="ulink" href="http://www.sgi.com/software/irix/" target="_top">IRIX</a></td> <td align="center">Dec 2002</td> </tr> <tr> @@ -632,26 +632,26 @@ minutes!</p> <td align="center">Dec 2003</td> </tr> <tr> -<td><a href="http://www-1.ibm.com/servers/aix/" target="_top">AIX</a></td> +<td><a class="ulink" href="http://www-1.ibm.com/servers/aix/" target="_top">AIX</a></td> <td align="center">Dec 2003</td> </tr> <tr> <td> - <a href="http://www.microsoft.com/windows/sfu/" target="_top">Interix</a> + <a class="ulink" href="http://www.microsoft.com/windows/sfu/" target="_top">Interix</a> (Microsoft Windows Services for Unix) </td> <td align="center">Mar 2004</td> </tr> <tr> -<td><a href="http://www.dragonflybsd.org/" target="_top">DragonFlyBSD</a></td> +<td><a class="ulink" href="http://www.dragonflybsd.org/" target="_top">DragonFlyBSD</a></td> <td align="center">Oct 2004</td> </tr> <tr> -<td><a href="http://www.tru64.org/" target="_top">OSF/1</a></td> +<td><a class="ulink" href="http://www.tru64.org/" target="_top">OSF/1</a></td> <td align="center">Nov 2004</td> </tr> <tr> -<td><a href="http://www.hp.com/products1/unix/" target="_top">HP-UX</a></td> +<td><a class="ulink" href="http://www.hp.com/products1/unix/" target="_top">HP-UX</a></td> <td align="center">Apr 2007</td> </tr> </tbody> @@ -664,18 +664,18 @@ minutes!</p> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="overview"></a>1.2. Overview</h2></div></div></div> <p>This document is divided into three parts. The first, - <a href="#users-guide" title="Part I. The pkgsrc user's guide">The pkgsrc user's guide</a>, + <a class="link" href="#users-guide" title="Part I. The pkgsrc user's guide">The pkgsrc user's guide</a>, describes how one can use one of the packages in the Package Collection, either by installing a precompiled binary package, or by building one's own copy using the NetBSD package system. - The second part, <a href="#developers-guide" title="Part II. The pkgsrc developer's guide">The pkgsrc developer's guide</a>, explains how to prepare a + The second part, <a class="link" href="#developers-guide" title="Part II. The pkgsrc developer's guide">The pkgsrc developer's guide</a>, explains how to prepare a package so it can be easily built by other NetBSD users without knowing about the package's building details. The third part, - <a href="#infrastructure" title="Part III. The pkgsrc infrastructure internals">The pkgsrc infrastructure internals</a> + <a class="link" href="#infrastructure" title="Part III. The pkgsrc infrastructure internals">The pkgsrc infrastructure internals</a> is intended for those who want to understand how pkgsrc is implemented.</p> <p>This document is available in various formats: - <span class="simplelist"><a href="index.html" target="_top">HTML</a>, <a href="pkgsrc.pdf" target="_top">PDF</a>, <a href="pkgsrc.ps" target="_top">PS</a>, <a href="pkgsrc.txt" target="_top">TXT</a></span>.</p> + <span class="simplelist"><a class="ulink" href="index.html" target="_top">HTML</a>, <a class="ulink" href="pkgsrc.pdf" target="_top">PDF</a>, <a class="ulink" href="pkgsrc.ps" target="_top">PS</a>, <a class="ulink" href="pkgsrc.txt" target="_top">TXT</a></span>.</p> </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> @@ -718,7 +718,7 @@ minutes!</p> machine architecture without the need to recompile. Packages are usually generated in <code class="filename">/usr/pkgsrc/packages</code>; there is also - an archive on <a href="ftp://ftp.NetBSD.org/pub/NetBSD/packages/" target="_top">ftp.NetBSD.org</a>.</p> + an archive on <a class="ulink" href="ftp://ftp.NetBSD.org/pub/NetBSD/packages/" target="_top">ftp.NetBSD.org</a>.</p> <p>Sometimes, this is referred to by the term “<span class="quote">package</span>” too, especially in the context of precompiled packages.</p> </dd> @@ -741,16 +741,16 @@ minutes!</p> <p>There are two kinds of pkgsrc users: Some only want to install pre-built binary packages. Others build the pkgsrc packages from source, either for installing them directly or for - building binary packages themselves. For pkgsrc users <a href="#users-guide" title="Part I. The pkgsrc user's guide">Part I, “The pkgsrc user's guide”</a> should provide all necessary + building binary packages themselves. For pkgsrc users <a class="xref" href="#users-guide" title="Part I. The pkgsrc user's guide">Part I, “The pkgsrc user's guide”</a> should provide all necessary documentation.</p> </dd> <dt><span class="term">package maintainers</span></dt> <dd><p>A - package maintainer creates packages as described in <a href="#developers-guide" title="Part II. The pkgsrc developer's guide">Part II, “The pkgsrc developer's guide”</a>.</p></dd> + package maintainer creates packages as described in <a class="xref" href="#developers-guide" title="Part II. The pkgsrc developer's guide">Part II, “The pkgsrc developer's guide”</a>.</p></dd> <dt><span class="term">infrastructure developers</span></dt> <dd><p>These people are involved in all those files that live in the <code class="filename">mk/</code> directory and below. - Only these people should need to read through <a href="#infrastructure" title="Part III. The pkgsrc infrastructure internals">Part III, “The pkgsrc infrastructure internals”</a>, though others might be curious, + Only these people should need to read through <a class="xref" href="#infrastructure" title="Part III. The pkgsrc infrastructure internals">Part III, “The pkgsrc infrastructure internals”</a>, though others might be curious, too.</p></dd> </dl></div> </div> @@ -874,7 +874,7 @@ builds)</a></span></dt> <dt><span class="sect1"><a href="#resume-transfers">9.5. How to resume transfers when fetching distfiles?</a></span></dt> <dt><span class="sect1"><a href="#x.org-from-pkgsrc">9.6. How can I install/use modular X.org from pkgsrc?</a></span></dt> <dt><span class="sect1"><a href="#fetch-behind-firewall">9.7. How to fetch files from behind a firewall</a></span></dt> -<dt><span class="sect1"><a href="#passive-ftp">9.8. How do I tell <span><strong class="command">make fetch</strong></span> to do passive FTP?</a></span></dt> +<dt><span class="sect1"><a href="#passive-ftp">9.8. How do I tell <span class="command"><strong>make fetch</strong></span> to do passive FTP?</a></span></dt> <dt><span class="sect1"><a href="#fetching-all-distfiles">9.9. How to fetch all distfiles at once</a></span></dt> <dt><span class="sect1"><a href="#tmac.andoc-missing">9.10. What does “<span class="quote">Don't know how to make /usr/share/tmac/tmac.andoc</span>” mean?</a></span></dt> @@ -932,17 +932,17 @@ and dashes.</p> <div class="titlepage"><div><div><h3 class="title"> <a name="getting-via-tar"></a>2.1.1. As tar file</h3></div></div></div> <p>The primary download location for all pkgsrc files is - <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/" target="_top">ftp://ftp.NetBSD.org/pub/pkgsrc/</a>. There are a + <a class="ulink" href="ftp://ftp.NetBSD.org/pub/pkgsrc/" target="_top">ftp://ftp.NetBSD.org/pub/pkgsrc/</a>. There are a number of subdirectories for different purposes, which are - described in detail in <a href="#ftp-layout" title="Appendix C. Directory layout of the pkgsrc FTP server">Appendix C, <i>Directory layout of the pkgsrc FTP server</i></a>.</p> + described in detail in <a class="xref" href="#ftp-layout" title="Appendix C. Directory layout of the pkgsrc FTP server">Appendix C, <i>Directory layout of the pkgsrc FTP server</i></a>.</p> <p>The tar file for the current branch is in the directory - <code class="filename">current</code> and is called <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc.tar.gz" target="_top"><code class="filename">pkgsrc.tar.gz</code></a>. + <code class="filename">current</code> and is called <a class="ulink" href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc.tar.gz" target="_top"><code class="filename">pkgsrc.tar.gz</code></a>. It is autogenerated daily.</p> <p>The tar file for the stable branch 2007Q1 is in the - directory <code class="filename">pkgsrc-2007Q1</code> and is also called <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/pkgsrc-2007Q1/pkgsrc-2007Q1.tar.gz" target="_top"><code class="filename">pkgsrc-2007Q1.tar.gz</code></a>.</p> + directory <code class="filename">pkgsrc-2007Q1</code> and is also called <a class="ulink" href="ftp://ftp.NetBSD.org/pub/pkgsrc/pkgsrc-2007Q1/pkgsrc-2007Q1.tar.gz" target="_top"><code class="filename">pkgsrc-2007Q1.tar.gz</code></a>.</p> <p>After downloading the tar file, change to the directory where you want to have pkgsrc. This is usually - <code class="filename">/usr</code>. Then, run <span><strong class="command">gzcat + <code class="filename">/usr</code>. Then, run <span class="command"><strong>gzcat pkgsrc.tar.gz | tar xf -</strong></span> to extract the files.</p> </div> <div class="sect2" lang="en"> @@ -961,13 +961,13 @@ release=pkgsrc in it, see the examples in <code class="filename">/usr/share/examples/supfiles</code>, and that the <code class="filename">/usr/pkgsrc</code> directory exists. Then, simply - run <span><strong class="command">sup -v + run <span class="command"><strong>sup -v <em class="replaceable"><code>/path/to/your/supfile</code></em></strong></span>.</p> </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> <a name="getting-via-cvs"></a>2.1.3. Via anonymous CVS</h3></div></div></div> -<p>To get pkgsrc via CVS, make sure you have <a href="http://netbsd.gw.com/cgi-bin/man-cgi?cvs+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">cvs</span>(1)</span></a> +<p>To get pkgsrc via CVS, make sure you have <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?cvs+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">cvs</span>(1)</span></a> installed. To do an initial (full) checkout of pkgsrc, you first have to set some environment variables. For the C-Shell, type:</p> @@ -1001,8 +1001,8 @@ rdiff -u <p>Then, you change to the directory where you want to have your copy of pkgsrc. In most cases this is <code class="filename">/usr</code>. In that directory you run the - checkout command, which is <span><strong class="command">cvs -q checkout -P - pkgsrc</strong></span> for the current branch and <span><strong class="command">cvs -q + checkout command, which is <span class="command"><strong>cvs -q checkout -P + pkgsrc</strong></span> for the current branch and <span class="command"><strong>cvs -q checkout -rpkgsrc-2007Q1 -P pkgsrc</strong></span> for the stable branch. This command will create a directory called <code class="filename">pkgsrc</code> with all the pkgsrc files in @@ -1034,7 +1034,7 @@ rdiff -u before updating. You can also configure pkgsrc to use other than the default directories by setting the <code class="varname">DISTDIR</code> and <code class="varname">PACKAGES</code> - variables. See <a href="#configuring" title="Chapter 5. Configuring pkgsrc">Chapter 5, <i>Configuring pkgsrc</i></a> for the details.</p> + variables. See <a class="xref" href="#configuring" title="Chapter 5. Configuring pkgsrc">Chapter 5, <i>Configuring pkgsrc</i></a> for the details.</p> <p>To update pkgsrc from a tar file, download the tar file as explained above. Then, make sure that you have not made any changes to the files in the pkgsrc directory. Remove the pkgsrc @@ -1045,7 +1045,7 @@ rdiff -u <a name="uptodate-cvs"></a>2.2.2. Via CVS</h3></div></div></div> <p>To update pkgsrc via CVS, make sure the environment variable <code class="varname">CVS_RSH</code> is set as above. Then, - change to the pkgsrc directory and run <span><strong class="command">cvs -q update + change to the pkgsrc directory and run <span class="command"><strong>cvs -q update -dP</strong></span>.</p> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> @@ -1095,7 +1095,7 @@ rdiff -u <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="binarydist"></a>3.1. Binary distribution</h2></div></div></div> -<p>See <a href="#using-pkg" title="4.1. Using binary packages">Section 4.1, “Using binary packages”</a>.</p> +<p>See <a class="xref" href="#using-pkg" title="4.1. Using binary packages">Section 4.1, “Using binary packages”</a>.</p> </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> @@ -1106,9 +1106,9 @@ rdiff -u <code class="prompt">#</code> <strong class="userinput"><code>cd pkgsrc/bootstrap</code></strong> <code class="prompt">#</code> <strong class="userinput"><code>./bootstrap</code></strong> </pre> -<p>See <a href="#getting" title="Chapter 2. Where to get pkgsrc and how to keep it up-to-date">Chapter 2, <i>Where to get pkgsrc and how to keep it up-to-date</i></a> for other ways to get +<p>See <a class="xref" href="#getting" title="Chapter 2. Where to get pkgsrc and how to keep it up-to-date">Chapter 2, <i>Where to get pkgsrc and how to keep it up-to-date</i></a> for other ways to get pkgsrc before bootstrapping. The given - <span><strong class="command">bootstrap</strong></span> command will use the defaults of + <span class="command"><strong>bootstrap</strong></span> command will use the defaults of <code class="filename">/usr/pkg</code> for the <span class="emphasis"><em>prefix</em></span> where programs will be installed in, and <code class="filename">/var/db/pkg</code> for the package database @@ -1117,9 +1117,9 @@ rdiff -u arguments.</p> <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"> <h3 class="title">Note</h3> -<p>The bootstrap installs a <span><strong class="command">bmake</strong></span> tool. - Use this <span><strong class="command">bmake</strong></span> when building via pkgsrc. - For examples in this guide, use <span><strong class="command">bmake</strong></span> +<p>The bootstrap installs a <span class="command"><strong>bmake</strong></span> tool. + Use this <span class="command"><strong>bmake</strong></span> when building via pkgsrc. + For examples in this guide, use <span class="command"><strong>bmake</strong></span> instead of “<span class="quote">make</span>”.</p> </div> </div> @@ -1131,13 +1131,13 @@ rdiff -u <div class="titlepage"><div><div><h3 class="title"> <a name="darwin"></a>3.3.1. Darwin (Mac OS X)</h3></div></div></div> <p>Darwin 5.x and up are supported. There are two methods of using - pkgsrc on Mac OS X, by using a <a href="#platform.osx-image" title="3.3.1.1. Using a disk image">disk - image</a>, or a <a href="#platform.osx-part" title="3.3.1.2. Using a UFS or HFSX partition">UFS or HFSX + pkgsrc on Mac OS X, by using a <a class="link" href="#platform.osx-image" title="3.3.1.1. Using a disk image">disk + image</a>, or a <a class="link" href="#platform.osx-part" title="3.3.1.2. Using a UFS or HFSX partition">UFS or HFSX partition</a>.</p> <p>Before you start, you will need to download and install the Mac OS X Developer - Tools from Apple's Developer Connection. See <a href="http://developer.apple.com/macosx/" target="_top">http://developer.apple.com/macosx/</a> + Tools from Apple's Developer Connection. See <a class="ulink" href="http://developer.apple.com/macosx/" target="_top">http://developer.apple.com/macosx/</a> for details. Also, make sure you install X11 for Mac OS X and the X11 SDK - from <a href="http://www.apple.com/macosx/x11/download/" target="_top">http://www.apple.com/macosx/x11/download/</a> + from <a class="ulink" href="http://www.apple.com/macosx/x11/download/" target="_top">http://www.apple.com/macosx/x11/download/</a> if you intend to build packages that use the X11 Window System.</p> <p>If you already have a UFS or HFSX partition, or have a spare partition that you can format as UFS or HFSX, it is recommended to use that instead of @@ -1226,7 +1226,7 @@ rdiff -u <code class="prompt">#</code> <strong class="userinput"><code>mv pkg_info pkg_info.orig</code></strong> </pre> </li> -<li><p>An example <a href="#mk.conf"><code class="filename">mk.conf</code></a> file will be placed in +<li><p>An example <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> file will be placed in <code class="filename">/etc/mk.conf.example</code> file when you use the bootstrap script.</p></li> </ol></div> @@ -1238,7 +1238,7 @@ rdiff -u providing a Unix-like environment with a tighter kernel integration than available with Cygwin. It is part of the Windows Services for Unix package, available for free for any licensed copy of Windows 2000, XP - (not including XP Home), or 2003. SFU can be downloaded from <a href="http://www.microsoft.com/windows/sfu/" target="_top">http://www.microsoft.com/windows/sfu/</a>.</p> + (not including XP Home), or 2003. SFU can be downloaded from <a class="ulink" href="http://www.microsoft.com/windows/sfu/" target="_top">http://www.microsoft.com/windows/sfu/</a>.</p> <p>Services for Unix 3.5 has been tested. 3.0 or 3.1 may work, but are not officially supported. (The main difference in 3.0/3.1 is lack of pthreads, but other parts of libc may also be lacking.)</p> @@ -1274,7 +1274,7 @@ rdiff -u POSIX.EXE, PSXDLL.DLL, PSXRUN.EXE, and PSXSS.EXE (899522 or newer) must be installed. Hotfixes are available from Microsoft through a support contract; however, a NetBSD developer has made most Interix - hotfixes available for personal use from <a href="http://www.duh.org/interix/hotfixes.php" target="_top">http://www.duh.org/interix/hotfixes.php</a>.</p> + hotfixes available for personal use from <a class="ulink" href="http://www.duh.org/interix/hotfixes.php" target="_top">http://www.duh.org/interix/hotfixes.php</a>.</p> <p>In addition to the hotfix noted above, it may be necessary to disable Data Execution Prevention entirely to make Interix functional. This may happen only with certain types of CPUs; the cause is not fully @@ -1344,12 +1344,12 @@ interix:kP=\E[S:kN=\E[T:kH=\E[U:dc@:DC@:tc=pcansi: <p>Interix comes with the standard set of X11R6 client libraries, and can run X11 based applications, but it does <span class="emphasis"><em>not</em></span> come with an X server. Some options are - <a href="http://www.starnet.com/products/xwin32/" target="_top">StarNet X-Win32</a>, - <a href="http://connectivity.hummingbird.com/products/nc/exceed/" target="_top">Hummingbird Exceed</a> + <a class="ulink" href="http://www.starnet.com/products/xwin32/" target="_top">StarNet X-Win32</a>, + <a class="ulink" href="http://connectivity.hummingbird.com/products/nc/exceed/" target="_top">Hummingbird Exceed</a> (available in a trimmed version for Interix from Interop Systems as the - <a href="http://www.interopsystems.com/InteropXserver.htm" target="_top">Interop X Server</a>), + <a class="ulink" href="http://www.interopsystems.com/InteropXserver.htm" target="_top">Interop X Server</a>), and the free X11 server included with - <a href="http://x.cygwin.com/" target="_top">Cygwin</a>.</p> + <a class="ulink" href="http://x.cygwin.com/" target="_top">Cygwin</a>.</p> </li> <li> <p><span class="strong"><strong>X11 acceleration:</strong></span></p> @@ -1363,10 +1363,10 @@ interix:kP=\E[S:kN=\E[T:kH=\E[U:dc@:DC@:tc=pcansi: <li> <p><span class="strong"><strong>Audio:</strong></span></p> <p>Interix has no native support for audio output. For audio - support, pkgsrc uses the <span><strong class="command">esound</strong></span> client/server + support, pkgsrc uses the <span class="command"><strong>esound</strong></span> client/server audio system on Interix. Unlike on most platforms, the <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/audio/esound/README.html" target="_top"><code class="filename">audio/esound</code></a> package does - <span class="emphasis"><em>not</em></span> contain the <span><strong class="command">esd</strong></span> + <span class="emphasis"><em>not</em></span> contain the <span class="command"><strong>esd</strong></span> server component. To output audio via an Interix host, the <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/emulators/cygwin_esound/README.html" target="_top"><code class="filename">emulators/cygwin_esound</code></a> package must also be installed.</p> @@ -1398,7 +1398,7 @@ interix:kP=\E[S:kN=\E[T:kH=\E[U:dc@:DC@:tc=pcansi: named "root" is the privileged user. To accommodate these, you may create such a user; make sure it is in the local group Administrators (or your language equivalent).</p> -<p><span><strong class="command">pkg_add</strong></span> creates directories of mode +<p><span class="command"><strong>pkg_add</strong></span> creates directories of mode 0755, not 0775, in <code class="filename">$PKG_DBDIR</code>. For the time being, install packages as the local Administrator (or your language equivalent), or run the following command after @@ -1414,9 +1414,9 @@ interix:kP=\E[S:kN=\E[T:kH=\E[U:dc@:DC@:tc=pcansi: <p>You will need a working C compiler, either gcc or SGI's MIPS and MIPSpro compiler (cc/c89). Please set the <code class="varname">CC</code> environment variable according to your preference. If you do not have a license for the MIPSpro - compiler suite, you can download a gcc tardist file from <a href="http://freeware.sgi.com/" target="_top">http://freeware.sgi.com/</a>.</p> + compiler suite, you can download a gcc tardist file from <a class="ulink" href="http://freeware.sgi.com/" target="_top">http://freeware.sgi.com/</a>.</p> <p>Please note that you will need IRIX 6.5.17 or higher, as this is the earliest - version of IRIX providing support for <a href="http://netbsd.gw.com/cgi-bin/man-cgi?if_indextoname+3+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">if_indextoname</span>(3)</span></a>, <a href="http://netbsd.gw.com/cgi-bin/man-cgi?if_nametoindex+3+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">if_nametoindex</span>(3)</span></a>, + version of IRIX providing support for <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?if_indextoname+3+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">if_indextoname</span>(3)</span></a>, <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?if_nametoindex+3+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">if_nametoindex</span>(3)</span></a>, etc.</p> <p>At this point in time, pkgsrc only supports one ABI at a time. That is, you cannot switch between the old 32-bit ABI, the new 32-bit ABI and the 64-bit ABI. If @@ -1424,7 +1424,7 @@ interix:kP=\E[S:kN=\E[T:kH=\E[U:dc@:DC@:tc=pcansi: with.</p> <p>Therefore, please make sure that you have no conflicting <code class="varname">CFLAGS</code> in your environment or the - <a href="#mk.conf"><code class="filename">mk.conf</code></a>. Particularly, make sure that you do not + <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>. Particularly, make sure that you do not try to link n32 object files with lib64 or vice versa. Check your <code class="filename">/etc/compiler.defaults</code>!</p> <p>If you have the actual pkgsrc tree mounted via NFS from a different host, @@ -1443,7 +1443,7 @@ PKGSRC_COMPILER= mipspro </pre> <p> - in <a href="#mk.conf"><code class="filename">mk.conf</code></a>. Otherwise, pkgsrc will assume you + in <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>. Otherwise, pkgsrc will assume you are using gcc and may end up passing invalid flags to the compiler. Note that bootstrap should create an appropriate <code class="filename">mk.conf.example</code> by default.</p> @@ -1480,7 +1480,7 @@ ac_cv___attribute__=yes ./bootstrap overridden so that __attribute__ is assumed supported by the compiler.</p> <p>After bootstrapping, you should set <code class="varname">PKGSRC_COMPILER</code> - in <a href="#mk.conf"><code class="filename">mk.conf</code></a>:</p> + in <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>:</p> <pre class="programlisting"> PKGSRC_COMPILER= icc </pre> @@ -1488,7 +1488,7 @@ PKGSRC_COMPILER= icc <code class="filename">/opt/intel_cc_80</code>, which is also the pkgsrc default. If you have installed it into a different directory, set <code class="varname">ICCBASE</code> in - <a href="#mk.conf"><code class="filename">mk.conf</code></a>:</p> + <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>:</p> <pre class="programlisting"> ICCBASE= /opt/icc </pre> @@ -1496,7 +1496,7 @@ ICCBASE= /opt/icc provided by icc, so binaries can be run on other systems which do not have the shared libraries installed.</p> <p>Libtool, however, extracts a list of libraries from the - <a href="http://netbsd.gw.com/cgi-bin/man-cgi?ld+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">ld</span>(1)</span></a> command run when linking a C++ shared library and + <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?ld+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">ld</span>(1)</span></a> command run when linking a C++ shared library and records it, throwing away the -Bstatic and -Bdynamic options interspersed between the libraries. This means that libtool-linked C++ shared libraries will have a runtime @@ -1527,10 +1527,10 @@ ICCBASE= /opt/icc </pre> </li> <li> -<p>An example <a href="#mk.conf"><code class="filename">mk.conf</code></a> file will be placed in +<p>An example <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> file will be placed in <code class="filename">/etc/mk.conf.example</code> file when you use the bootstrap script. OpenBSD's make program uses - <a href="#mk.conf"><code class="filename">mk.conf</code></a> + <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> as well. You can work around this by enclosing all the pkgsrc-specific parts of the file with:</p> <pre class="programlisting"> @@ -1573,7 +1573,7 @@ ICCBASE= /opt/icc then either build gcc from <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/lang/gcc/README.html" target="_top"><code class="filename">lang/gcc</code></a> or install a binary gcc package, then remove gcc used during bootstrapping.</p> -<p>Binary packages of gcc can be found through <a href="http://www.sunfreeware.com/" target="_top">http://www.sunfreeware.com/</a>.</p> +<p>Binary packages of gcc can be found through <a class="ulink" href="http://www.sunfreeware.com/" target="_top">http://www.sunfreeware.com/</a>.</p> </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> @@ -1591,7 +1591,7 @@ ICCBASE= /opt/icc - Sun WorkShop Compilers common components</p></li> </ul></div> <p>You should set the following variables in your - <a href="#mk.conf"><code class="filename">mk.conf</code></a> file:</p> + <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> file:</p> <pre class="programlisting"> CC= cc CXX= CC @@ -1609,7 +1609,7 @@ CXXCPP= CC -E <div class="titlepage"><div><div><h4 class="title"> <a name="solaris-sunpro-64"></a>3.3.7.3. Building 64-bit binaries with SunPro</h4></div></div></div> <p>To build 64-bit packages, you just need to have the - following lines in your <a href="#mk.conf"><code class="filename">mk.conf</code></a> file:</p> + following lines in your <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> file:</p> <pre class="programlisting"> PKGSRC_COMPILER= sunpro ABI= 64 @@ -1624,11 +1624,11 @@ ABI= 64 <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> <a name="plat.sunos.problems"></a>3.3.7.4. Common problems</h4></div></div></div> -<p>Sometimes, when using <span><strong class="command">libtool</strong></span>, +<p>Sometimes, when using <span class="command"><strong>libtool</strong></span>, <code 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 href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/shells/bash/README.html" target="_top"><code class="filename">shells/bash</code></a> and adding the following lines - to your <a href="#mk.conf"><code class="filename">mk.conf</code></a>:</p> + to your <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>:</p> <pre class="programlisting"> CONFIG_SHELL= ${LOCALBASE}/bin/bash WRAPPER_SHELL= ${LOCALBASE}/bin/bash @@ -1672,7 +1672,7 @@ and you can still use binary packages from someone else.</p> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="using-pkg"></a>4.1. Using binary packages</h2></div></div></div> -<p>On the <a href="ftp://ftp.NetBSD.org/" target="_top">ftp.NetBSD.org</a> +<p>On the <a class="ulink" href="ftp://ftp.NetBSD.org/" target="_top">ftp.NetBSD.org</a> server and its mirrors, there are collections of binary packages, ready to be installed. These binary packages have been built using the default settings for the directories, that is:</p> @@ -1683,13 +1683,13 @@ and you can still use binary packages from someone else.</p> </ul></div> <p>If you cannot use these directories for whatever reasons (maybe because you're not root), you cannot use these binary packages, but - have to build the packages yourself, which is explained in <a href="#bootstrapping-pkgsrc" title="3.2. Bootstrapping pkgsrc">Section 3.2, “Bootstrapping pkgsrc”</a>.</p> + have to build the packages yourself, which is explained in <a class="xref" href="#bootstrapping-pkgsrc" title="3.2. Bootstrapping pkgsrc">Section 3.2, “Bootstrapping pkgsrc”</a>.</p> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> <a name="finding-binary-packages"></a>4.1.1. Finding binary packages</h3></div></div></div> <p>To install binary packages, you first need to know from where to get them. The first place where you should look is on the main - pkgsrc FTP server in the directory <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/" target="_top"><code class="filename">/pub/pkgsrc/packages</code></a>.</p> + pkgsrc FTP server in the directory <a class="ulink" href="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/" target="_top"><code class="filename">/pub/pkgsrc/packages</code></a>.</p> <p>This directory contains binary packages for multiple platforms. First, select your operating system. (Ignore the directories with version numbers attached to it, they just exist for @@ -1716,7 +1716,7 @@ and you can still use binary packages from someone else.</p> before.</p> <p>To install packages directly from an FTP or HTTP server, run the following commands in a Bourne-compatible shell (be sure to - <span><strong class="command">su</strong></span> to root first):</p> + <span class="command"><strong>su</strong></span> to root first):</p> <pre class="screen"> <code class="prompt">#</code> <strong class="userinput"><code>PATH="/usr/pkg/sbin:$PATH"</code></strong> <code class="prompt">#</code> <strong class="userinput"><code>PKG_PATH="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/<em class="replaceable"><code>OPSYS</code></em>/<em class="replaceable"><code>ARCH</code></em>/<em class="replaceable"><code>VERSIONS</code></em>/All"</code></strong> @@ -1756,8 +1756,8 @@ and you can still use binary packages from someone else.</p> <a name="using.pkg_delete"></a>4.1.3. Deinstalling packages</h3></div></div></div> <p>To deinstall a package, it does not matter whether it was installed from source code or from a binary package. The - <span><strong class="command">pkg_delete</strong></span> command does not know it anyway. - To delete a package, you can just run <span><strong class="command">pkg_delete + <span class="command"><strong>pkg_delete</strong></span> command does not know it anyway. + To delete a package, you can just run <span class="command"><strong>pkg_delete <em class="replaceable"><code>package-name</code></em></strong></span>. The package name can be given with or without version number. Wildcards can also be used to deinstall a set of packages, for example @@ -1780,7 +1780,7 @@ and you can still use binary packages from someone else.</p> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> <a name="using.pkg_info"></a>4.1.4. Getting information about installed packages</h3></div></div></div> -<p>The <span><strong class="command">pkg_info</strong></span> shows information about +<p>The <span class="command"><strong>pkg_info</strong></span> shows information about installed packages or binary package files.</p> </div> <div class="sect2" lang="en"> @@ -1790,7 +1790,7 @@ and you can still use binary packages from someone else.</p> The NetBSD Security-Officer and Packages Groups maintain a list of known security vulnerabilities to packages which are (or have been) included in pkgsrc. The list is available from the NetBSD - FTP site at <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/distfiles/vulnerabilities" target="_top">ftp://ftp.NetBSD.org/pub/pkgsrc/distfiles/vulnerabilities</a>. + FTP site at <a class="ulink" href="ftp://ftp.NetBSD.org/pub/pkgsrc/distfiles/vulnerabilities" target="_top">ftp://ftp.NetBSD.org/pub/pkgsrc/distfiles/vulnerabilities</a>. </p> <p> Through <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/security/audit-packages/README.html" target="_top"><code class="filename">security/audit-packages</code></a>, @@ -1811,9 +1811,9 @@ and you can still use binary packages from someone else.</p> http://www.samba.org/samba/whatsnew/macroexploit.html</pre> <p> One can set up <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/security/audit-packages/README.html" target="_top"><code class="filename">security/audit-packages</code></a> to download the - <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/distfiles/vulnerabilities" target="_top">vulnerabilities</a> + <a class="ulink" href="ftp://ftp.NetBSD.org/pub/pkgsrc/distfiles/vulnerabilities" target="_top">vulnerabilities</a> file daily, and include a package audit in the daily security script. - Details on this are located in the <a href="http://cvsweb.NetBSD.org/bsdweb.cgi/pkgsrc/security/audit-packages/MESSAGE?rev=HEAD&content-type=text/x-cvsweb-markup" target="_top">MESSAGE</a> + Details on this are located in the <a class="ulink" href="http://cvsweb.NetBSD.org/bsdweb.cgi/pkgsrc/security/audit-packages/MESSAGE?rev=HEAD&content-type=text/x-cvsweb-markup" target="_top">MESSAGE</a> file for <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/security/audit-packages/README.html" target="_top"><code class="filename">security/audit-packages</code></a>. </p> </div> @@ -1822,7 +1822,7 @@ and you can still use binary packages from someone else.</p> <a name="pkg_versions"></a>4.1.6. Finding if newer versions of your installed packages are in pkgsrc</h3></div></div></div> <p> Install <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkglint/README.html" target="_top"><code class="filename">pkgtools/pkglint</code></a> and run - <span><strong class="command">lintpkgsrc</strong></span> with the “<span class="quote">-i</span>” + <span class="command"><strong>lintpkgsrc</strong></span> with the “<span class="quote">-i</span>” argument to check if your packages are up-to-date, e.g. </p> <pre class="screen"> @@ -1830,21 +1830,21 @@ and you can still use binary packages from someone else.</p> ... Version mismatch: 'tcsh' 6.09.00 vs 6.10.00 </pre> -<p>You can then use <span><strong class="command">make update</strong></span> to update the +<p>You can then use <span class="command"><strong>make update</strong></span> to update the package on your system and rebuild any dependencies. </p> </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> <a name="using.pkg_admin"></a>4.1.7. Other administrative functions</h3></div></div></div> -<p>The <span><strong class="command">pkg_admin</strong></span> executes various +<p>The <span class="command"><strong>pkg_admin</strong></span> executes various administrative functions on the package system.</p> </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> <a name="a-word-of-warning"></a>4.1.8. A word of warning</h3></div></div></div> <p>Please pay very careful attention to the warnings - expressed in the <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a> manual page about the + expressed in the <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a> manual page about the inherent dangers of installing binary packages which you did not create yourself, and the security holes that can be introduced onto your system by indiscriminate adding of such @@ -1862,17 +1862,17 @@ Version mismatch: 'tcsh' 6.09.00 vs 6.10.00 <p>After obtaining pkgsrc, the <code class="filename">pkgsrc</code> directory now contains a set of packages, organized into categories. You can browse the online index of packages, or run - <span><strong class="command">make readme</strong></span> from the <code class="filename">pkgsrc</code> + <span class="command"><strong>make readme</strong></span> from the <code class="filename">pkgsrc</code> directory to build local <code class="filename">README.html</code> files for all packages, viewable with any web browser such as <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/www/lynx/README.html" target="_top"><code class="filename">www/lynx</code></a> or <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/www/firefox/README.html" target="_top"><code class="filename">www/firefox</code></a>.</p> <p>The default <span class="emphasis"><em>prefix</em></span> for installed packages is <code class="filename">/usr/pkg</code>. If you wish to change this, you should do so by setting <code class="varname">LOCALBASE</code> in - <a href="#mk.conf"><code class="filename">mk.conf</code></a>. You should not try to use multiple + <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>. You should not try to use multiple different <code class="varname">LOCALBASE</code> definitions on the same system (inside a chroot is an exception). </p> <p>The rest of this chapter assumes that the package is already - in pkgsrc. If it is not, see <a href="#developers-guide" title="Part II. The pkgsrc developer's guide">Part II, “The pkgsrc developer's guide”</a> for + in pkgsrc. If it is not, see <a class="xref" href="#developers-guide" title="Part II. The pkgsrc developer's guide">Part II, “The pkgsrc developer's guide”</a> for instructions how to create your own packages.</p> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> @@ -1897,7 +1897,7 @@ Version mismatch: 'tcsh' 6.09.00 vs 6.10.00 </p> <pre class="screen">DISTDIR=/cdrom/pkgsrc/distfiles</pre> <p> - to your <a href="#mk.conf"><code class="filename">mk.conf</code></a>.</p> + to your <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>.</p> <p>By default a list of distribution sites will be randomly intermixed to prevent huge load on servers which holding popular packages (for example, SourceForge.net mirrors). Thus, every @@ -1918,7 +1918,7 @@ Version mismatch: 'tcsh' 6.09.00 vs 6.10.00 time.</p> <p>You can change these settings either in your shell's environment, or, if you want to keep the settings, by editing the - <a href="#mk.conf"><code class="filename">mk.conf</code></a> file, + <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> file, and adding the definitions there.</p> <p> If a package depends on many other packages (such as @@ -1946,7 +1946,7 @@ Version mismatch: 'tcsh' 6.09.00 vs 6.10.00 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"> <h3 class="title">Note</h3> <p>If using bootstrap or pkgsrc on a non-NetBSD system, - use the pkgsrc <span><strong class="command">bmake</strong></span> command instead of + use the pkgsrc <span class="command"><strong>bmake</strong></span> command instead of “<span class="quote">make</span>” in the examples in this guide.</p> </div> <p>For example, type</p> @@ -1988,7 +1988,7 @@ Version mismatch: 'tcsh' 6.09.00 vs 6.10.00 <code class="prompt">%</code> <strong class="userinput"><code>make clean-depends</code></strong> </pre> <p>Taking the figlet utility as an example, we can install it on our - system by building as shown in <a href="#logs" title="Appendix B. Build logs">Appendix B, <i>Build logs</i></a>.</p> + system by building as shown in <a class="xref" href="#logs" title="Appendix B. Build logs">Appendix B, <i>Build logs</i></a>.</p> <p>The program is installed under the default root of the packages tree - <code class="filename">/usr/pkg</code>. Should this not conform to your tastes, set the <code class="varname">LOCALBASE</code> @@ -2006,12 +2006,12 @@ Version mismatch: 'tcsh' 6.09.00 vs 6.10.00 conflicts between programs and other files installed by the package system and whatever else may have been installed there.</p> -<p>Some packages look in <a href="#mk.conf"><code class="filename">mk.conf</code></a> to +<p>Some packages look in <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> to alter some configuration options at build time. Have a look at <code class="filename">pkgsrc/mk/defaults/mk.conf</code> to get an overview of what will be set there by default. Environment variables such as <code class="varname">LOCALBASE</code> can be set in - <a href="#mk.conf"><code class="filename">mk.conf</code></a> to save having to remember to + <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> to save having to remember to set them each time you want to use pkgsrc.</p> <p>Occasionally, people want to “<span class="quote">look under the covers</span>” to see what is going on when a package is building @@ -2020,7 +2020,7 @@ Version mismatch: 'tcsh' 6.09.00 vs 6.10.00 help with this.</p> <div class="orderedlist"><ol type="1"> <li> -<p>If you invoke the <a href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> command with +<p>If you invoke the <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> command with <code class="varname">PKG_DEBUG_LEVEL=2</code>, then a huge amount of information will be displayed. For example,</p> <pre class="screen"><strong class="userinput"><code>make patch PKG_DEBUG_LEVEL=2</code></strong></pre> @@ -2028,10 +2028,10 @@ Version mismatch: 'tcsh' 6.09.00 vs 6.10.00 including the “<span class="quote">patch</span>” stage.</p> </li> <li> -<p>If you want to know the value of a certain <a href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> +<p>If you want to know the value of a certain <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> definition, then the <code class="varname">VARNAME</code> definition should be used, in conjunction with the show-var - target. e.g. to show the expansion of the <a href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> + target. e.g. to show the expansion of the <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> variable <code class="varname">LOCALBASE</code>:</p> <pre class="screen"> <code class="prompt">%</code> <strong class="userinput"><code>make show-var VARNAME=LOCALBASE</code></strong> @@ -2044,11 +2044,11 @@ Version mismatch: 'tcsh' 6.09.00 vs 6.10.00 created yourself (see next section), that you put into pkgsrc/packages manually or that is located on a remote FTP server, you can use the "bin-install" target. This target will - install a binary package - if available - via <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a>, - else do a <span><strong class="command">make package</strong></span>. The list of remote FTP + install a binary package - if available - via <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a>, + else do a <span class="command"><strong>make package</strong></span>. The list of remote FTP sites searched is kept in the variable <code class="varname">BINPKG_SITES</code>, which defaults to - ftp.NetBSD.org. Any flags that should be added to <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a> + ftp.NetBSD.org. Any flags that should be added to <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a> can be put into <code class="varname">BIN_INSTALL_FLAGS</code>. See <code class="filename">pkgsrc/mk/defaults/mk.conf</code> for more details.</p> @@ -2087,7 +2087,7 @@ Version mismatch: 'tcsh' 6.09.00 vs 6.10.00 <a name="mk.conf"></a><p>The whole pkgsrc system is configured in a single file, usually called <code class="filename">mk.conf</code>. In which directory pkgsrc looks for that file depends on the installation. On NetBSD, when you use -<a href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> from the base system, it is in the directory +<a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> from the base system, it is in the directory <code class="filename">/etc/</code>. In all other cases the default location is <code class="literal">${PREFIX}/etc/</code>, depending on where you told the bootstrap program to install the binary packages.</p> @@ -2169,15 +2169,15 @@ works.</p> can be NFS-mounted while <code class="filename">${WRKOBJDIR}</code> is local to every architecture. (It should be noted that <code class="varname">PKGSRCDIR</code> should not be set by the user - — it is an internal definition which refers to the + — it is an internal definition which refers to the root of the pkgsrc tree. It is possible to have many pkgsrc tree instances.)</p></li> <li><p><code class="varname">LOCALPATCHES</code>: Directory for local patches that aren't part of pkgsrc. - See <a href="#components.patches" title="11.3. patches/*">Section 11.3, “patches/*”</a> for more + See <a class="xref" href="#components.patches" title="11.3. patches/*">Section 11.3, “patches/*”</a> for more information.</p></li> <li><p><code class="varname">PKGMAKECONF</code>: Location of - the <a href="#mk.conf"><code class="filename">mk.conf</code></a> file used by a package's + the <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> file used by a package's BSD-style Makefile. If this is not set, <code class="varname">MAKECONF</code> is set to <code class="filename">/dev/null</code> to avoid picking up @@ -2326,7 +2326,7 @@ LDFLAGS+= -your -linkerflags (normal, default, quiet operation); the value 1 will display all shell commands before their invocation, and the value 2 will display both the shell commands before their invocation, - and their actual execution progress with <span><strong class="command">set + and their actual execution progress with <span class="command"><strong>set -x</strong></span> will be displayed.</p></li> </ul></div> <p> @@ -2339,7 +2339,7 @@ LDFLAGS+= -your -linkerflags between different dependencies, enable optional support for big dependencies or enable experimental features.</p> <p>To see which options, if any, a package supports, and which - options are mutually exclusive, run <span><strong class="command">make + options are mutually exclusive, run <span class="command"><strong>make show-options</strong></span>, for example:</p> <pre class="programlisting"> The following options are supported by this package: @@ -2355,7 +2355,7 @@ LDFLAGS+= -your -linkerflags These options are currently enabled: mozilla ssl </pre> <p>The following variables can be defined in - <a href="#mk.conf"><code class="filename">mk.conf</code></a> to select which options to + <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> to select which options to enable for a package: <code class="varname">PKG_DEFAULT_OPTIONS</code>, which can be used to select or disable options for all packages that support them, and @@ -2365,7 +2365,7 @@ LDFLAGS+= -your -linkerflags these variables are selected, options preceded by “<span class="quote">-</span>” are disabled. A few examples:</p> <pre class="screen"> -<code class="prompt">$</code> <span><strong class="command">grep "PKG.*OPTION" <a href="#mk.conf"><code class="filename">mk.conf</code></a></strong></span> +<code class="prompt">$</code> <span class="command"><strong>grep "PKG.*OPTION" <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a></strong></span> PKG_DEFAULT_OPTIONS= -arts -dvdread -esound PKG_OPTIONS.kdebase= debug -sasl PKG_OPTIONS.apache= suexec </pre> @@ -2389,12 +2389,12 @@ PKG_OPTIONS.apache= suexec </pre> <p>Before the options framework was introduced, build options were selected by setting a variable (often named <code class="varname">USE_<em class="replaceable"><code>FOO</code></em></code>) in - <a href="#mk.conf"><code class="filename">mk.conf</code></a> for each option. To ease + <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> for each option. To ease transition to the options framework for the user, these legacy variables are converted to the appropriate options setting (<code class="varname">PKG_OPTIONS.<em class="replaceable"><code>pkgbase</code></em></code>) automatically. A warning is issued to prompt the user to update - <a href="#mk.conf"><code class="filename">mk.conf</code></a> to use the options framework + <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> to use the options framework directly. Support for the legacy variables will be removed eventually.</p> </div> @@ -2414,12 +2414,12 @@ PKG_OPTIONS.apache= suexec </pre> <a name="building-a-single-binary-package"></a>6.1. Building a single binary package</h2></div></div></div> <p>Once you have built and installed a package, you can create a <span class="emphasis"><em>binary package</em></span> which can be installed on - another system with <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a>. This saves having to build + another system with <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a>. This saves having to build the same package on a group of hosts and wasting CPU time. It also provides a simple means for others to install your package, should you distribute it.</p> <p>To create a binary package, change into the appropriate - directory in pkgsrc, and run <span><strong class="command">make + directory in pkgsrc, and run <span class="command"><strong>make package</strong></span>:</p> <pre class="screen"> <code class="prompt">#</code> <strong class="userinput"><code>cd misc/figlet</code></strong> @@ -2427,18 +2427,18 @@ PKG_OPTIONS.apache= suexec </pre> </pre> <p>This will build and install your package (if not already done), and then build a binary package from what was installed. You can - then use the <span><strong class="command">pkg_*</strong></span> tools to manipulate + then use the <span class="command"><strong>pkg_*</strong></span> tools to manipulate it. Binary packages are created by default in <code class="filename">/usr/pkgsrc/packages</code>, in the form of a - gzipped tar file. See <a href="#logs.package" title="B.2. Packaging figlet">Section B.2, “Packaging figlet”</a> for a + gzipped tar file. See <a class="xref" href="#logs.package" title="B.2. Packaging figlet">Section B.2, “Packaging figlet”</a> for a continuation of the above <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/misc/figlet/README.html" target="_top"><code class="filename">misc/figlet</code></a> example.</p> -<p>See <a href="#submit" title="Chapter 21. Submitting and Committing">Chapter 21, <i>Submitting and Committing</i></a> for information on how to submit +<p>See <a class="xref" href="#submit" title="Chapter 21. Submitting and Committing">Chapter 21, <i>Submitting and Committing</i></a> for information on how to submit such a binary package.</p> </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="settings-for-creationg-of-binary-packages"></a>6.2. Settings for creation of binary packages</h2></div></div></div> -<p>See <a href="#build.helpful-targets" title="17.17. Other helpful targets">Section 17.17, “Other helpful targets”</a>.</p> +<p>See <a class="xref" href="#build.helpful-targets" title="17.17. Other helpful targets">Section 17.17, “Other helpful targets”</a>.</p> </div> </div> <div class="chapter" lang="en"> @@ -2552,9 +2552,9 @@ too much.</p> </div> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> -<a name="binary.mk.conf"></a>7.3.1.2. <a href="#mk.conf"><code class="filename">mk.conf</code></a> +<a name="binary.mk.conf"></a>7.3.1.2. <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> </h4></div></div></div> -<p>You may want to set variables in <a href="#mk.conf"><code class="filename">mk.conf</code></a>. +<p>You may want to set variables in <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>. Look at <code class="filename">pkgsrc/mk/defaults/mk.conf</code> for details of the default settings. You will want to ensure that <code class="varname">ACCEPTABLE_LICENSES</code> meet your local policy. @@ -2627,7 +2627,7 @@ _ACCEPTABLE= yes stage. If the file <code class="filename">pre-build.local</code> exists in <code class="filename">/usr/pkgsrc/mk/bulk</code>, it will be executed - (as a <a href="http://netbsd.gw.com/cgi-bin/man-cgi?sh+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">sh</span>(1)</span></a> script) at the end of the usual pre-build + (as a <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?sh+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">sh</span>(1)</span></a> script) at the end of the usual pre-build stage. An example use of <code class="filename">pre-build.local</code> is to have the line:</p> <pre class="screen">echo "I do not have enough disk space to build this pig." \ @@ -2644,7 +2644,7 @@ _ACCEPTABLE= yes shell is placed somewhere else. Either drop it into <code class="filename">/usr/local/bin</code> (and adjust your login shell in the passwd file), or (re-)install it via - <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a> from <code class="filename">/etc/rc.local</code>, so + <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a> from <code class="filename">/etc/rc.local</code>, so you can login after a reboot (remember that your current process won't die if the package is removed, you just can't start any new instances of the shell any more). Also, if you @@ -2737,7 +2737,7 @@ fi turned into a binary package, and that sources are removed, so there is no excessively huge demand to disk space. Afterwards, if the package is needed again, it will - be installed via <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a> instead of building again, so + be installed via <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a> instead of building again, so there are no cycles wasted by recompiling.</p> </div> <div class="sect2" lang="en"> @@ -2755,11 +2755,11 @@ fi up the sandbox environment using null mounts. It will also create a script called <code class="filename">sandbox</code> in the root of the sandbox environment, which will allow the null - mounts to be activated using the <span><strong class="command">sandbox + mounts to be activated using the <span class="command"><strong>sandbox mount</strong></span> command and deactivated using the - <span><strong class="command">sandbox umount</strong></span> command.</p> + <span class="command"><strong>sandbox umount</strong></span> command.</p> <p>To set up a sandbox environment by hand, after extracting all - the sets from a NetBSD installation or doing a <span><strong class="command">make + the sets from a NetBSD installation or doing a <span class="command"><strong>make distribution DESTDIR=/usr/sandbox</strong></span> in <code class="filename">/usr/src/etc</code>, be sure the following items are present and properly configured:</p> @@ -2786,7 +2786,7 @@ fi </li> <li> <p><code class="filename">/usr/src</code> (system sources, - e. g. for <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/sysutils/aperture/README.html" target="_top"><code class="filename">sysutils/aperture</code></a>):</p> + e. g. for <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/sysutils/aperture/README.html" target="_top"><code class="filename">sysutils/aperture</code></a>):</p> <pre class="screen"><code class="prompt">#</code> <strong class="userinput"><code>ln -s ../disk1/cvs .</code></strong> <code class="prompt">#</code> <strong class="userinput"><code>ln -s cvs/src-2.0 src</code></strong></pre> </li> @@ -2812,7 +2812,7 @@ fi <code class="filename">/usr/sandbox/usr/pkgsrc/packages</code> and <code class="filename">.../distfiles</code> point somewhere appropriate. NFS- and/or nullfs-mounts may come in handy!</p></li> -<li><p>Edit <a href="#mk.conf"><code class="filename">mk.conf</code></a>, see <a href="#binary.mk.conf" title="7.3.1.2. mk.conf">Section 7.3.1.2, “<code class="filename">mk.conf</code>”</a>.</p></li> +<li><p>Edit <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>, see <a class="xref" href="#binary.mk.conf" title="7.3.1.2. mk.conf">Section 7.3.1.2, “<code class="filename">mk.conf</code>”</a>.</p></li> <li><p>Adjust <code class="filename">mk/bulk/build.conf</code> to suit your needs.</p></li> </ol></div> <p>When the chroot sandbox is set up, you can start @@ -2834,7 +2834,7 @@ fi pkgsrc, the <code class="filename">pkgsrc/mk/bulk/build</code> script may be used to build a subset of the packages contained in pkgsrc. By setting <code class="varname">SPECIFIC_PKGS</code> - in <a href="#mk.conf"><code class="filename">mk.conf</code></a>, the variables</p> + in <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>, the variables</p> <div class="itemizedlist"><ul type="disc"> <li><p>SITE_SPECIFIC_PKGS</p></li> <li><p>HOST_SPECIFIC_PKGS</p></li> @@ -2906,8 +2906,8 @@ chroot-<code class="prompt">#</code> <strong class="userinput"><code>exit</code> <code class="prompt">#</code> <strong class="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> -<p>The upload process may take quite some time. Use <a href="http://netbsd.gw.com/cgi-bin/man-cgi?ls+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">ls</span>(1)</span></a> or - <a href="http://netbsd.gw.com/cgi-bin/man-cgi?du+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">du</span>(1)</span></a> on the FTP server to monitor progress of the +<p>The upload process may take quite some time. Use <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?ls+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">ls</span>(1)</span></a> or + <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?du+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">du</span>(1)</span></a> on the FTP server to monitor progress of the upload. The upload script will take care of not uploading restricted packages and putting vulnerable packages into the <code class="filename">vulnerable</code> subdirectory.</p> @@ -2932,7 +2932,7 @@ nbftp% <strong class="userinput"><code>chmod 755 .</code></strong> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> <a name="bulk.pbulk.conf"></a>7.4.1. Configuration</h3></div></div></div> -<p>TODO; see <a href="http://wiki.netbsd.se/index.php/pbulk-HOWTO" target="_top">the wiki</a> for +<p>TODO; see <a class="ulink" href="http://wiki.netbsd.se/index.php/pbulk-HOWTO" target="_top">the wiki</a> for more information.</p> </div> </div> @@ -2944,7 +2944,7 @@ more information.</p> in installing packages on other machines. The <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/cdpack/README.html" target="_top"><code class="filename">pkgtools/cdpack</code></a> package provides a simple tool for creating the ISO 9660 images. - <span><strong class="command">cdpack</strong></span> arranges the packages on the CD-ROMs in a + <span class="command"><strong>cdpack</strong></span> arranges the packages on the CD-ROMs in a way that keeps all the dependencies for a given package on the same CD as that package.</p> <div class="sect2" lang="en"> @@ -3033,7 +3033,7 @@ games, network daemons) need write access to it during normal operation.</p></li> <li><p><code class="varname">PKG_SYSCONFDIR</code> corresponds to <code class="filename">/etc</code> in the base system. It contains configuration -files of the packages, as well as pkgsrc's <a href="#mk.conf"><code class="filename">mk.conf</code></a> +files of the packages, as well as pkgsrc's <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> itself.</p></li> </ul></div> <div class="sect1" lang="en"> @@ -3136,7 +3136,7 @@ currently running.</p></dd> <dt><span class="sect1"><a href="#resume-transfers">9.5. How to resume transfers when fetching distfiles?</a></span></dt> <dt><span class="sect1"><a href="#x.org-from-pkgsrc">9.6. How can I install/use modular X.org from pkgsrc?</a></span></dt> <dt><span class="sect1"><a href="#fetch-behind-firewall">9.7. How to fetch files from behind a firewall</a></span></dt> -<dt><span class="sect1"><a href="#passive-ftp">9.8. How do I tell <span><strong class="command">make fetch</strong></span> to do passive FTP?</a></span></dt> +<dt><span class="sect1"><a href="#passive-ftp">9.8. How do I tell <span class="command"><strong>make fetch</strong></span> to do passive FTP?</a></span></dt> <dt><span class="sect1"><a href="#fetching-all-distfiles">9.9. How to fetch all distfiles at once</a></span></dt> <dt><span class="sect1"><a href="#tmac.andoc-missing">9.10. What does “<span class="quote">Don't know how to make /usr/share/tmac/tmac.andoc</span>” mean?</a></span></dt> @@ -3157,7 +3157,7 @@ it contains items for both pkgsrc users and developers.</p> <a name="mailing-list-pointers"></a>9.1. Are there any mailing lists for pkg-related discussion?</h2></div></div></div> <p>The following mailing lists may be of interest to pkgsrc users:</p> <div class="itemizedlist"><ul type="disc"> -<li><p><a href="http://www.NetBSD.org/mailinglists/index.html#pkgsrc-users" target="_top">pkgsrc-users</a>: +<li><p><a class="ulink" href="http://www.NetBSD.org/mailinglists/index.html#pkgsrc-users" target="_top">pkgsrc-users</a>: This is a general purpose list for most issues regarding pkgsrc, regardless of platform, e.g. soliciting user help for pkgsrc configuration, unexpected build failures, using @@ -3166,10 +3166,10 @@ it contains items for both pkgsrc users and developers.</p> proposals for changes that impact the pkgsrc user community, e.g. major infrastructure changes, new features, package removals, etc., may also be posted.</p></li> -<li><p><a href="http://www.NetBSD.org/mailinglists/index.html#pkgsrc-bulk" target="_top">pkgsrc-bulk</a>: +<li><p><a class="ulink" href="http://www.NetBSD.org/mailinglists/index.html#pkgsrc-bulk" target="_top">pkgsrc-bulk</a>: A list where the results of pkgsrc bulk builds are sent and discussed.</p></li> -<li><p><a href="http://www.NetBSD.org/mailinglists/index.html#pkgsrc-changes" target="_top">pkgsrc-changes</a>: +<li><p><a class="ulink" href="http://www.NetBSD.org/mailinglists/index.html#pkgsrc-changes" target="_top">pkgsrc-changes</a>: This list is for those who are interested in getting a commit message for every change committed to pkgsrc. It is also available in digest form, meaning one daily message @@ -3181,7 +3181,7 @@ it contains items for both pkgsrc users and developers.</p> <code class="prompt">%</code> echo subscribe <em class="replaceable"><code>listname</code></em> | mail majordomo@NetBSD.org </pre> <p>Archives for all these mailing lists are available from -<a href="http://mail-index.NetBSD.org/" target="_top">http://mail-index.NetBSD.org/</a>.</p> +<a class="ulink" href="http://mail-index.NetBSD.org/" target="_top">http://mail-index.NetBSD.org/</a>.</p> </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> @@ -3218,7 +3218,7 @@ with each package.</p> <div class="itemizedlist"><ul type="disc"> <li><p><a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkg_tarup/README.html" target="_top"><code class="filename">pkgtools/pkg_tarup</code></a>: Create a binary package from an - already-installed package. Used by <span><strong class="command">make replace</strong></span> to + already-installed package. Used by <span class="command"><strong>make replace</strong></span> to save the old package.</p></li> <li><p><a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/dfdisk/README.html" target="_top"><code class="filename">pkgtools/dfdisk</code></a>: Adds extra functionality to pkgsrc, allowing it to fetch distfiles @@ -3281,7 +3281,7 @@ to incorrect values (or not the ones you would like to use), you can change them by setting <code class="varname">UNPRIVILEGED_USER</code> and <code class="varname">UNPRIVILEGED_GROUP</code> respectively.</p> <p>As regards bootstrapping, please note that the -<span><strong class="command">bootstrap</strong></span> script will ease non-root configuration when +<span class="command"><strong>bootstrap</strong></span> script will ease non-root configuration when given the “<span class="quote">--ignore-user-check</span>” flag, as it will choose and use multiple default directories under <code class="filename">~/pkg</code> as the installation targets. These directories can be overridden by the @@ -3294,10 +3294,10 @@ that allow finer tuning of the tree layout.</p> <p>By default, resuming transfers in pkgsrc is disabled, but you can enable this feature by adding the option <code class="varname">PKG_RESUME_TRANSFERS=YES</code> into -<a href="#mk.conf"><code class="filename">mk.conf</code></a>. If, during a fetch step, an incomplete +<a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>. If, during a fetch step, an incomplete distfile is found, pkgsrc will try to resume it.</p> <p>You can also -use a different program than the default <a href="http://netbsd.gw.com/cgi-bin/man-cgi?ftp+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">ftp</span>(1)</span></a> by changing the +use a different program than the default <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?ftp+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">ftp</span>(1)</span></a> by changing the <code class="varname">FETCH_CMD</code> variable. Don't forget to set <code class="varname">FETCH_RESUME_ARGS</code> and <code class="varname">FETCH_OUTPUT_ARGS</code> if you are not using default @@ -3309,7 +3309,7 @@ like:</p> FETCH_CMD= wget FETCH_BEFORE_ARGS= --passive-ftp FETCH_RESUME_ARGS= -c -FETCH_OUTPUT_ARGS= -O +FETCH_OUTPUT_ARGS= -O -nc </pre> </div> <div class="sect1" lang="en"> @@ -3318,7 +3318,7 @@ FETCH_OUTPUT_ARGS= -O <p>If you want to use modular X.org from pkgsrc instead of your system's own X11 (<code class="filename">/usr/X11R6</code>, <code class="filename">/usr/openwin</code>, ...) you will have to add the following line into -<a href="#mk.conf"><code class="filename">mk.conf</code></a>:</p> +<a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>:</p> <pre class="programlisting"> X11_TYPE=modular </pre> @@ -3345,7 +3345,7 @@ http_proxy=http://orpheus.amdahl.com:80/ </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="passive-ftp"></a>9.8. How do I tell <span><strong class="command">make fetch</strong></span> to do passive FTP?</h2></div></div></div> +<a name="passive-ftp"></a>9.8. How do I tell <span class="command"><strong>make fetch</strong></span> to do passive FTP?</h2></div></div></div> <p>This depends on which utility is used to retrieve distfiles. From <code class="filename">bsd.pkg.mk</code>, <code class="varname">FETCH_CMD</code> is assigned the first available command from the following list:</p> @@ -3357,7 +3357,7 @@ the first available command from the following list:</p> <code class="filename">/usr/bin/ftp</code>, which automatically tries passive connections first, and falls back to active connections if the server refuses to do passive. For the other tools, add the following to your -<a href="#mk.conf"><code class="filename">mk.conf</code></a> file: +<a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> file: <code class="varname">PASSIVE_FETCH=1</code>.</p> <p>Having that option present will prevent <code class="filename">/usr/bin/ftp</code> from falling back to active @@ -3367,13 +3367,13 @@ transfers.</p> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="fetching-all-distfiles"></a>9.9. How to fetch all distfiles at once</h2></div></div></div> <p>You would like to download all the distfiles in a single batch -from work or university, where you can't run a <span><strong class="command">make -fetch</strong></span>. There is an archive of distfiles on <a href="ftp://ftp.NetBSD.org/pub/NetBSD/packages/distfiles/" target="_top">ftp.NetBSD.org</a>, +from work or university, where you can't run a <span class="command"><strong>make +fetch</strong></span>. There is an archive of distfiles on <a class="ulink" href="ftp://ftp.NetBSD.org/pub/NetBSD/packages/distfiles/" target="_top">ftp.NetBSD.org</a>, but downloading the entire directory may not be appropriate.</p> -<p>The answer here is to do a <span><strong class="command">make fetch-list</strong></span> in +<p>The answer here is to do a <span class="command"><strong>make fetch-list</strong></span> in <code class="filename">/usr/pkgsrc</code> or one of its subdirectories, carry the resulting list to your machine at work/school and use it there. If you -don't have a NetBSD-compatible <a href="http://netbsd.gw.com/cgi-bin/man-cgi?ftp+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">ftp</span>(1)</span></a> (like tnftp) at work, don't +don't have a NetBSD-compatible <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?ftp+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">ftp</span>(1)</span></a> (like tnftp) at work, don't forget to set <code class="varname">FETCH_CMD</code> to something that fetches a URL:</p> <p>At home:</p> @@ -3387,7 +3387,7 @@ home.</p> <p>If you have a machine running NetBSD, and you want to get <span class="emphasis"><em>all</em></span> distfiles (even ones that aren't for your machine architecture), you can do so by using the above-mentioned -<span><strong class="command">make fetch-list</strong></span> approach, or fetch the distfiles +<span class="command"><strong>make fetch-list</strong></span> approach, or fetch the distfiles directly by running:</p> <pre class="screen"><code class="prompt">%</code> <strong class="userinput"><code>make mirror-distfiles</code></strong></pre> <p>If you even decide to ignore @@ -3407,7 +3407,7 @@ the NetBSD base distribution on your machine. It is recommended to do that to format man pages.</p> <p>In the case of the <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkg_install/README.html" target="_top"><code class="filename">pkgtools/pkg_install</code></a> package, you can get away with setting <code class="varname">NOMAN=YES</code> either in the -environment or in <a href="#mk.conf"><code class="filename">mk.conf</code></a>.</p> +environment or in <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>.</p> </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> @@ -3418,19 +3418,19 @@ extracting it in <code class="filename">/</code>:</p> <pre class="screen"><code class="prompt">#</code> <strong class="userinput"><code>cd /</code></strong> <code class="prompt">#</code> <strong class="userinput"><code>tar --unlink -zxvpf .../comp.tgz</code></strong></pre> <p><code class="filename">comp.tgz</code> is part of every NetBSD release. Get -the one that corresponds to your release (determine via <span><strong class="command">uname +the one that corresponds to your release (determine via <span class="command"><strong>uname -r</strong></span>).</p> </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="using-sudo-with-pkgsrc"></a>9.12. Using 'sudo' with pkgsrc</h2></div></div></div> <p>When installing packages as non-root user and using the just-in-time -<a href="http://netbsd.gw.com/cgi-bin/man-cgi?su+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">su</span>(1)</span></a> feature of pkgsrc, it can become annoying to type in the root +<a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?su+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">su</span>(1)</span></a> feature of pkgsrc, it can become annoying to type in the root password for each required package installed. To avoid this, the sudo package can be used, which does password caching over a limited time. To use it, install sudo (either as binary package or from <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/security/sudo/README.html" target="_top"><code class="filename">security/sudo</code></a>) and then put the -following into your <a href="#mk.conf"><code class="filename">mk.conf</code></a>, somewhere +following into your <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>, somewhere <span class="emphasis"><em>after</em></span> the definition of the <code class="varname">LOCALBASE</code> variable:</p> <pre class="programlisting"> @@ -3450,7 +3450,7 @@ NFS-exported <code class="varname">PREFIX</code> with a need of per-machine configuration of the provided packages).</p> <p>In order to change the defaults, you can modify the <code class="varname">PKG_SYSCONFBASE</code> variable (in -<a href="#mk.conf"><code class="filename">mk.conf</code></a>) to point to your preferred configuration +<a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>) to point to your preferred configuration directory; some common examples include <code class="filename">/etc</code> or <code class="filename">/etc/pkg</code>.</p> <p>Furthermore, you can change this value on a per-package basis by @@ -3474,13 +3474,13 @@ do this, install the <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/sec components:</p> <div class="orderedlist"><ol type="1"> <li> -<p><span><strong class="command">download-vulnerability-list</strong></span>, an easy way to +<p><span class="command"><strong>download-vulnerability-list</strong></span>, an easy way to download a list of the security vulnerabilities information. This list is kept up to date by the NetBSD security officer and the NetBSD packages team, and is distributed from the NetBSD ftp server:</p> -<p><a href="ftp://ftp.NetBSD.org/pub/NetBSD/packages/distfiles/pkg-vulnerabilities" target="_top">ftp://ftp.NetBSD.org/pub/NetBSD/packages/distfiles/pkg-vulnerabilities</a></p> +<p><a class="ulink" href="ftp://ftp.NetBSD.org/pub/NetBSD/packages/distfiles/pkg-vulnerabilities" target="_top">ftp://ftp.NetBSD.org/pub/NetBSD/packages/distfiles/pkg-vulnerabilities</a></p> </li> -<li><p><span><strong class="command">audit-packages</strong></span>, an easy way to audit the +<li><p><span class="command"><strong>audit-packages</strong></span>, an easy way to audit the current machine, checking each vulnerability which is known. If a vulnerable package is installed, it will be shown by output to stdout, including a description of the type of vulnerability, and a URL @@ -3492,7 +3492,7 @@ package is strongly recommended! After the package's message, which you can get by running <strong class="userinput"><code>pkg_info -D audit-packages</code></strong>.</p> <p>If this package is installed, pkgsrc builds will use it to -perform a security check before building any package. See <a href="#variables-affecting-build" title="5.2. Variables affecting the build process">Section 5.2, “Variables affecting the build process”</a> for ways to control this +perform a security check before building any package. See <a class="xref" href="#variables-affecting-build" title="5.2. Variables affecting the build process">Section 5.2, “Variables affecting the build process”</a> for ways to control this check.</p> </div> <div class="sect1" lang="en"> @@ -3500,15 +3500,15 @@ check.</p> <a name="ufaq-cflags"></a>9.15. Why do some packages ignore my <code class="varname">CFLAGS</code>?</h2></div></div></div> <p>When you add your own preferences to the <code class="varname">CFLAGS</code> variable in your - <a href="#mk.conf"><code class="filename">mk.conf</code></a>, these flags are passed in + <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>, these flags are passed in environment variables to the <code class="filename">./configure</code> - scripts and to <a href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a>. Some package authors ignore the + scripts and to <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a>. Some package authors ignore the <code class="varname">CFLAGS</code> from the environment variable by overriding them in the <code class="filename">Makefile</code>s of their package.</p> <p>Currently there is no solution to this problem. If you really need the package to use your <code class="varname">CFLAGS</code> - you should run <span><strong class="command">make patch</strong></span> in the package + you should run <span class="command"><strong>make patch</strong></span> in the package directory and then inspect any <code class="filename">Makefile</code> and <code class="filename">Makefile.in</code> for whether they define <code class="varname">CFLAGS</code> explicitly. Usually you can remove @@ -3532,7 +3532,7 @@ check.</p> “<span class="quote">>>>>>></span>” in all your pkgsrc files.</p></li> <li><p>Make sure that you don't have old copies of the packages - extracted. Run <span><strong class="command">make clean clean-depends</strong></span> to + extracted. Run <span class="command"><strong>make clean clean-depends</strong></span> to verify this.</p></li> <li><p>If the problem still exists, write a mail to the <code class="literal">pkgsrc-users</code> mailing list.</p></li> @@ -3548,7 +3548,7 @@ are in the same region of the file, so when you updated pkgsrc, the file. Because of these markers, the file is no longer a valid <code class="filename">Makefile</code>.</p> <p>Have a look at that file, and if you don't need your local changes -anymore, you can remove that file and run <span><strong class="command">cvs -q update +anymore, you can remove that file and run <span class="command"><strong>cvs -q update -dP</strong></span> in that directory to download the current version.</p> </div> </div> @@ -3615,7 +3615,7 @@ anymore, you can remove that file and run <span><strong class="command">cvs -q u <dd><dl> <dt><span class="sect1"><a href="#rcs-id">13.1. RCS ID</a></span></dt> <dt><span class="sect1"><a href="#automatic-plist-generation">13.2. Semi-automatic <code class="filename">PLIST</code> generation</a></span></dt> -<dt><span class="sect1"><a href="#print-PLIST">13.3. Tweaking output of <span><strong class="command">make print-PLIST</strong></span></a></span></dt> +<dt><span class="sect1"><a href="#print-PLIST">13.3. Tweaking output of <span class="command"><strong>make print-PLIST</strong></span></a></span></dt> <dt><span class="sect1"><a href="#plist.misc">13.4. Variable substitution in PLIST</a></span></dt> <dt><span class="sect1"><a href="#manpage-compression">13.5. Man page compression</a></span></dt> <dt><span class="sect1"><a href="#using-PLIST_SRC">13.6. Changing PLIST source with <code class="varname">PLIST_SRC</code></a></span></dt> @@ -3811,7 +3811,7 @@ category in which you want to place your package. You can also create a directory of your own (maybe called <code class="filename">local</code>). In that category directory, create another directory for your package and change into it.</p></li> -<li><p>Run the program <span><strong class="command">url2pkg</strong></span>, which will ask +<li><p>Run the program <span class="command"><strong>url2pkg</strong></span>, which will ask you for a URL. Enter the URL of the distribution file (in most cases a <code class="filename">.tar.gz</code> file) and watch how the basic ingredients of your package are created automatically. The distribution file is @@ -3847,40 +3847,40 @@ DEPENDS+= screen>=4.0:../../misc/screen .include "../../mk/bsd.pkg.mk" </pre> </li> -<li><p>Run <span><strong class="command">pkglint</strong></span> to see what things still need +<li><p>Run <span class="command"><strong>pkglint</strong></span> to see what things still need to be done to make your package a “<span class="quote">good</span>” one. If you don't -know what pkglint's warnings want to tell you, try <span><strong class="command">pkglint ---explain</strong></span> or <span><strong class="command">pkglint +know what pkglint's warnings want to tell you, try <span class="command"><strong>pkglint +--explain</strong></span> or <span class="command"><strong>pkglint -e</strong></span>, which outputs additional explanations.</p></li> <li><p>In many cases the package is not yet ready to build. You can -find instructions for the most common cases in the next section, <a href="#creating.common" title="10.1. Common types of packages">Section 10.1, “Common types of packages”</a>. After you have followed the instructions +find instructions for the most common cases in the next section, <a class="xref" href="#creating.common" title="10.1. Common types of packages">Section 10.1, “Common types of packages”</a>. After you have followed the instructions over there, you can hopefully continue here.</p></li> -<li><p>Run <span><strong class="command">bmake clean</strong></span> to clean the working +<li><p>Run <span class="command"><strong>bmake clean</strong></span> to clean the working directory from the extracted files. Besides these files, a lot of cache files and other system information has been saved in the working directory, which may become wrong after you edited the <code class="filename">Makefile</code>.</p></li> -<li><p>Now, run <span><strong class="command">bmake</strong></span> to build the package. For -the various things that can go wrong in this phase, consult <a href="#fixes" title="Chapter 19. Making your package work">Chapter 19, <i>Making your package work</i></a>.</p></li> +<li><p>Now, run <span class="command"><strong>bmake</strong></span> to build the package. For +the various things that can go wrong in this phase, consult <a class="xref" href="#fixes" title="Chapter 19. Making your package work">Chapter 19, <i>Making your package work</i></a>.</p></li> <li><p>When the package builds fine, the next step is to install -the package. Run <span><strong class="command">bmake install</strong></span> and hope that +the package. Run <span class="command"><strong>bmake install</strong></span> and hope that everything works.</p></li> <li><p>Up to now, the file <code class="filename">PLIST</code>, which contains a list of the files that are installed by the package, is -nearly empty. Run <span><strong class="command">bmake print-PLIST +nearly empty. Run <span class="command"><strong>bmake print-PLIST >PLIST</strong></span> to generate a probably correct list. Check the file using your preferred text editor to see if the list of files looks plausible.</p></li> -<li><p>Run <span><strong class="command">pkglint</strong></span> again to see if the generated +<li><p>Run <span class="command"><strong>pkglint</strong></span> again to see if the generated <code class="filename">PLIST</code> contains garbage or not.</p></li> -<li><p>When you ran <span><strong class="command">bmake install</strong></span>, the package +<li><p>When you ran <span class="command"><strong>bmake install</strong></span>, the package has been registered in the database of installed files, but with an -empty list of files. To fix this, run <span><strong class="command">bmake deinstall</strong></span> -and <span><strong class="command">bmake install</strong></span> again. Now the package is +empty list of files. To fix this, run <span class="command"><strong>bmake deinstall</strong></span> +and <span class="command"><strong>bmake install</strong></span> again. Now the package is registered with the list of files from <code class="filename">PLIST</code>.</p></li> -<li><p>Run <span><strong class="command">bmake package</strong></span> to create a binary +<li><p>Run <span class="command"><strong>bmake package</strong></span> to create a binary package from the set of installed files.</p></li> </ol></div> <div class="sect1" lang="en"> @@ -3890,7 +3890,7 @@ package from the set of installed files.</p></li> <div class="titlepage"><div><div><h3 class="title"> <a name="creating.perl-module"></a>10.1.1. Perl modules</h3></div></div></div> <p>Simple Perl modules are handled automatically by -<span><strong class="command">url2pkg</strong></span>, including dependencies.</p> +<span class="command"><strong>url2pkg</strong></span>, including dependencies.</p> </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> @@ -3918,7 +3918,7 @@ choice for the category is “<span class="quote">www</span>”.</p> <code class="prompt">$</code> cd www/nvu </pre> <p>The web site says that the sources are available as a tar file, so -I fed that URL to the <span><strong class="command">url2pkg</strong></span> program:</p> +I fed that URL to the <span class="command"><strong>url2pkg</strong></span> program:</p> <pre class="programlisting"> <code class="prompt">$</code> url2pkg http://cvs.nvu.com/download/nvu-1.0-sources.tar.bz2 </pre> @@ -4043,7 +4043,7 @@ file, adding the dependency is very easy. I just inserted an .include "../../x11/gtk2/buildlink3.mk" .include "../../mk/bsd.pkg.mk </pre> -<p>After another <span><strong class="command">bmake clean && bmake</strong></span>, the answer +<p>After another <span class="command"><strong>bmake clean && bmake</strong></span>, the answer was:</p> <pre class="programlisting"> [...] @@ -4061,7 +4061,7 @@ configure: error: Test for GTK failed. prefers GNOME 2</span>” had been wrong. The first of the lines above told me that this package really wanted to have the GNOME 1 version of GTK. If the package had looked for GTK2, it would have looked for -<span><strong class="command">pkg-config</strong></span> instead of <span><strong class="command">gtk-config</strong></span>. +<span class="command"><strong>pkg-config</strong></span> instead of <span class="command"><strong>gtk-config</strong></span>. So I changed the <code class="literal">x11/gtk2</code> to <code class="literal">x11/gtk</code> in the package <code class="filename">Makefile</code>, and tried again.</p> @@ -4208,7 +4208,7 @@ converters games mbone print x11 <code class="varname">DYNAMIC_MASTER_SITES</code>, <code class="varname">DIST_SUBDIR</code>, <code class="varname">EXTRACT_SUFX</code> and <code class="varname">DISTFILES</code> are discussed in detail in - <a href="#build.fetch" title="17.5. The fetch phase">Section 17.5, “The <span class="emphasis"><em>fetch</em></span> phase”</a>.</p></li> + <a class="xref" href="#build.fetch" title="17.5. The fetch phase">Section 17.5, “The <span class="emphasis"><em>fetch</em></span> phase”</a>.</p></li> </ul></div> <p>The second section contains information about separately downloaded patches, if any. @@ -4231,12 +4231,12 @@ converters games mbone print x11 <li><p><code class="varname">MAINTAINER</code> is the email address of the person who feels responsible for this package, and who is most likely to look at problems or questions regarding this - package which have been reported with <a href="http://netbsd.gw.com/cgi-bin/man-cgi?send-pr+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">send-pr</span>(1)</span></a>. Other + package which have been reported with <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?send-pr+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">send-pr</span>(1)</span></a>. Other developers should contact the <code class="varname">MAINTAINER</code> before making major changes to the package. When packaging a new program, set <code class="varname">MAINTAINER</code> to yourself. If you really can't maintain the package for future updates, set it to - <code class="email"><<a href="mailto:pkgsrc-users@NetBSD.org">pkgsrc-users@NetBSD.org</a>></code>.</p></li> + <code class="email"><<a class="email" href="mailto:pkgsrc-users@NetBSD.org">pkgsrc-users@NetBSD.org</a>></code>.</p></li> <li><p><code class="varname">HOMEPAGE</code> is a URL where users can find more information about the package.</p></li> <li><p><code class="varname">COMMENT</code> is a one-line @@ -4269,7 +4269,7 @@ converters games mbone print x11 other variables handle common cases of setting <code class="varname">WRKDIR_BASENAME</code> individually. If <code class="varname">OBJHOSTNAME</code> is defined in - <a href="#mk.conf"><code class="filename">mk.conf</code></a>, the first component of + <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>, the first component of the host's name is attached to the directory name. If <code class="varname">OBJMACHINE</code> is defined, the platform name is attached, which might look like @@ -4285,7 +4285,7 @@ converters games mbone print x11 <li><p>Replace <code class="filename">/usr/local</code> with “<span class="quote">${PREFIX}</span>” in all files (see patches, below).</p></li> -<li><p>If the package installs any info files, see <a href="#faq.info-files" title="19.6.7. Packages installing info files">Section 19.6.7, “Packages installing info files”</a>.</p></li> +<li><p>If the package installs any info files, see <a class="xref" href="#faq.info-files" title="19.6.7. Packages installing info files">Section 19.6.7, “Packages installing info files”</a>.</p></li> </ul></div> </div> <div class="sect1" lang="en"> @@ -4301,9 +4301,9 @@ converters games mbone print x11 message digests, as well as the file size.</p> <p>The <code class="filename">distinfo</code> file also contains the checksums for all the patches found in the - <code class="filename">patches</code> directory (see <a href="#components.patches" title="11.3. patches/*">Section 11.3, “patches/*”</a>).</p> + <code class="filename">patches</code> directory (see <a class="xref" href="#components.patches" title="11.3. patches/*">Section 11.3, “patches/*”</a>).</p> <p>To regenerate the <code class="filename">distinfo</code> file, use the - <span><strong class="command">make makedistinfo</strong></span> or <span><strong class="command">make mdi</strong></span> + <span class="command"><strong>make makedistinfo</strong></span> or <span class="command"><strong>make mdi</strong></span> command.</p> <p>Some packages have different sets of distfiles depending on the platform, for example <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/www/navigator/README.html" target="_top"><code class="filename">www/navigator</code></a>). These are kept in the same @@ -4320,14 +4320,14 @@ converters games mbone print x11 found in the <code class="filename">patches/</code> directory.</p> <p>In the <span class="emphasis"><em>patch</em></span> phase, these patches are applied to the files in <code class="varname">WRKSRC</code> directory after - extracting them, in <a href="http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_13_03" target="_top">alphabetic + extracting them, in <a class="ulink" href="http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_13_03" target="_top">alphabetic order</a>, so <code class="filename">patch-aa</code> is applied before <code class="filename">patch-ab</code>, etc.</p> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> <a name="components.patch.structure"></a>11.3.1. Structure of a single patch file</h3></div></div></div> <p>The <code class="filename">patch-*</code> files should be in - <span><strong class="command">diff -bu</strong></span> format, and apply without a fuzz to avoid + <span class="command"><strong>diff -bu</strong></span> format, and apply without a fuzz to avoid problems. (To force patches to apply with fuzz you can set <code class="varname">PATCH_FUZZ_FACTOR=-F2</code>). Furthermore, each patch should contain only changes for a single file, and no file should be @@ -4340,7 +4340,7 @@ converters games mbone print x11 cases:</p> <div class="itemizedlist"><ul type="disc"> <li><p>Patches that replace the <code class="literal">==</code> - operator for <a href="http://netbsd.gw.com/cgi-bin/man-cgi?test+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">test</span>(1)</span></a> with <code class="literal">=</code> in shell scripts + operator for <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?test+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">test</span>(1)</span></a> with <code class="literal">=</code> in shell scripts should contain a reference to , to avoid redundant explanations.</p></li> <li><p>Patches for commonly known vulnerabilities should @@ -4361,22 +4361,22 @@ converters games mbone print x11 <p>One important thing to mention is to pay attention that no RCS IDs get stored in the patch files, as these will cause problems when later checked into the NetBSD CVS tree. Use the - <span><strong class="command">pkgdiff</strong></span> command from the <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkgdiff/README.html" target="_top"><code class="filename">pkgtools/pkgdiff</code></a> package to avoid these + <span class="command"><strong>pkgdiff</strong></span> command from the <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkgdiff/README.html" target="_top"><code class="filename">pkgtools/pkgdiff</code></a> package to avoid these problems.</p> <p>For even more automation, we recommend using - <span><strong class="command">mkpatches</strong></span> from the same package to make a + <span class="command"><strong>mkpatches</strong></span> from the same package to make a whole set of patches. You just have to backup files before you edit them to <code class="filename">filename.orig</code>, e.g. with - <span><strong class="command">cp -p filename filename.orig</strong></span> or, easier, by - using <span><strong class="command">pkgvi</strong></span> again from the same package. If + <span class="command"><strong>cp -p filename filename.orig</strong></span> or, easier, by + using <span class="command"><strong>pkgvi</strong></span> again from the same package. If you upgrade a package this way, you can easily compare the new set of patches with the previously existing one with - <span><strong class="command">patchdiff</strong></span>. Copy the patches you want to use + <span class="command"><strong>patchdiff</strong></span>. Copy the patches you want to use or update from the <code class="filename">work/.newpatches</code> directory to <code class="filename">patches/</code>.</p> <p>When you have finished a package, remember to generate - the checksums for the patch files by using the <span><strong class="command">make - makepatchsum</strong></span> command, see <a href="#components.distinfo" title="11.2. distinfo">Section 11.2, “<code class="filename">distinfo</code>”</a>.</p> + the checksums for the patch files by using the <span class="command"><strong>make + makepatchsum</strong></span> command, see <a class="xref" href="#components.distinfo" title="11.2. distinfo">Section 11.2, “<code class="filename">distinfo</code>”</a>.</p> <p>When adding a patch that corrects a problem in the distfile (rather than e.g. enforcing pkgsrc's view of where man pages should go), send the patch as a bug report to the @@ -4425,9 +4425,9 @@ PATCHDIR= ${.CURDIR}/../xemacs/patches specific <span class="emphasis"><em>features</em></span> you need. For example, instead of assuming that kqueue is available under NetBSD and using the <code class="varname">__NetBSD__</code> macro to conditionalize - kqueue support, add a check that detects kqueue itself — + kqueue support, add a check that detects kqueue itself — yes, this generally involves patching the - <span><strong class="command">configure</strong></span> script. There is absolutely nothing + <span class="command"><strong>configure</strong></span> script. There is absolutely nothing that prevents some OSes from adopting interfaces from other OSes (e.g. Linux implementing kqueue), something that the above checks cannot take into account.</p> @@ -4520,8 +4520,8 @@ monitor_file(...) </table></div> </div> <br class="table-break"><p>For more information, please read the <span class="emphasis"><em>Making - packager-friendly software</em></span> article (<a href="http://www.onlamp.com/pub/a/onlamp/2005/03/31/packaging.html" target="_top">part - 1</a>, <a href="http://www.oreillynet.com/pub/a/onlamp/2005/04/28/packaging2.html" target="_top">part + packager-friendly software</em></span> article (<a class="ulink" href="http://www.onlamp.com/pub/a/onlamp/2005/03/31/packaging.html" target="_top">part + 1</a>, <a class="ulink" href="http://www.oreillynet.com/pub/a/onlamp/2005/04/28/packaging2.html" target="_top">part 2</a>). It summarizes multiple details on how to make software easier to package; all the suggestions in it were collected from our experience in pkgsrc work, so they are possibly @@ -4562,7 +4562,7 @@ monitor_file(...) system: all the binaries, manual pages, etc. There are other directives which may be entered in this file, to control the creation and deletion of directories, and the location of - inserted files. See <a href="#plist" title="Chapter 13. PLIST issues">Chapter 13, <i>PLIST issues</i></a> for more + inserted files. See <a class="xref" href="#plist" title="Chapter 13. PLIST issues">Chapter 13, <i>PLIST issues</i></a> for more information.</p></dd> </dl></div> </div> @@ -4574,20 +4574,20 @@ monitor_file(...) <a name="components.optional.bin"></a>11.5.1. Files affecting the binary package</h3></div></div></div> <div class="variablelist"><dl> <dt><span class="term"><code class="filename">INSTALL</code></span></dt> -<dd><p>This shell script is invoked twice by <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a>. +<dd><p>This shell script is invoked twice by <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a>. First time after package extraction and before files are moved in place, the second time after the files to install are moved in place. This can be used to do any custom procedures not possible with @exec commands in - <code class="filename">PLIST</code>. See <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a> and - <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_create+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_create</span>(1)</span></a> for more information. See also <a href="#files-and-dirs-outside-prefix" title="15.1. Files and directories outside the installation prefix">Section 15.1, “Files and directories outside the installation prefix”</a>.</p></dd> + <code class="filename">PLIST</code>. See <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a> and + <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_create+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_create</span>(1)</span></a> for more information. See also <a class="xref" href="#files-and-dirs-outside-prefix" title="15.1. Files and directories outside the installation prefix">Section 15.1, “Files and directories outside the installation prefix”</a>.</p></dd> <dt><span class="term"><code class="filename">DEINSTALL</code></span></dt> <dd><p>This script is executed before and after any files are removed. It is this script's responsibility to clean up any additional messy details around the package's installation, since all pkg_delete knows is how to delete the files created in the original distribution. - See <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_delete+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_delete</span>(1)</span></a> - and <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_create+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_create</span>(1)</span></a> for more information.</p></dd> + See <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_delete+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_delete</span>(1)</span></a> + and <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_create+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_create</span>(1)</span></a> for more information.</p></dd> <dt><span class="term"><code class="filename">MESSAGE</code></span></dt> <dd> <p>This file is displayed after installation of the package. @@ -4633,7 +4633,7 @@ MESSAGE_SUBST+= SOMEVAR="somevalue" describes what it does.</p></dd> <dt><span class="term"><code class="filename">buildlink3.mk</code></span></dt> <dd><p>This file contains the dependency information - for the buildlink3 framework (see <a href="#buildlink" title="Chapter 14. Buildlink methodology">Chapter 14, <i>Buildlink methodology</i></a>).</p></dd> + for the buildlink3 framework (see <a class="xref" href="#buildlink" title="Chapter 14. Buildlink methodology">Chapter 14, <i>Buildlink methodology</i></a>).</p></dd> <dt><span class="term"><code class="filename">hacks.mk</code></span></dt> <dd><p>This file contains workarounds for compiler bugs and similar things. It is included automatically by the pkgsrc @@ -4642,7 +4642,7 @@ MESSAGE_SUBST+= SOMEVAR="somevalue" it.</p></dd> <dt><span class="term"><code class="filename">options.mk</code></span></dt> <dd><p>This file contains the code for the - package-specific options (see <a href="#options" title="Chapter 16. Options handling">Chapter 16, <i>Options handling</i></a>) that can be + package-specific options (see <a class="xref" href="#options" title="Chapter 16. Options handling">Chapter 16, <i>Options handling</i></a>) that can be selected by the user. If a package has only one or two options, it is equally acceptable to put the code directly into the <code class="filename">Makefile</code>.</p></dd> @@ -4667,10 +4667,10 @@ MESSAGE_SUBST+= SOMEVAR="somevalue" <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="work-dir"></a>11.6. <code class="filename">work*</code> </h2></div></div></div> -<p>When you type <span><strong class="command">make</strong></span>, the distribution files are +<p>When you type <span class="command"><strong>make</strong></span>, the distribution files are unpacked into the directory denoted by <code class="varname">WRKDIR</code>. It can be removed by running - <span><strong class="command">make clean</strong></span>. Besides the sources, this + <span class="command"><strong>make clean</strong></span>. Besides the sources, this directory is also used to keep various timestamp files. The directory gets <span class="emphasis"><em>removed completely</em></span> on clean. The default is <code class="filename">${.CURDIR}/work</code> @@ -4683,7 +4683,7 @@ MESSAGE_SUBST+= SOMEVAR="somevalue" </h2></div></div></div> <p>If you have any files that you wish to be placed in the package prior to configuration or building, you could place these files here and use - a <span><strong class="command">${CP}</strong></span> command in the + a <span class="command"><strong>${CP}</strong></span> command in the “<span class="quote">pre-configure</span>” target to achieve this. Alternatively, you could simply diff the file against <code class="filename">/dev/null</code> and use the patch mechanism to manage @@ -4718,13 +4718,13 @@ FILESDIR=${.CURDIR}/../xemacs/files </div> <p>Pkgsrc consists of many <code class="filename">Makefile</code> fragments, each of which forms a well-defined part of the pkgsrc system. Using - the <a href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> system as a programming language for a big system + the <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> system as a programming language for a big system like pkgsrc requires some discipline to keep the code correct and understandable.</p> <p>The basic ingredients for <code class="filename">Makefile</code> programming are variables (which are actually macros) and shell commands. Among these shell commands may even be more complex ones - like <a href="http://netbsd.gw.com/cgi-bin/man-cgi?awk+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">awk</span>(1)</span></a> programs. To make sure that every shell command runs + like <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?awk+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">awk</span>(1)</span></a> programs. To make sure that every shell command runs as intended it is necessary to quote all variables correctly when they are used.</p> <p>This chapter describes some patterns, that appear quite often in @@ -4738,7 +4738,7 @@ FILESDIR=${.CURDIR}/../xemacs/files target of a rule, always write the data to a temporary file first and finally rename that file. Otherwise there might occur an error in the middle of generating the file, and when the user runs - <a href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> for the second time, the file exists and will not be + <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> for the second time, the file exists and will not be regenerated properly. Example:</p> <pre class="programlisting"> wrong: @@ -4752,15 +4752,15 @@ correct: @false @mv ${.TARGET}.tmp ${.TARGET} </pre> -<p>When you run <span><strong class="command">make wrong</strong></span> twice, the file +<p>When you run <span class="command"><strong>make wrong</strong></span> twice, the file <code class="filename">wrong</code> will exist, although there was an error - message in the first run. On the other hand, running <span><strong class="command">make + message in the first run. On the other hand, running <span class="command"><strong>make correct</strong></span> gives an error message twice, as expected.</p> -<p>You might remember that <a href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> sometimes removes +<p>You might remember that <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> sometimes removes <code class="literal">${.TARGET}</code> in case of error, but this only happens when it is interrupted, for example by pressing <code class="literal">^C</code>. This does <span class="emphasis"><em>not</em></span> happen - when one of the commands fails (like <a href="http://netbsd.gw.com/cgi-bin/man-cgi?false+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">false</span>(1)</span></a> above).</p> + when one of the commands fails (like <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?false+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">false</span>(1)</span></a> above).</p> </li></ul></div> </div> <div class="sect1" lang="en"> @@ -4768,7 +4768,7 @@ correct: <a name="makefile.variables"></a>12.2. <code class="filename">Makefile</code> variables</h2></div></div></div> <p><code class="filename">Makefile</code> variables contain strings that can be processed using the five operators ``='', ``+='', ``?='', - ``:='', and ``!='', which are described in the <a href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> man + ``:='', and ``!='', which are described in the <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> man page.</p> <p>When a variable's value is parsed from a <code class="filename">Makefile</code>, the hash character ``#'' and the @@ -4788,15 +4788,15 @@ correct: variables is evaluating them. A variable is evaluated when it is part of the right side of the ``:='' or the ``!='' operator, or directly before executing a shell command which the variable is part - of. In all other cases, <a href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> performs lazy evaluation, that + of. In all other cases, <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> performs lazy evaluation, that is, variables are not evaluated until there's no other way. The ``modifiers'' mentioned in the man page also evaluate the variable.</p> <p>Some of the modifiers split the string into words and then operate on the words, others operate on the string as a whole. When a string is split into words, it is split as you would expect - it from <a href="http://netbsd.gw.com/cgi-bin/man-cgi?sh+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">sh</span>(1)</span></a>.</p> -<p>No rule without exception—the <span><strong class="command">.for</strong></span> + it from <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?sh+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">sh</span>(1)</span></a>.</p> +<p>No rule without exception—the <span class="command"><strong>.for</strong></span> loop does not follow the shell quoting rules but splits at sequences of whitespace.</p> <p>There are several types of variables that should be handled @@ -4811,13 +4811,13 @@ correct: are never exported to any shell command. Their elements are separated by whitespace. Therefore, the elements themselves cannot have embedded whitespace. Any other characters are allowed. - Internal lists can be used in <span><strong class="command">.for</strong></span> loops. + Internal lists can be used in <span class="command"><strong>.for</strong></span> loops. Examples are <code class="varname">DEPENDS</code> and <code class="varname">BUILD_DEPENDS</code>.</p></li> <li><p><span class="emphasis"><em>External lists</em></span> are lists that may be exported to a shell command. Their elements can contain any characters, including whitespace. That's why they cannot be used - in <span><strong class="command">.for</strong></span> loops. Examples are + in <span class="command"><strong>.for</strong></span> loops. Examples are <code class="varname">DISTFILES</code> and <code class="varname">MASTER_SITES</code>.</p></li> </ul></div> @@ -4829,7 +4829,7 @@ correct: are reserved for use by the pkgsrc infrastructure. They shall not be used by package <code class="filename">Makefile</code>s.</p></li> -<li><p>In <span><strong class="command">.for</strong></span> loops you should use +<li><p>In <span class="command"><strong>.for</strong></span> loops you should use lowercase variable names for the iteration variables.</p></li> <li><p>All list variables should have a ``plural'' @@ -4903,14 +4903,14 @@ all: characters are just copied.</p> <p>Example 2 leads to a syntax error too, and if you leave out the last " character from <code class="varname">${STRING}</code>, - <a href="http://netbsd.gw.com/cgi-bin/man-cgi?date+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">date</span>(1)</span></a> will be executed. The <code class="varname">$HOME</code> shell + <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?date+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">date</span>(1)</span></a> will be executed. The <code class="varname">$HOME</code> shell variable would be evaluated, too.</p> <p>Example 3 outputs each space character preceded by a backslash (or not), depending on the implementation of the - <a href="http://netbsd.gw.com/cgi-bin/man-cgi?echo+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">echo</span>(1)</span></a> command.</p> + <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?echo+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">echo</span>(1)</span></a> command.</p> <p>Example 4 handles correctly every string that does not start with a dash. In that case, the result depends on the - implementation of the <a href="http://netbsd.gw.com/cgi-bin/man-cgi?echo+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">echo</span>(1)</span></a> command. As long as you can + implementation of the <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?echo+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">echo</span>(1)</span></a> command. As long as you can guarantee that your input does not start with a dash, this form is appropriate.</p> <p>Example 5 handles even the case of a leading dash @@ -5001,8 +5001,8 @@ for_test: four. The first line looks like <code class="varname">a:\ echo foo</code>. This is because the backslash of the value <code class="varname">a:\</code> is interpreted as a line-continuation by - <a href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a>, which makes the second line the arguments of the - <a href="http://netbsd.gw.com/cgi-bin/man-cgi?echo+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">echo</span>(1)</span></a> command from the first line. To avoid this, write + <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a>, which makes the second line the arguments of the + <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?echo+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">echo</span>(1)</span></a> command from the first line. To avoid this, write <code class="varname">${i:Q}""</code>.</p> </li> </ul></div> @@ -5031,7 +5031,7 @@ VAR:= ${VAR:N${_othervar_:C/-//}} <dl> <dt><span class="sect1"><a href="#rcs-id">13.1. RCS ID</a></span></dt> <dt><span class="sect1"><a href="#automatic-plist-generation">13.2. Semi-automatic <code class="filename">PLIST</code> generation</a></span></dt> -<dt><span class="sect1"><a href="#print-PLIST">13.3. Tweaking output of <span><strong class="command">make print-PLIST</strong></span></a></span></dt> +<dt><span class="sect1"><a href="#print-PLIST">13.3. Tweaking output of <span class="command"><strong>make print-PLIST</strong></span></a></span></dt> <dt><span class="sect1"><a href="#plist.misc">13.4. Variable substitution in PLIST</a></span></dt> <dt><span class="sect1"><a href="#manpage-compression">13.5. Man page compression</a></span></dt> <dt><span class="sect1"><a href="#using-PLIST_SRC">13.6. Changing PLIST source with <code class="varname">PLIST_SRC</code></a></span></dt> @@ -5043,7 +5043,7 @@ VAR:= ${VAR:N${_othervar_:C/-//}} “<span class="quote">packing list</span>”, i.e. a list of files that belong to the package (relative to the <code class="filename">${PREFIX}</code> directory it's been installed in) plus some additional statements - - see the <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_create+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_create</span>(1)</span></a> man page for a full list. + - see the <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_create+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_create</span>(1)</span></a> man page for a full list. This chapter addresses some issues that need attention when dealing with the <code class="filename">PLIST</code> file (or files, see below!).</p> @@ -5059,18 +5059,18 @@ VAR:= ${VAR:N${_othervar_:C/-//}} <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="automatic-plist-generation"></a>13.2. Semi-automatic <code class="filename">PLIST</code> generation</h2></div></div></div> -<p>You can use the <span><strong class="command">make print-PLIST</strong></span> command +<p>You can use the <span class="command"><strong>make print-PLIST</strong></span> command to output a PLIST that matches any new files since the package - was extracted. See <a href="#build.helpful-targets" title="17.17. Other helpful targets">Section 17.17, “Other helpful targets”</a> for + was extracted. See <a class="xref" href="#build.helpful-targets" title="17.17. Other helpful targets">Section 17.17, “Other helpful targets”</a> for more information on this target.</p> </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="print-PLIST"></a>13.3. Tweaking output of <span><strong class="command">make print-PLIST</strong></span> +<a name="print-PLIST"></a>13.3. Tweaking output of <span class="command"><strong>make print-PLIST</strong></span> </h2></div></div></div> <p>If you have used any of the *-dirs packages, as explained in - <a href="#faq.common-dirs" title="13.8. Sharing directories between packages">Section 13.8, “Sharing directories between packages”</a>, you may have noticed that - <span><strong class="command">make print-PLIST</strong></span> outputs a set of + <a class="xref" href="#faq.common-dirs" title="13.8. Sharing directories between packages">Section 13.8, “Sharing directories between packages”</a>, you may have noticed that + <span class="command"><strong>make print-PLIST</strong></span> outputs a set of <code class="varname">@comment</code>s instead of real <code class="varname">@dirrm</code> lines. You can also do this for specific directories and files, so that the results of that @@ -5108,7 +5108,7 @@ PRINT_PLIST_AWK+= /^@dirrm share\/specific/ { print "@comment " $$0; next; case, PLIST will be preprocessed before actually used, and the symbol “<span class="quote"><code class="varname">${MACHINE_ARCH}</code></span>” will be - replaced by what <span><strong class="command">uname -p</strong></span> gives. The + replaced by what <span class="command"><strong>uname -p</strong></span> gives. The same is done if the string <code class="varname">${MACHINE_GNU_ARCH}</code> is embedded in PLIST somewhere - use this on packages that have GNU @@ -5117,7 +5117,7 @@ PRINT_PLIST_AWK+= /^@dirrm share\/specific/ { print "@comment " $$0; next; <h3 class="title">Legacy note</h3> <p>There used to be a symbol “<span class="quote"><code class="varname">$ARCH</code></span>” that - was replaced by the output of <span><strong class="command">uname + was replaced by the output of <span class="command"><strong>uname -m</strong></span>, but that's no longer supported and has been removed.</p> </div> @@ -5129,9 +5129,9 @@ PRINT_PLIST_AWK+= /^@dirrm share\/specific/ { print "@comment " $$0; next; <code class="filename">PLIST</code>: </p> <div class="itemizedlist"><ul type="disc"> -<li><p><code class="varname">${OPSYS}</code> - output of “<span class="quote"><span><strong class="command">uname -s</strong></span></span>”</p></li> +<li><p><code class="varname">${OPSYS}</code> - output of “<span class="quote"><span class="command"><strong>uname -s</strong></span></span>”</p></li> <li><p><code class="varname">${LOWER_OPSYS}</code> - lowercase common name (eg. “<span class="quote">solaris</span>”)</p></li> -<li><p><code class="varname">${OS_VERSION}</code> - “<span class="quote"><span><strong class="command">uname -r</strong></span></span>”</p></li> +<li><p><code class="varname">${OS_VERSION}</code> - “<span class="quote"><span class="command"><strong>uname -r</strong></span></span>”</p></li> </ul></div> </dd> </dl></div> @@ -5140,7 +5140,7 @@ PRINT_PLIST_AWK+= /^@dirrm share\/specific/ { print "@comment " $$0; next; search for <code class="varname">PLIST_SUBST</code>).</p> <p>If you want to change other variables not listed above, you can add variables and their expansions to this variable in the - following way, similar to <code class="varname">MESSAGE_SUBST</code> (see <a href="#components.optional" title="11.5. Optional files">Section 11.5, “Optional files”</a>):</p> + following way, similar to <code class="varname">MESSAGE_SUBST</code> (see <a class="xref" href="#components.optional" title="11.5. Optional files">Section 11.5, “Optional files”</a>):</p> <pre class="programlisting"> PLIST_SUBST+= SOMEVAR="somevalue" </pre> @@ -5168,7 +5168,7 @@ PLIST_SUBST+= SOMEVAR="somevalue" <p>To use one or more files as source for the <code class="filename">PLIST</code> used in generating the binary package, set the variable <code class="varname">PLIST_SRC</code> to the names of that file(s). - The files are later concatenated using <a href="http://netbsd.gw.com/cgi-bin/man-cgi?cat+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">cat</span>(1)</span></a>, and the order of things is + The files are later concatenated using <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?cat+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">cat</span>(1)</span></a>, and the order of things is important. The default for <code class="varname">PLIST_SRC</code> is <code class="filename">${PKGDIR}/PLIST</code>.</p> </div> @@ -5231,7 +5231,7 @@ PLIST_SUBST+= SOMEVAR="somevalue" <pre class="programlisting"> USE_DIRS+= xdg-1.1 </pre> -<p>After regenerating the PLIST using <span><strong class="command">make +<p>After regenerating the PLIST using <span class="command"><strong>make print-PLIST</strong></span>, you should get the right (commented out) lines.</p> <p>Note that even if your package is using @@ -5433,7 +5433,7 @@ BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//} <li><p><code class="varname">BUILDLINK_API_DEPENDS.<em class="replaceable"><code>pkg</code></em></code> is the actual dependency recorded in the installed package; this should always be set using - <span><strong class="command">+=</strong></span> to ensure that + <span class="command"><strong>+=</strong></span> to ensure that we're appending to any pre-existing list of values. This variable should be set to the first version of the package that had an API change. @@ -5502,7 +5502,7 @@ BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//} <li><p><code class="varname">BUILDLINK_FNAME_TRANSFORM.<em class="replaceable"><code>pkg</code></em></code> (not shown above) is a list of sed arguments used to transform the name of the source filename into a - destination filename, e.g. <span><strong class="command">-e + destination filename, e.g. <span class="command"><strong>-e "s|/curses.h|/ncurses.h|g"</strong></span>.</p></li> </ul></div> <p>The last section includes any @@ -5541,7 +5541,7 @@ BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//} packages made using it will require the correct package dependency and not settle for an older one which will not contain the necessary shared libraries.</p> -<p>See <a href="#dependencies" title="19.1.6. Handling dependencies">Section 19.1.6, “Handling dependencies”</a> for +<p>See <a class="xref" href="#dependencies" title="19.1.6. Handling dependencies">Section 19.1.6, “Handling dependencies”</a> for more information about dependencies on other packages, including the <code class="varname">BUILDLINK_ABI_DEPENDS</code> and <code class="varname">ABI_DEPENDS</code> definitions.</p> @@ -5913,7 +5913,7 @@ following:</p> <code class="filename">${PKG_SYSCONFBASE}</code>.</p></li> </ol></div> <p>It is worth mentioning that <code class="filename">${PKG_SYSCONFDIR}</code> is -automatically added to <code class="filename">OWN_DIRS</code>. See <a href="#dirs-outside-prefix" title="15.1.1. Directory manipulation">Section 15.1.1, “Directory manipulation”</a> what this means.</p> +automatically added to <code class="filename">OWN_DIRS</code>. See <a class="xref" href="#dirs-outside-prefix" title="15.1.1. Directory manipulation">Section 15.1.1, “Directory manipulation”</a> what this means.</p> </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> @@ -5951,7 +5951,7 @@ examples hierarchy), the pkginstall framework can use them as master copies during the package installation to update what is in <code class="filename">${PKG_SYSCONFDIR}</code>. To achieve this, the variables <code class="varname">CONF_FILES</code> and <code class="varname">CONF_FILES_PERMS</code> are -used. Check out <a href="#files-outside-prefix" title="15.1.2. File manipulation">Section 15.1.2, “File manipulation”</a> for information +used. Check out <a class="xref" href="#files-outside-prefix" title="15.1.2. File manipulation">Section 15.1.2, “File manipulation”</a> for information about their syntax and their purpose. Here is an example, taken from the <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/mail/mutt/README.html" target="_top"><code class="filename">mail/mutt</code></a> package:</p> <pre class="programlisting"> @@ -5974,7 +5974,7 @@ installation.</p> <a name="rcd-scripts"></a>15.3. System startup scripts</h2></div></div></div> <p>System startup scripts are special files because they must be installed in a place known by the underlying OS, usually outside the -installation prefix. Therefore, the same rules described in <a href="#files-and-dirs-outside-prefix" title="15.1. Files and directories outside the installation prefix">Section 15.1, “Files and directories outside the installation prefix”</a> apply, and the same solutions +installation prefix. Therefore, the same rules described in <a class="xref" href="#files-and-dirs-outside-prefix" title="15.1. Files and directories outside the installation prefix">Section 15.1, “Files and directories outside the installation prefix”</a> apply, and the same solutions can be used. However, pkginstall provides a special mechanism to handle these files.</p> <p>In order to provide system startup scripts, the package has @@ -6156,7 +6156,7 @@ almost always be split if feasible.</p> <p>Global default options are listed in <code class="varname">PKG_DEFAULT_OPTIONS</code>, which is a list of the options that should be built into every package if that option is supported. -This variable should be set in <a href="#mk.conf"><code class="filename">mk.conf</code></a>.</p> +This variable should be set in <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>.</p> </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> @@ -6220,7 +6220,7 @@ options are supported by the package, and any default options settings if needed.</p> <div class="orderedlist"><ol type="1"> <li><p><code class="varname">PKG_OPTIONS_VAR</code> is the name of the -<a href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> variable that the user can set to override the default +<a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> variable that the user can set to override the default options. It should be set to PKG_OPTIONS.<em class="replaceable"><code>pkgbase</code></em>. Do not set it to PKG_OPTIONS.${PKGBASE}, since <code class="varname">PKGBASE</code> is not defined @@ -6251,7 +6251,7 @@ build options which are enabled by default.</p></li> <li><p><code class="varname">PKG_OPTIONS_LEGACY_VARS</code> is a list of “<span class="quote"><em class="replaceable"><code>USE_VARIABLE</code></em>:<em class="replaceable"><code>option</code></em></span>” -pairs that map legacy <a href="#mk.conf"><code class="filename">mk.conf</code></a> variables to +pairs that map legacy <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> variables to their option counterparts. Pairs should be added with “<span class="quote">+=</span>” to keep the listing of global legacy variables. A warning will be issued if the user uses a legacy @@ -6324,7 +6324,7 @@ support.</span>” The file is sorted by option names.</p> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="option-build"></a>16.4. Determining the options of dependencies</h2></div></div></div> -<p>When writing <a href="#buildlink3.mk"><code class="filename">buildlink3.mk</code></a> files, it is often necessary to list +<p>When writing <a class="link" href="#buildlink3.mk"><code class="filename">buildlink3.mk</code></a> files, it is often necessary to list different dependencies based on the options with which the package was built. For querying these options, the file <code class="filename">pkgsrc/mk/pkg-build-options.mk</code> should be used. A @@ -6414,7 +6414,7 @@ details.</p> for pkgs in the <code class="filename">cross</code> category. The value of <code class="varname">PREFIX</code> needs to be put into the various places in the program's source where paths to - these files are encoded. See <a href="#components.patches" title="11.3. patches/*">Section 11.3, “patches/*”</a> and <a href="#fixes.libtool" title="19.3.1. Shared libraries - libtool">Section 19.3.1, “Shared libraries - libtool”</a> for more details.</p> + these files are encoded. See <a class="xref" href="#components.patches" title="11.3. patches/*">Section 11.3, “patches/*”</a> and <a class="xref" href="#fixes.libtool" title="19.3.1. Shared libraries - libtool">Section 19.3.1, “Shared libraries - libtool”</a> for more details.</p> <p>When choosing which of these variables to use, follow the following rules:</p> <div class="itemizedlist"><ul type="disc"> @@ -6472,7 +6472,7 @@ details.</p> <code class="varname">LOCALBASE</code>. To determine the prefix of an installed package, the <code class="varname">EVAL_PREFIX</code> definition can be used. It takes pairs in the format - “<span class="quote">DIRNAME=<package></span>”, and the <a href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> + “<span class="quote">DIRNAME=<package></span>”, and the <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> variable <code class="varname">DIRNAME</code> will be set to the prefix of the installed package <package>, or “<span class="quote">${X11PREFIX}</span>” if the package is not @@ -6497,7 +6497,7 @@ GTKDIR_DEFAULT= ${LOCALBASE} the <code class="varname">EVAL_PREFIX</code> pair.</p> </li> <li><p>Within <code class="filename">${PREFIX}</code>, packages should - install files according to <a href="http://netbsd.gw.com/cgi-bin/man-cgi?hier+7+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">hier</span>(7)</span></a>, with the exception that + install files according to <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?hier+7+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">hier</span>(7)</span></a>, with the exception that manual pages go into <code class="filename">${PREFIX}/man</code>, not <code class="filename">${PREFIX}/share/man</code>.</p></li> </ul></div> @@ -6542,11 +6542,11 @@ GTKDIR_DEFAULT= ${LOCALBASE} <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="build.running"></a>17.4. Running a phase</h2></div></div></div> -<p>You can run a particular phase by typing <span><strong class="command">make +<p>You can run a particular phase by typing <span class="command"><strong>make phase</strong></span>, where <span class="emphasis"><em>phase</em></span> is the name of the phase. This will automatically run all phases that are required for this phase. The default phase is <code class="varname">build</code>, that is, when you - run <span><strong class="command">make</strong></span> without parameters in a package directory, + run <span class="command"><strong>make</strong></span> without parameters in a package directory, the package will be built, but not installed.</p> </div> <div class="sect1" lang="en"> @@ -6638,8 +6638,8 @@ ${MASTER_SITE_XEMACS} </pre> <p>Some explanations for the less self-explaining ones: <code class="varname">MASTER_SITE_BACKUP</code> contains backup sites - for packages that are maintained in <a href="ftp://ftp.NetBSD.org/pub/NetBSD/packages/distfiles/%24%7BDIST_SUBDIR%7D" target="_top">ftp://ftp.NetBSD.org/pub/NetBSD/packages/distfiles/${DIST_SUBDIR}</a>. <code class="varname">MASTER_SITE_LOCAL</code> contains local - package source distributions that are maintained in <a href="ftp://ftp.NetBSD.org/pub/NetBSD/packages/distfiles/LOCAL_PORTS/" target="_top">ftp://ftp.NetBSD.org/pub/NetBSD/packages/distfiles/LOCAL_PORTS/</a>.</p> + for packages that are maintained in <a class="ulink" href="ftp://ftp.NetBSD.org/pub/NetBSD/packages/distfiles/%24%7BDIST_SUBDIR%7D" target="_top">ftp://ftp.NetBSD.org/pub/NetBSD/packages/distfiles/${DIST_SUBDIR}</a>. <code class="varname">MASTER_SITE_LOCAL</code> contains local + package source distributions that are maintained in <a class="ulink" href="ftp://ftp.NetBSD.org/pub/NetBSD/packages/distfiles/LOCAL_PORTS/" target="_top">ftp://ftp.NetBSD.org/pub/NetBSD/packages/distfiles/LOCAL_PORTS/</a>.</p> <p>If you choose one of these predefined sites, you may want to specify a subdirectory of that site. Since these macros may expand to more than one actual site, you @@ -6746,9 +6746,9 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} <code class="filename">.gz</code> are uncompressed before they are applied, files ending in <code class="filename">.orig</code> or <code class="filename">.rej</code> are ignored. Any special options to - <a href="http://netbsd.gw.com/cgi-bin/man-cgi?patch+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">patch</span>(1)</span></a> can be handed in - <code class="varname">PATCH_DIST_ARGS</code>. See <a href="#components.patches" title="11.3. patches/*">Section 11.3, “patches/*”</a> for more details.</p> -<p>By default <a href="http://netbsd.gw.com/cgi-bin/man-cgi?patch+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">patch</span>(1)</span></a> is given special args to make + <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?patch+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">patch</span>(1)</span></a> can be handed in + <code class="varname">PATCH_DIST_ARGS</code>. See <a class="xref" href="#components.patches" title="11.3. patches/*">Section 11.3, “patches/*”</a> for more details.</p> +<p>By default <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?patch+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">patch</span>(1)</span></a> is given special args to make it fail if the patches apply with some lines of fuzz. Please fix (regen) the patches so that they apply cleanly. The rationale behind this is that patches that don't apply cleanly @@ -6758,7 +6758,7 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="build.tools"></a>17.9. The <span class="emphasis"><em>tools</em></span> phase</h2></div></div></div> -<p>This is covered in <a href="#tools" title="Chapter 18. Tools needed for building or running">Chapter 18, <i>Tools needed for building or running</i></a>. +<p>This is covered in <a class="xref" href="#tools" title="Chapter 18. Tools needed for building or running">Chapter 18, <i>Tools needed for building or running</i></a>. </p> </div> <div class="sect1" lang="en"> @@ -6914,7 +6914,7 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} 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 + <a class="citerefentry" 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> @@ -6975,8 +6975,8 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} <p>Once the install stage has completed, a binary package of the installed files can be built. These binary packages can be used for quick installation without previous compilation, e.g. by - the <span><strong class="command">make bin-install</strong></span> or by using - <span><strong class="command">pkg_add</strong></span>.</p> + the <span class="command"><strong>make bin-install</strong></span> or by using + <span class="command"><strong>pkg_add</strong></span>.</p> <p>By default, the binary packages are created in <code class="filename">${PACKAGES}/All</code> and symlinks are created in <code class="filename">${PACKAGES}/<em class="replaceable"><code>category</code></em></code>, @@ -6993,9 +6993,9 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="build.clean"></a>17.16. Cleaning up</h2></div></div></div> <p>Once you're finished with a package, you can clean the work - directory by running <span><strong class="command">make clean</strong></span>. If you want + directory by running <span class="command"><strong>make clean</strong></span>. If you want to clean the work directories of all dependencies too, use - <span><strong class="command">make clean-depends</strong></span>.</p> + <span class="command"><strong>make clean-depends</strong></span>.</p> </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> @@ -7021,35 +7021,35 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} this.</p></dd> <dt><span class="term">reinstall</span></dt> <dd> -<p>If you did a <span><strong class="command">make install</strong></span> and +<p>If you did a <span class="command"><strong>make install</strong></span> and you noticed some file was not installed properly, you can repeat the installation with this target, which will ignore the “<span class="quote">already installed</span>” flag.</p> <p>This is the default value of <code class="varname">DEPENDS_TARGET</code> except in the case of - <span><strong class="command">make update</strong></span> and <span><strong class="command">make + <span class="command"><strong>make update</strong></span> and <span class="command"><strong>make package</strong></span>, where the defaults are “<span class="quote">package</span>” and “<span class="quote">update</span>”, respectively.</p> </dd> <dt><span class="term">deinstall</span></dt> <dd> -<p>This target does a <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_delete+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_delete</span>(1)</span></a> in the +<p>This target does a <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_delete+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_delete</span>(1)</span></a> in the current directory, effectively de-installing the package. The following variables can be used to tune the behaviour:</p> <div class="variablelist"><dl> <dt><span class="term"><code class="varname">PKG_VERBOSE</code></span></dt> -<dd><p>Add a "-v" to the <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_delete+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_delete</span>(1)</span></a> command.</p></dd> +<dd><p>Add a "-v" to the <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_delete+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_delete</span>(1)</span></a> command.</p></dd> <dt><span class="term"><code class="varname">DEINSTALLDEPENDS</code></span></dt> <dd><p>Remove all packages that require (depend on) the given package. This can be used to remove any packages that may have been pulled in by a given - package, e.g. if <span><strong class="command">make deinstall + package, e.g. if <span class="command"><strong>make deinstall DEINSTALLDEPENDS=1</strong></span> is done in <code class="filename">pkgsrc/x11/kde</code>, this is likely to remove whole KDE. Works by adding - “<span class="quote">-R</span>” to the <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_delete+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_delete</span>(1)</span></a> + “<span class="quote">-R</span>” to the <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_delete+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_delete</span>(1)</span></a> command line.</p></dd> </dl></div> </dd> @@ -7057,9 +7057,9 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} <dd><p>Install a binary package from local disk and via FTP from a list of sites (see the <code class="varname">BINPKG_SITES</code> variable), and do a - <span><strong class="command">make package</strong></span> if no binary package is + <span class="command"><strong>make package</strong></span> if no binary package is available anywhere. The arguments given to - <span><strong class="command">pkg_add</strong></span> can be set via + <span class="command"><strong>pkg_add</strong></span> can be set via <code class="varname">BIN_INSTALL_FLAGS</code> e.g., to do verbose operation, etc.</p></dd> <dt><span class="term">update</span></dt> @@ -7070,28 +7070,28 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} versions of the corresponding packages get compiled and installed. This is similar to manually noting which packages are currently installed, then performing a - series of <span><strong class="command">make deinstall</strong></span> and - <span><strong class="command">make install</strong></span> (or whatever + series of <span class="command"><strong>make deinstall</strong></span> and + <span class="command"><strong>make install</strong></span> (or whatever <code class="varname">UPDATE_TARGET</code> is set to) for these packages.</p> <p>You can use the “<span class="quote">update</span>” target to - resume package updating in case a previous <span><strong class="command">make + resume package updating in case a previous <span class="command"><strong>make update</strong></span> was interrupted for some reason. However, in this case, make sure you don't call - <span><strong class="command">make clean</strong></span> or otherwise remove the + <span class="command"><strong>make clean</strong></span> or otherwise remove the list of dependent packages in <code class="varname">WRKDIR</code>. Otherwise, you lose the ability to automatically update the current package along with the dependent packages you have installed.</p> -<p>Resuming an interrupted <span><strong class="command">make +<p>Resuming an interrupted <span class="command"><strong>make update</strong></span> will only work as long as the package tree remains unchanged. If the source code for one of the packages to be updated has been changed, resuming - <span><strong class="command">make update</strong></span> will most certainly + <span class="command"><strong>make update</strong></span> will most certainly fail!</p> <p>The following variables can be used either on the - command line or in <a href="#mk.conf"><code class="filename">mk.conf</code></a> to - alter the behaviour of <span><strong class="command">make + command line or in <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> to + alter the behaviour of <span class="command"><strong>make update</strong></span>:</p> <div class="variablelist"><dl> <dt><span class="term"><code class="varname">UPDATE_TARGET</code></span></dt> @@ -7099,7 +7099,7 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} updated package and the dependent packages. Defaults to <code class="varname">DEPENDS_TARGET</code> if set, “<span class="quote">install</span>” otherwise for - <span><strong class="command">make update</strong></span>. Other good + <span class="command"><strong>make update</strong></span>. Other good targets are “<span class="quote">package</span>” or “<span class="quote">bin-install</span>”. Do not set this to “<span class="quote">update</span>” or you will get stuck in an @@ -7112,14 +7112,14 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} (see the “<span class="quote">clean-update</span>” target below) or you may run into troubles with old source code still lying around on your next - <span><strong class="command">make</strong></span> or <span><strong class="command">make + <span class="command"><strong>make</strong></span> or <span class="command"><strong>make update</strong></span>.</p></dd> <dt><span class="term"><code class="varname">REINSTALL</code></span></dt> <dd><p>Deinstall each package before installing (making <code class="varname">DEPENDS_TARGET</code>). This may be necessary if the “<span class="quote">clean-update</span>” target (see below) was - called after interrupting a running <span><strong class="command">make + called after interrupting a running <span class="command"><strong>make update</strong></span>.</p></dd> <dt><span class="term"><code class="varname">DEPENDS_TARGET</code></span></dt> <dd><p>Allows you to disable recursion and hardcode @@ -7131,29 +7131,29 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} disable recursive updates. Use <code class="varname">UPDATE_TARGET</code> instead to just set a specific target for each package to be - installed during <span><strong class="command">make update</strong></span> + installed during <span class="command"><strong>make update</strong></span> (see above).</p></dd> </dl></div> </dd> <dt><span class="term">clean-update</span></dt> <dd> <p>Clean the source tree for all packages that would - get updated if <span><strong class="command">make update</strong></span> was called + get updated if <span class="command"><strong>make update</strong></span> was called from the current directory. This target should not be used if the current package (or any of its depending packages) have already been de-installed (e.g., after - calling <span><strong class="command">make update</strong></span>) or you may lose + calling <span class="command"><strong>make update</strong></span>) or you may lose some packages you intended to update. As a rule of thumb: only use this target <span class="emphasis"><em>before</em></span> - the first time you run <span><strong class="command">make update</strong></span> + the first time you run <span class="command"><strong>make update</strong></span> and only if you have a dirty package tree (e.g., if you used <code class="varname">NOCLEAN</code>).</p> <p>If you are unsure about whether your tree is - clean, you can either perform a <span><strong class="command">make + clean, you can either perform a <span class="command"><strong>make clean</strong></span> at the top of the tree, or use the following sequence of commands from the directory of the package you want to update (<span class="emphasis"><em>before</em></span> - running <span><strong class="command">make update</strong></span> for the first + running <span class="command"><strong>make update</strong></span> for the first time, otherwise you lose all the packages you wanted to update!):</p> <pre class="screen"> @@ -7162,16 +7162,16 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} <code class="prompt">#</code> <strong class="userinput"><code>make update</code></strong> </pre> <p>The following variables can be used either on the - command line or in <a href="#mk.conf"><code class="filename">mk.conf</code></a> to alter the behaviour of - <span><strong class="command">make clean-update</strong></span>:</p> + command line or in <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> to alter the behaviour of + <span class="command"><strong>make clean-update</strong></span>:</p> <div class="variablelist"><dl> <dt><span class="term"><code class="varname">CLEAR_DIRLIST</code></span></dt> -<dd><p>After <span><strong class="command">make clean</strong></span>, do not +<dd><p>After <span class="command"><strong>make clean</strong></span>, do not reconstruct the list of directories to update for - this package. Only use this if <span><strong class="command">make + this package. Only use this if <span class="command"><strong>make update</strong></span> successfully installed all packages you wanted to update. Normally, this is - done automatically on <span><strong class="command">make + done automatically on <span class="command"><strong>make update</strong></span>, but may have been suppressed by the <code class="varname">NOCLEAN</code> variable (see above).</p></dd> @@ -7186,14 +7186,14 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} <p><span class="emphasis"><em>Be careful when using this target!</em></span> There are no guarantees that dependent packages will still work, in particular they will most - certainly break if you <span><strong class="command">make replace</strong></span> a + certainly break if you <span class="command"><strong>make replace</strong></span> a library package whose shared library major version changed between your installed version and the new one. For this reason, this target is not officially supported and only recommended for advanced users.</p> </dd> <dt><span class="term">info</span></dt> -<dd><p>This target invokes <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_info+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_info</span>(1)</span></a> for the current +<dd><p>This target invokes <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_info+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_info</span>(1)</span></a> for the current package. You can use this to check which version of a package is installed.</p></dd> <dt><span class="term">index</span></dt> @@ -7203,15 +7203,15 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} database of all packages in the local pkgsrc tree, including dependencies, comment, maintainer, and some other useful information. Individual entries are created by running - <span><strong class="command">make describe</strong></span> in the packages' + <span class="command"><strong>make describe</strong></span> in the packages' directories. This index file is saved as <code class="filename">pkgsrc/INDEX</code>. It can be displayed in - verbose format by running <span><strong class="command">make + verbose format by running <span class="command"><strong>make print-index</strong></span>. You can search in it with - <span><strong class="command">make search + <span class="command"><strong>make search key=<em class="replaceable"><code>something</code></em></strong></span>. You can extract a list of all packages that depend on a particular - one by running <span><strong class="command">make show-deps + one by running <span class="command"><strong>make show-deps PKG=<em class="replaceable"><code>somepackage</code></em></strong></span>.</p> <p>Running this command takes a very long time, some hours even on fast machines!</p> @@ -7246,7 +7246,7 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} Packages Collection, together with the category they belong to and a short description. This file is compiled from the <code class="filename">pkgsrc/*/README.html</code> files, so be sure - to run this <span class="emphasis"><em>after</em></span> a <span><strong class="command">make + to run this <span class="emphasis"><em>after</em></span> a <span class="command"><strong>make readme</strong></span>.</p></dd> <dt><span class="term">cdrom-readme</span></dt> <dd><p>This is very much the same as the @@ -7290,12 +7290,12 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} <dd><p>After a package is installed, check all its binaries and (on ELF platforms) shared libraries to see if they find the shared libs they need. Run by default - if <code class="varname">PKG_DEVELOPER</code> is set in <a href="#mk.conf"><code class="filename">mk.conf</code></a>.</p></dd> + if <code class="varname">PKG_DEVELOPER</code> is set in <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>.</p></dd> <dt><span class="term">print-PLIST</span></dt> <dd> <p>After a “<span class="quote">make install</span>” from a new or upgraded pkg, this prints out an attempt to generate a - new <code class="filename">PLIST</code> from a <span><strong class="command">find + new <code class="filename">PLIST</code> from a <span class="command"><strong>find -newer work/.extract_done</strong></span>. An attempt is made to care for shared libs etc., but it is <span class="emphasis"><em>strongly</em></span> recommended to review the @@ -7303,13 +7303,13 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} <code class="filename">PLIST</code>. On upgrades, it's useful to diff the output of this command against an already existing <code class="filename">PLIST</code> file.</p> -<p>If the package installs files via <a href="http://netbsd.gw.com/cgi-bin/man-cgi?tar+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">tar</span>(1)</span></a> or +<p>If the package installs files via <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?tar+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">tar</span>(1)</span></a> or other methods that don't update file access times, be sure to add these files manually to your <code class="filename">PLIST</code>, as the “<span class="quote">find -newer</span>” command used by this target won't catch them!</p> -<p>See <a href="#print-PLIST" title="13.3. Tweaking output of make print-PLIST">Section 13.3, “Tweaking output of <span><strong class="command">make print-PLIST</strong></span>”</a> for more +<p>See <a class="xref" href="#print-PLIST" title="13.3. Tweaking output of make print-PLIST">Section 13.3, “Tweaking output of <span class="command"><strong>make print-PLIST</strong></span>”</a> for more information on this target.</p> </dd> <dt><span class="term">bulk-package</span></dt> @@ -7318,7 +7318,7 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} package already exists, no action is taken. If not, this target will compile, install and package it (and its depends, if <code class="varname">PKG_DEPENDS</code> is set - properly. See <a href="#binary.configuration" title="7.3.1. Configuration">Section 7.3.1, “Configuration”</a>). + properly. See <a class="xref" href="#binary.configuration" title="7.3.1. Configuration">Section 7.3.1, “Configuration”</a>). After creating the binary package, the sources, the just-installed package and its required packages are removed, preserving free disk space.</p> @@ -7329,12 +7329,12 @@ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} <dd> <p>Used during bulk-installs to install required packages. If an up-to-date binary package is available, - it will be installed via <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a>. If not, - <span><strong class="command">make bulk-package</strong></span> will be executed, + it will be installed via <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a>. If not, + <span class="command"><strong>make bulk-package</strong></span> will be executed, but the installed binary won't be removed.</p> <p>A binary package is considered “<span class="quote">up-to-date</span>” to be installed via - <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a> if:</p> + <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_add+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_add</span>(1)</span></a> if:</p> <div class="itemizedlist"><ul type="disc"> <li><p>None of the package's files (<code class="filename">Makefile</code>, ...) were modified @@ -7378,16 +7378,16 @@ 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> +<span class="command"><strong>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>18.1. Tools for pkgsrc builds</h2></div></div></div> <p>The default set of tools used by pkgsrc is defined in <code 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. +such as: <span class="command"><strong>cat</strong></span>, <span class="command"><strong>awk</strong></span>, +<span class="command"><strong>chmod</strong></span>, <span class="command"><strong>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> +<span class="command"><strong>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> @@ -7452,7 +7452,7 @@ TOOLS_PLATFORM.true?= true # shell builtin <tbody> <tr class="question"> <td align="left" valign="top"> -<a name="tools.new"></a><a name="id2707293"></a><b>18.4.1.</b> +<a name="tools.new"></a><a name="id2727525"></a><p><b>18.4.1.</b></p> </td> <td align="left" valign="top"><p>How do I add a new tool?</p></td> </tr> @@ -7462,7 +7462,7 @@ TOOLS_PLATFORM.true?= true # shell builtin </tr> <tr class="question"> <td align="left" valign="top"> -<a name="tools.listall"></a><a name="id2707303"></a><b>18.4.2.</b> +<a name="tools.listall"></a><a name="id2727534"></a><p><b>18.4.2.</b></p> </td> <td align="left" valign="top"><p>How do I get a list of all available tools?</p></td> @@ -7473,7 +7473,7 @@ TOOLS_PLATFORM.true?= true # shell builtin </tr> <tr class="question"> <td align="left" valign="top"> -<a name="tools.used"></a><a name="id2707314"></a><b>18.4.3.</b> +<a name="tools.used"></a><a name="id2727545"></a><p><b>18.4.3.</b></p> </td> <td align="left" valign="top"><p>How can I get a list of all the tools that a package is using while being built? I want to know whether it @@ -7576,13 +7576,13 @@ TOOLS_PLATFORM.true?= true # shell builtin </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="pulling-vars-from-etc-mk.conf"></a>19.1.2. How to pull in user-settable variables from <a href="#mk.conf"><code class="filename">mk.conf</code></a> +<a name="pulling-vars-from-etc-mk.conf"></a>19.1.2. How to pull in user-settable variables from <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> </h3></div></div></div> <p>The pkgsrc user can configure pkgsrc by overriding several variables in the file pointed to by <code class="varname">MAKECONF</code>, - which is <a href="#mk.conf"><code class="filename">mk.conf</code></a> by default. When you + which is <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> by default. When you want to use those variables in the preprocessor directives of - <a href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> (for example <code class="literal">.if</code> or + <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> (for example <code class="literal">.if</code> or <code class="literal">.for</code>), you need to include the file <code class="filename">../../mk/bsd.prefs.mk</code> before, which in turn loads the user preferences.</p> @@ -7691,9 +7691,9 @@ LICENSE= xv-license ===> ACCEPTABLE_LICENSES+=xv-license *** Error code 1 </pre> -<p>The license can be viewed with <span><strong class="command">make +<p>The license can be viewed with <span class="command"><strong>make show-license</strong></span>, and if the user so chooses, the line - printed above can be added to <a href="#mk.conf"><code class="filename">mk.conf</code></a> to + printed above can be added to <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> to convey to pkgsrc that it should not in the future fail because of that license:</p> <pre class="programlisting"> @@ -7798,7 +7798,7 @@ ACCEPTABLE_LICENSES+=xv-license <code class="varname">USE_TOOLS</code> definition, as well as dependencies via <code class="filename">buildlink3.mk</code>, which is the preferred way to handle dependencies, and which uses the variables named above. - See <a href="#buildlink" title="Chapter 14. Buildlink methodology">Chapter 14, <i>Buildlink methodology</i></a> for more information.</p> + See <a class="xref" href="#buildlink" title="Chapter 14. Buildlink methodology">Chapter 14, <i>Buildlink methodology</i></a> for more information.</p> <p>The basic difference between the two variables is as follows: The <code class="varname">DEPENDS</code> definition registers that pre-requisite in the binary package so it will be pulled in @@ -7815,7 +7815,7 @@ ACCEPTABLE_LICENSES+=xv-license </pre> <p>Please note that the “<span class="quote">pre-req-package-name</span>” may include any of the wildcard version numbers recognized by - <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_info+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_info</span>(1)</span></a>.</p> + <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_info+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_info</span>(1)</span></a>.</p> <div class="orderedlist"><ol type="1"> <li> <p>If your package needs another package's binaries or @@ -7895,7 +7895,7 @@ ABI_DEPENDS+= tiff>=3.6.1:../../graphics/tiff should not be used across different systems that may have different versions of binary packages installed.</p> <p>For security fixes, please update the package - vulnerabilities file. See <a href="#security-handling" title="19.1.10. Handling packages with security problems">Section 19.1.10, “Handling packages with security problems”</a> for more + vulnerabilities file. See <a class="xref" href="#security-handling" title="19.1.10. Handling packages with security problems">Section 19.1.10, “Handling packages with security problems”</a> for more information.</p> </li> <li> @@ -7982,7 +7982,7 @@ CONFLICTS= Xaw3d-[0-9]* be set in the package Makefile. This will be carried into any binary package that is made from this pkgsrc entry. A “<span class="quote">preserved</span>” package will - not be deleted using <a href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_delete+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_delete</span>(1)</span></a> unless the + not be deleted using <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?pkg_delete+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">pkg_delete</span>(1)</span></a> unless the “<span class="quote">-f</span>” option is used.</p> </div> <div class="sect2" lang="en"> @@ -7990,7 +7990,7 @@ CONFLICTS= Xaw3d-[0-9]* <a name="security-handling"></a>19.1.10. Handling packages with security problems</h3></div></div></div> <p>When a vulnerability is found, this should be noted in <code class="filename">localsrc/security/advisories/pkg-vulnerabilities</code>, - and after committing that file, use <span><strong class="command">make upload</strong></span> + and after committing that file, use <span class="command"><strong>make upload</strong></span> in the same directory to update the file on ftp.NetBSD.org.</p> <p>After fixing the vulnerability by a patch, its <code class="varname">PKGREVISION</code> should be increased (this @@ -8095,7 +8095,7 @@ SUBST_SED.fix-paths+= -e 's,"/var/log,"${VARBASE}/log,g' are <code class="literal">post-patch</code> and <code class="literal">pre-configure</code>. Of these two, <code class="literal">pre-configure</code> should be preferred because - then it is possible to run <span><strong class="command">bmake patch</strong></span> and + then it is possible to run <span class="command"><strong>bmake patch</strong></span> and have the state after applying the patches but before making any other changes. This is especially useful when you are debugging a package in order to create new patches for it. Similarly, @@ -8112,7 +8112,7 @@ SUBST_SED.fix-paths+= -e 's,"/var/log,"${VARBASE}/log,g' substitution will take place. The patterns are interpreted relatively to the <code class="varname">WRKSRC</code> directory.</p> <p><code class="varname">SUBST_SED.*</code> is a list of arguments to - <a href="http://netbsd.gw.com/cgi-bin/man-cgi?sed+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">sed</span>(1)</span></a> that specify the actual substitution. Every sed + <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?sed+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">sed</span>(1)</span></a> that specify the actual substitution. Every sed command should be prefixed with <code class="literal">-e</code>, so that all SUBST blocks look uniform.</p> <p>There are some more variables, but they are so seldomly @@ -8127,7 +8127,7 @@ SUBST_SED.fix-paths+= -e 's,"/var/log,"${VARBASE}/log,g' <div class="titlepage"><div><div><h3 class="title"> <a name="no-plain-download"></a>19.2.1. Packages whose distfiles aren't available for plain downloading</h3></div></div></div> <p>If you need to download from a dynamic URL you can set - <code class="varname">DYNAMIC_MASTER_SITES</code> and a <span><strong class="command">make + <code class="varname">DYNAMIC_MASTER_SITES</code> and a <span class="command"><strong>make fetch</strong></span> will call <code class="filename">files/getsite.sh</code> with the name of each file to download as an argument, expecting it to output the URL of the directory from which to download @@ -8163,7 +8163,7 @@ FETCH_MESSAGE+= "manually from "${MASTER_SITES:Q}"." <code class="varname">DISTFILES</code> and <code class="varname">PATCHFILES</code> for this package will be put in that subdirectory of the local distfiles directory. - (See <a href="#bumping-pkgrevision" title="19.1.11. How to handle incrementing versions when fixing an existing package">Section 19.1.11, “How to handle incrementing versions when fixing an existing package”</a> for more details.) + (See <a class="xref" href="#bumping-pkgrevision" title="19.1.11. How to handle incrementing versions when fixing an existing package">Section 19.1.11, “How to handle incrementing versions when fixing an existing package”</a> for more details.) In case this happens more often, <code class="varname">PKGNAME</code> can be used (thus including the <code class="filename">nbX</code> suffix) or a date stamp @@ -8262,7 +8262,7 @@ dynamic linker chooses the library with the greater REVISION number. </li> <li> <p>When linking shared object (<code class="filename">.so</code>) - files, i.e. files that are loaded via <a href="http://netbsd.gw.com/cgi-bin/man-cgi?dlopen+3+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">dlopen</span>(3)</span></a>, NOT + files, i.e. files that are loaded via <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?dlopen+3+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">dlopen</span>(3)</span></a>, NOT shared libraries, use “<span class="quote">-module -avoid-version</span>” to prevent them getting version tacked on.</p> @@ -8272,7 +8272,7 @@ dynamic linker chooses the library with the greater REVISION number. <li> <p>When linking programs that depend on these libraries <span class="emphasis"><em>before</em></span> they are installed, preface - the <a href="http://netbsd.gw.com/cgi-bin/man-cgi?cc+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">cc</span>(1)</span></a> or <a href="http://netbsd.gw.com/cgi-bin/man-cgi?ld+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">ld</span>(1)</span></a> line with “<span class="quote">${LIBTOOL} + the <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?cc+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">cc</span>(1)</span></a> or <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?ld+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">ld</span>(1)</span></a> line with “<span class="quote">${LIBTOOL} --mode=link</span>”, and it will find the correct libraries (static or shared), but please be aware that libtool will not allow you to specify a relative path in @@ -8289,8 +8289,8 @@ ${LIBTOOL} --mode=link ${CC} -o <em class="replaceable"><code>someprog</code></e <p>and it will do the right thing with the libraries.</p> </li> <li> -<p>When installing libraries, preface 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> - or <a href="http://netbsd.gw.com/cgi-bin/man-cgi?cp+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">cp</span>(1)</span></a> command with “<span class="quote">${LIBTOOL} +<p>When installing libraries, preface the <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?install+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">install</span>(1)</span></a> + or <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?cp+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">cp</span>(1)</span></a> command with “<span class="quote">${LIBTOOL} --mode=install</span>”, and change the library name to <code class="filename">.la</code>. e.g.</p> <pre class="programlisting"> @@ -8298,7 +8298,7 @@ ${LIBTOOL} --mode=install ${BSD_INSTALL_DATA} ${SOMELIB:.a=.la} ${PREFIX}/lib </pre> <p>This will install the static <code class="filename">.a</code>, shared library, any needed symlinks, and run - <a href="http://netbsd.gw.com/cgi-bin/man-cgi?ldconfig+8+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">ldconfig</span>(8)</span></a>.</p> + <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?ldconfig+8+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">ldconfig</span>(8)</span></a>.</p> </li> <li><p>In your <code class="filename">PLIST</code>, include only the <code class="filename">.la</code> @@ -8312,7 +8312,7 @@ ${LIBTOOL} --mode=install ${BSD_INSTALL_DATA} ${SOMELIB:.a=.la} ${PREFIX}/lib package Makefile. This will override the package's own libtool in most cases. For older libtool using packages, libtool is made by ltconfig script during the do-configure step; you can - check the libtool script location by doing <span><strong class="command">make + check the libtool script location by doing <span class="command"><strong>make configure; find work*/ -name libtool</strong></span>.</p> <p><code class="varname">LIBTOOL_OVERRIDE</code> specifies which libtool scripts, relative to <code class="varname">WRKSRC</code>, to override. By @@ -8396,7 +8396,7 @@ pre-configure: <p>Compilers for the C, C++, and Fortran languages comes with the NetBSD base system. By default, pkgsrc assumes that a package is written in C and will hide all other compilers (via the wrapper - framework, see <a href="#buildlink" title="Chapter 14. Buildlink methodology">Chapter 14, <i>Buildlink methodology</i></a>).</p> + framework, see <a class="xref" href="#buildlink" title="Chapter 14. Buildlink methodology">Chapter 14, <i>Buildlink methodology</i></a>).</p> <p>To declare which language's compiler a package needs, set the <code class="varname">USE_LANGUAGES</code> variable. Allowed values currently are “<span class="quote">c</span>”, “<span class="quote">c++</span>”, and @@ -8442,7 +8442,7 @@ pre-configure: <p>If a particular version of perl is needed, set the <code class="varname">PERL5_REQD</code> variable to the version number. The default is “<span class="quote">5.0</span>”.</p> -<p>See <a href="#perl-modules" title="19.6.6. Packages installing perl modules">Section 19.6.6, “Packages installing perl modules”</a> for information +<p>See <a class="xref" href="#perl-modules" title="19.6.6. Packages installing perl modules">Section 19.6.6, “Packages installing perl modules”</a> for information about handling perl modules.</p> </div> <div class="sect2" lang="en"> @@ -8605,7 +8605,7 @@ SunPro C++ __SUNPRO_CC (0x580 for Sun C++ 5.8) <p>To fix these linker errors, it is often sufficient to say <code class="literal">LIBS.<em class="replaceable"><code>OperatingSystem</code></em>+= -l<em class="replaceable"><code>foo</code></em></code> to the package - <code class="filename">Makefile</code> and then say <span><strong class="command">bmake clean; + <code class="filename">Makefile</code> and then say <span class="command"><strong>bmake clean; bmake</strong></span>.</p> <div class="sect3" lang="en"> <div class="titlepage"><div><div><h4 class="title"> @@ -8642,7 +8642,7 @@ of functions.</p> to unlimit the resources. Currently, the allowed values are “<span class="quote">datasize</span>” and “<span class="quote">stacksize</span>” (or both). Setting this variable is similar to running the shell builtin - <span><strong class="command">ulimit</strong></span> command to raise the maximum data + <span class="command"><strong>ulimit</strong></span> command to raise the maximum data segment size or maximum stack size of a process, respectively, to their hard limits.</p> </div> @@ -8653,7 +8653,7 @@ of functions.</p> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> <a name="install-scripts"></a>19.6.1. Creating needed directories</h3></div></div></div> -<p>The BSD-compatible <span><strong class="command">install</strong></span> supplied +<p>The BSD-compatible <span class="command"><strong>install</strong></span> supplied with some operating systems cannot create more than one directory at a time. As such, you should call <code class="literal">${INSTALL_*_DIR}</code> like this:</p> @@ -8742,7 +8742,7 @@ ${INSTALL_DATA_DIR} ${PREFIX}/dir2 other interpreters besides (or as well as) perl. To correct the full pathname to the script interpreter, you need to set the following definitions in your <code class="filename">Makefile</code> (we - shall use <span><strong class="command">tclsh</strong></span> in this example):</p> + shall use <span class="command"><strong>tclsh</strong></span> in this example):</p> <pre class="programlisting"> REPLACE_INTERPRETER+= tcl REPLACE.tcl.old= .*/bin/tclsh @@ -8763,7 +8763,7 @@ REPLACE_FILES.tcl= # list of tcl scripts which need to be fixed, <p>Makefiles of packages providing perl5 modules should include the Makefile fragment <code class="filename">../../lang/perl5/module.mk</code>. It provides a - <span><strong class="command">do-configure</strong></span> target for the standard perl + <span class="command"><strong>do-configure</strong></span> target for the standard perl configuration for such modules as well as various hooks to tune this configuration. See comments in this file for details.</p> @@ -8813,25 +8813,25 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist should be noted with the <code class="varname">TEXINFO_REQD</code> variable in the package <code class="filename">Makefile</code>. By default, a minimum version of 3.12 is required. If the system - does not provide a <span><strong class="command">makeinfo</strong></span> command or if it + does not provide a <span class="command"><strong>makeinfo</strong></span> command or if it does not match the required minimum, a build dependency on the <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/devel/gtexinfo/README.html" target="_top"><code class="filename">devel/gtexinfo</code></a> package will be added automatically.</p> <p>The build and installation process of the software provided by the package should not use the - <span><strong class="command">install-info</strong></span> command as the registration of + <span class="command"><strong>install-info</strong></span> command as the registration of info files is the task of the package <code class="filename">INSTALL</code> script, and it must use the - appropriate <span><strong class="command">makeinfo</strong></span> command.</p> + appropriate <span class="command"><strong>makeinfo</strong></span> command.</p> <p>To achieve this goal, the pkgsrc infrastructure creates - overriding scripts for the <span><strong class="command">install-info</strong></span> and - <span><strong class="command">makeinfo</strong></span> commands in a directory listed early + overriding scripts for the <span class="command"><strong>install-info</strong></span> and + <span class="command"><strong>makeinfo</strong></span> commands in a directory listed early in <code class="varname">PATH</code>.</p> -<p>The script overriding <span><strong class="command">install-info</strong></span> has +<p>The script overriding <span class="command"><strong>install-info</strong></span> has no effect except the logging of a message. The script overriding - <span><strong class="command">makeinfo</strong></span> logs a message and according to the + <span class="command"><strong>makeinfo</strong></span> logs a message and according to the value of <code class="varname">TEXINFO_REQD</code> either runs the appropriate - <span><strong class="command">makeinfo</strong></span> command or exit on error.</p> + <span class="command"><strong>makeinfo</strong></span> command or exit on error.</p> </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> @@ -8867,7 +8867,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist Or if the <code class="filename">./configure</code> script uses a non-standard use of --mandir, you can set <code class="varname">GNU_CONFIGURE_MANDIR</code> as needed.</p> -<p>See <a href="#manpage-compression" title="13.5. Man page compression">Section 13.5, “Man page compression”</a> for +<p>See <a class="xref" href="#manpage-compression" title="13.5. Man page compression">Section 13.5, “Man page compression”</a> for information on installation of compressed manual pages.</p> </div> <div class="sect2" lang="en"> @@ -8892,7 +8892,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist need to manually patch the package.</p></li> <li><p>Check the PLIST and remove any entries under the etc/gconf directory, as they will be handled automatically. See - <a href="#faq.conf" title="9.13. How do I change the location of configuration files?">Section 9.13, “How do I change the location of configuration files?”</a> for more information.</p></li> + <a class="xref" href="#faq.conf" title="9.13. How do I change the location of configuration files?">Section 9.13, “How do I change the location of configuration files?”</a> for more information.</p></li> <li><p>Define the <code class="varname">GCONF_SCHEMAS</code> variable in your <code class="filename">Makefile</code> with a list of all <code class="filename">.schemas</code> files installed by the package, if @@ -9044,7 +9044,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist <p>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 <code class="varname">PKG_RCD_SCRIPTS=YES</code> in - <a href="#mk.conf"><code class="filename">mk.conf</code></a>. This option will copy the scripts + <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>. This option will copy the scripts into <code class="filename">/etc/rc.d</code> when a package is installed, and it will automatically remove the scripts when the package is deinstalled.</p> @@ -9075,9 +9075,9 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist set <code class="varname">TEXMFDIRS</code> to the list of all texmf trees that need database update.</p> <p>If your package also installs font map files that need - to be registered using <span><strong class="command">updmap</strong></span>, + to be registered using <span class="command"><strong>updmap</strong></span>, set <code class="varname">TEX_FONTMAPS</code> to the list of all - such font map files. Then <span><strong class="command">updmap</strong></span> will + such font map files. Then <span class="command"><strong>updmap</strong></span> will be run automatically at installation/deinstallation to enable/disable font map files for TeX output drivers.</p> @@ -9098,7 +9098,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist <p>The <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/rpm2pkg/README.html" target="_top"><code class="filename">pkgtools/rpm2pkg</code></a> helps in extracting and packaging Linux rpm packages.</p> <p>The <code class="varname">CHECK_SHLIBS</code> can be set to no to - avoid the <span><strong class="command">check-shlibs</strong></span> target, which tests + avoid the <span class="command"><strong>check-shlibs</strong></span> target, which tests if all libraries for each installed executable can be found by the dynamic linker. Since the standard dynamic linker is run, this fails for emulation packages, because the libraries used @@ -9124,7 +9124,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist </ol></div> <p>The best way to verify that the PLIST is correct with respect to the last two points is to regenerate it using - <span><strong class="command">make print-PLIST</strong></span>.</p> + <span class="command"><strong>make print-PLIST</strong></span>.</p> </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> @@ -9141,7 +9141,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist It will be handled automatically.</p></li> </ol></div> <p>The best way to verify that the PLIST is correct with - respect to the last point is to regenerate it using <span><strong class="command">make + respect to the last point is to regenerate it using <span class="command"><strong>make print-PLIST</strong></span>.</p> </div> </div> @@ -9180,18 +9180,18 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist this is basically the same as what was explained in the previous sections, only with some debugging aids.</p> <div class="itemizedlist"><ul type="disc"> -<li><p>Be sure to set <code class="varname">PKG_DEVELOPER=yes</code> in <a href="#mk.conf"><code class="filename">mk.conf</code></a>.</p></li> +<li><p>Be sure to set <code class="varname">PKG_DEVELOPER=yes</code> in <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>.</p></li> <li> <p>Install <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/url2pkg/README.html" target="_top"><code class="filename">pkgtools/url2pkg</code></a>, create a directory for a new package, change into it, then run - <span><strong class="command">url2pkg</strong></span>:</p> + <span class="command"><strong>url2pkg</strong></span>:</p> <pre class="screen"><code class="prompt">%</code> <strong class="userinput"><code>mkdir /usr/pkgsrc/<em class="replaceable"><code>category</code></em>/<em class="replaceable"><code>examplepkg</code></em></code></strong> <code class="prompt">%</code> <strong class="userinput"><code>cd /usr/pkgsrc/<em class="replaceable"><code>category</code></em>/<em class="replaceable"><code>examplepkg</code></em></code></strong> <code class="prompt">%</code> <strong class="userinput"><code>url2pkg http://www.example.com/path/to/distfile.tar.gz</code></strong></pre> </li> <li><p>Edit the <code class="filename">Makefile</code> as requested.</p></li> <li><p>Fill in the <code class="filename">DESCR</code> file</p></li> -<li><p>Run <span><strong class="command">make configure</strong></span></p></li> +<li><p>Run <span class="command"><strong>make configure</strong></span></p></li> <li><p>Add any dependencies glimpsed from documentation and the configure step to the package's <code class="filename">Makefile</code>.</p></li> @@ -9206,13 +9206,13 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist <code class="prompt">%</code> <strong class="userinput"><code>make clean</code></strong></pre> <p>Doing this step as non-root user will ensure that no files are modified that shouldn't be, especially during the build - phase. <span><strong class="command">mkpatches</strong></span>, - <span><strong class="command">patchdiff</strong></span> and <span><strong class="command">pkgvi</strong></span> are + phase. <span class="command"><strong>mkpatches</strong></span>, + <span class="command"><strong>patchdiff</strong></span> and <span class="command"><strong>pkgvi</strong></span> are from the <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkgdiff/README.html" target="_top"><code class="filename">pkgtools/pkgdiff</code></a> package.</p> </li> <li><p>Look at the <code class="filename">Makefile</code>, fix if - necessary; see <a href="#components.Makefile" title="11.1. Makefile">Section 11.1, “<code class="filename">Makefile</code>”</a>.</p></li> + necessary; see <a class="xref" href="#components.Makefile" title="11.1. Makefile">Section 11.1, “<code class="filename">Makefile</code>”</a>.</p></li> <li> <p>Generate a <code class="filename">PLIST</code>:</p> <pre class="screen"><code class="prompt">#</code> <strong class="userinput"><code>make install</code></strong> @@ -9237,7 +9237,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist <pre class="screen"><code class="prompt">#</code> <strong class="userinput"><code>pkg_delete <em class="replaceable"><code>examplepkg</code></em></code></strong></pre> </li> <li> -<p>Repeat the above <span><strong class="command">make print-PLIST</strong></span> +<p>Repeat the above <span class="command"><strong>make print-PLIST</strong></span> command, which shouldn't find anything now:</p> <pre class="screen"><code class="prompt">#</code> <strong class="userinput"><code>make print-PLIST</code></strong></pre> </li> @@ -9247,11 +9247,11 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist </li> <li><p>Play with it. Make sure everything works.</p></li> <li> -<p>Run <span><strong class="command">pkglint</strong></span> from <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkglint/README.html" target="_top"><code class="filename">pkgtools/pkglint</code></a>, and fix the problems it +<p>Run <span class="command"><strong>pkglint</strong></span> from <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkglint/README.html" target="_top"><code class="filename">pkgtools/pkglint</code></a>, and fix the problems it reports:</p> <pre class="screen"><code class="prompt">#</code> <strong class="userinput"><code>pkglint</code></strong></pre> </li> -<li><p>Submit (or commit, if you have cvs access); see <a href="#submit" title="Chapter 21. Submitting and Committing">Chapter 21, <i>Submitting and Committing</i></a>.</p></li> +<li><p>Submit (or commit, if you have cvs access); see <a class="xref" href="#submit" title="Chapter 21. Submitting and Committing">Chapter 21, <i>Submitting and Committing</i></a>.</p></li> </ul></div> </div> <div class="chapter" lang="en"> @@ -9277,19 +9277,19 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist protect our users! You're still free to put up your home-made binary packages and tell the world where to get them. NetBSD developers doing bulk builds and wanting to upload them please - see <a href="#bulk-upload" title="7.3.8. Uploading results of a bulk build">Section 7.3.8, “Uploading results of a bulk build”</a>.</p> + see <a class="xref" href="#bulk-upload" title="7.3.8. Uploading results of a bulk build">Section 7.3.8, “Uploading results of a bulk build”</a>.</p> </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="submitting-your-package"></a>21.2. Submitting source packages (for non-NetBSD-developers)</h2></div></div></div> <p>First, check that your package is complete, compiles and - runs well; see <a href="#debug" title="Chapter 20. Debugging">Chapter 20, <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"><span class="citerefentry"><span class="refentrytitle">tar</span>(1)</span></a> + runs well; see <a class="xref" href="#debug" title="Chapter 20. Debugging">Chapter 20, <i>Debugging</i></a> and the rest of this + document. Next, generate an uuencoded gzipped <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?tar+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">tar</span>(1)</span></a> archive that contains all files that make up the package. Finally, send this package to the pkgsrc bug tracking system, - either with the <a href="http://netbsd.gw.com/cgi-bin/man-cgi?send-pr+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">send-pr</span>(1)</span></a> command, or if you don't have + either with the <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?send-pr+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">send-pr</span>(1)</span></a> command, or if you don't have that, go to the web page - <a href="http://www.NetBSD.org/support/send-pr.html" target="_top">http://www.NetBSD.org/support/send-pr.html</a>, + <a class="ulink" href="http://www.NetBSD.org/support/send-pr.html" target="_top">http://www.NetBSD.org/support/send-pr.html</a>, which contains some instructions and a link to a form, where you can submit packages.</p> <p>In the form of the problem report, the category should be @@ -9303,7 +9303,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist that way.</p> <p>Alternatively, you can also import new packages into pkgsrc-wip (“<span class="quote">pkgsrc work-in-progress</span>”); see the - homepage at <a href="http://pkgsrc-wip.sourceforge.net/" target="_top">http://pkgsrc-wip.sourceforge.net/</a> + homepage at <a class="ulink" href="http://pkgsrc-wip.sourceforge.net/" target="_top">http://pkgsrc-wip.sourceforge.net/</a> for details.</p> </div> <div class="sect1" lang="en"> @@ -9313,7 +9313,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist removals in <code class="filename">pkgsrc/doc/CHANGES-<em class="replaceable"><code>YYYY</code></em></code>. It's very important to keep this file up to date and conforming to the existing format, because it will be used by scripts to - automatically update pages on <a href="http://www.NetBSD.org/" target="_top">www.NetBSD.org</a> and other + automatically update pages on <a class="ulink" href="http://www.NetBSD.org/" target="_top">www.NetBSD.org</a> and other sites. Additionally, check the <code class="filename">pkgsrc/doc/TODO</code> file and remove the entry for the package you updated or removed, in case it was mentioned @@ -9325,17 +9325,17 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist dependency being updated should not be mentioned. In all other cases it's the developer's decision.</p> <p>There is a make target that helps in creating proper - <code class="filename">CHANGES-<em class="replaceable"><code>YYYY</code></em></code> entries: <span><strong class="command">make + <code class="filename">CHANGES-<em class="replaceable"><code>YYYY</code></em></code> entries: <span class="command"><strong>make changes-entry</strong></span>. It uses the optional <code class="varname">CTYPE</code> and <code class="varname">NETBSD_LOGIN_NAME</code> variables. The general usage is to first make sure that your <code class="filename">CHANGES-<em class="replaceable"><code>YYYY</code></em></code> file is up-to-date (to avoid having to resolve conflicts later-on) - and then to <span><strong class="command">cd</strong></span> to the package directory. For - package updates, <span><strong class="command">make changes-entry</strong></span> is enough. + and then to <span class="command"><strong>cd</strong></span> to the package directory. For + package updates, <span class="command"><strong>make changes-entry</strong></span> is enough. For new packages, or package moves or removals, set the <code class="varname">CTYPE</code> variable on the command line to "Added", "Moved", or "Removed". You can set <code class="varname">NETBSD_LOGIN_NAME</code> - in <a href="#mk.conf"><code class="filename">mk.conf</code></a> if your local login name is + in <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a> if your local login name is not the same as your NetBSD login name. Don't forget to commit the changes to <code class="filename">pkgsrc/doc/CHANGES-<em class="replaceable"><code>YYYY</code></em></code>!</p> </div> @@ -9346,7 +9346,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist access to the pkgsrc repository. Please remember that cvs imports files relative to the current working directory, and that the pathname that you - give the <span><strong class="command">cvs import</strong></span> command is so that it knows where + give the <span class="command"><strong>cvs import</strong></span> command is so that it knows where to place the files in the repository. Newly created packages should be imported with a vendor tag of “<span class="quote">TNF</span>” and a release tag of “<span class="quote">pkgsrc-base</span>”, e.g:</p> @@ -9403,7 +9403,7 @@ PERL5_PACKLIST= ${PERL5_SITEARCH}/auto/Pg/.packlist <li><p>Fix <code class="varname">CATEGORIES</code> and any <code class="varname">DEPENDS</code> paths that just did “<span class="quote">../package</span>” instead of “<span class="quote">../../category/package</span>”.</p></li> -<li><p><span><strong class="command">cvs import</strong></span> the modified package in the new +<li><p><span class="command"><strong>cvs import</strong></span> the modified package in the new place.</p></li> <li> <p>Check if any package depends on it: @@ -9412,7 +9412,7 @@ place.</p></li> <code class="prompt">%</code> <strong class="userinput"><code>grep /package */*/Makefile* */*/buildlink*</code></strong></pre> </li> <li><p>Fix paths in packages from step 5 to point to new location.</p></li> -<li><p><span><strong class="command">cvs rm (-f)</strong></span> the package at the old location.</p></li> +<li><p><span class="command"><strong>cvs rm (-f)</strong></span> the package at the old location.</p></li> <li><p>Remove from <code class="filename">oldcategory/Makefile</code>.</p></li> <li><p>Add to <code class="filename">newcategory/Makefile</code>.</p></li> <li> @@ -9474,7 +9474,7 @@ do?</a> <tbody> <tr class="question"> <td align="left" valign="top"> -<a name="devfaq.makeflags"></a><a name="id2713325"></a><b>22.1.</b> +<a name="devfaq.makeflags"></a><a name="id2733352"></a><p><b>22.1.</b></p> </td> <td align="left" valign="top"><p>What is the difference between <code class="varname">MAKEFLAGS</code>, <code class="varname">.MAKEFLAGS</code> and @@ -9483,14 +9483,14 @@ do?</a> <tr class="answer"> <td align="left" valign="top"></td> <td align="left" valign="top"><p><code class="varname">MAKEFLAGS</code> are the flags passed - to the pkgsrc-internal invocations of <a href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a>, while + to the pkgsrc-internal invocations of <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a>, while <code class="varname">MAKE_FLAGS</code> are the flags that are passed to the <code class="varname">MAKE_PROGRAM</code> when building the package. [FIXME: What is .MAKEFLAGS for?]</p></td> </tr> <tr class="question"> <td align="left" valign="top"> -<a name="devfaq.make"></a><a name="id2713364"></a><b>22.2.</b> +<a name="devfaq.make"></a><a name="id2733390"></a><p><b>22.2.</b></p> </td> <td align="left" valign="top"><p>What is the difference between <code class="varname">MAKE</code>, <code class="varname">GMAKE</code> and @@ -9499,7 +9499,7 @@ do?</a> <tr class="answer"> <td align="left" valign="top"></td> <td align="left" valign="top"><p><code class="varname">MAKE</code> is the path to the - <a href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> program that is used in the pkgsrc + <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> program that is used in the pkgsrc infrastructure. <code class="varname">GMAKE</code> is the path to GNU Make, but you need to say <code class="varname">USE_TOOLS+=gmake</code> to use that. <code class="varname">MAKE_PROGRAM</code> is the path to the @@ -9508,7 +9508,7 @@ do?</a> </tr> <tr class="question"> <td align="left" valign="top"> -<a name="devfaq.cc"></a><a name="id2713404"></a><b>22.3.</b> +<a name="devfaq.cc"></a><a name="id2733431"></a><p><b>22.3.</b></p> </td> <td align="left" valign="top"><p>What is the difference between <code class="varname">CC</code>, <code class="varname">PKG_CC</code> and @@ -9526,7 +9526,7 @@ do?</a> </tr> <tr class="question"> <td align="left" valign="top"> -<a name="devfaq.bl3flags"></a><a name="id2713444"></a><b>22.4.</b> +<a name="devfaq.bl3flags"></a><a name="id2733470"></a><p><b>22.4.</b></p> </td> <td align="left" valign="top"><p>What is the difference between <code class="varname">BUILDLINK_LDFLAGS</code>, @@ -9539,9 +9539,9 @@ do?</a> </tr> <tr class="question"> <td align="left" valign="top"> -<a name="devfaq.bl3prefix"></a><a name="id2713464"></a><b>22.5.</b> +<a name="devfaq.bl3prefix"></a><a name="id2733491"></a><p><b>22.5.</b></p> </td> -<td align="left" valign="top"><p>Why does <span><strong class="command">make show-var +<td align="left" valign="top"><p>Why does <span class="command"><strong>make show-var VARNAME=BUILDLINK_PREFIX.<em class="replaceable"><code>foo</code></em></strong></span> say it's empty?</p></td> </tr> @@ -9550,12 +9550,12 @@ do?</a> <td align="left" valign="top"><p>For optimization reasons, some variables are only available in the “<span class="quote">wrapper</span>” phase and later. To “<span class="quote">simulate</span>” the wrapper phase, append - <span><strong class="command">PKG_PHASE=wrapper</strong></span> to the above + <span class="command"><strong>PKG_PHASE=wrapper</strong></span> to the above command.</p></td> </tr> <tr class="question"> <td align="left" valign="top"> -<a name="devfaq.master_sites"></a><a name="id2713494"></a><b>22.6.</b> +<a name="devfaq.master_sites"></a><a name="id2733521"></a><p><b>22.6.</b></p> </td> <td align="left" valign="top"><p>What does <code class="literal">${MASTER_SITE_SOURCEFORGE:=package/}</code> mean? I @@ -9568,7 +9568,7 @@ do?</a> assignment operator, like you might expect at first sight. Instead, it is a degenerate form of <code class="literal">${LIST:<em class="replaceable"><code>old_string</code></em>=<em class="replaceable"><code>new_string</code></em>}</code>, - which is documented in the <a href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> man page and which you + which is documented in the <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?make+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">make</span>(1)</span></a> man page and which you may have seen as in <code class="literal">${SRCS:.c=.o}</code>. In the case of <code class="varname">MASTER_SITE_*</code>, <em class="replaceable"><code>old_string</code></em> is the empty string and @@ -9579,7 +9579,7 @@ do?</a> </tr> <tr class="question"> <td align="left" valign="top"> -<a name="devfaq.mailinglists"></a><a name="id2713571"></a><b>22.7.</b> +<a name="devfaq.mailinglists"></a><a name="id2733597"></a><p><b>22.7.</b></p> </td> <td align="left" valign="top"><p>Which mailing lists are there for package developers?</p></td> @@ -9587,7 +9587,7 @@ do?</a> <tr class="answer"> <td align="left" valign="top"></td> <td align="left" valign="top"><div class="variablelist"><dl> -<dt><span class="term"><a href="http://www.NetBSD.org/mailinglists/index.html#tech-pkg" target="_top">tech-pkg</a></span></dt> +<dt><span class="term"><a class="ulink" href="http://www.NetBSD.org/mailinglists/index.html#tech-pkg" target="_top">tech-pkg</a></span></dt> <dd><p>This is a list for technical discussions related to pkgsrc development, e.g. soliciting feedback for changes to pkgsrc infrastructure, proposed new features, questions related @@ -9595,16 +9595,16 @@ do?</a> package, patches that affect many packages, help requests moved from pkgsrc-users when an infrastructure bug is found, etc.</p></dd> -<dt><span class="term"><a href="http://www.NetBSD.org/mailinglists/index.html#pkgsrc-bugs" target="_top">pkgsrc-bugs</a></span></dt> +<dt><span class="term"><a class="ulink" href="http://www.NetBSD.org/mailinglists/index.html#pkgsrc-bugs" target="_top">pkgsrc-bugs</a></span></dt> <dd><p>All bug reports in category "pkg" sent with - <a href="http://netbsd.gw.com/cgi-bin/man-cgi?send-pr+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">send-pr</span>(1)</span></a> appear here. Please do not report your bugs here + <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?send-pr+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">send-pr</span>(1)</span></a> appear here. Please do not report your bugs here directly; use one of the other mailing lists.</p></dd> </dl></div></td> </tr> <tr class="question"> <td align="left" valign="top"> -<a name="devfaq.documentation"></a><a name="id2713609"></a><b>22.8.</b> +<a name="devfaq.documentation"></a><a name="id2733636"></a><p><b>22.8.</b></p> </td> <td align="left" valign="top"><p>Where is the pkgsrc documentation?</p></td> @@ -9619,7 +9619,7 @@ do?</a> of chapters that explain large parts of pkgsrc, but some chapters tend to be outdated. Which ones they are is hard to say.</p></li> -<li><p>On the mailing list archives (see <a href="http://mail-index.NetBSD.org/" target="_top">http://mail-index.NetBSD.org/</a>), you can find discussions +<li><p>On the mailing list archives (see <a class="ulink" href="http://mail-index.NetBSD.org/" target="_top">http://mail-index.NetBSD.org/</a>), you can find discussions about certain features, announcements of new parts of the pkgsrc infrastructure and sometimes even announcements that a certain feature has been marked as obsolete. The benefit here is that @@ -9628,7 +9628,7 @@ do?</a> <code class="filename">mk/</code> directory start with a comment that describes the purpose of the file and how it can be used by the pkgsrc user and package authors. An easy way to find this - documentation is to run <span><strong class="command">bmake + documentation is to run <span class="command"><strong>bmake help</strong></span>.</p></li> <li><p>The CVS log messages are a rich source of information, but they tend to be highly abbreviated, especially @@ -9641,7 +9641,7 @@ do?</a> <li><p>Some parts of pkgsrc are only “<span class="quote">implicitly documented</span>”, that is the documentation exists only in the mind of the developer who wrote the code. To get this - information, use the <span><strong class="command">cvs annotate</strong></span> command + information, use the <span class="command"><strong>cvs annotate</strong></span> command to see who has written it and ask on the <code class="literal">tech-pkg</code> mailing list, so that others can find your questions later (see above). To be sure that the @@ -9652,7 +9652,7 @@ do?</a> </tr> <tr class="question"> <td align="left" valign="top"> -<a name="devfaq.too-much-time"></a><a name="id2713671"></a><b>22.9.</b> +<a name="devfaq.too-much-time"></a><a name="id2733698"></a><p><b>22.9.</b></p> </td> <td align="left" valign="top"><p>I have a little time to kill. What shall I do?</p></td> @@ -9663,16 +9663,16 @@ do?</p></td> <p>This is not really an FAQ yet, but here's the answer anyway.</p> <div class="itemizedlist"><ul type="disc"> -<li><p>Run <span><strong class="command">pkg_chk -N</strong></span> (from the +<li><p>Run <span class="command"><strong>pkg_chk -N</strong></span> (from the <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkg_chk/README.html" target="_top"><code class="filename">pkgtools/pkg_chk</code></a> package). It will tell you about newer versions of installed packages that are available, but not yet updated in pkgsrc.</p></li> <li><p>Browse <code class="filename">pkgsrc/doc/TODO</code> - — it contains a list of suggested new packages and a list of + — it contains a list of suggested new packages and a list of cleanups and enhancements for pkgsrc that would be nice to have.</p></li> <li><p>Review packages for which review was requested on - the <a href="http://pkgsrc-wip.sourceforge.net/" target="_top">pkgsrc-wip</a> review + the <a class="ulink" href="http://pkgsrc-wip.sourceforge.net/" target="_top">pkgsrc-wip</a> review mailing list.</p></li> </ul></div> </td> @@ -9693,7 +9693,7 @@ anyway.</p> <dt><span class="sect1"><a href="#patching">23.4. Patching guidelines</a></span></dt> </dl> </div> -<p>Quoting <a href="http://www.gnome.org/" target="_top">GNOME's web +<p>Quoting <a class="ulink" href="http://www.gnome.org/" target="_top">GNOME's web site</a>:</p> <div class="blockquote"><blockquote class="blockquote"><p>The GNOME project provides two things: The GNOME desktop environment, an intuitive and attractive desktop for users, and the @@ -9707,9 +9707,9 @@ included technologies buildlink3, the wrappers and tools framework and automatic configuration file management. Lots of efforts are put into achieving a completely clean deinstallation of installed software components.</p> -<p>Given that pkgsrc is <a href="http://www.NetBSD.org/" target="_top">NetBSD</a>'s official packaging system, +<p>Given that pkgsrc is <a class="ulink" href="http://www.NetBSD.org/" target="_top">NetBSD</a>'s official packaging system, the above also means that great efforts are put into making GNOME work -under this operating system. Recently, <a href="http://www.dragonflybsd.org/" target="_top">DragonFly BSD</a> also adopted +under this operating system. Recently, <a class="ulink" href="http://www.dragonflybsd.org/" target="_top">DragonFly BSD</a> also adopted pkgsrc as its preferred packaging system, contributing lots of portability fixes to make GNOME build and install under it.</p> <p>This chapter is aimed at pkgsrc developers and other people @@ -9720,7 +9720,7 @@ important information regarding their internals.</p> <h3 class="title">We need your help!</h3> <p>Should you have some spare cycles to devote to NetBSD, pkgsrc and GNOME and are willing to learn new exciting stuff, please jump - straight to the <a href="http://www.NetBSD.org/contrib/projects.html#gnome" target="_top">pending + straight to the <a class="ulink" href="http://www.NetBSD.org/contrib/projects.html#gnome" target="_top">pending work</a> list! There is still a long way to go to get a fully-functional GNOME desktop under NetBSD and we need your help to achieve it!</p> @@ -9751,7 +9751,7 @@ important information regarding their internals.</p> <li><p><a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/meta-pkgs/gnome-devel/README.html" target="_top"><code class="filename">meta-pkgs/gnome-devel</code></a>: Installs all the tools required to build a GNOME component when fetched from the CVS repository. These are required to let the - <span><strong class="command">autogen.sh</strong></span> scripts work appropriately.</p></li> + <span class="command"><strong>autogen.sh</strong></span> scripts work appropriately.</p></li> </ul></div> <p>In all these packages, the <code class="varname">DEPENDS</code> lines are sorted in a way that eases updates: a package may depend on other @@ -9802,7 +9802,7 @@ USE_TOOLS+=gmake (<code class="filename">share/gtk-doc/<package-name></code>) is correct and should not be changed unless the package insists on installing them somewhere else. Otherwise programs as - <span><strong class="command">devhelp</strong></span> will not be able to open them. You can + <span class="command"><strong>devhelp</strong></span> will not be able to open them. You can do that with an entry similar to:</p> <pre class="programlisting">CONFIGURE_ARGS+=--with-html-dir=${PREFIX}/share/gtk-doc/...</pre> </li> @@ -9820,7 +9820,7 @@ omitting shared files from them. If you find yourself doing those, using shared directories or files. For each of them, the appropriate solution is given. After applying the solution be sure to <span class="emphasis"><em>regenerate the package's file list</em></span> with -<span><strong class="command">make print-PLIST</strong></span> and ensure it is correct.</p> +<span class="command"><strong>make print-PLIST</strong></span> and ensure it is correct.</p> <div class="table"> <a name="plist-handling"></a><p class="title"><b>Table 23.1. PLIST handling for GNOME packages</b></p> <div class="table-contents"><table summary="PLIST handling for GNOME packages" border="1"> @@ -9835,24 +9835,24 @@ solution is given. After applying the solution be sure to <tbody> <tr> <td>Installs OMF files under <code class="filename">share/omf</code>.</td> -<td>See <a href="#scrollkeeper-data-files" title="19.6.10. Packages installing scrollkeeper data files">Section 19.6.10, “Packages installing scrollkeeper data files”</a>.</td> +<td>See <a class="xref" href="#scrollkeeper-data-files" title="19.6.10. Packages installing scrollkeeper data files">Section 19.6.10, “Packages installing scrollkeeper data files”</a>.</td> </tr> <tr> <td>Installs icons under the <code class="filename">share/icons/hicolor</code> hierarchy or updates <code class="filename">share/icons/hicolor/icon-theme.cache</code>.</td> -<td>See <a href="#hicolor-theme" title="19.6.19. Packages installing hicolor theme icons">Section 19.6.19, “Packages installing hicolor theme icons”</a>.</td> +<td>See <a class="xref" href="#hicolor-theme" title="19.6.19. Packages installing hicolor theme icons">Section 19.6.19, “Packages installing hicolor theme icons”</a>.</td> </tr> <tr> <td>Installs files under <code class="filename">share/mime/packages</code>.</td> -<td>See <a href="#mime-database" title="19.6.14. Packages installing extensions to the MIME database">Section 19.6.14, “Packages installing extensions to the MIME database”</a>.</td> +<td>See <a class="xref" href="#mime-database" title="19.6.14. Packages installing extensions to the MIME database">Section 19.6.14, “Packages installing extensions to the MIME database”</a>.</td> </tr> <tr> <td>Installs <code class="filename">.desktop</code> files under <code class="filename">share/applications</code> and these include MIME information.</td> -<td>See <a href="#desktop-files" title="19.6.20. Packages installing desktop files">Section 19.6.20, “Packages installing desktop files”</a>.</td> +<td>See <a class="xref" href="#desktop-files" title="19.6.20. Packages installing desktop files">Section 19.6.20, “Packages installing desktop files”</a>.</td> </tr> </tbody> </table></div> @@ -9954,12 +9954,12 @@ followed:</p> <p>GNOME is a very big component in pkgsrc which approaches 100 packages. Please, it is very important that you always, always, <span class="strong"><strong>always</strong></span> feed back any portability -fixes you do to a GNOME package to the mainstream developers (see <a href="#components.patches.feedback" title="11.3.5. Feedback to the author">Section 11.3.5, “Feedback to the author”</a>). This is the only way to get +fixes you do to a GNOME package to the mainstream developers (see <a class="xref" href="#components.patches.feedback" title="11.3.5. Feedback to the author">Section 11.3.5, “Feedback to the author”</a>). This is the only way to get their attention on portability issues and to ensure that future versions can be built out-of-the box on NetBSD. The less custom patches in pkgsrc, the easier further updates are. Those developers in charge of issuing major GNOME updates will be grateful if you do that.</p> -<p>The most common places to report bugs are the <a href="http://bugzilla.gnome.org/" target="_top">GNOME's Bugzilla</a> and the <a href="http://bugzilla.freedesktop.org/" target="_top">freedesktop.org's +<p>The most common places to report bugs are the <a class="ulink" href="http://bugzilla.gnome.org/" target="_top">GNOME's Bugzilla</a> and the <a class="ulink" href="http://bugzilla.freedesktop.org/" target="_top">freedesktop.org's Bugzilla</a>. Not all components use these to track bugs, but most of them do. Do not be short on your reports: always provide detailed explanations of the current failure, how it can be improved to achieve @@ -9971,7 +9971,7 @@ issues. While the FreeBSD GNOME people are doing a great job in porting GNOME to their operating system, the official GNOME sources are now plagued by conditionals that check for <code class="varname">__FreeBSD__</code> and similar macros. This hurts portability. Please see our patching -guidelines (<a href="#components.patches.guidelines" title="11.3.4. Patching guidelines">Section 11.3.4, “Patching guidelines”</a>) for more +guidelines (<a class="xref" href="#components.patches.guidelines" title="11.3.4. Patching guidelines">Section 11.3.4, “Patching guidelines”</a>) for more details.</p> </div> </div> @@ -10186,8 +10186,8 @@ CFLAGS+= -Wall <a name="infr.design.intf.proc"></a>24.5.1. Procedures with parameters</h3></div></div></div> <p>In a traditional imperative programming language some of the <code class="filename">.mk</code> files could be described as - procedures. They take some input parameters and—after - inclusion—provide a result in output parameters. Since all + procedures. They take some input parameters and—after + inclusion—provide a result in output parameters. Since all variables in <code class="filename">Makefile</code>s have global scope care must be taken not to use parameter names that have already another meaning. For example, <code class="varname">PKGNAME</code> is a @@ -10251,7 +10251,7 @@ CFLAGS+= -Wall <code class="varname">OPSYS</code>, <code class="varname">OS_VERSION</code> and <code class="varname">MACHINE_ARCH</code>.</p> <p>Then, the user settings are loaded from the file specified - in <code class="varname">MAKECONF</code>, which is usually <a href="#mk.conf"><code class="filename">mk.conf</code></a>. + in <code class="varname">MAKECONF</code>, which is usually <a class="link" href="#mk.conf"><code class="filename">mk.conf</code></a>. After that, those variables that have not been overridden by the user are loaded from <code class="filename">mk/defaults/mk.conf</code>.</p> @@ -10332,7 +10332,7 @@ CFLAGS+= -Wall <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="regression.run"></a>25.2. Running the regression tests</h2></div></div></div> <p>You first need to install the <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkg_regress/README.html" target="_top"><code class="filename">pkgtools/pkg_regress</code></a> package, which - provides the <span><strong class="command">pkg_regress</strong></span> command. Then you + provides the <span class="command"><strong>pkg_regress</strong></span> command. Then you can simply run that command, which will run all tests in the <code class="filename">regress</code> category.</p> </div> @@ -10342,7 +10342,7 @@ CFLAGS+= -Wall <p>Every directory in the <code class="filename">regress</code> category that contains a file called <code class="filename">spec</code> is considered a regression test. This file is a shell program - that is included by the <span><strong class="command">pkg_regress</strong></span> command. + that is included by the <span class="command"><strong>pkg_regress</strong></span> command. The following functions can be overridden to suit your needs.</p> <div class="sect2" lang="en"> @@ -10378,16 +10378,16 @@ CFLAGS+= -Wall <div class="variablelist"><dl> <dt><span class="term"><code class="varname">exit_status(expected)</code></span></dt> <dd><p>This function compares the exitcode of the - <span><strong class="command">do_test()</strong></span> function with its first parameter. + <span class="command"><strong>do_test()</strong></span> function with its first parameter. If they differ, the test will fail.</p></dd> <dt><span class="term"><code class="varname">output_require(regex...)</code></span></dt> <dd><p>This function checks for each of its parameters - if the output from <span><strong class="command">do_test()</strong></span> matches the + if the output from <span class="command"><strong>do_test()</strong></span> matches the extended regular expression. If it does not, the test will fail.</p></dd> <dt><span class="term"><code class="varname">output_prohibit(regex...)</code></span></dt> <dd><p>This function checks for each of its parameters - if the output from <span><strong class="command">do_test()</strong></span> does + if the output from <span class="command"><strong>do_test()</strong></span> does <span class="emphasis"><em>not</em></span> match the extended regular expression. If any of the regular expressions matches, the test will fail.</p></dd> @@ -10446,7 +10446,7 @@ CFLAGS+= -Wall <dt><span class="term"><code class="filename">mk/tools/bootstrap.mk</code></span></dt> <dd><p>On some operating systems, the tools that are provided with the base system are not good enough for pkgsrc. - For example, there are many versions of <a href="http://netbsd.gw.com/cgi-bin/man-cgi?sed+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">sed</span>(1)</span></a> that have a + For example, there are many versions of <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?sed+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">sed</span>(1)</span></a> that have a narrow limit on the line length they can process. Therefore pkgsrc brings its own tools, which can be enabled here.</p></dd> @@ -10477,14 +10477,14 @@ CFLAGS+= -Wall <dt><span class="sect2"><a href="#example-Makefile">A.1.1. Makefile</a></span></dt> <dt><span class="sect2"><a href="#example-descr">A.1.2. DESCR</a></span></dt> <dt><span class="sect2"><a href="#example-plist">A.1.3. PLIST</a></span></dt> -<dt><span class="sect2"><a href="#checking-package-with-pkglint">A.1.4. Checking a package with <span><strong class="command">pkglint</strong></span></a></span></dt> +<dt><span class="sect2"><a href="#checking-package-with-pkglint">A.1.4. Checking a package with <span class="command"><strong>pkglint</strong></span></a></span></dt> </dl></dd> <dt><span class="sect1"><a href="#steps-for-b-i-p">A.2. Steps for building, installing, packaging</a></span></dt> </dl> </div> <p>We checked to find a piece of software that wasn't in the packages collection, and picked GNU bison. Quite why someone would want to have - <span><strong class="command">bison</strong></span> when Berkeley <span><strong class="command">yacc</strong></span> is already + <span class="command"><strong>bison</strong></span> when Berkeley <span class="command"><strong>yacc</strong></span> is already present in the tree is beyond us, but it's useful for the purposes of this exercise.</p> <div class="sect1" lang="en"> @@ -10516,7 +10516,7 @@ INFO_FILES= bison.info <a name="example-descr"></a>A.1.2. DESCR</h3></div></div></div> <pre class="programlisting"> GNU version of yacc. Can make re-entrant parsers, and numerous other -improvements. Why you would want this when Berkeley <a href="http://netbsd.gw.com/cgi-bin/man-cgi?yacc+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">yacc</span>(1)</span></a> is part +improvements. Why you would want this when Berkeley <a class="citerefentry" href="http://netbsd.gw.com/cgi-bin/man-cgi?yacc+1+NetBSD-current"><span class="citerefentry"><span class="refentrytitle">yacc</span>(1)</span></a> is part of the NetBSD source tree is beyond me. </pre> </div> @@ -10533,18 +10533,18 @@ share/bison.hairy </div> <div class="sect2" lang="en"> <div class="titlepage"><div><div><h3 class="title"> -<a name="checking-package-with-pkglint"></a>A.1.4. Checking a package with <span><strong class="command">pkglint</strong></span> +<a name="checking-package-with-pkglint"></a>A.1.4. Checking a package with <span class="command"><strong>pkglint</strong></span> </h3></div></div></div> <p>The NetBSD package system comes with <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/pkgtools/pkglint/README.html" target="_top"><code class="filename">pkgtools/pkglint</code></a> which helps to check the contents of these files. After installation it is quite easy to use, just change to the directory of the package you wish to examine and execute - <span><strong class="command">pkglint</strong></span>:</p> + <span class="command"><strong>pkglint</strong></span>:</p> <pre class="screen"><code class="prompt">$</code> <strong class="userinput"><code>pkglint</code></strong> looks fine.</pre> <p>Depending on the supplied command line arguments (see pkglint(1)), - more checks will be performed. Use e.g. <span><strong class="command">pkglint -Call + more checks will be performed. Use e.g. <span class="command"><strong>pkglint -Call -Wall</strong></span> for a very thorough check.</p> </div> </div> @@ -10558,7 +10558,7 @@ looks fine.</pre> <code class="prompt">#</code> <strong class="userinput"><code>cd bison</code></strong> <code class="prompt">#</code> <strong class="userinput"><code>mkdir patches</code></strong></pre> <p>Create <code class="filename">Makefile</code>, <code class="filename">DESCR</code> and - <code class="filename">PLIST</code> (see <a href="#components" title="Chapter 11. Package components - files, directories and contents">Chapter 11, <i>Package components - files, directories and contents</i></a>) + <code class="filename">PLIST</code> (see <a class="xref" href="#components" title="Chapter 11. Package components - files, directories and contents">Chapter 11, <i>Package components - files, directories and contents</i></a>) then continue with fetching the distfile:</p> <pre class="screen"><code class="prompt">#</code> <strong class="userinput"><code>make fetch</code></strong> >> bison-1.25.tar.gz doesn't seem to exist on this system. @@ -10643,7 +10643,7 @@ cd .; for f in bison.info*; do /usr/bin/install -c -o bin -g bin -m 644 $f /usr /usr/bin/install -c -o bin -g bin -m 644 ./bison.1 /usr/pkg/man/man1/bison.1 ===> Registering installation for bison-1.25</pre> <p>You can now use bison, and also - if you decide so - remove it with - <span><strong class="command">pkg_delete bison</strong></span>. Should you decide that you want a + <span class="command"><strong>pkg_delete bison</strong></span>. Should you decide that you want a binary package, do this now:</p> <pre class="screen"><code class="prompt">#</code> <strong class="userinput"><code>make package</code></strong> >> Checksum OK for bison-1.25.tar.gz. @@ -10792,7 +10792,7 @@ source packages</a></span></dt> <p>As in other big projects, the directory layout of pkgsrc is quite complex for newbies. This chapter explains where you find things on the FTP server. The base directory on - <code class="filename">ftp.NetBSD.org</code> is <a href="ftp://ftp.NetBSD.org/pub/pkgsrc/" target="_top"><code class="filename">/pub/pkgsrc/</code></a>. + <code class="filename">ftp.NetBSD.org</code> is <a class="ulink" href="ftp://ftp.NetBSD.org/pub/pkgsrc/" target="_top"><code class="filename">/pub/pkgsrc/</code></a>. On other servers it may be different, but inside this directory, everything should look the same, no matter on which server you are. This directory contains some subdirectories, which are @@ -10803,7 +10803,7 @@ source packages</a></span></dt> <p>This directory used to contain binary packages of the package management tools for various platforms. For those package collections that need them, they are now stored near the - binary packages, so you should look <a href="#ftp-packages" title="C.5. packages: Binary packages">in the <code class="filename">packages</code> + binary packages, so you should look <a class="link" href="#ftp-packages" title="C.5. packages: Binary packages">in the <code class="filename">packages</code> directory</a>.</p> </div> <div class="sect1" lang="en"> @@ -10836,12 +10836,14 @@ source packages</a></span></dt> <div class="itemizedlist"><ul type="disc"> <li><p><code class="varname">OPSYS</code> is the name of the operating system for which the packages have been built. The - name is taken from the output of the <span><strong class="command">uname</strong></span> + name is taken from the output of the <span class="command"><strong>uname</strong></span> command, so it may differ from the one you are used to hear.</p></li> <li><p><code class="varname">ARCH</code> is the hardware architecture of the platform for which the packages have been - built.</p></li> + built. It also includes the <code class="varname">ABI</code> (Application + Binary Interface) for platforms that have several of + them.</p></li> <li><p><code class="varname">OSVERSION</code> is the version of the operating system. For version numbers that change often (for example NetBSD-current), the often-changing part should be @@ -10874,7 +10876,7 @@ source packages</a></span></dt> <a name="ftp-reports"></a>C.6. <code class="filename">reports</code>: Bulk build reports</h2></div></div></div> <p>Here are the reports from bulk builds, for those who want to fix packages that didn't build on some of the platforms. The - structure of subdirectories should look like the one in <a href="#ftp-packages" title="C.5. packages: Binary packages">Section C.5, “<code class="filename">packages</code>: Binary packages”</a>.</p> + structure of subdirectories should look like the one in <a class="xref" href="#ftp-packages" title="C.5. packages: Binary packages">Section C.5, “<code class="filename">packages</code>: Binary packages”</a>.</p> </div> <div class="sect1" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> @@ -10915,10 +10917,10 @@ source packages</h2></div></div></div> <div class="itemizedlist"><ul type="disc"> <li><p><code class="filename">pkgsrc/doc/pkgsrc.txt</code></p></li> <li><p><code class="filename">pkgsrc/doc/pkgsrc.html</code></p></li> -<li><p><a href="http://www.NetBSD.org/docs/pkgsrc/" target="_top">http://www.NetBSD.org/docs/pkgsrc/</a></p></li> -<li><p><a href="http://www.NetBSD.org/docs/pkgsrc/pkgsrc.pdf" target="_top">http://www.NetBSD.org/docs/pkgsrc/pkgsrc.pdf</a>: +<li><p><a class="ulink" href="http://www.NetBSD.org/docs/pkgsrc/" target="_top">http://www.NetBSD.org/docs/pkgsrc/</a></p></li> +<li><p><a class="ulink" href="http://www.NetBSD.org/docs/pkgsrc/pkgsrc.pdf" target="_top">http://www.NetBSD.org/docs/pkgsrc/pkgsrc.pdf</a>: The PDF version of the pkgsrc guide.</p></li> -<li><p><a href="http://www.NetBSD.org/docs/pkgsrc/pkgsrc.ps" target="_top">http://www.NetBSD.org/docs/pkgsrc/pkgsrc.ps</a>: +<li><p><a class="ulink" href="http://www.NetBSD.org/docs/pkgsrc/pkgsrc.ps" target="_top">http://www.NetBSD.org/docs/pkgsrc/pkgsrc.ps</a>: PostScript version of the pkgsrc guide.</p></li> </ul></div> </div> @@ -10934,30 +10936,30 @@ source packages</h2></div></div></div> PostScript and PDF versions. You will need both packages installed, to make sure documentation is consistent across all formats.</p></li> -<li><p>Run <span><strong class="command">cd doc/guide</strong></span> to get to the +<li><p>Run <span class="command"><strong>cd doc/guide</strong></span> to get to the right directory. All further steps will take place here.</p></li> <li><p>Edit the XML file(s) in <code class="filename">files/</code>.</p></li> -<li><p>Run <span><strong class="command">bmake</strong></span> to check the pkgsrc +<li><p>Run <span class="command"><strong>bmake</strong></span> to check the pkgsrc guide for valid XML and to build the final output files. If you get any errors at this stage, you can just edit the files, as there are only symbolic links in the working directory, pointing to the files in <code class="filename">files/</code>.</p></li> -<li><p><span><strong class="command">(cd files && cvs +<li><p><span class="command"><strong>(cd files && cvs commit)</strong></span></p></li> -<li><p>Run <span><strong class="command">bmake clean && bmake</strong></span> to +<li><p>Run <span class="command"><strong>bmake clean && bmake</strong></span> to regenerate the output files with the proper RCS Ids.</p></li> <li> -<p>Run <span><strong class="command">bmake regen</strong></span> to install and +<p>Run <span class="command"><strong>bmake regen</strong></span> to install and commit the files in both <code class="filename">pkgsrc/doc</code> and <code class="filename">htdocs</code>.</p> <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"> <h3 class="title">Note</h3> <p>If you have added, removed or renamed some chapters, - you need to synchronize them using <span><strong class="command">cvs add</strong></span> or - <span><strong class="command">cvs delete</strong></span> in the htdocs + you need to synchronize them using <span class="command"><strong>cvs add</strong></span> or + <span class="command"><strong>cvs delete</strong></span> in the htdocs directory.</p> </div> </li> diff --git a/doc/pkgsrc.txt b/doc/pkgsrc.txt index 1535cd5f5f2..759003c9874 100644 --- a/doc/pkgsrc.txt +++ b/doc/pkgsrc.txt @@ -2886,7 +2886,7 @@ something like: FETCH_CMD= wget FETCH_BEFORE_ARGS= --passive-ftp FETCH_RESUME_ARGS= -c -FETCH_OUTPUT_ARGS= -O +FETCH_OUTPUT_ARGS= -O -nc 9.6. How can I install/use modular X.org from pkgsrc? @@ -9002,7 +9002,8 @@ The meaning of these variables is: differ from the one you are used to hear. * ARCH is the hardware architecture of the platform for which the packages - have been built. + have been built. It also includes the ABI (Application Binary Interface) + for platforms that have several of them. * OSVERSION is the version of the operating system. For version numbers that change often (for example NetBSD-current), the often-changing part should |