2 .\" Copyright (c) 1997 David E. O'Brien
4 .\" All rights reserved.
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\" notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\" notice, this list of conditions and the following disclaimer in the
13 .\" documentation and/or other materials provided with the distribution.
15 .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
16 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18 .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
19 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 .\" $FreeBSD: src/share/man/man7/ports.7,v 1.17.2.9 2002/08/07 10:54:39 blackend Exp $
33 .Nd contributed applications
38 offers a simple way for users and
39 administrators to install applications.
42 contains any patches necessary to make the original
43 application source code compile and run on
46 application is as simple as typing
48 in the port directory!
51 automatically fetches the
52 application source code, either from a local disk or via FTP, unpacks it
53 on your system, applies the patches, and compiles it.
57 to install the application.
59 It is possible to download and use ports from the
62 that are newer than the installed system; however it is important to
63 install the appropriate
66 .Pa http://www.FreeBSD.org/ports/
70 script (also a port, of course!) will help to download new ports.
72 For more information about using ports, see
73 .Dq "Packages and Ports"
75 .%B "The FreeBSD Handbook" ,
76 .Pa ( file:/usr/share/doc/handbook/ports.html
78 .Pa http://www.FreeBSD.org/doc/handbook/ports.html ) .
79 For information about creating new ports, see
80 .%B "The Porter's Handbook"
81 .Pa ( file:/usr/share/doc/porters-handbook/index.html
83 .Pa http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/ ) .
85 Some of the targets work recursively through subdirectories.
86 This lets you, for example, install all of the
89 The targets that do this are
90 .Cm build , checksum , clean , configure ,
91 .Cm depends , extract , fetch , install ,
95 The following targets will be run automatically by each proceeding
103 and so on all the way to
105 Usually, you will only use the
108 .Bl -tag -width ".Cm configure"
110 Fetch all of the files needed to build this port from the sites
118 .Va MASTER_SITE_OVERRIDE .
120 Verify that the fetched distfile's checksum matches the one the port was
127 (or compile if only compilation is necessary)
128 any dependencies of the current port.
133 targets, this is run in piecemeal as
134 .Cm fetch-depends , build-depends ,
140 Expand the distfile into a work directory.
142 Apply any patches that are necessary for the port.
145 Some ports will ask you questions during this stage.
152 This is the same as calling the
156 Install the port and register it with the package system.
157 This is all you really need to do.
160 The following targets are not run during the normal install process.
161 .Bl -tag -width ".Cm fetch-list"
163 Show list of files needed to be fetched in order to build the port.
164 .It Cm pretty-print-run-depends-list , pretty-print-build-depends-list
165 Print a list of all the compile and run dependencies, and dependencies
166 of those dependencies.
168 Remove the expanded source code.
169 This recurses to dependencies unless
173 Remove the port's distfiles and perform the
178 portion recurses to dependencies unless
182 portion never recurses
183 (this is perhaps a bug).
185 Use this to restore a port after using
187 when you should have used
190 Remove an installed port from the system, similar to
193 Make a binary package for the port.
194 The port will be installed if it has not already been.
197 file that you can use to
198 install the port on other machines with
200 If the directory specified by
202 does not exist, the package will be put into the current directory.
210 This can be used from
212 to create a browsable web of all ports on your system!
216 file for the pattern specified by either the
218 (searches the port name, comment, and dependencies) or
220 (searches the port name only)
223 For example, one would type:
225 .Dl "cd /usr/ports && make search name=query"
227 to find all ports whose
230 Results include the matching ports' path, comment, maintainer,
231 build dependencies, and run dependencies.
234 .Pa /usr/ports/INDEX ,
242 file in the CVS repository is periodically
245 target will ensure your
247 file is up to date with your ports tree.
250 You can change all of these.
251 .Bl -tag -width ".Va MASTER_SITES"
253 Location of the ports tree.
265 Where to create any temporary files.
268 is read-only (perhaps mounted from a CD-ROM).
270 Where to find/put distfiles, normally
277 target; the base directory for the packages tree, normally
281 If this directory exists, the package tree will be (partially) constructed.
282 This directory does not have to exist; if it does not, packages will be
283 placed into the current directory, or you can define one of
284 .Bl -tag -width ".Va PKGREPOSITORY"
286 Directory to put the package in.
288 The full path to the package.
291 Where to install things in general
297 Primary sites for distribution files if not found locally.
299 Primary locations for distribution patch files if not found
301 .It Va MASTER_SITE_FREEBSD
302 If set, go to the master
305 .It Va MASTER_SITE_OVERRIDE
306 Try going to this site for all files and patches, first.
307 .It Va NOCLEANDEPENDS
308 If defined, do not let
310 recurse to dependencies.
312 Command to use to fetch files.
315 .It Va FORCE_PKG_REGISTER
316 If set, overwrite any existing package registration on the system.
319 .Pa libXm. Ns Brq Pa a , Ns Pa so .
321 If defined, only operate on a port if it requires interaction.
323 If defined, only operate on a port if it can be installed 100% automatically.
326 .Bl -tag -width ".Pa /usr/ports/Mk/bsd.port.mk" -compact
328 The default ports directory
333 The default ports directory
335 .It Pa /usr/ports/Mk/bsd.port.mk
346 The following are part of the ports collection:
352 .%B "The FreeBSD Handbook"
355 .Pa http://www.FreeBSD.org/ports
356 (searchable index of all ports)
359 This man page was originated by
361 The ports collection is maintained by
363 and the Awesome Ports Team.
368 It has since spread to
373 Ports documentation is split over four places \(em
374 .Pa /usr/ports/Mk/bsd.port.mk ,
375 .%B "The Porter's Handbook" ,
377 .Dq "Packages and Ports"
379 .%B "The FreeBSD Handbook" ,
383 This man page is too long.