Merge from vendor branch TNF:
[pkgsrc.git] / README
1 $NetBSD: README,v 1.8 1998/09/01 11:03:23 agc Exp $
2
3 Welcome to the NetBSD Packages Collection
4 =========================================
5
6 In brief, the NetBSD Packages Collection is a set of software
7 utilities and libraries which have been ported to NetBSD.
8
9 The packages collection software can retrieve the software from its
10 home site, assuming you are connected in some way to the Internet,
11 verify its integrity, apply any patches, configure the software for
12 NetBSD, and build it.  Any prerequisite software will also be built
13 and installed for you.  Installation and de-installation of software
14 is managed by the packaging utilities.
15
16 The packages collection is made into a tar_file every week: 
17
18         ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/tar_files/pkgsrc.tar.gz
19
20 and you can sup the pkgsrc tree using the `pkgsrc' name for the
21 collection.
22
23 The pkgsrc tree is laid out in various categories, and, within that,
24 the various packages themselves.
25
26 You need to have root privileges to install packages.  We are looking
27 at ways to remove this restriction.
28
29 + To install a package on your system, you need to change into the
30 directory of the package, and type "make install".
31
32 + If you've made a mistake, and decided that you don't want that
33 package on your system, then type "pkg_delete <pkg-name>", or "make
34 deinstall" while in the directory for the package.
35
36 + To find out all the packages that you have installed on your system,
37 type "pkg_info".
38
39 + To remove the work directory, type "make clean", and "make
40 clean-depends" will clean up any working directories for other
41 packages that are built in the process of making your package.
42
43 + Optionally, you can periodically run "make clean" from the top
44 level pkgsrc directory. This will delete extracted and built files,
45 but will not affect the retreived source sets in pkgsrc/distfiles.
46
47 + You can set variables to customise the behaviour (where packages are
48 installed, various options for individual packages etc), by setting
49 variables in /etc/mk.conf.  The pkgsrc/mk/mk.conf.example file
50 provides some examples for customisation.
51
52 The best way to find out what packages are in the collection is to
53 move to the top-level pkgsrc directory (this will usually be
54 /usr/pkgsrc), and type "make readme".  This will create a file called
55 README.html in the top-level pkgsrc directory, and also in all
56 category and package directories.  You can then see what packages are
57 available, along with a short (one-line) comment about the function of
58 the package, and a pointer to a fuller description, by using a browser
59 like lynx (see pkgsrc/www/lynx) or Mozilla (pkgsrc/www/mozilla), or
60 Communicator.  This is also available online as
61 ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/README.html.
62
63 Another way to find out what packages are in the collection is to
64 move to the top-level pkgsrc directory and type "make index". This
65 will create pkgsrc/INDEX which can be viewed via "make print-index | more".
66 You can also search for particular packages or keywords via
67 "make search key=<somekeyword>".
68
69 It is also possible to use the packaging software to install
70 pre-compiled binary packages by typing "pkg_add <URL-of-binary-pkg>". 
71 To see what binary packages are available, see:
72
73         ftp://ftp.netbsd.org/pub/NetBSD/packages/<release>/<arch>/All/
74
75 where <release> is the NetBSD release, and <arch> is the hardware
76 architecture.
77
78 One limitation of using binary packages provided from ftp.netbsd.org
79 is that all mk.conf options were set to the defaults at compile time.
80
81 LOCALBASE, in particular, is the default /usr/pkg, so non-X binaries
82 will be installed in /usr/pkg/bin. Man pages will be installed in
83 /usr/pkg/man...
84
85 When a packaged tool has major compile time choices, such as support
86 for multiple graphic toolkit libraries, the different options may
87 be available as separate packages.
88
89 For more information on the packages collection see the file
90 Packages.txt where you found this README, or in your top-level pkgsrc
91 directory.