mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-20 11:11:24 +00:00
353 lines
9.0 KiB
Groff
353 lines
9.0 KiB
Groff
.\"
|
|
.\" Copyright (c) 1997 David E. O'Brien
|
|
.\"
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
|
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.\"
|
|
.Dd January 25, 1998
|
|
.Dt PORTS 7
|
|
.Os
|
|
.Sh NAME
|
|
.Nm ports
|
|
.Nd contributed applications
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Fx
|
|
.Nm Ports Collection
|
|
offers a simple way for users and
|
|
administrators to install applications.
|
|
Each
|
|
.Em port
|
|
contains any patches necessary to make the original
|
|
application source code compile and run on
|
|
.Bx .
|
|
Compiling an
|
|
application is as simple as typing
|
|
.Ic make build
|
|
in the port directory! The
|
|
.Ql Pa Makefile
|
|
automatically fetches the
|
|
application source code, either from a local disk or via ftp, unpacks it
|
|
on your system, applies the patches, and compiles it. If all goes well,
|
|
simply type
|
|
.Ic make install
|
|
to install the application.
|
|
.Pp
|
|
It is possible to download and use ports from the
|
|
.Fx
|
|
repository
|
|
that are newer than the installed system; however it is important to
|
|
install the appropriate "Upgrade Kit" from http://www.FreeBSD.org/ports/
|
|
first! The
|
|
.Xr portcheckout 1
|
|
script (also a port, of course!) will help to download new ports.
|
|
.Pp
|
|
For more information about using ports, see
|
|
.Nm The Ports Collection
|
|
(file:/usr/share/doc/handbook/ports.html --or--
|
|
http://www.FreeBSD.org/handbook/ports.html).
|
|
For information about creating new ports, see
|
|
.Nm Porting applications
|
|
(file:/usr/share/doc/handbook/porting.html --or--
|
|
http://www.FreeBSD.org/handbook/porting.html).
|
|
Both are part of the
|
|
.Fx
|
|
Handbook.
|
|
.Sh TARGETS
|
|
Some of the targets work recursively through subdirectories.
|
|
This lets you, for example, install all of the biology
|
|
ports. The targets that do this are
|
|
.Ar build , checksum , clean , configure ,
|
|
.Ar depends , extract , fetch , install ,
|
|
and
|
|
.Ar package .
|
|
.Pp
|
|
The following targets will be run automatically by each proceeding
|
|
target in order. That is,
|
|
.Ar build
|
|
will be run
|
|
(if necessary)
|
|
by
|
|
.Ar install ,
|
|
and so on all the way to
|
|
.Ar fetch .
|
|
Usually, you will only use the
|
|
.Ar install
|
|
target.
|
|
.Bl -tag -width configure
|
|
.It Ar fetch
|
|
Fetch all of the files needed to build this port from the site(s)
|
|
listed in MASTER_SITES and PATCH_SITES. See
|
|
.Ev FETCH_CMD
|
|
and
|
|
.Ev MASTER_SITE_OVERRIDE .
|
|
.It Ar checksum
|
|
Verify that the fetched distfile's checksum matches the one the port was
|
|
tested against.
|
|
Defining
|
|
.Ev NO_CHECKSUM
|
|
will skip this step.
|
|
.It Ar depends
|
|
Install
|
|
(or compile if only compilation is necessary)
|
|
any dependencies of the current port. When called by the
|
|
.Ar extract
|
|
or
|
|
.Ar fetch
|
|
targets, this is run in piecemeal as
|
|
.Ar fetch-depends ,
|
|
.Ar build-depends ,
|
|
etc. Defining
|
|
.Ev NO_DEPENDS
|
|
will skip this step.
|
|
.It Ar extract
|
|
Expand the distfile into a work directory.
|
|
.It Ar patch
|
|
Apply any patches that are necessary for the port.
|
|
.It Ar configure
|
|
Configure the port. Some ports will ask you questions during
|
|
this stage. See
|
|
.Ev INTERACTIVE
|
|
and
|
|
.Ev BATCH .
|
|
.It Ar build
|
|
Build the port. This is the same as calling the
|
|
.Ar all
|
|
target.
|
|
.It Ar install
|
|
Install the port and register it with the package system. This
|
|
is all you really need to do.
|
|
.El
|
|
.Pp
|
|
The following targets are not run during the normal install process.
|
|
.Bl -tag -width fetch-list
|
|
.It Ar fetch-list
|
|
Show list of files needed to be fetched in order to build the port.
|
|
.It Ar pretty-print-run-depends-list pretty-print-build-depends-list
|
|
Print a list of all the compile and run dependencies, and dependencies
|
|
of those dependencies.
|
|
.It Ar clean
|
|
Remove the expanded source code. This recurses to dependencies unless
|
|
.Ev NOCLEANDEPENDS
|
|
is defined.
|
|
.It Ar distclean
|
|
Remove the port's distfile(s) and perform the
|
|
.Ar clean
|
|
target.
|
|
The
|
|
.Sq clean
|
|
portion recurses to dependencies unless
|
|
.Ev NOCLEANDEPENDS
|
|
is defined, but the
|
|
.Sq distclean
|
|
portion never recurses
|
|
(this is perhaps a bug).
|
|
.It Ar reinstall
|
|
Use this to restore a port after using
|
|
.Xr pkg_delete 1
|
|
when you should have used
|
|
.Ar deinstall .
|
|
.It Ar deinstall
|
|
Remove an installed port from the system, similar to
|
|
.Xr pkg_delete 1 .
|
|
.It Ar package
|
|
Make a binary package for the port. The port will be installed if it
|
|
hasn't already been. The package is a .tgz file that you can use to
|
|
install the port on other machines with
|
|
.Xr pkg_add 1 .
|
|
If the directory specified by
|
|
.Ev PACKAGES
|
|
does not exist the package will be put into the current directory.
|
|
See
|
|
.Ev PKGREPOSITORY
|
|
and
|
|
.Ev PKGFILE .
|
|
.It Ar readmes
|
|
Create a port's
|
|
.Pa README.html .
|
|
This can be used from
|
|
.Pa /usr/ports
|
|
to create a browsable web of all ports on your system!
|
|
.It Ar search
|
|
Search the
|
|
.Pa INDEX
|
|
file for the pattern specified by either the
|
|
.Ar key
|
|
(searches the port name, comment, and dependencies) or
|
|
.Ar name
|
|
(just searches the port name) make argument.
|
|
For example, one would type:
|
|
.Pp
|
|
.Dl cd /usr/ports && make search name=query
|
|
.Pp
|
|
to find all ports whose
|
|
name matches
|
|
.Ql query .
|
|
Results include the matching ports' path, comment, maintainer,
|
|
build dependencies, and run dependencies.
|
|
.It Ar index
|
|
Create
|
|
.Pa /usr/ports/INDEX ,
|
|
which is used by the
|
|
.Ar pretty-print-*
|
|
and
|
|
.Ar search
|
|
targets.
|
|
While the master INDEX file in the CVS repository is periodically
|
|
updated, running the
|
|
.Ar index
|
|
target will ensure your INDEX file is up to date with your ports tree.
|
|
.El
|
|
.Sh ENVIRONMENT
|
|
You can change all of these.
|
|
.Bl -tag -width MASTER_SITES
|
|
.It Ev PORTSDIR
|
|
Location of the ports tree. This is
|
|
.Pa /usr/ports
|
|
on
|
|
.Fx
|
|
and
|
|
.Ox
|
|
and
|
|
.Pa /usr/pkgsrc
|
|
on
|
|
.Nx .
|
|
.It Ev WRKDIRPREFIX
|
|
Where to create any temporary files. Useful if
|
|
.Ev PORTSDIR
|
|
is read-only (perhaps mounted from a cdrom).
|
|
.It Ev DISTDIR
|
|
Where to find/put distfiles, normally
|
|
.Pa distfiles/
|
|
in
|
|
.Ev PORTSDIR .
|
|
.It Ev PACKAGES
|
|
Used only for the
|
|
.Ar package
|
|
target; the base directory for the packages tree, normally
|
|
.Pa packages/
|
|
in
|
|
.Ev PORTSDIR .
|
|
If this directory exists, the package tree will be (partially) constructed.
|
|
This directory does not have to exist; if it doesn't packages will be
|
|
placed into the current directory, or you can define one of
|
|
.Bl -tag -width PKGREPOSITORY
|
|
.It Ev PKGREPOSITORY
|
|
Directory to put the package in.
|
|
.It Ev PKGFILE
|
|
The full path to the package.
|
|
.El
|
|
.It Ev PREFIX
|
|
Where to install things in general
|
|
(usually
|
|
.Pa /usr/local
|
|
or
|
|
.Pa /usr/X11R6 )
|
|
.It Ev MASTER_SITES
|
|
Primary sites for distribution files if not found locally.
|
|
.It Ev PATCH_SITES
|
|
Primary location(s) for distribution patch files if not found
|
|
locally.
|
|
.It Ev MASTER_SITE_FREEBSD
|
|
If set, go to the master
|
|
.Fx
|
|
site for all files.
|
|
.It Ev MASTER_SITE_OVERRIDE
|
|
Try going to this site for all files and patches, first.
|
|
.It Ev NOCLEANDEPENDS
|
|
If defined, don't let
|
|
.Sq clean
|
|
recurse to dependencies.
|
|
.It Ev FETCH_CMD
|
|
Command to use to fetch files. Normally
|
|
.Xr fetch 1 .
|
|
.It Ev FORCE_PKG_REGISTER
|
|
If set, overwrite any existing package registration on the system.
|
|
.It Ev MOTIFLIB
|
|
Location of libXm.{a,so}.
|
|
.It Ev INTERACTIVE
|
|
If defined, only operate on a port if it requires interaction.
|
|
.It Ev BATCH
|
|
If defined, only operate on a port if it can be installed 100% automatically.
|
|
.El
|
|
.Sh FILES
|
|
.Bl -tag -width /usr/ports/xxxx -compact
|
|
.It Pa /usr/ports
|
|
The default ports directory
|
|
.No ( Fx
|
|
and
|
|
.Ox ) .
|
|
.It Pa /usr/pkgsrc
|
|
The default ports directory
|
|
.Pq Nx .
|
|
.It Pa /usr/ports/Mk/bsd.port.mk
|
|
The big Kahuna.
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr make 1 ,
|
|
.Xr pkg_add 1 ,
|
|
.Xr pkg_create 1 ,
|
|
.Xr pkg_delete 1 ,
|
|
.Xr pkg_info 1 ,
|
|
.Xr pkg_version 1
|
|
.Pp
|
|
The following are part of the ports collection:
|
|
.Pp
|
|
.Xr pib 1 ,
|
|
.Xr portcheckout 1 ,
|
|
.Xr portlint 1
|
|
.Pp
|
|
The
|
|
.Fx
|
|
handbook
|
|
.Pp
|
|
http://www.FreeBSD.org/ports
|
|
(searchable index of all ports)
|
|
.Sh AUTHORS
|
|
.An -nosplit
|
|
This man page was originated by
|
|
.An David O'Brien .
|
|
The ports collection is maintained by
|
|
.An Satoshi Asami
|
|
and the Awesome Ports Team.
|
|
.Sh HISTORY
|
|
.Nm The Ports Collection
|
|
appeared in
|
|
.Fx 1.0 .
|
|
It has since spread to
|
|
.Nx
|
|
and
|
|
.Ox .
|
|
.Sh BUGS
|
|
Ports documentation is split over four places ---
|
|
.Pa /usr/ports/Mk/bsd.port.mk ,
|
|
the
|
|
.Dq Ports Collection
|
|
section of the handbook, the
|
|
.Dq Porting Existing Software
|
|
section of the handbook, and
|
|
.Xr ports 7 .
|
|
.Pp
|
|
This man page is too long.
|