summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/guide/files/configuring.xml25
-rw-r--r--doc/guide/files/introduction.xml165
-rw-r--r--doc/guide/files/platforms.xml228
-rw-r--r--doc/guide/files/using.xml148
4 files changed, 478 insertions, 88 deletions
diff --git a/doc/guide/files/configuring.xml b/doc/guide/files/configuring.xml
index 759861cdf2e..eecb58a600a 100644
--- a/doc/guide/files/configuring.xml
+++ b/doc/guide/files/configuring.xml
@@ -1,4 +1,4 @@
-<!-- $NetBSD: configuring.xml,v 1.16 2006/07/27 06:40:05 rillig Exp $ -->
+<!-- $NetBSD: configuring.xml,v 1.17 2006/07/29 15:57:04 rillig Exp $ -->
<chapter id="configuring">
<title>Configuring pkgsrc</title>
@@ -7,8 +7,12 @@
<title>General configuration</title>
<para>In this section, you can find some variables that apply to all
- pkgsrc packages. The preferred method of setting these variables
- is by setting them in <filename>/etc/mk.conf</filename>.
+ pkgsrc packages. The preferred method of setting these variables is
+ by setting them in <filename>/etc/mk.conf</filename>. A complete
+ list of the variables that can be configured by the user is
+ available in <filename>mk/defaults/mk.conf</filename>, together with
+ some comments that describe the variable's intent.</para>
+
<itemizedlist>
<listitem><para><varname>LOCALBASE</varname>: Where
packages will be installed. The default is
@@ -46,8 +50,13 @@
<listitem><para><varname>BINPKG_SITES</varname>:
List of sites carrying binary pkgs.</para>
</listitem>
+ <listitem><para><varname>ACCEPTABLE_LICENSES</varname>:
+ List of acceptable licenses. Whenever you try to build a package
+ whose license is not in this list, you will get an error message
+ that includes instructions on how to change this variable.</para>
+ </listitem>
</itemizedlist>
- </para>
+
</sect1>
<sect1 id="variables-affecting-build">
@@ -86,6 +95,14 @@
<filename>/dev/null</filename> to avoid picking up
settings used by builds in <filename>/usr/src</filename>.</para>
</listitem>
+ <listitem><para><varname>DEPENDS_TARGET</varname>:
+ By default, dependencies are only installed, and no binary
+
+ package is created for them. You can set this variable to
+ <literal>package</literal> to automatically create binary
+ packages after installing dependencies.</para>
+ </listitem>
+
<!-- DISTDIR -->
<!-- FAILOVER_FETCH -->
</itemizedlist>
diff --git a/doc/guide/files/introduction.xml b/doc/guide/files/introduction.xml
index 40bb520ab4d..2558a28931c 100644
--- a/doc/guide/files/introduction.xml
+++ b/doc/guide/files/introduction.xml
@@ -1,4 +1,4 @@
-<!-- $NetBSD: introduction.xml,v 1.15 2006/07/29 14:14:19 rillig Exp $ -->
+<!-- $NetBSD: introduction.xml,v 1.16 2006/07/29 15:57:04 rillig Exp $ -->
<chapter id="introduction">
<title>What is pkgsrc?</title>
@@ -45,55 +45,126 @@ packages for himself, which is a time-costly task.</para>
such as pthreads and X11, and extended features such as IPv6 support on
a range of platforms.</para>
- <para>pkgsrc was derived from FreeBSD's ports system, and
- initially developed for NetBSD only. Since then, pkgsrc has
- grown a lot, and now supports the following platforms:</para>
-
- <itemizedlist>
- <listitem>
- <para><ulink url="http://developer.apple.com/darwin/">Darwin</ulink>
- (<ulink url="http://www.apple.com/macosx/">Mac OS X</ulink>)</para>
- </listitem>
-
- <listitem>
- <para><ulink url="http://www.DragonFlyBSD.org/">DragonFly BSD</ulink></para>
- </listitem>
-
- <listitem>
- <para><ulink url="http://www.FreeBSD.org/">FreeBSD</ulink></para>
- </listitem>
-
- <listitem>
- <para>Microsoft Windows, via <ulink url="http://www.microsoft.com/windows/sfu/">Interix</ulink></para>
- </listitem>
-
- <listitem>
- <para><ulink url="http://www.sgi.com/software/irix6.5/">IRIX</ulink></para>
- </listitem>
+<sect2 id="why-pkgsrc">
+<title>Why pkgsrc?</title>
+
+<para>
+pkgsrc provides the following key features:
+</para>
+
+<itemizedlist>
+<listitem><para>Easy building of software from source as well as the creation
+ and installation of binary packages. The source and latest
+ patches are retrieved from a master or mirror download site, checksum
+ verified, then built on your system. Support for binary-only
+ distributions is available for both native platforms and NetBSD
+ emulated platforms.</para></listitem>
+<listitem><para>All packages are installed in a consistent directory tree,
+ including binaries, libraries, man pages and other
+ documentation.</para></listitem>
+<listitem><para>Package dependencies, including when performing package updates,
+ are handled automatically. The configuration files of various
+ packages are handled automatically during updates, so local changes
+ are preserved.</para></listitem>
+<listitem><para>Like NetBSD, pkgsrc is designed with portability in mind and
+ consists of highly portable code. This allows the greatest speed of
+ development when porting to new a platform. This portability also
+ ensures that pkgsrc is <emphasis>consistent across all
+ platforms</emphasis>.</para></listitem>
+<listitem><para>The installation prefix, acceptable software licenses,
+ international encryption requirements and build-time options for a
+ large number of packages are all set in a simple, central
+ configuration file.</para></listitem>
+<listitem><para>The entire source (not including the distribution files) is
+ freely available under a BSD license, so you may extend and adapt
+ pkgsrc to your needs. Support for local packages and patches is
+ available right out of the box, so you can configure it specifically
+ for your environment.</para></listitem>
+</itemizedlist>
+</sect2>
- <listitem>
- <para><ulink url="http://www.linux.org/">Linux</ulink></para>
- </listitem>
+<sect2 id="intro.platforms">
+<title>Supported platforms</title>
- <listitem>
- <para><ulink url="http://www.NetBSD.org/">NetBSD</ulink> (of
- course)</para>
- </listitem>
+<para>pkgsrc consists of both a source distribution and a binary
+distribution for these operating systems. After retrieving the required
+source or binaries, you can be up and running with pkgsrc in just
+minutes!</para>
- <listitem>
- <para><ulink url="http://h30097.www3.hp.com/">Tru64</ulink>
- (Digital UNIX, OSF1)</para>
- </listitem>
+ <para>pkgsrc was derived from FreeBSD's ports system, and
+ initially developed for NetBSD only. Since then, pkgsrc has
+ grown a lot, and now supports the following platforms:</para>
- <listitem>
- <para><ulink url="http://www.openbsd.org/">OpenBSD</ulink></para>
- </listitem>
+<table id="supported-platforms">
+ <title>Platforms supported by pkgsrc</title>
+ <tgroup cols = "2">
+ <thead>
+ <row>
+ <entry>Platform</entry>
+ <entry>Date Support Added</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><ulink url="http://www.NetBSD.org/">NetBSD</ulink></entry>
+ <entry align="center">Aug 1997</entry>
+ </row>
+ <row>
+ <entry><ulink url="http://wwws.sun.com/software/solaris/">Solaris</ulink></entry>
+ <entry align="center">Mar 1999</entry>
+ </row>
+ <row>
+ <entry><ulink url="http://www.kernel.org/">Linux</ulink></entry>
+ <entry align="center">Jun 1999</entry>
+ </row>
+ <row>
+ <entry>
+ <ulink url="http://developer.apple.com/darwin/">Darwin</ulink>
+ (<ulink url="http://developer.apple.com/macosx/">Mac OS X</ulink>)
+ </entry>
+ <entry align="center">Oct 2001</entry>
+ </row>
+ <row>
+ <entry><ulink url="http://www.freebsd.org/">FreeBSD</ulink></entry>
+ <entry align="center">Nov 2002</entry>
+ </row>
+ <row>
+ <entry><ulink url="http://www.openbsd.org/">OpenBSD</ulink></entry>
+ <entry align="center">Nov 2002</entry>
+ </row>
+ <row>
+ <entry><ulink url="http://www.sgi.com/software/irix/">IRIX</ulink></entry>
+ <entry align="center">Dec 2002</entry>
+ </row>
+ <row>
+ <entry>BSD/OS</entry>
+ <entry align="center">Dec 2003</entry>
+ </row>
+ <row>
+ <entry><ulink url="http://www-1.ibm.com/servers/aix/">AIX</ulink></entry>
+ <entry align="center">Dec 2003</entry>
+ </row>
+ <row>
+ <entry>
+ <ulink url="http://www.microsoft.com/windows/sfu/">Interix</ulink>
+ (Microsoft Windows Services for Unix)
+ </entry>
+ <entry align="center">Mar 2004</entry>
+ </row>
+ <row>
+ <entry><ulink url="http://www.dragonflybsd.org/">DragonFlyBSD</ulink></entry>
+ <entry align="center">Oct 2004</entry>
+ </row>
+ <row>
+ <entry><ulink url="http://www.tru64.org/">OSF/1</ulink></entry>
+ <entry align="center">Nov 2004</entry>
+ </row>
+ </tbody>
+ </tgroup>
+</table>
+</sect2>
- <listitem>
- <para><ulink url="http://www.sun.com/solaris/">Solaris</ulink></para>
- </listitem>
- </itemizedlist>
- </sect1>
+</sect1>
<sect1 id="overview">
<title>Overview</title>
@@ -223,8 +294,8 @@ packages for himself, which is a time-costly task.</para>
</sect2>
- <sect2 id="term.people">
- <title>People involved in pkgsrc</title>
+ <sect2 id="term.roles">
+ <title>Roles involved in pkgsrc</title>
<variablelist>
diff --git a/doc/guide/files/platforms.xml b/doc/guide/files/platforms.xml
index a8cd09683b4..458d242136b 100644
--- a/doc/guide/files/platforms.xml
+++ b/doc/guide/files/platforms.xml
@@ -1,31 +1,217 @@
-<!-- $NetBSD: platforms.xml,v 1.31 2006/06/23 05:00:55 rillig Exp $ -->
+<!-- $NetBSD: platforms.xml,v 1.32 2006/07/29 15:57:04 rillig Exp $ -->
<chapter id="platforms">
<title>Using pkgsrc on systems other than &os;</title>
+<sect1 id="binarydist">
+<title>Binary distribution</title>
+<para>
+We provide a bootstrap kit in both source and binary form for other
+platforms than &os;, consisting of the pkg administration tools and other
+tools required to use pkgsrc and build packages.
+</para>
+
+<note><para>
+Older binary snapshots are available in the
+<ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/archive/">bootstrap-pkgsrc/archive</ulink>
+directory on ftp.NetBSD.org.</para>
+</note>
+
+<table id="binary-kits">
+ <title>Binary kits and available packages</title>
+ <tgroup cols="4">
+ <thead>
+ <row>
+ <entry>Platform</entry>
+ <entry>Latest snapshot</entry>
+ <entry>Binary kit</entry>
+ <entry>Binary packages</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry role="osname">Darwin 5.5/powerpc (Mac OS X 10.1.5)</entry>
+ <entry role="date">20021209</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-Darwin-5.5-powerpc-20021209.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">Darwin 6.6/powerpc (Mac OS X 10.2.6)</entry>
+ <entry role="date">20030623</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-Darwin-6.6-powerpc-20030623.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">Darwin 7.6/powerpc (Mac OS X 10.3.6)</entry>
+ <entry role="date">20041219</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-Darwin-7.6.0-powerpc-20041219.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/Darwin-7.6/">binary packages</ulink></entry>
+ </row>
+ <row>
+ <entry role="osname">Darwin 7.8/powerpc (Mac OS X 10.3.8)</entry>
+ <entry role="date">20050320</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-Darwin-7.8.0-powerpc-20050320.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">Darwin 8.1/powerpc (Mac OS X 10.4.1)</entry>
+ <entry role="date">20050625</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-Darwin-8.1.0-powerpc-20050625.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/Darwin-8.1/powerpc/current/">binary packages</ulink></entry>
+ </row>
+ <row>
+ <entry role="osname">Debian GNU Linux/i386</entry>
+ <entry role="date">20031023</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-Linux-2.4.22-debian-i386-20031023.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">Fedora Core 2 Linux/i386</entry>
+ <entry role="date">20050618</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-Linux-2.6.10-i386-fc2-20050618.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">Fedora Core 4 Linux/i386</entry>
+ <entry role="date">20060105</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-Linux-2.6.11-i386-fc4-20060105.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">FreeBSD 3.5/i386</entry>
+ <entry role="date">20030411</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-FreeBSD-3.5-STABLE-i386-20030411.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">FreeBSD 4.7/i386</entry>
+ <entry role="date">20021211</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-FreeBSD-4.7-RELEASE-i386-20021211.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">FreeBSD 5.0/i386</entry>
+ <entry role="date">20030411</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-FreeBSD-5.0-RELEASE-i386-20030411.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">FreeBSD 5.1/i386</entry>
+ <entry role="date">20030630</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-FreeBSD-5.1-RELEASE-i386-20030630.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">FreeBSD 5.2.1/i386</entry>
+ <entry role="date">20040227</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-FreeBSD-5.2.1-RELEASE-i386-20040227.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">FreeBSD 5.3/i386</entry>
+ <entry role="date">20050119</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-FreeBSD-5.3-RELEASE-i386-20050119.tar">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">Interix 3.5</entry>
+ <entry role="date">20051010</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-Interix-3.5-i386-20051010.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/Interix-3.5/i386/current/">binary packages</ulink></entry>
+ </row>
+ <row>
+ <entry role="osname">IRIX 6.5 n32-bit ABI</entry>
+ <entry role="date">20040911</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-IRIX-6.5-mips-20040911.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/IRIX-6.5/n32/">binary packages</ulink></entry>
+ </row>
+ <row>
+ <entry role="osname">IRIX 6.5 64-bit ABI</entry>
+ <entry role="date">20040912</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-IRIX64-6.5-mips-20040912.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/IRIX-6.5/64/">binary packages</ulink></entry>
+ </row>
+ <row>
+ <entry role="osname">OpenBSD 3.2/i386</entry>
+ <entry role="date">20030420</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-OpenBSD-3.2-i386-20030420.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">OpenBSD 3.3/i386</entry>
+ <entry role="date">20030503</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-OpenBSD-3.3-i386-20030503.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">OpenBSD 3.5/i386</entry>
+ <entry role="date">20040507</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-OpenBSD-3.5-i386-20040703.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">Slackware Linux 8.1/i386</entry>
+ <entry role="date">20030417</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-Linux-2.4.18-slackware-20030417.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">Slackware Linux 9/i386</entry>
+ <entry role="date">20031023</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-Linux-2.4.22-i386-slackware9-20040703.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">Solaris 8/sparc</entry>
+ <entry role="date">20050220</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-SunOS-5.8-sparc-20050220.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">Solaris 8/i386</entry>
+ <entry role="date">20050220</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-SunOS-5.8-i386-20050220.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ <row>
+ <entry role="osname">Solaris 9/sparc</entry>
+ <entry role="date">20041208</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-SunOS-5.9-sparc-20041208.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/SunOS-5.9/sparc/">binary packages</ulink></entry>
+ </row>
+ <row>
+ <entry role="osname">Solaris 9/i386</entry>
+ <entry role="date">20030411</entry>
+ <entry role="kit-url"><ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/bootstrap-pkgsrc-SunOS-5.9-i386-20030411.tar.gz">binary kit</ulink></entry>
+ <entry role="binary-pkgs-url"></entry>
+ </row>
+ </tbody>
+ </tgroup>
+</table>
+
+<para>
+Simply download the binary kit for your platform, and extract it into
+<filename>/</filename> e.g.
+</para>
+
+<screen><prompt>#</prompt> <userinput>cd /</userinput>
+<prompt>#</prompt> <userinput>gzip -c -d /tmp/bootstrap-pkgsrc-SunOS-5.9-sparc-20031023.tar.gz \
+ | tar -xpf -</userinput></screen>
+
+<para>
+Of course, as with any binary distributions, you should verify the
+checksum against the <ulink
+url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/SUM">SUM</ulink>
+or <ulink
+url="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/bootstrap-pkgsrc/CKSUM">CKSUM</ulink>
+file and inspect the contents before extracting it.
+</para>
+</sect1>
+
<sect1 id="bootstrapping-pkgsrc">
<title>Bootstrapping pkgsrc</title>
- <para>For operating systems other than &os;, we provide a bootstrap kit to
- build the required tools to use pkgsrc on your platform. Besides
- support for native &os;, pkgsrc and the bootstrap kit have support for
- the following operating systems:</para>
-
- <itemizedlist>
- <listitem><para>Darwin (Mac OS X)</para></listitem>
- <listitem><para>DragonFly BSD</para></listitem>
- <listitem><para>FreeBSD</para></listitem>
- <listitem><para>Interix (Windows 2000, XP, 2003)</para></listitem>
- <listitem><para>IRIX</para></listitem>
- <listitem><para>Linux</para></listitem>
- <listitem><para>OpenBSD</para></listitem>
- <listitem><para>Solaris</para></listitem>
- <listitem><para>Tru64 (Digital UNIX/OSF1)</para></listitem>
- </itemizedlist>
-
- <para>Support for other platforms is under development.</para>
-
- <para>Installing the bootstrap kit should be as simple as:</para>
+ <para>Installing the bootstrap kit from source should be as simple as:</para>
<screen>
&rprompt; <userinput>env CVS_RSH=ssh cvs -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout pkgsrc</userinput>
diff --git a/doc/guide/files/using.xml b/doc/guide/files/using.xml
index 87707b65421..885f197efe5 100644
--- a/doc/guide/files/using.xml
+++ b/doc/guide/files/using.xml
@@ -1,4 +1,4 @@
-<!-- $NetBSD: using.xml,v 1.21 2006/07/29 14:14:23 rillig Exp $ -->
+<!-- $NetBSD: using.xml,v 1.22 2006/07/29 15:57:04 rillig Exp $ -->
<chapter id="using"> <?dbhtml filename="using.html"?>
<title>Using pkgsrc</title>
@@ -151,6 +151,62 @@
</sect2>
+<sect2 id="vulnerabilities">
+<title>Checking for security vulnerabilities in installed packages</title>
+
+<para>
+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 <ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/distfiles/vulnerabilities"/>.
+</para>
+
+<para>
+Through <filename role="pkg">security/audit-packages</filename>,
+this list can be downloaded
+automatically, and a security audit of all packages installed on a system
+can take place.
+</para>
+
+<para>
+There are two components to
+<filename role="pkg">security/audit-packages</filename>. The first
+component, <quote>download-vulnerability-list</quote>, is for downloading
+the list of vulnerabilities from the NetBSD FTP site. The second
+component, <quote>audit-packages</quote>, checks to see if any of your
+installed packages are vulnerable. If a package is vulnerable, you
+will see output similar to the following:
+</para>
+
+<screen>Package samba-2.0.9 has a local-root-shell vulnerability, see
+http://www.samba.org/samba/whatsnew/macroexploit.html</screen>
+
+<para>
+One can set up <filename
+role="pkg">security/audit-packages</filename> to download the
+<ulink url="ftp://ftp.NetBSD.org/pub/pkgsrc/distfiles/vulnerabilities">vulnerabilities</ulink>
+file daily, and include a package audit in the daily security script.
+Details on this are located in the <ulink
+url="http://cvsweb.NetBSD.org/bsdweb.cgi/pkgsrc/security/audit-packages/MESSAGE?rev=HEAD&amp;content-type=text/x-cvsweb-markup">MESSAGE</ulink>
+file for <filename role="pkg">security/audit-packages</filename>.
+</para>
+</sect2>
+
+<sect2 id="pkg_versions">
+<title>Finding if newer versions of your installed packages are in pkgsrc</title>
+<para>
+Install <filename role="pkg">pkgtools/pkglint</filename> and run
+<command>lintpkgsrc</command> with the <quote>-i</quote>
+argument to check if your packages are up-to-date, e.g.
+</para>
+<screen><prompt>%</prompt> <userinput>lintpkgsrc -i</userinput>
+...
+Version mismatch: 'tcsh' 6.09.00 vs 6.10.00</screen>
+<para>You can then use <command>make update</command> to update the
+package on your system and rebuild any dependencies.
+</para>
+</sect2>
+
<sect2 id="using.pkg_admin">
<title>Other administrative functions</title>
@@ -181,7 +237,23 @@
<sect1 id="building-packages-from-source">
<title>Building packages from source</title>
- <para> This assumes that the package is already in pkgsrc. If it
+<para>
+After obtaining pkgsrc, the <filename>pkgsrc</filename> directory
+now contains a set of packages, organized into categories. You can browse
+the online index of packages, or run <command>make readme</command>
+from the <filename>pkgsrc</filename> directory to build local
+<filename>README.html</filename> files for all packages, viewable with any web browser such as
+<filename role="pkg">www/lynx</filename> or
+<filename role="pkg">www/mozilla</filename>.</para>
+
+<para>The default <emphasis>prefix</emphasis> for installed packages is
+<filename>/usr/pkg</filename>. If you wish to change this, you should do
+so by setting <varname>LOCALBASE</varname> in
+<filename>mk.conf</filename>. You should not try to use multiple
+different <varname>LOCALBASE</varname> definitions on the same system
+(inside a chroot is an exception). </para>
+
+ <para>The rest of this chapter assumes that the package is already in pkgsrc. If it
is not, see <xref linkend="developers-guide"/> for instructions
how to create your own packages.</para>
@@ -205,6 +277,15 @@
distfiles (i.e. the unmodified source). If they have not yet been
downloaded, pkgsrc will fetch them automatically.</para>
+<para>
+If you have all files that you need in the
+<filename>distfiles</filename> directory,
+you don't need to connect. If the distfiles are on CD-ROM, you can
+mount the CD-ROM on <filename>/cdrom</filename> and add:
+<screen>DISTDIR=/cdrom/pkgsrc/distfiles</screen>
+to your <filename>mk.conf</filename>.
+</para>
+
<para>You can overwrite some of the major distribution sites to fit to sites
that are close to your own. Have a look at
<filename>pkgsrc/mk/defaults/mk.conf</filename> to find some examples
@@ -218,18 +299,29 @@
<filename>/etc/mk.conf</filename> file,
and adding the definitions there.</para>
- <para>If you don't have a permanent Internet connection and you want to know
- which files to download, <command>make fetch-list</command> will tell you
- what you'll need. Put these distfiles into
- <filename>/usr/pkgsrc/distfiles</filename>.</para>
+<para>
+If a package depends on many other packages (such as
+<filename role="pkg">meta-pkgs/kde3</filename>), the build process may
+alternate between periods of
+downloading source, and compiling. To ensure you have all the source
+downloaded initially you can run the command:
+<screen><prompt>%</prompt> <userinput>make fetch-list | sh</userinput></screen>
+which will output and run a set of shell commands to fetch the
+necessary files into the <filename>distfiles</filename> directory. You can
+also choose to download the files manually.
+</para>
+
</sect2>
<sect2 id="how-to-build-and-install">
<title>How to build and install</title>
- <para>Assuming that the distfile has been fetched (see previous section), become
- root and change into the relevant directory and run
- <command>make</command>.</para>
+<para>
+Once the software has downloaded, any patches will be applied, then it
+will be compiled for you. This may take some time depending on your
+computer, and how many other packages the software depends on and their
+compile time.
+</para>
<note><para>If using bootstrap or pkgsrc on a non-NetBSD system,
use the pkgsrc <command>bmake</command> command instead of
@@ -241,15 +333,38 @@
&cprompt; <userinput>make</userinput></screen>
<para>at the shell prompt to build the various components of the
- package, and</para>
+ package.</para>
+
+ <para>The next stage is to actually install the newly compiled
+ program onto your system. Do this by entering:
+
+<screen>
+ <prompt>%</prompt> <userinput>make install</userinput>
+</screen>
- <screen>&rprompt; <userinput>make install</userinput></screen>
+ while you are still in the directory for whatever package you
+ are installing.</para>
- <para>to install the various components into the correct places
- on your system. Installing the package on your system requires
- you to be root. However, pkgsrc has a
+ <para>Installing the package on your system may require you to
+ be root. However, pkgsrc has a
<emphasis>just-in-time-su</emphasis> feature, which allows you
- to only become root for the actual installation step</para>
+ to only become root for the actual installation step.</para>
+
+<para>That's it, the software should now be installed and setup for use.
+You can now enter:
+
+<screen>
+ <prompt>%</prompt> <userinput>make clean</userinput>
+</screen>
+
+ to remove the compiled files in the work directory, as you shouldn't need
+ them any more. If other packages were also added to your system
+ (dependencies) to allow your program to compile, you can tidy these up
+ also with the command:</para>
+
+<screen>
+ <prompt>%</prompt> <userinput>make clean-depends</userinput>
+</screen>
<para>Taking the figlet utility as an example, we can install it on our
system by building as shown in <xref linkend="logs"/>.</para>
@@ -399,5 +514,6 @@
</varlistentry>
</variablelist>
</sect2>
- </sect1>
+
+</sect1>
</chapter>