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 $
27 .\" $DragonFly: src/share/man/man7/Attic/ports.7,v 1.3 2004/02/25 20:44:30 eirikn Exp $
34 .Nd contributed applications
39 offers a simple way for users and
40 administrators to install applications.
43 contains any patches necessary to make the original
44 application source code compile and run on
47 application is as simple as typing
49 in the port directory!
52 automatically fetches the
53 application source code, either from a local disk or via FTP, unpacks it
54 on your system, applies the patches, and compiles it.
58 to install the application.
60 It is possible to download and use ports from the
63 that are newer than the installed system; however it is important to
64 install the appropriate
67 .Pa http://www.FreeBSD.org/ports/
71 script (also a port, of course!) will help to download new ports.
73 For more information about using ports, see
74 .Dq "Packages and Ports"
76 .%B "The FreeBSD Handbook" ,
77 .Pa ( file:/usr/share/doc/handbook/ports.html
79 .Pa http://www.FreeBSD.org/doc/handbook/ports.html ) .
80 For information about creating new ports, see
81 .%B "The Porter's Handbook"
82 .Pa ( file:/usr/share/doc/porters-handbook/index.html
84 .Pa http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/ ) .
86 Some of the targets work recursively through subdirectories.
87 This lets you, for example, install all of the
90 The targets that do this are
91 .Cm build , checksum , clean , configure ,
92 .Cm depends , extract , fetch , install ,
96 The following targets will be run automatically by each proceeding
104 and so on all the way to
106 Usually, you will only use the
109 .Bl -tag -width ".Cm configure"
111 Fetch all of the files needed to build this port from the sites
119 .Va MASTER_SITE_OVERRIDE .
121 Verify that the fetched distfile's checksum matches the one the port was
128 (or compile if only compilation is necessary)
129 any dependencies of the current port.
134 targets, this is run in piecemeal as
135 .Cm fetch-depends , build-depends ,
141 Expand the distfile into a work directory.
143 Apply any patches that are necessary for the port.
146 Some ports will ask you questions during this stage.
153 This is the same as calling the
157 Install the port and register it with the package system.
158 This is all you really need to do.
161 The following targets are not run during the normal install process.
162 .Bl -tag -width ".Cm fetch-list"
164 Show list of files needed to be fetched in order to build the port.
165 .It Cm pretty-print-run-depends-list , pretty-print-build-depends-list
166 Print a list of all the compile and run dependencies, and dependencies
167 of those dependencies.
169 Remove the expanded source code.
170 This recurses to dependencies unless
174 Remove the port's distfiles and perform the
179 portion recurses to dependencies unless
183 portion never recurses
184 (this is perhaps a bug).
186 Use this to restore a port after using
188 when you should have used
191 Remove an installed port from the system, similar to
194 Make a binary package for the port.
195 The port will be installed if it has not already been.
198 file that you can use to
199 install the port on other machines with
201 If the directory specified by
203 does not exist, the package will be put into the current directory.
211 This can be used from
213 to create a browsable web of all ports on your system!
217 file for the pattern specified by either the
219 (searches the port name, comment, and dependencies) or
221 (searches the port name only)
224 For example, one would type:
226 .Dl "cd /usr/ports && make search name=query"
228 to find all ports whose
231 Results include the matching ports' path, comment, maintainer,
232 build dependencies, and run dependencies.
235 .Pa /usr/ports/INDEX ,
243 file in the CVS repository is periodically
246 target will ensure your
248 file is up to date with your ports tree.
251 You can change all of these.
252 .Bl -tag -width ".Va MASTER_SITES"
254 Location of the ports tree.
266 Where to create any temporary files.
269 is read-only (perhaps mounted from a CD-ROM).
271 Where to find/put distfiles, normally
278 target; the base directory for the packages tree, normally
282 If this directory exists, the package tree will be (partially) constructed.
283 This directory does not have to exist; if it does not, packages will be
284 placed into the current directory, or you can define one of
285 .Bl -tag -width ".Va PKGREPOSITORY"
287 Directory to put the package in.
289 The full path to the package.
292 Where to install things in general
298 Primary sites for distribution files if not found locally.
300 Primary locations for distribution patch files if not found
302 .It Va MASTER_SITE_FREEBSD
303 If set, go to the master
306 .It Va MASTER_SITE_OVERRIDE
307 Try going to this site for all files and patches, first.
308 .It Va NOCLEANDEPENDS
309 If defined, do not let
311 recurse to dependencies.
313 Command to use to fetch files.
316 .It Va FORCE_PKG_REGISTER
317 If set, overwrite any existing package registration on the system.
320 .Pa libXm. Ns Brq Pa a , Ns Pa so .
322 If defined, only operate on a port if it requires interaction.
324 If defined, only operate on a port if it can be installed 100% automatically.
327 .Bl -tag -width ".Pa /usr/ports/Mk/bsd.port.mk" -compact
329 The default ports directory
335 The default ports directory
338 DragonFly override ports
339 .It Pa /usr/ports/Mk/bsd.port.mk
350 The following are part of the ports collection:
356 .%B "The FreeBSD Handbook"
359 .Pa http://www.FreeBSD.org/ports
360 (searchable index of all ports)
363 This man page was originated by
365 The ports collection is maintained by
367 and the Awesome Ports Team.
372 It has since spread to
377 Ports documentation is split over four places \(em
378 .Pa /usr/ports/Mk/bsd.port.mk ,
379 .%B "The Porter's Handbook" ,
381 .Dq "Packages and Ports"
383 .%B "The FreeBSD Handbook" ,
387 This man page is too long.