xref: /freebsd/share/man/man7/ports.7 (revision 225636dccbfd160caa9a034cc050a09be0da1c25)
14000f72fSDavid E. O'Brien.\"
24000f72fSDavid E. O'Brien.\" Copyright (c) 1997 David E. O'Brien
34000f72fSDavid E. O'Brien.\"
44000f72fSDavid E. O'Brien.\" All rights reserved.
54000f72fSDavid E. O'Brien.\"
64000f72fSDavid E. O'Brien.\" Redistribution and use in source and binary forms, with or without
74000f72fSDavid E. O'Brien.\" modification, are permitted provided that the following conditions
84000f72fSDavid E. O'Brien.\" are met:
94000f72fSDavid E. O'Brien.\" 1. Redistributions of source code must retain the above copyright
104000f72fSDavid E. O'Brien.\"    notice, this list of conditions and the following disclaimer.
114000f72fSDavid E. O'Brien.\" 2. Redistributions in binary form must reproduce the above copyright
124000f72fSDavid E. O'Brien.\"    notice, this list of conditions and the following disclaimer in the
134000f72fSDavid E. O'Brien.\"    documentation and/or other materials provided with the distribution.
144000f72fSDavid E. O'Brien.\"
154000f72fSDavid E. O'Brien.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
164000f72fSDavid E. O'Brien.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
174000f72fSDavid E. O'Brien.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
184000f72fSDavid E. O'Brien.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
194000f72fSDavid E. O'Brien.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
204000f72fSDavid E. O'Brien.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
214000f72fSDavid E. O'Brien.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
224000f72fSDavid E. O'Brien.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
234000f72fSDavid E. O'Brien.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
244000f72fSDavid E. O'Brien.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
254000f72fSDavid E. O'Brien.\"
267f3dea24SPeter Wemm.\" $FreeBSD$
274000f72fSDavid E. O'Brien.\"
289ef6fea6SGlen Barber.Dd June 6, 2014
294000f72fSDavid E. O'Brien.Dt PORTS 7
303d45e180SRuslan Ermilov.Os
314000f72fSDavid E. O'Brien.Sh NAME
324000f72fSDavid E. O'Brien.Nm ports
334000f72fSDavid E. O'Brien.Nd contributed applications
344000f72fSDavid E. O'Brien.Sh DESCRIPTION
354000f72fSDavid E. O'BrienThe
36b5c508fbSRuslan Ermilov.Fx
370412d17cSRuslan ErmilovPorts Collection
384000f72fSDavid E. O'Brienoffers a simple way for users and
394000f72fSDavid E. O'Brienadministrators to install applications.
404000f72fSDavid E. O'BrienEach
4165dfa7aaSTim Vanderhoek.Em port
4265dfa7aaSTim Vanderhoekcontains any patches necessary to make the original
43753d686dSRuslan Ermilovapplication source code compile and run on
44481974c2SEitan Adler.Fx .
45753d686dSRuslan ErmilovCompiling an
4665dfa7aaSTim Vanderhoekapplication is as simple as typing
470412d17cSRuslan Ermilov.Nm make Cm build
480412d17cSRuslan Ermilovin the port directory!
490412d17cSRuslan ErmilovThe
500412d17cSRuslan Ermilov.Pa Makefile
51e4b22b63SDavid E. O'Brienautomatically fetches the
520412d17cSRuslan Ermilovapplication source code, either from a local disk or via FTP, unpacks it
530412d17cSRuslan Ermilovon your system, applies the patches, and compiles it.
540412d17cSRuslan ErmilovIf all goes well,
554000f72fSDavid E. O'Briensimply type
560412d17cSRuslan Ermilov.Nm make Cm install
574000f72fSDavid E. O'Briento install the application.
584000f72fSDavid E. O'Brien.Pp
594000f72fSDavid E. O'BrienFor more information about using ports, see
600412d17cSRuslan Ermilov.Dq "Packages and Ports"
615d3d0230SMurray Stokelyin
620412d17cSRuslan Ermilov.%B "The FreeBSD Handbook" ,
63a5d31106SGiorgos Keramidas.Pa ( file:/usr/share/doc/en_US.ISO8859-1/books/handbook/ports.html
640412d17cSRuslan Ermilovor
65a5d31106SGiorgos Keramidas.Pa http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/ports.html ) .
664000f72fSDavid E. O'BrienFor information about creating new ports, see
670412d17cSRuslan Ermilov.%B "The Porter's Handbook"
687b935904SChristian Brueffer.Pa ( file:/usr/share/doc/en_US.ISO8859-1/books/porters-handbook/index.html
690412d17cSRuslan Ermilovor
701061be04SMarc Fonvieille.Pa http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/ ) .
71e4b22b63SDavid E. O'Brien.Sh TARGETS
7265dfa7aaSTim VanderhoekSome of the targets work recursively through subdirectories.
730412d17cSRuslan ErmilovThis lets you, for example, install all of the
740412d17cSRuslan Ermilov.Dq Li biology
750412d17cSRuslan Ermilovports.
760412d17cSRuslan ErmilovThe targets that do this are
770412d17cSRuslan Ermilov.Cm build , checksum , clean , configure ,
780412d17cSRuslan Ermilov.Cm depends , extract , fetch , install ,
7965dfa7aaSTim Vanderhoekand
800412d17cSRuslan Ermilov.Cm package .
8165dfa7aaSTim Vanderhoek.Pp
8265dfa7aaSTim VanderhoekThe following targets will be run automatically by each proceeding
830412d17cSRuslan Ermilovtarget in order.
840412d17cSRuslan ErmilovThat is,
850412d17cSRuslan Ermilov.Cm build
8665dfa7aaSTim Vanderhoekwill be run
87c4d9468eSRuslan Ermilov(if necessary)
8865dfa7aaSTim Vanderhoekby
890412d17cSRuslan Ermilov.Cm install ,
9065dfa7aaSTim Vanderhoekand so on all the way to
910412d17cSRuslan Ermilov.Cm fetch .
92019de50bSDima DorfmanUsually, you will only use the
930412d17cSRuslan Ermilov.Cm install
94019de50bSDima Dorfmantarget.
950412d17cSRuslan Ermilov.Bl -tag -width ".Cm configure"
9603687bafSKirill Ponomarev.It Cm config
9703687bafSKirill PonomarevConfigure
9803687bafSKirill Ponomarev.Va OPTIONS
9903687bafSKirill Ponomarevfor this port using
100ae41fe61SEitan Adler.Xr dialog4ports 1 .
1010412d17cSRuslan Ermilov.It Cm fetch
1020412d17cSRuslan ErmilovFetch all of the files needed to build this port from the sites
1030412d17cSRuslan Ermilovlisted in
1040412d17cSRuslan Ermilov.Va MASTER_SITES
10565dfa7aaSTim Vanderhoekand
1060412d17cSRuslan Ermilov.Va PATCH_SITES .
1070412d17cSRuslan ErmilovSee
108e57fe046SKirill Ponomarev.Va FETCH_CMD , MASTER_SITE_OVERRIDE
1090412d17cSRuslan Ermilovand
110e57fe046SKirill Ponomarev.Va MASTER_SITE_BACKUP .
1110412d17cSRuslan Ermilov.It Cm checksum
112019de50bSDima DorfmanVerify that the fetched distfile's checksum matches the one the port was
113019de50bSDima Dorfmantested against.
11467900914SBenedict ReuschlingIf the distfile's checksum does not match, it also fetches the distfiles
11567900914SBenedict Reuschlingwhich are missing or failed the checksum calculation.
11665dfa7aaSTim VanderhoekDefining
1170412d17cSRuslan Ermilov.Va NO_CHECKSUM
11865dfa7aaSTim Vanderhoekwill skip this step.
1190412d17cSRuslan Ermilov.It Cm depends
12065dfa7aaSTim VanderhoekInstall
121c4d9468eSRuslan Ermilov(or compile if only compilation is necessary)
1220412d17cSRuslan Ermilovany dependencies of the current port.
1230412d17cSRuslan ErmilovWhen called by the
1240412d17cSRuslan Ermilov.Cm extract
12565dfa7aaSTim Vanderhoekor
1260412d17cSRuslan Ermilov.Cm fetch
12765dfa7aaSTim Vanderhoektargets, this is run in piecemeal as
1280412d17cSRuslan Ermilov.Cm fetch-depends , build-depends ,
1290412d17cSRuslan Ermilovetc.
1300412d17cSRuslan ErmilovDefining
1310412d17cSRuslan Ermilov.Va NO_DEPENDS
13265dfa7aaSTim Vanderhoekwill skip this step.
1330412d17cSRuslan Ermilov.It Cm extract
13465dfa7aaSTim VanderhoekExpand the distfile into a work directory.
1350412d17cSRuslan Ermilov.It Cm patch
13665dfa7aaSTim VanderhoekApply any patches that are necessary for the port.
1370412d17cSRuslan Ermilov.It Cm configure
1380412d17cSRuslan ErmilovConfigure the port.
1390412d17cSRuslan ErmilovSome ports will ask you questions during this stage.
1400412d17cSRuslan ErmilovSee
1410412d17cSRuslan Ermilov.Va INTERACTIVE
14265dfa7aaSTim Vanderhoekand
1430412d17cSRuslan Ermilov.Va BATCH .
1440412d17cSRuslan Ermilov.It Cm build
1450412d17cSRuslan ErmilovBuild the port.
1460412d17cSRuslan ErmilovThis is the same as calling the
1470412d17cSRuslan Ermilov.Cm all
14865dfa7aaSTim Vanderhoektarget.
1490412d17cSRuslan Ermilov.It Cm install
1500412d17cSRuslan ErmilovInstall the port and register it with the package system.
1510412d17cSRuslan ErmilovThis is all you really need to do.
15265dfa7aaSTim Vanderhoek.El
15365dfa7aaSTim Vanderhoek.Pp
15465dfa7aaSTim VanderhoekThe following targets are not run during the normal install process.
15556e37108SGiorgos Keramidas.Bl -tag -width ".Cm fetch-recursive"
15603687bafSKirill Ponomarev.It Cm showconfig
15703687bafSKirill PonomarevDisplay
15803687bafSKirill Ponomarev.Va OPTIONS
15903687bafSKirill Ponomarevconfig for this port.
160a571610dSKirill Ponomarev.It Cm showconfig-recursive
161a571610dSKirill PonomarevDisplay
162a571610dSKirill Ponomarev.Va OPTIONS
163a571610dSKirill Ponomarevconfig for this port and all its dependencies.
16403687bafSKirill Ponomarev.It Cm rmconfig
16503687bafSKirill PonomarevRemove
16603687bafSKirill Ponomarev.Va OPTIONS
16703687bafSKirill Ponomarevconfig for this port.
168a571610dSKirill Ponomarev.It Cm rmconfig-recursive
169a571610dSKirill PonomarevRemove
170a571610dSKirill Ponomarev.Va OPTIONS
171a571610dSKirill Ponomarevconfig for this port and all its dependencies.
172a571610dSKirill Ponomarev.It Cm config-conditional
173a571610dSKirill PonomarevSkip the ports which have already had their
174a571610dSKirill Ponomarev.Va OPTIONS
175a571610dSKirill Ponomarevconfigured.
176039b8701STom Rhodes.It Cm config-recursive
177039b8701STom RhodesConfigure
178039b8701STom Rhodes.Va OPTIONS
179039b8701STom Rhodesfor this port and all its dependencies using
180ae41fe61SEitan Adler.Xr dialog4ports 1 .
1810412d17cSRuslan Ermilov.It Cm fetch-list
18203687bafSKirill PonomarevShow list of files to be fetched in order to build the port.
18356e37108SGiorgos Keramidas.It Cm fetch-recursive
18456e37108SGiorgos KeramidasFetch the distfiles of the port and all its dependencies.
185515ba752SChristian Brueffer.It Cm fetch-recursive-list
186515ba752SChristian BruefferShow list of files that would be retrieved by
187515ba752SChristian Brueffer.Cm fetch-recursive .
188d40caf29SThomas Abthorpe.It Cm run-depends-list , build-depends-list
189d40caf29SThomas AbthorpePrint a list of all the compile and run dependencies, and dependencies
190d40caf29SThomas Abthorpeof those dependencies, by port directory.
191039b8701STom Rhodes.It Cm all-depends-list
192039b8701STom RhodesPrint a list of all dependencies for the port.
1930412d17cSRuslan Ermilov.It Cm pretty-print-run-depends-list , pretty-print-build-depends-list
19465dfa7aaSTim VanderhoekPrint a list of all the compile and run dependencies, and dependencies
195d40caf29SThomas Abthorpeof those dependencies, by port name and version.
196c8ff7e9eSPav Lucistnik.It Cm missing
197c8ff7e9eSPav LucistnikPrint a list of missing dependencies to be installed for the port.
1980412d17cSRuslan Ermilov.It Cm clean
1990412d17cSRuslan ErmilovRemove the expanded source code.
2000412d17cSRuslan ErmilovThis recurses to dependencies unless
2010412d17cSRuslan Ermilov.Va NOCLEANDEPENDS
20265dfa7aaSTim Vanderhoekis defined.
2030412d17cSRuslan Ermilov.It Cm distclean
2040412d17cSRuslan ErmilovRemove the port's distfiles and perform the
2050412d17cSRuslan Ermilov.Cm clean
206019de50bSDima Dorfmantarget.
207019de50bSDima DorfmanThe
2080412d17cSRuslan Ermilov.Cm clean
20965dfa7aaSTim Vanderhoekportion recurses to dependencies unless
2100412d17cSRuslan Ermilov.Va NOCLEANDEPENDS
21165dfa7aaSTim Vanderhoekis defined, but the
2120412d17cSRuslan Ermilov.Cm distclean
21365dfa7aaSTim Vanderhoekportion never recurses
214c4d9468eSRuslan Ermilov(this is perhaps a bug).
2150412d17cSRuslan Ermilov.It Cm reinstall
21665dfa7aaSTim VanderhoekUse this to restore a port after using
217*225636dcSEdward Tomasz Napierala.Xr pkg-delete 8
21865dfa7aaSTim Vanderhoekwhen you should have used
2190412d17cSRuslan Ermilov.Cm deinstall .
2200412d17cSRuslan Ermilov.It Cm deinstall
22165dfa7aaSTim VanderhoekRemove an installed port from the system, similar to
222*225636dcSEdward Tomasz Napierala.Xr pkg-delete 8 .
223515ba752SChristian Brueffer.It Cm deinstall-all
224515ba752SChristian BruefferRemove all installed ports with the same
225515ba752SChristian Brueffer.Va PKGORIGIN
226515ba752SChristian Bruefferfrom the system.
2270412d17cSRuslan Ermilov.It Cm package
2280412d17cSRuslan ErmilovMake a binary package for the port.
2290412d17cSRuslan ErmilovThe port will be installed if it has not already been.
2300412d17cSRuslan ErmilovThe package is a
23181c4ddbfSChristian Brueffer.Pa .tbz
2320412d17cSRuslan Ermilovfile that you can use to
23365dfa7aaSTim Vanderhoekinstall the port on other machines with
234*225636dcSEdward Tomasz Napierala.Xr pkg-add 8 .
23565dfa7aaSTim VanderhoekIf the directory specified by
2360412d17cSRuslan Ermilov.Va PACKAGES
2370412d17cSRuslan Ermilovdoes not exist, the package will be put into the current directory.
23883d04c76STim VanderhoekSee
2390412d17cSRuslan Ermilov.Va PKGREPOSITORY
24083d04c76STim Vanderhoekand
2410412d17cSRuslan Ermilov.Va PKGFILE .
2428c3bfd69SChristian Brueffer.It Cm package-recursive
2438c3bfd69SChristian BruefferLike
2448c3bfd69SChristian Brueffer.Cm package ,
2458c3bfd69SChristian Bruefferbut makes a package for each depending port as well.
246d40caf29SThomas Abthorpe.It Cm package-name
247d40caf29SThomas AbthorpePrints the name with version of the port.
2480412d17cSRuslan Ermilov.It Cm readmes
24983d04c76STim VanderhoekCreate a port's
25083d04c76STim Vanderhoek.Pa README.html .
2516b4c0736STim VanderhoekThis can be used from
2526b4c0736STim Vanderhoek.Pa /usr/ports
2536b4c0736STim Vanderhoekto create a browsable web of all ports on your system!
2540412d17cSRuslan Ermilov.It Cm search
255019de50bSDima DorfmanSearch the
256019de50bSDima Dorfman.Pa INDEX
25765d476e0SKirill Ponomarevfile for the pattern specified by the
2580412d17cSRuslan Ermilov.Va key
25965d476e0SKirill Ponomarev(searches the port name, comment, and dependencies),
2600412d17cSRuslan Ermilov.Va name
26165d476e0SKirill Ponomarev(searches the port name only),
26265d476e0SKirill Ponomarev.Va path
26365d476e0SKirill Ponomarev(searches the port path),
26465d476e0SKirill Ponomarev.Va info
26565d476e0SKirill Ponomarev(searches the port info),
26665d476e0SKirill Ponomarev.Va maint
26765d476e0SKirill Ponomarev(searches the port maintainer),
26865d476e0SKirill Ponomarev.Va cat
26965d476e0SKirill Ponomarev(searches the port category),
27065d476e0SKirill Ponomarev.Va bdeps
27165d476e0SKirill Ponomarev(searches the port build-time dependency),
27265d476e0SKirill Ponomarev.Va rdeps
2731ea65ec7SGabor Kovesdan(searches the port run-time dependency),
2741ea65ec7SGabor Kovesdan.Va www
2751ea65ec7SGabor Kovesdan(searches the port web site)
2760412d17cSRuslan Ermilov.Xr make 1
27765d476e0SKirill Ponomarevvariables, and their exclusion counterparts:
27865d476e0SKirill Ponomarev.Va xname , xkey
27965d476e0SKirill Ponomarevetc.
280019de50bSDima DorfmanFor example, one would type:
281019de50bSDima Dorfman.Pp
2820412d17cSRuslan Ermilov.Dl "cd /usr/ports && make search name=query"
283019de50bSDima Dorfman.Pp
284019de50bSDima Dorfmanto find all ports whose
285019de50bSDima Dorfmanname matches
2860412d17cSRuslan Ermilov.Dq Li query .
287019de50bSDima DorfmanResults include the matching ports' path, comment, maintainer,
288019de50bSDima Dorfmanbuild dependencies, and run dependencies.
28965d476e0SKirill Ponomarev.Bd -literal -offset indent
29065d476e0SKirill Ponomarevcd /usr/ports && make search name=pear- \e
29165d476e0SKirill Ponomarev    xbdeps=apache
29265d476e0SKirill Ponomarev.Ed
29365d476e0SKirill Ponomarev.Pp
29465d476e0SKirill PonomarevTo find all ports whose
29565d476e0SKirill Ponomarevnames contain
29665d476e0SKirill Ponomarev.Dq Li pear-
29765d476e0SKirill Ponomarevand which do not have apache
29865d476e0SKirill Ponomarevlisted in build-time dependencies.
29965d476e0SKirill Ponomarev.Bd -literal -offset indent
30065d476e0SKirill Ponomarevcd /usr/ports && make search name=pear- \e
30165d476e0SKirill Ponomarev    xname='ht(tp|ml)'
30265d476e0SKirill Ponomarev.Ed
30365d476e0SKirill Ponomarev.Pp
30465d476e0SKirill PonomarevTo find all ports whose names contain
30565d476e0SKirill Ponomarev.Dq Li pear- ,
30665d476e0SKirill Ponomarevbut not
30765d476e0SKirill Ponomarev.Dq Li html
30865d476e0SKirill Ponomarevor
30965d476e0SKirill Ponomarev.Dq Li http .
31065d476e0SKirill Ponomarev.Bd -literal -offset indent
31165d476e0SKirill Ponomarevmake search key=apache display=name,path,info keylim=1
31265d476e0SKirill Ponomarev.Ed
31365d476e0SKirill Ponomarev.Pp
31465d476e0SKirill PonomarevTo find ports that contain
31565d476e0SKirill Ponomarev.Dq Li apache
31665d476e0SKirill Ponomarevin either of the name, path, info
31765d476e0SKirill Ponomarevfields, ignore the rest of the record.
3181ea65ec7SGabor Kovesdan.Pp
319f283c8f8SJens SchweikhardtBy default the search is not case-sensitive.
3201ea65ec7SGabor KovesdanIn order to make it case-sensitive you can use the
3211ea65ec7SGabor Kovesdan.Va icase
3221ea65ec7SGabor Kovesdanvariable:
3231ea65ec7SGabor Kovesdan.Bd -literal -offset indent
3241ea65ec7SGabor Kovesdanmake search name=p5-R icase=0
3251ea65ec7SGabor Kovesdan.Ed
326be3253caSMaxim Konovalov.It Cm quicksearch
327be3253caSMaxim KonovalovReduced
328be3253caSMaxim Konovalov.Cm search
329be3253caSMaxim Konovalovoutput.
330be3253caSMaxim KonovalovOnly display name, path and info.
33103687bafSKirill Ponomarev.It Cm describe
33203687bafSKirill PonomarevGenerate a one-line description of each port for use in the
33303687bafSKirill Ponomarev.Pa INDEX
33403687bafSKirill Ponomarevfile.
335724c0a23SChristian Brueffer.It Cm maintainer
336724c0a23SChristian BruefferDisplay the port maintainer's email address.
3370412d17cSRuslan Ermilov.It Cm index
338019de50bSDima DorfmanCreate
339019de50bSDima Dorfman.Pa /usr/ports/INDEX ,
340019de50bSDima Dorfmanwhich is used by the
3410412d17cSRuslan Ermilov.Cm pretty-print-*
342019de50bSDima Dorfmanand
3430412d17cSRuslan Ermilov.Cm search
344019de50bSDima Dorfmantargets.
3457585929eSKirill PonomarevRunning the
3460412d17cSRuslan Ermilov.Cm index
3470412d17cSRuslan Ermilovtarget will ensure your
3480412d17cSRuslan Ermilov.Pa INDEX
3490412d17cSRuslan Ermilovfile is up to date with your ports tree.
3507585929eSKirill Ponomarev.It Cm fetchindex
3517585929eSKirill PonomarevFetch the
3527585929eSKirill Ponomarev.Pa INDEX
3537585929eSKirill Ponomarevfile from the
3547585929eSKirill Ponomarev.Fx
3557585929eSKirill Ponomarevcluster.
3563136363fSRuslan Ermilov.El
357def37e7cSMike Pritchard.Sh ENVIRONMENT
35865dfa7aaSTim VanderhoekYou can change all of these.
3590412d17cSRuslan Ermilov.Bl -tag -width ".Va MASTER_SITES"
3600412d17cSRuslan Ermilov.It Va PORTSDIR
3610412d17cSRuslan ErmilovLocation of the ports tree.
3620412d17cSRuslan ErmilovThis is
36365dfa7aaSTim Vanderhoek.Pa /usr/ports
36465dfa7aaSTim Vanderhoekon
365b5c508fbSRuslan Ermilov.Fx
366e4b22b63SDavid E. O'Brienand
3670412d17cSRuslan Ermilov.Ox ,
36865dfa7aaSTim Vanderhoekand
36965dfa7aaSTim Vanderhoek.Pa /usr/pkgsrc
37065dfa7aaSTim Vanderhoekon
37165dfa7aaSTim Vanderhoek.Nx .
3720412d17cSRuslan Ermilov.It Va WRKDIRPREFIX
3730412d17cSRuslan ErmilovWhere to create any temporary files.
3740412d17cSRuslan ErmilovUseful if
3750412d17cSRuslan Ermilov.Va PORTSDIR
3760412d17cSRuslan Ermilovis read-only (perhaps mounted from a CD-ROM).
3770412d17cSRuslan Ermilov.It Va DISTDIR
37865dfa7aaSTim VanderhoekWhere to find/put distfiles, normally
37965dfa7aaSTim Vanderhoek.Pa distfiles/
38065dfa7aaSTim Vanderhoekin
3810412d17cSRuslan Ermilov.Va PORTSDIR .
3820412d17cSRuslan Ermilov.It Va PACKAGES
38365dfa7aaSTim VanderhoekUsed only for the
3840412d17cSRuslan Ermilov.Cm package
38565dfa7aaSTim Vanderhoektarget; the base directory for the packages tree, normally
38665dfa7aaSTim Vanderhoek.Pa packages/
38765dfa7aaSTim Vanderhoekin
3880412d17cSRuslan Ermilov.Va PORTSDIR .
38965dfa7aaSTim VanderhoekIf this directory exists, the package tree will be (partially) constructed.
3900412d17cSRuslan ErmilovThis directory does not have to exist; if it does not, packages will be
39183d04c76STim Vanderhoekplaced into the current directory, or you can define one of
3920412d17cSRuslan Ermilov.Bl -tag -width ".Va PKGREPOSITORY"
3930412d17cSRuslan Ermilov.It Va PKGREPOSITORY
39483d04c76STim VanderhoekDirectory to put the package in.
3950412d17cSRuslan Ermilov.It Va PKGFILE
39665dfa7aaSTim VanderhoekThe full path to the package.
39765dfa7aaSTim Vanderhoek.El
398eed1dcabSEitan Adler.It Va LOCALBASE
399eed1dcabSEitan AdlerWhere existing things are installed and where to search for files when
400eed1dcabSEitan Adlerresolving dependencies (usually
4019a0e6be2SXin LI.Pa /usr/local ) .
402eed1dcabSEitan Adler.It Va PREFIX
403eed1dcabSEitan AdlerWhere to install this port (usually set to the same as
404eed1dcabSEitan Adler.Va LOCALBASE ) .
4050412d17cSRuslan Ermilov.It Va MASTER_SITES
406e4b22b63SDavid E. O'BrienPrimary sites for distribution files if not found locally.
4070412d17cSRuslan Ermilov.It Va PATCH_SITES
4080412d17cSRuslan ErmilovPrimary locations for distribution patch files if not found
409e4b22b63SDavid E. O'Brienlocally.
4100412d17cSRuslan Ermilov.It Va MASTER_SITE_FREEBSD
411b5c508fbSRuslan ErmilovIf set, go to the master
412b5c508fbSRuslan Ermilov.Fx
413b5c508fbSRuslan Ermilovsite for all files.
4140412d17cSRuslan Ermilov.It Va MASTER_SITE_OVERRIDE
415b81d803eSRuslan ErmilovTry going to these sites for all files and patches, first.
416e57fe046SKirill Ponomarev.It Va MASTER_SITE_BACKUP
417e57fe046SKirill PonomarevTry going to these sites for all files and patches, last.
4181f568fb2SPav Lucistnik.It Va RANDOMIZE_MASTER_SITES
4191f568fb2SPav LucistnikTry the download locations in a random order.
4201f568fb2SPav Lucistnik.It Va MASTER_SORT
4211f568fb2SPav LucistnikSort the download locations according to user supplied pattern.
4221f568fb2SPav LucistnikExample:
4231f568fb2SPav Lucistnik.Dl .dk .sunet.se .se dk.php.net .no .de heanet.dl.sourceforge.net
424e57fe046SKirill Ponomarev.It Va MASTER_SITE_INDEX
425e57fe046SKirill PonomarevWhere to get
426e57fe046SKirill Ponomarev.Pa INDEX
427e57fe046SKirill Ponomarevsource built on
428e57fe046SKirill Ponomarev.Fx
429e57fe046SKirill Ponomarevcluster (for
430e57fe046SKirill Ponomarev.Cm fetchindex
431e57fe046SKirill Ponomarevtarget).
432e57fe046SKirill PonomarevDefaults to
433e57fe046SKirill Ponomarev.Pa http://www.FreeBSD.org/ports/ .
434e57fe046SKirill Ponomarev.It Va FETCHINDEX
435e57fe046SKirill PonomarevCommand to get
436e57fe046SKirill Ponomarev.Pa INDEX
437e57fe046SKirill Ponomarev(for
438e57fe046SKirill Ponomarev.Cm fetchindex
439e57fe046SKirill Ponomarevtarget).
440e57fe046SKirill PonomarevDefaults to
441e57fe046SKirill Ponomarev.Dq Nm fetch Fl am .
4420412d17cSRuslan Ermilov.It Va NOCLEANDEPENDS
4430412d17cSRuslan ErmilovIf defined, do not let
4440412d17cSRuslan Ermilov.Cm clean
44565dfa7aaSTim Vanderhoekrecurse to dependencies.
4460412d17cSRuslan Ermilov.It Va FETCH_CMD
4470412d17cSRuslan ErmilovCommand to use to fetch files.
4480412d17cSRuslan ErmilovNormally
44965dfa7aaSTim Vanderhoek.Xr fetch 1 .
4500412d17cSRuslan Ermilov.It Va FORCE_PKG_REGISTER
45165dfa7aaSTim VanderhoekIf set, overwrite any existing package registration on the system.
4520412d17cSRuslan Ermilov.It Va MOTIFLIB
4530412d17cSRuslan ErmilovLocation of
4540412d17cSRuslan Ermilov.Pa libXm. Ns Brq Pa a , Ns Pa so .
4550412d17cSRuslan Ermilov.It Va INTERACTIVE
45665dfa7aaSTim VanderhoekIf defined, only operate on a port if it requires interaction.
4570412d17cSRuslan Ermilov.It Va BATCH
45865dfa7aaSTim VanderhoekIf defined, only operate on a port if it can be installed 100% automatically.
459949f900dSSimon L. B. Nielsen.It Va DISABLE_VULNERABILITIES
460949f900dSSimon L. B. NielsenIf defined, disable check for security vulnerabilities using
4619ef6fea6SGlen Barber.Xr pkg-audit 8
462949f900dSSimon L. B. Nielsenwhen installing new ports.
463068abd55SGiorgos Keramidas.It Va NO_IGNORE
464068abd55SGiorgos KeramidasIf defined, allow installation of ports marked as
465068abd55SGiorgos Keramidas.Aq Va FORBIDDEN .
466068abd55SGiorgos KeramidasThe default behavior of the Ports framework is to abort when the
467068abd55SGiorgos Keramidasinstallation of a forbidden port is attempted.
468068abd55SGiorgos KeramidasOf course, these ports may not work as expected, but if you really know
469068abd55SGiorgos Keramidaswhat you are doing and are sure about installing a forbidden port, then
470068abd55SGiorgos Keramidas.Va NO_IGNORE
471068abd55SGiorgos Keramidaslets you do it.
472b7642c92SBenedict Reuschling.It Va NO_CHECKSUM
473b7642c92SBenedict ReuschlingIf defined, skip verifying the port's checksum.
4741583221bSGiorgos Keramidas.It Va TRYBROKEN
4751583221bSGiorgos KeramidasIf defined, attempt to build a port even if it is marked as
4761583221bSGiorgos Keramidas.Aq Va BROKEN .
477520a4bfdSGabor Kovesdan.It Va PORT_DBDIR
478520a4bfdSGabor KovesdanDirectory where the results of configuring
479520a4bfdSGabor Kovesdan.Va OPTIONS
480520a4bfdSGabor Kovesdanare stored.
481520a4bfdSGabor KovesdanDefaults to
482520a4bfdSGabor Kovesdan.Pa /var/db/ports .
483520a4bfdSGabor KovesdanEach port where
484520a4bfdSGabor Kovesdan.Va OPTIONS
485520a4bfdSGabor Kovesdanhave been configured will have a uniquely named sub-directory, containing a
486520a4bfdSGabor Kovesdansingle file
487520a4bfdSGabor Kovesdan.Pa options .
48865dfa7aaSTim Vanderhoek.El
48959be36b0SBenjamin Kaduk.Sh MAKE VARIABLES
49059be36b0SBenjamin KadukThe following list provides a name and short description for many of the
49159be36b0SBenjamin Kadukvariables that are used when building ports.
49259be36b0SBenjamin KadukMore information on these and other related variables may be found in
49359be36b0SBenjamin Kaduk.Pa ${PORTSDIR}/Mk/*
49459be36b0SBenjamin Kadukand the
49559be36b0SBenjamin Kaduk.Fx
49659be36b0SBenjamin KadukPorter's Handbook.
49759be36b0SBenjamin Kaduk.Bl -tag -width ".Va OVERRIDE_LINUX_BASE_PORT"
49859be36b0SBenjamin Kaduk.It Va WITH_OPENSSL_PORT
49959be36b0SBenjamin Kaduk.Pq Vt bool
50059be36b0SBenjamin KadukIf set, causes ports that make use of OpenSSL to use the OpenSSL from
50159be36b0SBenjamin Kadukports
50259be36b0SBenjamin Kaduk.Pq if available
50359be36b0SBenjamin Kadukinstead of the OpenSSL from the base system.
50459be36b0SBenjamin Kaduk.It Va WITH_DEBUG
50559be36b0SBenjamin Kaduk.Pq Vt bool
50659be36b0SBenjamin KadukIf set, debugging symbols are installed for ports binaries.
50759be36b0SBenjamin Kaduk.It Va WITH_DEBUG_PORTS
50859be36b0SBenjamin KadukA list of origins for which to set
50959be36b0SBenjamin Kaduk.Va WITH_DEBUG_PORTS .
51059be36b0SBenjamin Kaduk.It Va WITH_SSP_PORTS
51159be36b0SBenjamin Kaduk.Pq Vt bool
51259be36b0SBenjamin KadukIf set, enables
51359be36b0SBenjamin Kaduk.Fl fstack-protector
51459be36b0SBenjamin Kadukfor most ports.
51559be36b0SBenjamin Kaduk.It Va WITH_GHOSTSCRIPT_VER
51659be36b0SBenjamin KadukIf set, the version of ghostscript to be used by ports.
51759be36b0SBenjamin Kaduk.It Va OVERRIDE_LINUX_BASE_PORT
51859be36b0SBenjamin KadukThe default linux base to use.
51959be36b0SBenjamin Kaduk.It Va WITH_CCACHE_BUILD
52059be36b0SBenjamin Kaduk.Pq Vt bool
52159be36b0SBenjamin KadukIf set, enables the use of
52259be36b0SBenjamin Kaduk.Xr ccache 1
52359be36b0SBenjamin Kadukfor building ports.
52459be36b0SBenjamin Kaduk.It Va CCACHE_DIR
52559be36b0SBenjamin KadukWhich directory to use for the ccache data.
52659be36b0SBenjamin Kaduk.El
5274000f72fSDavid E. O'Brien.Sh FILES
5280412d17cSRuslan Ermilov.Bl -tag -width ".Pa /usr/ports/Mk/bsd.port.mk" -compact
5294000f72fSDavid E. O'Brien.It Pa /usr/ports
530b5c508fbSRuslan ErmilovThe default ports directory
531652627f0STim Vanderhoek.It Pa /usr/ports/Mk/bsd.port.mk
53265dfa7aaSTim VanderhoekThe big Kahuna.
5333136363fSRuslan Ermilov.El
5344000f72fSDavid E. O'Brien.Sh SEE ALSO
5354000f72fSDavid E. O'Brien.Xr make 1 ,
53659be36b0SBenjamin Kaduk.Xr make.conf 5 ,
5377a36e6d2SEitan Adler.Xr pkg 8 ,
5387a36e6d2SEitan Adler.Xr portsnap 8
539def37e7cSMike Pritchard.Pp
540def37e7cSMike PritchardThe following are part of the ports collection:
541def37e7cSMike Pritchard.Pp
5429ef6fea6SGlen Barber.Xr pkg 7 ,
543ac8011f8SDavid E. O'Brien.Xr portlint 1
5440412d17cSRuslan Ermilov.Rs
5450412d17cSRuslan Ermilov.%B "The FreeBSD Handbook"
5460412d17cSRuslan Ermilov.Re
54765dfa7aaSTim Vanderhoek.Pp
5480412d17cSRuslan Ermilov.Pa http://www.FreeBSD.org/ports
549c4d9468eSRuslan Ermilov(searchable index of all ports)
5504000f72fSDavid E. O'Brien.Sh HISTORY
5510412d17cSRuslan ErmilovThe Ports Collection
5524000f72fSDavid E. O'Brienappeared in
5534000f72fSDavid E. O'Brien.Fx 1.0 .
5546b4c0736STim VanderhoekIt has since spread to
5556b4c0736STim Vanderhoek.Nx
5566b4c0736STim Vanderhoekand
5576b4c0736STim Vanderhoek.Ox .
5589cbda590SRuslan Ermilov.Sh AUTHORS
5599cbda590SRuslan Ermilov.An -nosplit
5609cbda590SRuslan ErmilovThis manual page was originated by
5619cbda590SRuslan Ermilov.An David O'Brien .
56265dfa7aaSTim Vanderhoek.Sh BUGS
5630412d17cSRuslan ErmilovPorts documentation is split over four places \(em
5642693c8b9STim Vanderhoek.Pa /usr/ports/Mk/bsd.port.mk ,
5650412d17cSRuslan Ermilov.%B "The Porter's Handbook" ,
56665dfa7aaSTim Vanderhoekthe
5670412d17cSRuslan Ermilov.Dq "Packages and Ports"
5685d3d0230SMurray Stokelychapter of
5690412d17cSRuslan Ermilov.%B "The FreeBSD Handbook" ,
5705d3d0230SMurray Stokelyand
571949f900dSSimon L. B. Nielsenthis manual page.
572