Chapter 2. Where to get pkgsrc and how to keep it up-to-date

Table of Contents

2.1. As tar file
2.2. Via SUP
2.3. Via CVS
2.4. Keeping pkgsrc up-to-date via CVS

There are three ways to get pkgsrc. Either as a tar file, via SUP, or via CVS. All three ways are described here.

2.1. As tar file

To get pkgsrc going, you need to get the pkgsrc.tar.gz file from ftp.NetBSD.org and unpack it into /usr/pkgsrc.

2.2. Via SUP

As an alternative to the tar file, you can get pkgsrc via the Software Update Protocol, SUP. To do so, make sure your supfile has a line

    release=pkgsrc

in it, see the examples in /usr/share/examples/supfiles, and that the /usr/pkgsrc directory exists. Then, simply run sup -v /path/to/your/supfile.

2.3. Via CVS

To get pkgsrc via CVS, make sure you have “cvs” installed. To do an initial (full) checkout of pkgsrc, do the following steps:

% setenv CVSROOT anoncvs@anoncvs.NetBSD.org:/cvsroot
% setenv CVS_RSH ssh
% cd /usr
% cvs checkout -P pkgsrc

This will create the pkgsrc directory in your /usr, and all the package source will be stored under /usr/pkgsrc. To update pkgsrc after the initial checkout, make sure you have CVS_RSH set as above, then do:

% cd /usr/pkgsrc
% cvs -q update -dP

Please also note that it is possible to have multiple copies of the pkgsrc hierarchy in use at any one time - all work is done relatively within the pkgsrc tree.

2.4. Keeping pkgsrc up-to-date via CVS

If your copy of pkgsrc contains a lot of CVS directories, you can update it using the cvs(1) program. First, cd to the top level directory of pkgsrc. Then run cvs -q update -dP, and you're done.

If that doesn't work and the file CVS/Root contains the string “:pserver:”, you have to run cvs login once to get known to the NetBSD CVS server. The cvs utility will then ask you for a password. Just enter “anoncvs”. Then try again to update.