diff options
-rw-r--r-- | doc/guide/files/configuring.xml | 25 | ||||
-rw-r--r-- | doc/guide/files/introduction.xml | 165 | ||||
-rw-r--r-- | doc/guide/files/platforms.xml | 228 | ||||
-rw-r--r-- | doc/guide/files/using.xml | 148 |
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&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> |