summaryrefslogtreecommitdiff
path: root/doc/guide
diff options
context:
space:
mode:
authorrillig <rillig@pkgsrc.org>2006-07-29 15:57:04 +0000
committerrillig <rillig@pkgsrc.org>2006-07-29 15:57:04 +0000
commitd55481d55e05b4359c9a3badac87ab73caaaf398 (patch)
treed0ea02b6158624f712ccef70dcd4432e4a2b298a /doc/guide
parent92c9a8dd678424f3e344ed5e3b457a1bec250d9d (diff)
downloadpkgsrc-d55481d55e05b4359c9a3badac87ab73caaaf398.tar.gz
Moved all the pkgsrc documentation from outside the pkgsrc guide to
here. There's still much to do to avoid repetition and such, but the first steps are done.
Diffstat (limited to 'doc/guide')
-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>