xref: /freebsd/share/man/man7/ports.7 (revision c9e8a2cdba3ce76f89ad1a28986974d8c23bb84e)
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.\"
26855e0457SLi-Wen Hsu.Dd September 24, 2023
274000f72fSDavid E. O'Brien.Dt PORTS 7
283d45e180SRuslan Ermilov.Os
294000f72fSDavid E. O'Brien.Sh NAME
304000f72fSDavid E. O'Brien.Nm ports
314000f72fSDavid E. O'Brien.Nd contributed applications
324000f72fSDavid E. O'Brien.Sh DESCRIPTION
334000f72fSDavid E. O'BrienThe
34b5c508fbSRuslan Ermilov.Fx
350412d17cSRuslan ErmilovPorts Collection
36f1dd4984SEdward Tomasz Napieralaoffers a simple way to compile and install third party applications.
37f1dd4984SEdward Tomasz NapieralaIt is also used to build packages, to be installed using
3886b83608SEdward Tomasz Napierala.Xr pkg 8 .
39f1dd4984SEdward Tomasz Napierala.Pp
40f1dd4984SEdward Tomasz NapieralaThe ports tree, typically located at
41f1dd4984SEdward Tomasz Napierala.Pa /usr/ports ,
42f1dd4984SEdward Tomasz Napieralaconsists of subdirectories, one for each category; those in turn contain
43f1dd4984SEdward Tomasz Napieralaindividual ports.
44f1dd4984SEdward Tomasz NapieralaEach port is a directory with metadata and patches necessary to make
45f1dd4984SEdward Tomasz Napieralathe original application source code compile and run on
46481974c2SEitan Adler.Fx .
473d04377bSMateusz PiotrowskiCompiling an application is as simple as typing
483d04377bSMateusz Piotrowski.Dq Li "make build"
49f1dd4984SEdward Tomasz Napieralain the port directory.
500412d17cSRuslan ErmilovThe
510412d17cSRuslan Ermilov.Pa Makefile
52e4b22b63SDavid E. O'Brienautomatically fetches the
53f1dd4984SEdward Tomasz Napieralaapplication source code, either from a local disk or the network, unpacks it,
54f1dd4984SEdward Tomasz Napieralaapplies the patches, and compiles it.
55f1dd4984SEdward Tomasz NapieralaIt also recursively handles dependencies \(em other pieces of software
56f1dd4984SEdward Tomasz Napieralathe port depends on in order to build and work.
57f1dd4984SEdward Tomasz NapieralaAfterwards,
583d04377bSMateusz Piotrowski.Dq Li "make install"
59f1dd4984SEdward Tomasz Napieralainstalls the application.
604000f72fSDavid E. O'Brien.Pp
6122427dafSEdward Tomasz NapieralaThe
6222427dafSEdward Tomasz Napierala.Fx
6322427dafSEdward Tomasz NapieralaPorts Collection is maintained in several branches, which differ mostly
6422427dafSEdward Tomasz Napieralaby versions of software provided: the
6511f47f17SRene Ladan.Em main
6611f47f17SRene Ladanbranch contains all the latest changes and corresponds to the
6711f47f17SRene Ladan.Em latest
6811f47f17SRene Ladanpackage set, while the
6922427dafSEdward Tomasz Napierala.Em quarterly
7022427dafSEdward Tomasz Napieralabranches only provide critical fixes.
7122427dafSEdward Tomasz NapieralaThe
7211f47f17SRene Ladan.Em main
7311f47f17SRene Ladanbranch can be cloned and updated from the Git repository located at:
7422427dafSEdward Tomasz Napierala.Pp
7511f47f17SRene Ladan.Lk https://git.FreeBSD.org/ports.git
7611f47f17SRene Ladan.Pp
7711f47f17SRene Ladanso eg:
7811f47f17SRene Ladan.Pp
7911f47f17SRene Ladan.Cm git clone https://git.FreeBSD.org/ports.git
8022427dafSEdward Tomasz Napierala.Pp
8122427dafSEdward Tomasz NapieralaThe
8222427dafSEdward Tomasz Napierala.Em quarterly
8311f47f17SRene Ladanbranches can be found in Git as branches like
8411f47f17SRene Ladan.Pa yyyyQn
8511f47f17SRene Ladan, where
8611f47f17SRene Ladan.Em yyyy
8711f47f17SRene Ladanindicates the year and
8811f47f17SRene Ladan.Em n
8911f47f17SRene Ladanindicates the quarter
9011f47f17SRene Ladan.Po 1 to 4
9111f47f17SRene Ladan.Pc , eg:
9222427dafSEdward Tomasz Napierala.Pp
9311f47f17SRene Ladan.Cm git clone -b 2021Q2 https://git.FreeBSD.org/ports.git
9422427dafSEdward Tomasz Napierala.Pp
9522427dafSEdward Tomasz NapieralaIt is generally a good idea to use the
9622427dafSEdward Tomasz Napierala.Nm
9722427dafSEdward Tomasz Napieralabranch that matches the
9822427dafSEdward Tomasz Napierala.Xr pkg 8
9922427dafSEdward Tomasz Napieralarepository being used.
10022427dafSEdward Tomasz NapieralaBy default, for
10122427dafSEdward Tomasz Napierala.Fx CURRENT
10222427dafSEdward Tomasz Napieralathe
10322427dafSEdward Tomasz Napierala.Xr pkg 8
10422427dafSEdward Tomasz Napieralais configured to install packages built from the
10511f47f17SRene Ladan.Em main
10622427dafSEdward Tomasz Napieralabranch, while for
10722427dafSEdward Tomasz Napierala.Fx STABLE
10822427dafSEdward Tomasz Napieralaor RELEASE versions it is configured to install packages built from
10922427dafSEdward Tomasz Napieralathe latest
11022427dafSEdward Tomasz Napierala.Em quarterly
11122427dafSEdward Tomasz Napieralabranch.
11222427dafSEdward Tomasz NapieralaCurrently configured
11322427dafSEdward Tomasz Napierala.Xr pkg 8
11422427dafSEdward Tomasz Napieralarepository can be verified by looking at the
11522427dafSEdward Tomasz Napierala.Em url
11622427dafSEdward Tomasz Napieralafield in
11722427dafSEdward Tomasz Napierala.Cm pkg -vv
11822427dafSEdward Tomasz Napieralaoutput.
11922427dafSEdward Tomasz Napierala.Pp
1208f9c7371SEdward Tomasz NapieralaFor more information about using ports, see the
1218f9c7371SEdward Tomasz Napierala.Dq "Packages and Ports" section
1225d3d0230SMurray Stokelyin
1233d04377bSMateusz Piotrowski.Sm off
1243d04377bSMateusz Piotrowski.%B "The FreeBSD Handbook"
1253d04377bSMateusz Piotrowski.No \&:
1263d04377bSMateusz Piotrowski.Sm on
1278f9c7371SEdward Tomasz Napierala.Pp
1288dfb0024SLi-Wen Hsu.Lk https://docs.FreeBSD.org/en/books/handbook/ports/
1298f9c7371SEdward Tomasz Napierala.Pp
130f1dd4984SEdward Tomasz NapieralaFor information about creating new ports, see
1313d04377bSMateusz Piotrowski.Sm off
1323d04377bSMateusz Piotrowski.%B "The Porter's Handbook"
1333d04377bSMateusz Piotrowski.No \&:
1343d04377bSMateusz Piotrowski.Sm on
1358f9c7371SEdward Tomasz Napierala.Pp
1368dfb0024SLi-Wen Hsu.Lk https://docs.FreeBSD.org/en/books/porters-handbook/
137e4b22b63SDavid E. O'Brien.Sh TARGETS
138f1dd4984SEdward Tomasz NapieralaSome of the
139f1dd4984SEdward Tomasz Napierala.Xr make 1
140f1dd4984SEdward Tomasz Napieralatargets work recursively through subdirectories.
1410412d17cSRuslan ErmilovThis lets you, for example, install all of the
1420412d17cSRuslan Ermilov.Dq Li biology
1433d04377bSMateusz Piotrowskiports with one command.
1440412d17cSRuslan ErmilovThe targets that do this are
1450412d17cSRuslan Ermilov.Cm build , checksum , clean , configure ,
1460412d17cSRuslan Ermilov.Cm depends , extract , fetch , install ,
14765dfa7aaSTim Vanderhoekand
1480412d17cSRuslan Ermilov.Cm package .
14965dfa7aaSTim Vanderhoek.Pp
15065dfa7aaSTim VanderhoekThe following targets will be run automatically by each proceeding
1510412d17cSRuslan Ermilovtarget in order.
1520412d17cSRuslan ErmilovThat is,
1530412d17cSRuslan Ermilov.Cm build
1543d04377bSMateusz Piotrowskiwill be run (if necessary) by
1550412d17cSRuslan Ermilov.Cm install ,
15665dfa7aaSTim Vanderhoekand so on all the way to
1570412d17cSRuslan Ermilov.Cm fetch .
158019de50bSDima DorfmanUsually, you will only use the
1590412d17cSRuslan Ermilov.Cm install
160019de50bSDima Dorfmantarget.
1610412d17cSRuslan Ermilov.Bl -tag -width ".Cm configure"
16203687bafSKirill Ponomarev.It Cm config
16303687bafSKirill PonomarevConfigure
16403687bafSKirill Ponomarev.Va OPTIONS
16503687bafSKirill Ponomarevfor this port using
166ae41fe61SEitan Adler.Xr dialog4ports 1 .
1670412d17cSRuslan Ermilov.It Cm fetch
1680412d17cSRuslan ErmilovFetch all of the files needed to build this port from the sites
1690412d17cSRuslan Ermilovlisted in
1700412d17cSRuslan Ermilov.Va MASTER_SITES
17165dfa7aaSTim Vanderhoekand
1720412d17cSRuslan Ermilov.Va PATCH_SITES .
1730412d17cSRuslan ErmilovSee
174e57fe046SKirill Ponomarev.Va FETCH_CMD , MASTER_SITE_OVERRIDE
1750412d17cSRuslan Ermilovand
176e57fe046SKirill Ponomarev.Va MASTER_SITE_BACKUP .
1770412d17cSRuslan Ermilov.It Cm checksum
178019de50bSDima DorfmanVerify that the fetched distfile's checksum matches the one the port was
179019de50bSDima Dorfmantested against.
18067900914SBenedict ReuschlingIf the distfile's checksum does not match, it also fetches the distfiles
18167900914SBenedict Reuschlingwhich are missing or failed the checksum calculation.
18265dfa7aaSTim VanderhoekDefining
1830412d17cSRuslan Ermilov.Va NO_CHECKSUM
18465dfa7aaSTim Vanderhoekwill skip this step.
1850412d17cSRuslan Ermilov.It Cm depends
18665dfa7aaSTim VanderhoekInstall
187c4d9468eSRuslan Ermilov(or compile if only compilation is necessary)
1880412d17cSRuslan Ermilovany dependencies of the current port.
1890412d17cSRuslan ErmilovWhen called by the
1900412d17cSRuslan Ermilov.Cm extract
19165dfa7aaSTim Vanderhoekor
1920412d17cSRuslan Ermilov.Cm fetch
19365dfa7aaSTim Vanderhoektargets, this is run in piecemeal as
1940412d17cSRuslan Ermilov.Cm fetch-depends , build-depends ,
1950412d17cSRuslan Ermilovetc.
1960412d17cSRuslan ErmilovDefining
1970412d17cSRuslan Ermilov.Va NO_DEPENDS
19865dfa7aaSTim Vanderhoekwill skip this step.
1990412d17cSRuslan Ermilov.It Cm extract
20065dfa7aaSTim VanderhoekExpand the distfile into a work directory.
2010412d17cSRuslan Ermilov.It Cm patch
20265dfa7aaSTim VanderhoekApply any patches that are necessary for the port.
2030412d17cSRuslan Ermilov.It Cm configure
2040412d17cSRuslan ErmilovConfigure the port.
2050412d17cSRuslan ErmilovSome ports will ask you questions during this stage.
2060412d17cSRuslan ErmilovSee
2070412d17cSRuslan Ermilov.Va INTERACTIVE
20865dfa7aaSTim Vanderhoekand
2090412d17cSRuslan Ermilov.Va BATCH .
2100412d17cSRuslan Ermilov.It Cm build
2110412d17cSRuslan ErmilovBuild the port.
2120412d17cSRuslan ErmilovThis is the same as calling the
2130412d17cSRuslan Ermilov.Cm all
21465dfa7aaSTim Vanderhoektarget.
2150412d17cSRuslan Ermilov.It Cm install
2160412d17cSRuslan ErmilovInstall the port and register it with the package system.
2170412d17cSRuslan ErmilovThis is all you really need to do.
21849ddfdecSFernando Apesteguía.It Cm install-missing-packages
21949ddfdecSFernando ApesteguíaInstall missing dependencies from packages instead of building them.
22065dfa7aaSTim Vanderhoek.El
22165dfa7aaSTim Vanderhoek.Pp
22265dfa7aaSTim VanderhoekThe following targets are not run during the normal install process.
22356e37108SGiorgos Keramidas.Bl -tag -width ".Cm fetch-recursive"
22403687bafSKirill Ponomarev.It Cm showconfig
22503687bafSKirill PonomarevDisplay
22603687bafSKirill Ponomarev.Va OPTIONS
22703687bafSKirill Ponomarevconfig for this port.
228a571610dSKirill Ponomarev.It Cm showconfig-recursive
229a571610dSKirill PonomarevDisplay
230a571610dSKirill Ponomarev.Va OPTIONS
231a571610dSKirill Ponomarevconfig for this port and all its dependencies.
23203687bafSKirill Ponomarev.It Cm rmconfig
23303687bafSKirill PonomarevRemove
23403687bafSKirill Ponomarev.Va OPTIONS
23503687bafSKirill Ponomarevconfig for this port.
236a571610dSKirill Ponomarev.It Cm rmconfig-recursive
237a571610dSKirill PonomarevRemove
238a571610dSKirill Ponomarev.Va OPTIONS
239a571610dSKirill Ponomarevconfig for this port and all its dependencies.
240a571610dSKirill Ponomarev.It Cm config-conditional
241a571610dSKirill PonomarevSkip the ports which have already had their
242a571610dSKirill Ponomarev.Va OPTIONS
243a571610dSKirill Ponomarevconfigured.
244039b8701STom Rhodes.It Cm config-recursive
245039b8701STom RhodesConfigure
246039b8701STom Rhodes.Va OPTIONS
247039b8701STom Rhodesfor this port and all its dependencies using
248ae41fe61SEitan Adler.Xr dialog4ports 1 .
2490412d17cSRuslan Ermilov.It Cm fetch-list
250d0b0bc37SOlivier CertnerShow the list of files to fetch in order to build the port (but not its
251d0b0bc37SOlivier Certnerdependencies).
25256e37108SGiorgos Keramidas.It Cm fetch-recursive
25356e37108SGiorgos KeramidasFetch the distfiles of the port and all its dependencies.
254515ba752SChristian Brueffer.It Cm fetch-recursive-list
255515ba752SChristian BruefferShow list of files that would be retrieved by
256515ba752SChristian Brueffer.Cm fetch-recursive .
257d0b0bc37SOlivier Certner.It Cm build-depends-list , run-depends-list
258d0b0bc37SOlivier CertnerPrint a list of all the direct compile or run dependencies for this port.
259039b8701STom Rhodes.It Cm all-depends-list
260d0b0bc37SOlivier CertnerPrint a list of all recursive dependencies for this port.
261d0b0bc37SOlivier Certner.It Cm pretty-print-build-depends-list , pretty-print-run-depends-list
262d0b0bc37SOlivier CertnerPrint a list of all the recursive compile or run dependencies for this port by
263d0b0bc37SOlivier Certnerport name and version.
264c8ff7e9eSPav Lucistnik.It Cm missing
265c8ff7e9eSPav LucistnikPrint a list of missing dependencies to be installed for the port.
2660412d17cSRuslan Ermilov.It Cm clean
2670412d17cSRuslan ErmilovRemove the expanded source code.
2680412d17cSRuslan ErmilovThis recurses to dependencies unless
2690412d17cSRuslan Ermilov.Va NOCLEANDEPENDS
27065dfa7aaSTim Vanderhoekis defined.
2710412d17cSRuslan Ermilov.It Cm distclean
2720412d17cSRuslan ErmilovRemove the port's distfiles and perform the
2730412d17cSRuslan Ermilov.Cm clean
274019de50bSDima Dorfmantarget.
275019de50bSDima DorfmanThe
2760412d17cSRuslan Ermilov.Cm clean
27765dfa7aaSTim Vanderhoekportion recurses to dependencies unless
2780412d17cSRuslan Ermilov.Va NOCLEANDEPENDS
27965dfa7aaSTim Vanderhoekis defined, but the
2800412d17cSRuslan Ermilov.Cm distclean
28165dfa7aaSTim Vanderhoekportion never recurses
282c4d9468eSRuslan Ermilov(this is perhaps a bug).
2830412d17cSRuslan Ermilov.It Cm reinstall
28465dfa7aaSTim VanderhoekUse this to restore a port after using
285225636dcSEdward Tomasz Napierala.Xr pkg-delete 8
28665dfa7aaSTim Vanderhoekwhen you should have used
2870412d17cSRuslan Ermilov.Cm deinstall .
2880412d17cSRuslan Ermilov.It Cm deinstall
28965dfa7aaSTim VanderhoekRemove an installed port from the system, similar to
290225636dcSEdward Tomasz Napierala.Xr pkg-delete 8 .
291515ba752SChristian Brueffer.It Cm deinstall-all
292515ba752SChristian BruefferRemove all installed ports with the same
293515ba752SChristian Brueffer.Va PKGORIGIN
294515ba752SChristian Bruefferfrom the system.
2950412d17cSRuslan Ermilov.It Cm package
2960412d17cSRuslan ErmilovMake a binary package for the port.
2970412d17cSRuslan ErmilovThe port will be installed if it has not already been.
2980412d17cSRuslan ErmilovThe package is a
299d6ed0d3dSBaptiste Daroussin.Pa .pkg
3000412d17cSRuslan Ermilovfile that you can use to
30165dfa7aaSTim Vanderhoekinstall the port on other machines with
302225636dcSEdward Tomasz Napierala.Xr pkg-add 8 .
30365dfa7aaSTim VanderhoekIf the directory specified by
3040412d17cSRuslan Ermilov.Va PACKAGES
305248a47a4SDaniel Ebdrup Jensendoes not exist, the package will be put in
306248a47a4SDaniel Ebdrup Jensen.Pa /usr/ports/category/port/work/pkg .
30783d04c76STim VanderhoekSee
3080412d17cSRuslan Ermilov.Va PKGREPOSITORY
30983d04c76STim Vanderhoekand
310248a47a4SDaniel Ebdrup Jensen.Va PKGFILE
311248a47a4SDaniel Ebdrup Jensenfor more information.
3128c3bfd69SChristian Brueffer.It Cm package-recursive
3138c3bfd69SChristian BruefferLike
3148c3bfd69SChristian Brueffer.Cm package ,
3158c3bfd69SChristian Bruefferbut makes a package for each depending port as well.
316d40caf29SThomas Abthorpe.It Cm package-name
317d40caf29SThomas AbthorpePrints the name with version of the port.
3180412d17cSRuslan Ermilov.It Cm readmes
31983d04c76STim VanderhoekCreate a port's
32083d04c76STim Vanderhoek.Pa README.html .
3216b4c0736STim VanderhoekThis can be used from
3226b4c0736STim Vanderhoek.Pa /usr/ports
3236b4c0736STim Vanderhoekto create a browsable web of all ports on your system!
3240412d17cSRuslan Ermilov.It Cm search
325019de50bSDima DorfmanSearch the
326019de50bSDima Dorfman.Pa INDEX
32765d476e0SKirill Ponomarevfile for the pattern specified by the
3280412d17cSRuslan Ermilov.Va key
32965d476e0SKirill Ponomarev(searches the port name, comment, and dependencies),
3300412d17cSRuslan Ermilov.Va name
33165d476e0SKirill Ponomarev(searches the port name only),
33265d476e0SKirill Ponomarev.Va path
33365d476e0SKirill Ponomarev(searches the port path),
33465d476e0SKirill Ponomarev.Va info
33565d476e0SKirill Ponomarev(searches the port info),
33665d476e0SKirill Ponomarev.Va maint
33765d476e0SKirill Ponomarev(searches the port maintainer),
33865d476e0SKirill Ponomarev.Va cat
33965d476e0SKirill Ponomarev(searches the port category),
34065d476e0SKirill Ponomarev.Va bdeps
34165d476e0SKirill Ponomarev(searches the port build-time dependency),
34265d476e0SKirill Ponomarev.Va rdeps
3431ea65ec7SGabor Kovesdan(searches the port run-time dependency),
3441ea65ec7SGabor Kovesdan.Va www
3451ea65ec7SGabor Kovesdan(searches the port web site)
3460412d17cSRuslan Ermilov.Xr make 1
34765d476e0SKirill Ponomarevvariables, and their exclusion counterparts:
34865d476e0SKirill Ponomarev.Va xname , xkey
34965d476e0SKirill Ponomarevetc.
350019de50bSDima DorfmanFor example, one would type:
351019de50bSDima Dorfman.Pp
3520412d17cSRuslan Ermilov.Dl "cd /usr/ports && make search name=query"
353019de50bSDima Dorfman.Pp
354019de50bSDima Dorfmanto find all ports whose
355019de50bSDima Dorfmanname matches
3560412d17cSRuslan Ermilov.Dq Li query .
357019de50bSDima DorfmanResults include the matching ports' path, comment, maintainer,
358019de50bSDima Dorfmanbuild dependencies, and run dependencies.
35965d476e0SKirill Ponomarev.Bd -literal -offset indent
36065d476e0SKirill Ponomarevcd /usr/ports && make search name=pear- \e
36165d476e0SKirill Ponomarev    xbdeps=apache
36265d476e0SKirill Ponomarev.Ed
36365d476e0SKirill Ponomarev.Pp
36465d476e0SKirill PonomarevTo find all ports whose
36565d476e0SKirill Ponomarevnames contain
36665d476e0SKirill Ponomarev.Dq Li pear-
36765d476e0SKirill Ponomarevand which do not have apache
36865d476e0SKirill Ponomarevlisted in build-time dependencies.
36965d476e0SKirill Ponomarev.Bd -literal -offset indent
37065d476e0SKirill Ponomarevcd /usr/ports && make search name=pear- \e
37165d476e0SKirill Ponomarev    xname='ht(tp|ml)'
37265d476e0SKirill Ponomarev.Ed
37365d476e0SKirill Ponomarev.Pp
37465d476e0SKirill PonomarevTo find all ports whose names contain
37565d476e0SKirill Ponomarev.Dq Li pear- ,
37665d476e0SKirill Ponomarevbut not
37765d476e0SKirill Ponomarev.Dq Li html
37865d476e0SKirill Ponomarevor
37965d476e0SKirill Ponomarev.Dq Li http .
38065d476e0SKirill Ponomarev.Bd -literal -offset indent
38165d476e0SKirill Ponomarevmake search key=apache display=name,path,info keylim=1
38265d476e0SKirill Ponomarev.Ed
38365d476e0SKirill Ponomarev.Pp
38465d476e0SKirill PonomarevTo find ports that contain
38565d476e0SKirill Ponomarev.Dq Li apache
38665d476e0SKirill Ponomarevin either of the name, path, info
38765d476e0SKirill Ponomarevfields, ignore the rest of the record.
3881ea65ec7SGabor Kovesdan.Pp
389f283c8f8SJens SchweikhardtBy default the search is not case-sensitive.
3901ea65ec7SGabor KovesdanIn order to make it case-sensitive you can use the
3911ea65ec7SGabor Kovesdan.Va icase
3921ea65ec7SGabor Kovesdanvariable:
3931ea65ec7SGabor Kovesdan.Bd -literal -offset indent
3941ea65ec7SGabor Kovesdanmake search name=p5-R icase=0
3951ea65ec7SGabor Kovesdan.Ed
396be3253caSMaxim Konovalov.It Cm quicksearch
397be3253caSMaxim KonovalovReduced
398be3253caSMaxim Konovalov.Cm search
399be3253caSMaxim Konovalovoutput.
400be3253caSMaxim KonovalovOnly display name, path and info.
40103687bafSKirill Ponomarev.It Cm describe
40203687bafSKirill PonomarevGenerate a one-line description of each port for use in the
40303687bafSKirill Ponomarev.Pa INDEX
40403687bafSKirill Ponomarevfile.
405724c0a23SChristian Brueffer.It Cm maintainer
406724c0a23SChristian BruefferDisplay the port maintainer's email address.
4070412d17cSRuslan Ermilov.It Cm index
408019de50bSDima DorfmanCreate
409019de50bSDima Dorfman.Pa /usr/ports/INDEX ,
410019de50bSDima Dorfmanwhich is used by the
4110412d17cSRuslan Ermilov.Cm pretty-print-*
412019de50bSDima Dorfmanand
4130412d17cSRuslan Ermilov.Cm search
414019de50bSDima Dorfmantargets.
4157585929eSKirill PonomarevRunning the
4160412d17cSRuslan Ermilov.Cm index
4170412d17cSRuslan Ermilovtarget will ensure your
4180412d17cSRuslan Ermilov.Pa INDEX
4190412d17cSRuslan Ermilovfile is up to date with your ports tree.
4207585929eSKirill Ponomarev.It Cm fetchindex
4217585929eSKirill PonomarevFetch the
4227585929eSKirill Ponomarev.Pa INDEX
4237585929eSKirill Ponomarevfile from the
4247585929eSKirill Ponomarev.Fx
4257585929eSKirill Ponomarevcluster.
4263136363fSRuslan Ermilov.El
427def37e7cSMike Pritchard.Sh ENVIRONMENT
42865dfa7aaSTim VanderhoekYou can change all of these.
4290412d17cSRuslan Ermilov.Bl -tag -width ".Va MASTER_SITES"
4300412d17cSRuslan Ermilov.It Va PORTSDIR
4310412d17cSRuslan ErmilovLocation of the ports tree.
4320412d17cSRuslan ErmilovThis is
43365dfa7aaSTim Vanderhoek.Pa /usr/ports
434758dde06SMateusz Piotrowskiby default.
4350412d17cSRuslan Ermilov.It Va WRKDIRPREFIX
4360412d17cSRuslan ErmilovWhere to create any temporary files.
4370412d17cSRuslan ErmilovUseful if
4380412d17cSRuslan Ermilov.Va PORTSDIR
4390412d17cSRuslan Ermilovis read-only (perhaps mounted from a CD-ROM).
4400412d17cSRuslan Ermilov.It Va DISTDIR
44165dfa7aaSTim VanderhoekWhere to find/put distfiles, normally
44265dfa7aaSTim Vanderhoek.Pa distfiles/
44365dfa7aaSTim Vanderhoekin
4440412d17cSRuslan Ermilov.Va PORTSDIR .
445c6a2e9a7SPiotr Pawel Stefaniak.It Va SU_CMD
446c6a2e9a7SPiotr Pawel StefaniakCommand used to elevate privilege to configure and install a port.
447c6a2e9a7SPiotr Pawel StefaniakThe unprivileged user must have write access to
448c6a2e9a7SPiotr Pawel Stefaniak.Va WRKDIRPREFIX
449c6a2e9a7SPiotr Pawel Stefaniakand
450c6a2e9a7SPiotr Pawel Stefaniak.Va DISTDIR .
451c6a2e9a7SPiotr Pawel StefaniakThe default is
45276d2af50SMateusz Piotrowski.Ql /usr/bin/su root -c .
45376d2af50SMateusz PiotrowskiMany users set it to
45476d2af50SMateusz Piotrowski.Ql /usr/local/bin/sudo -E sh -c
45576d2af50SMateusz Piotrowskifor convenience.
4560412d17cSRuslan Ermilov.It Va PACKAGES
45765dfa7aaSTim VanderhoekUsed only for the
4580412d17cSRuslan Ermilov.Cm package
45965dfa7aaSTim Vanderhoektarget; the base directory for the packages tree, normally
46065dfa7aaSTim Vanderhoek.Pa packages/
46165dfa7aaSTim Vanderhoekin
4620412d17cSRuslan Ermilov.Va PORTSDIR .
46365dfa7aaSTim VanderhoekIf this directory exists, the package tree will be (partially) constructed.
4640412d17cSRuslan ErmilovThis directory does not have to exist; if it does not, packages will be
46583d04c76STim Vanderhoekplaced into the current directory, or you can define one of
4660412d17cSRuslan Ermilov.Bl -tag -width ".Va PKGREPOSITORY"
4670412d17cSRuslan Ermilov.It Va PKGREPOSITORY
46883d04c76STim VanderhoekDirectory to put the package in.
4690412d17cSRuslan Ermilov.It Va PKGFILE
47065dfa7aaSTim VanderhoekThe full path to the package.
47165dfa7aaSTim Vanderhoek.El
472eed1dcabSEitan Adler.It Va LOCALBASE
473eed1dcabSEitan AdlerWhere existing things are installed and where to search for files when
474eed1dcabSEitan Adlerresolving dependencies (usually
4759a0e6be2SXin LI.Pa /usr/local ) .
476eed1dcabSEitan Adler.It Va PREFIX
477eed1dcabSEitan AdlerWhere to install this port (usually set to the same as
478eed1dcabSEitan Adler.Va LOCALBASE ) .
4790412d17cSRuslan Ermilov.It Va MASTER_SITES
480e4b22b63SDavid E. O'BrienPrimary sites for distribution files if not found locally.
4810412d17cSRuslan Ermilov.It Va PATCH_SITES
4820412d17cSRuslan ErmilovPrimary locations for distribution patch files if not found
483e4b22b63SDavid E. O'Brienlocally.
4840412d17cSRuslan Ermilov.It Va MASTER_SITE_FREEBSD
485b5c508fbSRuslan ErmilovIf set, go to the master
486b5c508fbSRuslan Ermilov.Fx
487b5c508fbSRuslan Ermilovsite for all files.
4880412d17cSRuslan Ermilov.It Va MASTER_SITE_OVERRIDE
489b81d803eSRuslan ErmilovTry going to these sites for all files and patches, first.
490e57fe046SKirill Ponomarev.It Va MASTER_SITE_BACKUP
491e57fe046SKirill PonomarevTry going to these sites for all files and patches, last.
4921f568fb2SPav Lucistnik.It Va RANDOMIZE_MASTER_SITES
4931f568fb2SPav LucistnikTry the download locations in a random order.
4941f568fb2SPav Lucistnik.It Va MASTER_SORT
4951f568fb2SPav LucistnikSort the download locations according to user supplied pattern.
4961f568fb2SPav LucistnikExample:
4971f568fb2SPav Lucistnik.Dl .dk .sunet.se .se dk.php.net .no .de heanet.dl.sourceforge.net
498e57fe046SKirill Ponomarev.It Va MASTER_SITE_INDEX
499e57fe046SKirill PonomarevWhere to get
500e57fe046SKirill Ponomarev.Pa INDEX
501e57fe046SKirill Ponomarevsource built on
502e57fe046SKirill Ponomarev.Fx
503e57fe046SKirill Ponomarevcluster (for
504e57fe046SKirill Ponomarev.Cm fetchindex
505e57fe046SKirill Ponomarevtarget).
506e57fe046SKirill PonomarevDefaults to
507855e0457SLi-Wen Hsu.Pa https://download.FreeBSD.org/ports/index/ .
508e57fe046SKirill Ponomarev.It Va FETCHINDEX
509e57fe046SKirill PonomarevCommand to get
510e57fe046SKirill Ponomarev.Pa INDEX
511e57fe046SKirill Ponomarev(for
512e57fe046SKirill Ponomarev.Cm fetchindex
513e57fe046SKirill Ponomarevtarget).
514e57fe046SKirill PonomarevDefaults to
5153d04377bSMateusz Piotrowski.Dq Li "fetch -am" .
5160412d17cSRuslan Ermilov.It Va NOCLEANDEPENDS
5170412d17cSRuslan ErmilovIf defined, do not let
5180412d17cSRuslan Ermilov.Cm clean
51965dfa7aaSTim Vanderhoekrecurse to dependencies.
5200412d17cSRuslan Ermilov.It Va FETCH_CMD
5210412d17cSRuslan ErmilovCommand to use to fetch files.
5220412d17cSRuslan ErmilovNormally
52365dfa7aaSTim Vanderhoek.Xr fetch 1 .
5240412d17cSRuslan Ermilov.It Va FORCE_PKG_REGISTER
52565dfa7aaSTim VanderhoekIf set, overwrite any existing package registration on the system.
5260412d17cSRuslan Ermilov.It Va INTERACTIVE
52765dfa7aaSTim VanderhoekIf defined, only operate on a port if it requires interaction.
5280412d17cSRuslan Ermilov.It Va BATCH
52965dfa7aaSTim VanderhoekIf defined, only operate on a port if it can be installed 100% automatically.
530949f900dSSimon L. B. Nielsen.It Va DISABLE_VULNERABILITIES
531949f900dSSimon L. B. NielsenIf defined, disable check for security vulnerabilities using
5329ef6fea6SGlen Barber.Xr pkg-audit 8
533949f900dSSimon L. B. Nielsenwhen installing new ports.
534068abd55SGiorgos Keramidas.It Va NO_IGNORE
535068abd55SGiorgos KeramidasIf defined, allow installation of ports marked as
536068abd55SGiorgos Keramidas.Aq Va FORBIDDEN .
537068abd55SGiorgos KeramidasThe default behavior of the Ports framework is to abort when the
538068abd55SGiorgos Keramidasinstallation of a forbidden port is attempted.
539068abd55SGiorgos KeramidasOf course, these ports may not work as expected, but if you really know
540068abd55SGiorgos Keramidaswhat you are doing and are sure about installing a forbidden port, then
541068abd55SGiorgos Keramidas.Va NO_IGNORE
542068abd55SGiorgos Keramidaslets you do it.
543b7642c92SBenedict Reuschling.It Va NO_CHECKSUM
544b7642c92SBenedict ReuschlingIf defined, skip verifying the port's checksum.
5451583221bSGiorgos Keramidas.It Va TRYBROKEN
5461583221bSGiorgos KeramidasIf defined, attempt to build a port even if it is marked as
5471583221bSGiorgos Keramidas.Aq Va BROKEN .
548520a4bfdSGabor Kovesdan.It Va PORT_DBDIR
549520a4bfdSGabor KovesdanDirectory where the results of configuring
550520a4bfdSGabor Kovesdan.Va OPTIONS
551520a4bfdSGabor Kovesdanare stored.
552520a4bfdSGabor KovesdanDefaults to
553520a4bfdSGabor Kovesdan.Pa /var/db/ports .
554520a4bfdSGabor KovesdanEach port where
555520a4bfdSGabor Kovesdan.Va OPTIONS
556520a4bfdSGabor Kovesdanhave been configured will have a uniquely named sub-directory, containing a
557520a4bfdSGabor Kovesdansingle file
558520a4bfdSGabor Kovesdan.Pa options .
55965dfa7aaSTim Vanderhoek.El
56059be36b0SBenjamin Kaduk.Sh MAKE VARIABLES
56159be36b0SBenjamin KadukThe following list provides a name and short description for many of the
56259be36b0SBenjamin Kadukvariables that are used when building ports.
56359be36b0SBenjamin KadukMore information on these and other related variables may be found in
56459be36b0SBenjamin Kaduk.Pa ${PORTSDIR}/Mk/*
56559be36b0SBenjamin Kadukand the
56659be36b0SBenjamin Kaduk.Fx
56759be36b0SBenjamin KadukPorter's Handbook.
568af1f5e64SMateusz Piotrowski.Bl -tag -width "WITH_CCACHE_BUILD"
56959be36b0SBenjamin Kaduk.It Va WITH_DEBUG
57059be36b0SBenjamin Kaduk.Pq Vt bool
57159be36b0SBenjamin KadukIf set, debugging symbols are installed for ports binaries.
57259be36b0SBenjamin Kaduk.It Va WITH_DEBUG_PORTS
57359be36b0SBenjamin KadukA list of origins for which to set
57423788e6cSMateusz Piotrowski.Va WITH_DEBUG .
575d25f7d32SMateusz Piotrowski.It Va DEBUG_FLAGS
576d25f7d32SMateusz Piotrowski.Pq Default: Ql -g
577d25f7d32SMateusz PiotrowskiAdditional
578d25f7d32SMateusz Piotrowski.Va CFLAGS
579d25f7d32SMateusz Piotrowskito set when
580d25f7d32SMateusz Piotrowski.Va WITH_DEBUG
581d25f7d32SMateusz Piotrowskiis set.
58259be36b0SBenjamin Kaduk.It Va WITH_CCACHE_BUILD
58359be36b0SBenjamin Kaduk.Pq Vt bool
58459be36b0SBenjamin KadukIf set, enables the use of
58559be36b0SBenjamin Kaduk.Xr ccache 1
58659be36b0SBenjamin Kadukfor building ports.
58759be36b0SBenjamin Kaduk.It Va CCACHE_DIR
5883d04377bSMateusz PiotrowskiWhich directory to use for the
5893d04377bSMateusz Piotrowski.Xr ccache 1
5903d04377bSMateusz Piotrowskidata.
59159be36b0SBenjamin Kaduk.El
5924000f72fSDavid E. O'Brien.Sh FILES
5930412d17cSRuslan Ermilov.Bl -tag -width ".Pa /usr/ports/Mk/bsd.port.mk" -compact
5944000f72fSDavid E. O'Brien.It Pa /usr/ports
5953d04377bSMateusz PiotrowskiThe default ports directory.
596652627f0STim Vanderhoek.It Pa /usr/ports/Mk/bsd.port.mk
59765dfa7aaSTim VanderhoekThe big Kahuna.
5983136363fSRuslan Ermilov.El
5991b3fba16SEdward Tomasz Napierala.Sh EXAMPLES
600154b4d39SMateusz Piotrowski.Bl -tag -width 0n
601154b4d39SMateusz Piotrowski.It Sy Example 1\&: No Building and Installing a Port
602154b4d39SMateusz Piotrowski.Pp
603154b4d39SMateusz PiotrowskiThe following command builds and installs Emacs.
604154b4d39SMateusz Piotrowski.Bd -literal -offset 2n
605154b4d39SMateusz Piotrowski.Li # Ic cd /usr/ports/editors/emacs
606154b4d39SMateusz Piotrowski.Li # Ic make install
6071b3fba16SEdward Tomasz Napierala.Ed
608154b4d39SMateusz Piotrowski.It Sy Example 2\&: No Installing Dependencies with Xr pkg 8
609154b4d39SMateusz Piotrowski.Pp
61096fdbc90SMateusz PiotrowskiThe following example shows how to build and install a port without having to
611154b4d39SMateusz Piotrowskibuild its dependencies.
612154b4d39SMateusz PiotrowskiInstead, the dependencies are downloaded via
613154b4d39SMateusz Piotrowski.Xr pkg 8 .
614154b4d39SMateusz Piotrowski.Bd -literal -offset 2n
615a3f02b1aSMateusz Piotrowski.Li # Ic make install-missing-packages
616154b4d39SMateusz Piotrowski.Li # Ic make install
617154b4d39SMateusz Piotrowski.Ed
618154b4d39SMateusz Piotrowski.Pp
619154b4d39SMateusz PiotrowskiIt is especially useful, when the dependencies are costly
620154b4d39SMateusz Piotrowskiin time and resources to build
621154b4d39SMateusz Piotrowski.Pq like Pa lang/rust .
622154b4d39SMateusz PiotrowskiThe drawback is that
623154b4d39SMateusz Piotrowski.Xr pkg 8
624154b4d39SMateusz Piotrowskioffers only packages built with the default set of
625154b4d39SMateusz Piotrowski.Va OPTIONS .
62696fdbc90SMateusz Piotrowski.It Sy Example 3\&: No Building a Non-Default Flavor of a Port
62796fdbc90SMateusz Piotrowski.Pp
62896fdbc90SMateusz PiotrowskiThe following command builds a non-default flavor of a port.
62996fdbc90SMateusz Piotrowski(In this case
63096fdbc90SMateusz Piotrowski.Pa devel/py-pip
63196fdbc90SMateusz Piotrowskiis going to be built with Python 3.7 support.)
63296fdbc90SMateusz Piotrowski.Bd -literal -offset 2n
63396fdbc90SMateusz Piotrowski.Li # Ic cd /usr/ports/devel/py-pip
63496fdbc90SMateusz Piotrowski.Li # Ic env FLAVOR=py37 make build
63596fdbc90SMateusz Piotrowski.Ed
636fcdfe016SMateusz Piotrowski.It Sy Example 4\&: No Setting Ports Options via Xr make.conf 5
637fcdfe016SMateusz Piotrowski.Pp
638fcdfe016SMateusz PiotrowskiThe following lines present various ways of configuring ports options via
639fcdfe016SMateusz Piotrowski.Xr make.conf 5
640fcdfe016SMateusz Piotrowski(as an alternative to, e.g., running
641fcdfe016SMateusz Piotrowski.Dq Li make config ) :
642fcdfe016SMateusz Piotrowski.Bd -literal -offset 2n
643fcdfe016SMateusz Piotrowski# Enable NLS for all ports unless configured otherwise
644fcdfe016SMateusz Piotrowski# using the options dialog.
645fcdfe016SMateusz PiotrowskiOPTIONS_SET=		NLS
646fcdfe016SMateusz Piotrowski# Disable DOCS for all ports overriding the options set
647fcdfe016SMateusz Piotrowski# via the options dialog.
648fcdfe016SMateusz PiotrowskiOPTIONS_UNSET_FORCE=	DOCS
649fcdfe016SMateusz Piotrowski# Disable DOCS and EXAMPLES for the shells/zsh port.
650fcdfe016SMateusz Piotrowskishells_zsh_UNSET=	DOCS EXAMPLES
651fcdfe016SMateusz Piotrowski.Ed
652fcdfe016SMateusz Piotrowski.Pp
653fcdfe016SMateusz PiotrowskiThese and other options-related variables are documented in
654fcdfe016SMateusz Piotrowski.Pa /usr/ports/Mk/bsd.options.mk .
655c0e41dffSMateusz Piotrowski.It Sy Example 5\&: No Setting Xr make 1 Variables for Specific Ports via Xr make.conf 5
656c0e41dffSMateusz Piotrowski.Pp
657c0e41dffSMateusz PiotrowskiThe following example shows how to set arbitrary
658c0e41dffSMateusz Piotrowski.Xr make 1
659c0e41dffSMateusz Piotrowskivariables only specific ports:
660c0e41dffSMateusz Piotrowski.Bd -literal -offset 2n
661c0e41dffSMateusz Piotrowski# Set DISABLE_MAKE_JOBS for the lang/rust port:
662c0e41dffSMateusz Piotrowski\&.if ${.CURDIR:M*/lang/rust}
663c0e41dffSMateusz PiotrowskiDISABLE_MAKE_JOBS=	yes
664c0e41dffSMateusz PiotrowskiTRYBROKEN=		yes
665c0e41dffSMateusz Piotrowski\&.endif
666c0e41dffSMateusz Piotrowski.Ed
667d25f7d32SMateusz Piotrowski.It Sy Example 6\&: No Debugging Ports
668d25f7d32SMateusz PiotrowskiBy default ports are built and packaged without debugging support (e.g.,
669d25f7d32SMateusz Piotrowskidebugging symbols are stripped from binaries, optimization flags are used for
670d25f7d32SMateusz Piotrowskicompiling, verbose logging is disabled).
671d25f7d32SMateusz PiotrowskiWhether ports are built with debugging symbols can be controlled by the
672d25f7d32SMateusz Piotrowskisettings in
673d25f7d32SMateusz Piotrowski.Xr make.conf 5 ,
674d25f7d32SMateusz Piotrowskie.g.,
675d25f7d32SMateusz Piotrowski.Bd -literal -offset 2n
676d25f7d32SMateusz Piotrowski# Enable debugging for all ports.
677d25f7d32SMateusz PiotrowskiWITH_DEBUG=		yes
678d25f7d32SMateusz Piotrowski# Enable debugging for selected ports.
679d25f7d32SMateusz PiotrowskiWITH_DEBUG_PORTS=	mail/dovecot security/krb5
680d25f7d32SMateusz Piotrowski.Ed
681d25f7d32SMateusz Piotrowski.Pp
682d25f7d32SMateusz PiotrowskiIt is also possible to use the debug variables on the command line:
683d25f7d32SMateusz Piotrowski.Bd -literal -offset 2n
684d25f7d32SMateusz Piotrowski.Li # Ic make -DWITH_DEBUG DEBUG_FLAGS="-g -O0" build
685d25f7d32SMateusz Piotrowski.Ed
686d25f7d32SMateusz Piotrowski.Pp
687d25f7d32SMateusz PiotrowskiSee the
688d25f7d32SMateusz Piotrowski.Sx MAKE VARIABLES
689d25f7d32SMateusz Piotrowskisection to learn more about the debug variables.
690d25f7d32SMateusz Piotrowski.Pp
691d25f7d32SMateusz PiotrowskiTo understand the details of what happens when the debug variables are set it
692d25f7d32SMateusz Piotrowskiis best to consult the files located at
693d25f7d32SMateusz Piotrowski.Pa ${PORTSDIR}/Mk/*
694d25f7d32SMateusz Piotrowski.Po Pa bsd.port.mk
695d25f7d32SMateusz Piotrowskiin particular
696d25f7d32SMateusz Piotrowski.Pc .
697d25f7d32SMateusz Piotrowski.Pp
698d25f7d32SMateusz PiotrowskiIf debugging is enabled for a specific port, the ports framework will:
699d25f7d32SMateusz Piotrowski.Bl -bullet
700d25f7d32SMateusz Piotrowski.It
701d25f7d32SMateusz PiotrowskiAdd
702d25f7d32SMateusz Piotrowski.Va DEBUG_FLAGS
703d25f7d32SMateusz Piotrowski(defaults to
704d25f7d32SMateusz Piotrowski.Ql -g )
705d25f7d32SMateusz Piotrowskito
706d25f7d32SMateusz Piotrowski.Va CFLAGS .
707d25f7d32SMateusz Piotrowski.It
708d25f7d32SMateusz PiotrowskiTry to prevent the binaries from being stripped (including checking the install
709d25f7d32SMateusz Piotrowskitarget to replace
710d25f7d32SMateusz Piotrowski.Ql install-strip
711d25f7d32SMateusz Piotrowskiwith
712d25f7d32SMateusz Piotrowski.Ql install ) .
713d25f7d32SMateusz PiotrowskiWhether a binary has been stripped can be checked with
714d25f7d32SMateusz Piotrowski.Xr file 1 .
715d25f7d32SMateusz Piotrowski.It
716d25f7d32SMateusz PiotrowskiTry to enable other debugging features like debug build type or verbose logging.
717d25f7d32SMateusz PiotrowskiHowever, this is port-specific and the ports framework might not be aware of
718d25f7d32SMateusz Piotrowskieach supported debugging feature a given piece of software has to offer).
719154b4d39SMateusz Piotrowski.El
72016ee5cd1SChristian Brueffer.El
7214000f72fSDavid E. O'Brien.Sh SEE ALSO
7224000f72fSDavid E. O'Brien.Xr make 1 ,
72359be36b0SBenjamin Kaduk.Xr make.conf 5 ,
724375409b4SEdward Tomasz Napierala.Xr development 7 ,
7258c725779SMateusz Piotrowski.Xr pkg 7
726def37e7cSMike Pritchard.Pp
7273d04377bSMateusz PiotrowskiAdditional developer documentation:
7283d04377bSMateusz Piotrowski.Bl -dash -width "" -offset indent
7293d04377bSMateusz Piotrowski.It
730ac8011f8SDavid E. O'Brien.Xr portlint 1
7313d04377bSMateusz Piotrowski.It
7323d04377bSMateusz Piotrowski.Pa /usr/ports/Mk/bsd.port.mk
7333d04377bSMateusz Piotrowski.El
73465dfa7aaSTim Vanderhoek.Pp
7353d04377bSMateusz PiotrowskiAdditional user documentation:
7363d04377bSMateusz Piotrowski.Bl -dash -width "" -offset indent
7373d04377bSMateusz Piotrowski.It
7383d04377bSMateusz Piotrowski.Xr pkg 8
7393d04377bSMateusz Piotrowski.It
740*c9e8a2cdSWolfram Schneider.Lk "https://ports.FreeBSD.org" "Searchable index of all ports"
7413d04377bSMateusz Piotrowski.El
7424000f72fSDavid E. O'Brien.Sh HISTORY
7430412d17cSRuslan ErmilovThe Ports Collection
7444000f72fSDavid E. O'Brienappeared in
7454000f72fSDavid E. O'Brien.Fx 1.0 .
7466b4c0736STim VanderhoekIt has since spread to
7476b4c0736STim Vanderhoek.Nx
7486b4c0736STim Vanderhoekand
7496b4c0736STim Vanderhoek.Ox .
7509cbda590SRuslan Ermilov.Sh AUTHORS
7519cbda590SRuslan Ermilov.An -nosplit
7529cbda590SRuslan ErmilovThis manual page was originated by
7539cbda590SRuslan Ermilov.An David O'Brien .
75465dfa7aaSTim Vanderhoek.Sh BUGS
7550412d17cSRuslan ErmilovPorts documentation is split over four places \(em
7562693c8b9STim Vanderhoek.Pa /usr/ports/Mk/bsd.port.mk ,
7570412d17cSRuslan Ermilov.%B "The Porter's Handbook" ,
75865dfa7aaSTim Vanderhoekthe
7590412d17cSRuslan Ermilov.Dq "Packages and Ports"
7605d3d0230SMurray Stokelychapter of
7610412d17cSRuslan Ermilov.%B "The FreeBSD Handbook" ,
7625d3d0230SMurray Stokelyand
763949f900dSSimon L. B. Nielsenthis manual page.
764