xref: /freebsd/share/man/man7/ports.7 (revision 1b3fba16dac00893a2e7b4b43e8ff840fdc1e045)
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.\"
28*1b3fba16SEdward Tomasz Napierala.Dd July 5, 2018
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.
4086b83608SEdward Tomasz NapieralaIt is also used to build the packages, to be installed using
4186b83608SEdward Tomasz Napierala.Xr pkg 8 .
424000f72fSDavid E. O'BrienEach
4365dfa7aaSTim Vanderhoek.Em port
4465dfa7aaSTim Vanderhoekcontains any patches necessary to make the original
45753d686dSRuslan Ermilovapplication source code compile and run on
46481974c2SEitan Adler.Fx .
47753d686dSRuslan ErmilovCompiling an
4865dfa7aaSTim Vanderhoekapplication is as simple as typing
490412d17cSRuslan Ermilov.Nm make Cm build
500412d17cSRuslan Ermilovin the port directory!
510412d17cSRuslan ErmilovThe
520412d17cSRuslan Ermilov.Pa Makefile
53e4b22b63SDavid E. O'Brienautomatically fetches the
540412d17cSRuslan Ermilovapplication source code, either from a local disk or via FTP, unpacks it
550412d17cSRuslan Ermilovon your system, applies the patches, and compiles it.
560412d17cSRuslan ErmilovIf all goes well,
574000f72fSDavid E. O'Briensimply type
580412d17cSRuslan Ermilov.Nm make Cm install
594000f72fSDavid E. O'Briento install the application.
604000f72fSDavid E. O'Brien.Pp
618f9c7371SEdward Tomasz NapieralaFor more information about using ports, see the
628f9c7371SEdward Tomasz Napierala.Dq "Packages and Ports" section
635d3d0230SMurray Stokelyin
648f9c7371SEdward Tomasz Napierala.%B "The FreeBSD Handbook":
658f9c7371SEdward Tomasz Napierala.Pp
668f9c7371SEdward Tomasz Napierala.Lk https://www.FreeBSD.org/doc/en/books/handbook/ports.html
678f9c7371SEdward Tomasz Napierala.Pp
688f9c7371SEdward Tomasz NapieralaFor information about creating new ports, see:
698f9c7371SEdward Tomasz Napierala.%B "The Porter's Handbook":
708f9c7371SEdward Tomasz Napierala.Pp
718f9c7371SEdward Tomasz Napierala.Lk https://www.FreeBSD.org/doc/en/books/porters-handbook/
72e4b22b63SDavid E. O'Brien.Sh TARGETS
7365dfa7aaSTim VanderhoekSome of the targets work recursively through subdirectories.
740412d17cSRuslan ErmilovThis lets you, for example, install all of the
750412d17cSRuslan Ermilov.Dq Li biology
760412d17cSRuslan Ermilovports.
770412d17cSRuslan ErmilovThe targets that do this are
780412d17cSRuslan Ermilov.Cm build , checksum , clean , configure ,
790412d17cSRuslan Ermilov.Cm depends , extract , fetch , install ,
8065dfa7aaSTim Vanderhoekand
810412d17cSRuslan Ermilov.Cm package .
8265dfa7aaSTim Vanderhoek.Pp
8365dfa7aaSTim VanderhoekThe following targets will be run automatically by each proceeding
840412d17cSRuslan Ermilovtarget in order.
850412d17cSRuslan ErmilovThat is,
860412d17cSRuslan Ermilov.Cm build
8765dfa7aaSTim Vanderhoekwill be run
88c4d9468eSRuslan Ermilov(if necessary)
8965dfa7aaSTim Vanderhoekby
900412d17cSRuslan Ermilov.Cm install ,
9165dfa7aaSTim Vanderhoekand so on all the way to
920412d17cSRuslan Ermilov.Cm fetch .
93019de50bSDima DorfmanUsually, you will only use the
940412d17cSRuslan Ermilov.Cm install
95019de50bSDima Dorfmantarget.
960412d17cSRuslan Ermilov.Bl -tag -width ".Cm configure"
9703687bafSKirill Ponomarev.It Cm config
9803687bafSKirill PonomarevConfigure
9903687bafSKirill Ponomarev.Va OPTIONS
10003687bafSKirill Ponomarevfor this port using
101ae41fe61SEitan Adler.Xr dialog4ports 1 .
1020412d17cSRuslan Ermilov.It Cm fetch
1030412d17cSRuslan ErmilovFetch all of the files needed to build this port from the sites
1040412d17cSRuslan Ermilovlisted in
1050412d17cSRuslan Ermilov.Va MASTER_SITES
10665dfa7aaSTim Vanderhoekand
1070412d17cSRuslan Ermilov.Va PATCH_SITES .
1080412d17cSRuslan ErmilovSee
109e57fe046SKirill Ponomarev.Va FETCH_CMD , MASTER_SITE_OVERRIDE
1100412d17cSRuslan Ermilovand
111e57fe046SKirill Ponomarev.Va MASTER_SITE_BACKUP .
1120412d17cSRuslan Ermilov.It Cm checksum
113019de50bSDima DorfmanVerify that the fetched distfile's checksum matches the one the port was
114019de50bSDima Dorfmantested against.
11567900914SBenedict ReuschlingIf the distfile's checksum does not match, it also fetches the distfiles
11667900914SBenedict Reuschlingwhich are missing or failed the checksum calculation.
11765dfa7aaSTim VanderhoekDefining
1180412d17cSRuslan Ermilov.Va NO_CHECKSUM
11965dfa7aaSTim Vanderhoekwill skip this step.
1200412d17cSRuslan Ermilov.It Cm depends
12165dfa7aaSTim VanderhoekInstall
122c4d9468eSRuslan Ermilov(or compile if only compilation is necessary)
1230412d17cSRuslan Ermilovany dependencies of the current port.
1240412d17cSRuslan ErmilovWhen called by the
1250412d17cSRuslan Ermilov.Cm extract
12665dfa7aaSTim Vanderhoekor
1270412d17cSRuslan Ermilov.Cm fetch
12865dfa7aaSTim Vanderhoektargets, this is run in piecemeal as
1290412d17cSRuslan Ermilov.Cm fetch-depends , build-depends ,
1300412d17cSRuslan Ermilovetc.
1310412d17cSRuslan ErmilovDefining
1320412d17cSRuslan Ermilov.Va NO_DEPENDS
13365dfa7aaSTim Vanderhoekwill skip this step.
1340412d17cSRuslan Ermilov.It Cm extract
13565dfa7aaSTim VanderhoekExpand the distfile into a work directory.
1360412d17cSRuslan Ermilov.It Cm patch
13765dfa7aaSTim VanderhoekApply any patches that are necessary for the port.
1380412d17cSRuslan Ermilov.It Cm configure
1390412d17cSRuslan ErmilovConfigure the port.
1400412d17cSRuslan ErmilovSome ports will ask you questions during this stage.
1410412d17cSRuslan ErmilovSee
1420412d17cSRuslan Ermilov.Va INTERACTIVE
14365dfa7aaSTim Vanderhoekand
1440412d17cSRuslan Ermilov.Va BATCH .
1450412d17cSRuslan Ermilov.It Cm build
1460412d17cSRuslan ErmilovBuild the port.
1470412d17cSRuslan ErmilovThis is the same as calling the
1480412d17cSRuslan Ermilov.Cm all
14965dfa7aaSTim Vanderhoektarget.
1500412d17cSRuslan Ermilov.It Cm install
1510412d17cSRuslan ErmilovInstall the port and register it with the package system.
1520412d17cSRuslan ErmilovThis is all you really need to do.
15365dfa7aaSTim Vanderhoek.El
15465dfa7aaSTim Vanderhoek.Pp
15565dfa7aaSTim VanderhoekThe following targets are not run during the normal install process.
15656e37108SGiorgos Keramidas.Bl -tag -width ".Cm fetch-recursive"
15703687bafSKirill Ponomarev.It Cm showconfig
15803687bafSKirill PonomarevDisplay
15903687bafSKirill Ponomarev.Va OPTIONS
16003687bafSKirill Ponomarevconfig for this port.
161a571610dSKirill Ponomarev.It Cm showconfig-recursive
162a571610dSKirill PonomarevDisplay
163a571610dSKirill Ponomarev.Va OPTIONS
164a571610dSKirill Ponomarevconfig for this port and all its dependencies.
16503687bafSKirill Ponomarev.It Cm rmconfig
16603687bafSKirill PonomarevRemove
16703687bafSKirill Ponomarev.Va OPTIONS
16803687bafSKirill Ponomarevconfig for this port.
169a571610dSKirill Ponomarev.It Cm rmconfig-recursive
170a571610dSKirill PonomarevRemove
171a571610dSKirill Ponomarev.Va OPTIONS
172a571610dSKirill Ponomarevconfig for this port and all its dependencies.
173a571610dSKirill Ponomarev.It Cm config-conditional
174a571610dSKirill PonomarevSkip the ports which have already had their
175a571610dSKirill Ponomarev.Va OPTIONS
176a571610dSKirill Ponomarevconfigured.
177039b8701STom Rhodes.It Cm config-recursive
178039b8701STom RhodesConfigure
179039b8701STom Rhodes.Va OPTIONS
180039b8701STom Rhodesfor this port and all its dependencies using
181ae41fe61SEitan Adler.Xr dialog4ports 1 .
1820412d17cSRuslan Ermilov.It Cm fetch-list
18303687bafSKirill PonomarevShow list of files to be fetched in order to build the port.
18456e37108SGiorgos Keramidas.It Cm fetch-recursive
18556e37108SGiorgos KeramidasFetch the distfiles of the port and all its dependencies.
186515ba752SChristian Brueffer.It Cm fetch-recursive-list
187515ba752SChristian BruefferShow list of files that would be retrieved by
188515ba752SChristian Brueffer.Cm fetch-recursive .
189d40caf29SThomas Abthorpe.It Cm run-depends-list , build-depends-list
190d40caf29SThomas AbthorpePrint a list of all the compile and run dependencies, and dependencies
191d40caf29SThomas Abthorpeof those dependencies, by port directory.
192039b8701STom Rhodes.It Cm all-depends-list
193039b8701STom RhodesPrint a list of all dependencies for the port.
1940412d17cSRuslan Ermilov.It Cm pretty-print-run-depends-list , pretty-print-build-depends-list
19565dfa7aaSTim VanderhoekPrint a list of all the compile and run dependencies, and dependencies
196d40caf29SThomas Abthorpeof those dependencies, by port name and version.
197c8ff7e9eSPav Lucistnik.It Cm missing
198c8ff7e9eSPav LucistnikPrint a list of missing dependencies to be installed for the port.
1990412d17cSRuslan Ermilov.It Cm clean
2000412d17cSRuslan ErmilovRemove the expanded source code.
2010412d17cSRuslan ErmilovThis recurses to dependencies unless
2020412d17cSRuslan Ermilov.Va NOCLEANDEPENDS
20365dfa7aaSTim Vanderhoekis defined.
2040412d17cSRuslan Ermilov.It Cm distclean
2050412d17cSRuslan ErmilovRemove the port's distfiles and perform the
2060412d17cSRuslan Ermilov.Cm clean
207019de50bSDima Dorfmantarget.
208019de50bSDima DorfmanThe
2090412d17cSRuslan Ermilov.Cm clean
21065dfa7aaSTim Vanderhoekportion recurses to dependencies unless
2110412d17cSRuslan Ermilov.Va NOCLEANDEPENDS
21265dfa7aaSTim Vanderhoekis defined, but the
2130412d17cSRuslan Ermilov.Cm distclean
21465dfa7aaSTim Vanderhoekportion never recurses
215c4d9468eSRuslan Ermilov(this is perhaps a bug).
2160412d17cSRuslan Ermilov.It Cm reinstall
21765dfa7aaSTim VanderhoekUse this to restore a port after using
218225636dcSEdward Tomasz Napierala.Xr pkg-delete 8
21965dfa7aaSTim Vanderhoekwhen you should have used
2200412d17cSRuslan Ermilov.Cm deinstall .
2210412d17cSRuslan Ermilov.It Cm deinstall
22265dfa7aaSTim VanderhoekRemove an installed port from the system, similar to
223225636dcSEdward Tomasz Napierala.Xr pkg-delete 8 .
224515ba752SChristian Brueffer.It Cm deinstall-all
225515ba752SChristian BruefferRemove all installed ports with the same
226515ba752SChristian Brueffer.Va PKGORIGIN
227515ba752SChristian Bruefferfrom the system.
2280412d17cSRuslan Ermilov.It Cm package
2290412d17cSRuslan ErmilovMake a binary package for the port.
2300412d17cSRuslan ErmilovThe port will be installed if it has not already been.
2310412d17cSRuslan ErmilovThe package is a
23281c4ddbfSChristian Brueffer.Pa .tbz
2330412d17cSRuslan Ermilovfile that you can use to
23465dfa7aaSTim Vanderhoekinstall the port on other machines with
235225636dcSEdward Tomasz Napierala.Xr pkg-add 8 .
23665dfa7aaSTim VanderhoekIf the directory specified by
2370412d17cSRuslan Ermilov.Va PACKAGES
2380412d17cSRuslan Ermilovdoes not exist, the package will be put into the current directory.
23983d04c76STim VanderhoekSee
2400412d17cSRuslan Ermilov.Va PKGREPOSITORY
24183d04c76STim Vanderhoekand
2420412d17cSRuslan Ermilov.Va PKGFILE .
2438c3bfd69SChristian Brueffer.It Cm package-recursive
2448c3bfd69SChristian BruefferLike
2458c3bfd69SChristian Brueffer.Cm package ,
2468c3bfd69SChristian Bruefferbut makes a package for each depending port as well.
247d40caf29SThomas Abthorpe.It Cm package-name
248d40caf29SThomas AbthorpePrints the name with version of the port.
2490412d17cSRuslan Ermilov.It Cm readmes
25083d04c76STim VanderhoekCreate a port's
25183d04c76STim Vanderhoek.Pa README.html .
2526b4c0736STim VanderhoekThis can be used from
2536b4c0736STim Vanderhoek.Pa /usr/ports
2546b4c0736STim Vanderhoekto create a browsable web of all ports on your system!
2550412d17cSRuslan Ermilov.It Cm search
256019de50bSDima DorfmanSearch the
257019de50bSDima Dorfman.Pa INDEX
25865d476e0SKirill Ponomarevfile for the pattern specified by the
2590412d17cSRuslan Ermilov.Va key
26065d476e0SKirill Ponomarev(searches the port name, comment, and dependencies),
2610412d17cSRuslan Ermilov.Va name
26265d476e0SKirill Ponomarev(searches the port name only),
26365d476e0SKirill Ponomarev.Va path
26465d476e0SKirill Ponomarev(searches the port path),
26565d476e0SKirill Ponomarev.Va info
26665d476e0SKirill Ponomarev(searches the port info),
26765d476e0SKirill Ponomarev.Va maint
26865d476e0SKirill Ponomarev(searches the port maintainer),
26965d476e0SKirill Ponomarev.Va cat
27065d476e0SKirill Ponomarev(searches the port category),
27165d476e0SKirill Ponomarev.Va bdeps
27265d476e0SKirill Ponomarev(searches the port build-time dependency),
27365d476e0SKirill Ponomarev.Va rdeps
2741ea65ec7SGabor Kovesdan(searches the port run-time dependency),
2751ea65ec7SGabor Kovesdan.Va www
2761ea65ec7SGabor Kovesdan(searches the port web site)
2770412d17cSRuslan Ermilov.Xr make 1
27865d476e0SKirill Ponomarevvariables, and their exclusion counterparts:
27965d476e0SKirill Ponomarev.Va xname , xkey
28065d476e0SKirill Ponomarevetc.
281019de50bSDima DorfmanFor example, one would type:
282019de50bSDima Dorfman.Pp
2830412d17cSRuslan Ermilov.Dl "cd /usr/ports && make search name=query"
284019de50bSDima Dorfman.Pp
285019de50bSDima Dorfmanto find all ports whose
286019de50bSDima Dorfmanname matches
2870412d17cSRuslan Ermilov.Dq Li query .
288019de50bSDima DorfmanResults include the matching ports' path, comment, maintainer,
289019de50bSDima Dorfmanbuild dependencies, and run dependencies.
29065d476e0SKirill Ponomarev.Bd -literal -offset indent
29165d476e0SKirill Ponomarevcd /usr/ports && make search name=pear- \e
29265d476e0SKirill Ponomarev    xbdeps=apache
29365d476e0SKirill Ponomarev.Ed
29465d476e0SKirill Ponomarev.Pp
29565d476e0SKirill PonomarevTo find all ports whose
29665d476e0SKirill Ponomarevnames contain
29765d476e0SKirill Ponomarev.Dq Li pear-
29865d476e0SKirill Ponomarevand which do not have apache
29965d476e0SKirill Ponomarevlisted in build-time dependencies.
30065d476e0SKirill Ponomarev.Bd -literal -offset indent
30165d476e0SKirill Ponomarevcd /usr/ports && make search name=pear- \e
30265d476e0SKirill Ponomarev    xname='ht(tp|ml)'
30365d476e0SKirill Ponomarev.Ed
30465d476e0SKirill Ponomarev.Pp
30565d476e0SKirill PonomarevTo find all ports whose names contain
30665d476e0SKirill Ponomarev.Dq Li pear- ,
30765d476e0SKirill Ponomarevbut not
30865d476e0SKirill Ponomarev.Dq Li html
30965d476e0SKirill Ponomarevor
31065d476e0SKirill Ponomarev.Dq Li http .
31165d476e0SKirill Ponomarev.Bd -literal -offset indent
31265d476e0SKirill Ponomarevmake search key=apache display=name,path,info keylim=1
31365d476e0SKirill Ponomarev.Ed
31465d476e0SKirill Ponomarev.Pp
31565d476e0SKirill PonomarevTo find ports that contain
31665d476e0SKirill Ponomarev.Dq Li apache
31765d476e0SKirill Ponomarevin either of the name, path, info
31865d476e0SKirill Ponomarevfields, ignore the rest of the record.
3191ea65ec7SGabor Kovesdan.Pp
320f283c8f8SJens SchweikhardtBy default the search is not case-sensitive.
3211ea65ec7SGabor KovesdanIn order to make it case-sensitive you can use the
3221ea65ec7SGabor Kovesdan.Va icase
3231ea65ec7SGabor Kovesdanvariable:
3241ea65ec7SGabor Kovesdan.Bd -literal -offset indent
3251ea65ec7SGabor Kovesdanmake search name=p5-R icase=0
3261ea65ec7SGabor Kovesdan.Ed
327be3253caSMaxim Konovalov.It Cm quicksearch
328be3253caSMaxim KonovalovReduced
329be3253caSMaxim Konovalov.Cm search
330be3253caSMaxim Konovalovoutput.
331be3253caSMaxim KonovalovOnly display name, path and info.
33203687bafSKirill Ponomarev.It Cm describe
33303687bafSKirill PonomarevGenerate a one-line description of each port for use in the
33403687bafSKirill Ponomarev.Pa INDEX
33503687bafSKirill Ponomarevfile.
336724c0a23SChristian Brueffer.It Cm maintainer
337724c0a23SChristian BruefferDisplay the port maintainer's email address.
3380412d17cSRuslan Ermilov.It Cm index
339019de50bSDima DorfmanCreate
340019de50bSDima Dorfman.Pa /usr/ports/INDEX ,
341019de50bSDima Dorfmanwhich is used by the
3420412d17cSRuslan Ermilov.Cm pretty-print-*
343019de50bSDima Dorfmanand
3440412d17cSRuslan Ermilov.Cm search
345019de50bSDima Dorfmantargets.
3467585929eSKirill PonomarevRunning the
3470412d17cSRuslan Ermilov.Cm index
3480412d17cSRuslan Ermilovtarget will ensure your
3490412d17cSRuslan Ermilov.Pa INDEX
3500412d17cSRuslan Ermilovfile is up to date with your ports tree.
3517585929eSKirill Ponomarev.It Cm fetchindex
3527585929eSKirill PonomarevFetch the
3537585929eSKirill Ponomarev.Pa INDEX
3547585929eSKirill Ponomarevfile from the
3557585929eSKirill Ponomarev.Fx
3567585929eSKirill Ponomarevcluster.
3573136363fSRuslan Ermilov.El
358def37e7cSMike Pritchard.Sh ENVIRONMENT
35965dfa7aaSTim VanderhoekYou can change all of these.
3600412d17cSRuslan Ermilov.Bl -tag -width ".Va MASTER_SITES"
3610412d17cSRuslan Ermilov.It Va PORTSDIR
3620412d17cSRuslan ErmilovLocation of the ports tree.
3630412d17cSRuslan ErmilovThis is
36465dfa7aaSTim Vanderhoek.Pa /usr/ports
36565dfa7aaSTim Vanderhoekon
366b5c508fbSRuslan Ermilov.Fx
367e4b22b63SDavid E. O'Brienand
3680412d17cSRuslan Ermilov.Ox ,
36965dfa7aaSTim Vanderhoekand
37065dfa7aaSTim Vanderhoek.Pa /usr/pkgsrc
37165dfa7aaSTim Vanderhoekon
37265dfa7aaSTim Vanderhoek.Nx .
3730412d17cSRuslan Ermilov.It Va WRKDIRPREFIX
3740412d17cSRuslan ErmilovWhere to create any temporary files.
3750412d17cSRuslan ErmilovUseful if
3760412d17cSRuslan Ermilov.Va PORTSDIR
3770412d17cSRuslan Ermilovis read-only (perhaps mounted from a CD-ROM).
3780412d17cSRuslan Ermilov.It Va DISTDIR
37965dfa7aaSTim VanderhoekWhere to find/put distfiles, normally
38065dfa7aaSTim Vanderhoek.Pa distfiles/
38165dfa7aaSTim Vanderhoekin
3820412d17cSRuslan Ermilov.Va PORTSDIR .
3830412d17cSRuslan Ermilov.It Va PACKAGES
38465dfa7aaSTim VanderhoekUsed only for the
3850412d17cSRuslan Ermilov.Cm package
38665dfa7aaSTim Vanderhoektarget; the base directory for the packages tree, normally
38765dfa7aaSTim Vanderhoek.Pa packages/
38865dfa7aaSTim Vanderhoekin
3890412d17cSRuslan Ermilov.Va PORTSDIR .
39065dfa7aaSTim VanderhoekIf this directory exists, the package tree will be (partially) constructed.
3910412d17cSRuslan ErmilovThis directory does not have to exist; if it does not, packages will be
39283d04c76STim Vanderhoekplaced into the current directory, or you can define one of
3930412d17cSRuslan Ermilov.Bl -tag -width ".Va PKGREPOSITORY"
3940412d17cSRuslan Ermilov.It Va PKGREPOSITORY
39583d04c76STim VanderhoekDirectory to put the package in.
3960412d17cSRuslan Ermilov.It Va PKGFILE
39765dfa7aaSTim VanderhoekThe full path to the package.
39865dfa7aaSTim Vanderhoek.El
399eed1dcabSEitan Adler.It Va LOCALBASE
400eed1dcabSEitan AdlerWhere existing things are installed and where to search for files when
401eed1dcabSEitan Adlerresolving dependencies (usually
4029a0e6be2SXin LI.Pa /usr/local ) .
403eed1dcabSEitan Adler.It Va PREFIX
404eed1dcabSEitan AdlerWhere to install this port (usually set to the same as
405eed1dcabSEitan Adler.Va LOCALBASE ) .
4060412d17cSRuslan Ermilov.It Va MASTER_SITES
407e4b22b63SDavid E. O'BrienPrimary sites for distribution files if not found locally.
4080412d17cSRuslan Ermilov.It Va PATCH_SITES
4090412d17cSRuslan ErmilovPrimary locations for distribution patch files if not found
410e4b22b63SDavid E. O'Brienlocally.
4110412d17cSRuslan Ermilov.It Va MASTER_SITE_FREEBSD
412b5c508fbSRuslan ErmilovIf set, go to the master
413b5c508fbSRuslan Ermilov.Fx
414b5c508fbSRuslan Ermilovsite for all files.
4150412d17cSRuslan Ermilov.It Va MASTER_SITE_OVERRIDE
416b81d803eSRuslan ErmilovTry going to these sites for all files and patches, first.
417e57fe046SKirill Ponomarev.It Va MASTER_SITE_BACKUP
418e57fe046SKirill PonomarevTry going to these sites for all files and patches, last.
4191f568fb2SPav Lucistnik.It Va RANDOMIZE_MASTER_SITES
4201f568fb2SPav LucistnikTry the download locations in a random order.
4211f568fb2SPav Lucistnik.It Va MASTER_SORT
4221f568fb2SPav LucistnikSort the download locations according to user supplied pattern.
4231f568fb2SPav LucistnikExample:
4241f568fb2SPav Lucistnik.Dl .dk .sunet.se .se dk.php.net .no .de heanet.dl.sourceforge.net
425e57fe046SKirill Ponomarev.It Va MASTER_SITE_INDEX
426e57fe046SKirill PonomarevWhere to get
427e57fe046SKirill Ponomarev.Pa INDEX
428e57fe046SKirill Ponomarevsource built on
429e57fe046SKirill Ponomarev.Fx
430e57fe046SKirill Ponomarevcluster (for
431e57fe046SKirill Ponomarev.Cm fetchindex
432e57fe046SKirill Ponomarevtarget).
433e57fe046SKirill PonomarevDefaults to
434a2aef24aSEitan Adler.Pa https://www.FreeBSD.org/ports/ .
435e57fe046SKirill Ponomarev.It Va FETCHINDEX
436e57fe046SKirill PonomarevCommand to get
437e57fe046SKirill Ponomarev.Pa INDEX
438e57fe046SKirill Ponomarev(for
439e57fe046SKirill Ponomarev.Cm fetchindex
440e57fe046SKirill Ponomarevtarget).
441e57fe046SKirill PonomarevDefaults to
442e57fe046SKirill Ponomarev.Dq Nm fetch Fl am .
4430412d17cSRuslan Ermilov.It Va NOCLEANDEPENDS
4440412d17cSRuslan ErmilovIf defined, do not let
4450412d17cSRuslan Ermilov.Cm clean
44665dfa7aaSTim Vanderhoekrecurse to dependencies.
4470412d17cSRuslan Ermilov.It Va FETCH_CMD
4480412d17cSRuslan ErmilovCommand to use to fetch files.
4490412d17cSRuslan ErmilovNormally
45065dfa7aaSTim Vanderhoek.Xr fetch 1 .
4510412d17cSRuslan Ermilov.It Va FORCE_PKG_REGISTER
45265dfa7aaSTim VanderhoekIf set, overwrite any existing package registration on the system.
4530412d17cSRuslan Ermilov.It Va MOTIFLIB
4540412d17cSRuslan ErmilovLocation of
4550412d17cSRuslan Ermilov.Pa libXm. Ns Brq Pa a , Ns Pa so .
4560412d17cSRuslan Ermilov.It Va INTERACTIVE
45765dfa7aaSTim VanderhoekIf defined, only operate on a port if it requires interaction.
4580412d17cSRuslan Ermilov.It Va BATCH
45965dfa7aaSTim VanderhoekIf defined, only operate on a port if it can be installed 100% automatically.
460949f900dSSimon L. B. Nielsen.It Va DISABLE_VULNERABILITIES
461949f900dSSimon L. B. NielsenIf defined, disable check for security vulnerabilities using
4629ef6fea6SGlen Barber.Xr pkg-audit 8
463949f900dSSimon L. B. Nielsenwhen installing new ports.
464068abd55SGiorgos Keramidas.It Va NO_IGNORE
465068abd55SGiorgos KeramidasIf defined, allow installation of ports marked as
466068abd55SGiorgos Keramidas.Aq Va FORBIDDEN .
467068abd55SGiorgos KeramidasThe default behavior of the Ports framework is to abort when the
468068abd55SGiorgos Keramidasinstallation of a forbidden port is attempted.
469068abd55SGiorgos KeramidasOf course, these ports may not work as expected, but if you really know
470068abd55SGiorgos Keramidaswhat you are doing and are sure about installing a forbidden port, then
471068abd55SGiorgos Keramidas.Va NO_IGNORE
472068abd55SGiorgos Keramidaslets you do it.
473b7642c92SBenedict Reuschling.It Va NO_CHECKSUM
474b7642c92SBenedict ReuschlingIf defined, skip verifying the port's checksum.
4751583221bSGiorgos Keramidas.It Va TRYBROKEN
4761583221bSGiorgos KeramidasIf defined, attempt to build a port even if it is marked as
4771583221bSGiorgos Keramidas.Aq Va BROKEN .
478520a4bfdSGabor Kovesdan.It Va PORT_DBDIR
479520a4bfdSGabor KovesdanDirectory where the results of configuring
480520a4bfdSGabor Kovesdan.Va OPTIONS
481520a4bfdSGabor Kovesdanare stored.
482520a4bfdSGabor KovesdanDefaults to
483520a4bfdSGabor Kovesdan.Pa /var/db/ports .
484520a4bfdSGabor KovesdanEach port where
485520a4bfdSGabor Kovesdan.Va OPTIONS
486520a4bfdSGabor Kovesdanhave been configured will have a uniquely named sub-directory, containing a
487520a4bfdSGabor Kovesdansingle file
488520a4bfdSGabor Kovesdan.Pa options .
48965dfa7aaSTim Vanderhoek.El
49059be36b0SBenjamin Kaduk.Sh MAKE VARIABLES
49159be36b0SBenjamin KadukThe following list provides a name and short description for many of the
49259be36b0SBenjamin Kadukvariables that are used when building ports.
49359be36b0SBenjamin KadukMore information on these and other related variables may be found in
49459be36b0SBenjamin Kaduk.Pa ${PORTSDIR}/Mk/*
49559be36b0SBenjamin Kadukand the
49659be36b0SBenjamin Kaduk.Fx
49759be36b0SBenjamin KadukPorter's Handbook.
498bd5bd025STijl Coosemans.Bl -tag -width ".Va WITH_GHOSTSCRIPT_VER"
49959be36b0SBenjamin Kaduk.It Va WITH_OPENSSL_PORT
50059be36b0SBenjamin Kaduk.Pq Vt bool
50159be36b0SBenjamin KadukIf set, causes ports that make use of OpenSSL to use the OpenSSL from
50259be36b0SBenjamin Kadukports
50359be36b0SBenjamin Kaduk.Pq if available
50459be36b0SBenjamin Kadukinstead of the OpenSSL from the base system.
50559be36b0SBenjamin Kaduk.It Va WITH_DEBUG
50659be36b0SBenjamin Kaduk.Pq Vt bool
50759be36b0SBenjamin KadukIf set, debugging symbols are installed for ports binaries.
50859be36b0SBenjamin Kaduk.It Va WITH_DEBUG_PORTS
50959be36b0SBenjamin KadukA list of origins for which to set
51059be36b0SBenjamin Kaduk.Va WITH_DEBUG_PORTS .
51159be36b0SBenjamin Kaduk.It Va WITH_SSP_PORTS
51259be36b0SBenjamin Kaduk.Pq Vt bool
51359be36b0SBenjamin KadukIf set, enables
51459be36b0SBenjamin Kaduk.Fl fstack-protector
51559be36b0SBenjamin Kadukfor most ports.
51659be36b0SBenjamin Kaduk.It Va WITH_GHOSTSCRIPT_VER
51759be36b0SBenjamin KadukIf set, the version of ghostscript to be used by ports.
51859be36b0SBenjamin Kaduk.It Va WITH_CCACHE_BUILD
51959be36b0SBenjamin Kaduk.Pq Vt bool
52059be36b0SBenjamin KadukIf set, enables the use of
52159be36b0SBenjamin Kaduk.Xr ccache 1
52259be36b0SBenjamin Kadukfor building ports.
52359be36b0SBenjamin Kaduk.It Va CCACHE_DIR
52459be36b0SBenjamin KadukWhich directory to use for the ccache data.
52559be36b0SBenjamin Kaduk.El
5264000f72fSDavid E. O'Brien.Sh FILES
5270412d17cSRuslan Ermilov.Bl -tag -width ".Pa /usr/ports/Mk/bsd.port.mk" -compact
5284000f72fSDavid E. O'Brien.It Pa /usr/ports
529b5c508fbSRuslan ErmilovThe default ports directory
530652627f0STim Vanderhoek.It Pa /usr/ports/Mk/bsd.port.mk
53165dfa7aaSTim VanderhoekThe big Kahuna.
5323136363fSRuslan Ermilov.El
533*1b3fba16SEdward Tomasz Napierala.Sh EXAMPLES
534*1b3fba16SEdward Tomasz NapieralaBuild and install Emacs:
535*1b3fba16SEdward Tomasz Napierala.Bd -literal -offset indent
536*1b3fba16SEdward Tomasz Napieralacd /usr/ports/editors/emacs
537*1b3fba16SEdward Tomasz Napieralamake install
538*1b3fba16SEdward Tomasz Napierala.Ed
539*1b3fba16SEdward Tomasz Napierala.Pp
5404000f72fSDavid E. O'Brien.Sh SEE ALSO
5414000f72fSDavid E. O'Brien.Xr make 1 ,
54259be36b0SBenjamin Kaduk.Xr make.conf 5 ,
5437a36e6d2SEitan Adler.Xr pkg 8 ,
5447a36e6d2SEitan Adler.Xr portsnap 8
545def37e7cSMike Pritchard.Pp
546def37e7cSMike PritchardThe following are part of the ports collection:
547def37e7cSMike Pritchard.Pp
5489ef6fea6SGlen Barber.Xr pkg 7 ,
549ac8011f8SDavid E. O'Brien.Xr portlint 1
5500412d17cSRuslan Ermilov.Rs
5510412d17cSRuslan Ermilov.%B "The FreeBSD Handbook"
5520412d17cSRuslan Ermilov.Re
55365dfa7aaSTim Vanderhoek.Pp
554a2aef24aSEitan Adler.Pa https://www.FreeBSD.org/ports
555c4d9468eSRuslan Ermilov(searchable index of all ports)
5564000f72fSDavid E. O'Brien.Sh HISTORY
5570412d17cSRuslan ErmilovThe Ports Collection
5584000f72fSDavid E. O'Brienappeared in
5594000f72fSDavid E. O'Brien.Fx 1.0 .
5606b4c0736STim VanderhoekIt has since spread to
5616b4c0736STim Vanderhoek.Nx
5626b4c0736STim Vanderhoekand
5636b4c0736STim Vanderhoek.Ox .
5649cbda590SRuslan Ermilov.Sh AUTHORS
5659cbda590SRuslan Ermilov.An -nosplit
5669cbda590SRuslan ErmilovThis manual page was originated by
5679cbda590SRuslan Ermilov.An David O'Brien .
56865dfa7aaSTim Vanderhoek.Sh BUGS
5690412d17cSRuslan ErmilovPorts documentation is split over four places \(em
5702693c8b9STim Vanderhoek.Pa /usr/ports/Mk/bsd.port.mk ,
5710412d17cSRuslan Ermilov.%B "The Porter's Handbook" ,
57265dfa7aaSTim Vanderhoekthe
5730412d17cSRuslan Ermilov.Dq "Packages and Ports"
5745d3d0230SMurray Stokelychapter of
5750412d17cSRuslan Ermilov.%B "The FreeBSD Handbook" ,
5765d3d0230SMurray Stokelyand
577949f900dSSimon L. B. Nielsenthis manual page.
578