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*d6ed0d3dSBaptiste Daroussin.Dd July 22, 2021 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 38f1dd4984SEdward Tomasz Napieralaoffers a simple way to compile and install third party applications. 39f1dd4984SEdward Tomasz NapieralaIt is also used to build packages, to be installed using 4086b83608SEdward Tomasz Napierala.Xr pkg 8 . 41f1dd4984SEdward Tomasz Napierala.Pp 42f1dd4984SEdward Tomasz NapieralaThe ports tree, typically located at 43f1dd4984SEdward Tomasz Napierala.Pa /usr/ports , 44f1dd4984SEdward Tomasz Napieralaconsists of subdirectories, one for each category; those in turn contain 45f1dd4984SEdward Tomasz Napieralaindividual ports. 46f1dd4984SEdward Tomasz NapieralaEach port is a directory with metadata and patches necessary to make 47f1dd4984SEdward Tomasz Napieralathe original application source code compile and run on 48481974c2SEitan Adler.Fx . 493d04377bSMateusz PiotrowskiCompiling an application is as simple as typing 503d04377bSMateusz Piotrowski.Dq Li "make build" 51f1dd4984SEdward Tomasz Napieralain the port directory. 520412d17cSRuslan ErmilovThe 530412d17cSRuslan Ermilov.Pa Makefile 54e4b22b63SDavid E. O'Brienautomatically fetches the 55f1dd4984SEdward Tomasz Napieralaapplication source code, either from a local disk or the network, unpacks it, 56f1dd4984SEdward Tomasz Napieralaapplies the patches, and compiles it. 57f1dd4984SEdward Tomasz NapieralaIt also recursively handles dependencies \(em other pieces of software 58f1dd4984SEdward Tomasz Napieralathe port depends on in order to build and work. 59f1dd4984SEdward Tomasz NapieralaAfterwards, 603d04377bSMateusz Piotrowski.Dq Li "make install" 61f1dd4984SEdward Tomasz Napieralainstalls the application. 624000f72fSDavid E. O'Brien.Pp 6322427dafSEdward Tomasz NapieralaThe 6422427dafSEdward Tomasz Napierala.Fx 6522427dafSEdward Tomasz NapieralaPorts Collection is maintained in several branches, which differ mostly 6622427dafSEdward Tomasz Napieralaby versions of software provided: the 6711f47f17SRene Ladan.Em main 6811f47f17SRene Ladanbranch contains all the latest changes and corresponds to the 6911f47f17SRene Ladan.Em latest 7011f47f17SRene Ladanpackage set, while the 7122427dafSEdward Tomasz Napierala.Em quarterly 7222427dafSEdward Tomasz Napieralabranches only provide critical fixes. 7322427dafSEdward Tomasz NapieralaThe 7411f47f17SRene Ladan.Em main 7511f47f17SRene Ladanbranch can be cloned and updated from the Git repository located at: 7622427dafSEdward Tomasz Napierala.Pp 7711f47f17SRene Ladan.Lk https://git.FreeBSD.org/ports.git 7811f47f17SRene Ladan.Pp 7911f47f17SRene Ladanso eg: 8011f47f17SRene Ladan.Pp 8111f47f17SRene Ladan.Cm git clone https://git.FreeBSD.org/ports.git 8222427dafSEdward Tomasz Napierala.Pp 8322427dafSEdward Tomasz NapieralaThe 8422427dafSEdward Tomasz Napierala.Em quarterly 8511f47f17SRene Ladanbranches can be found in Git as branches like 8611f47f17SRene Ladan.Pa yyyyQn 8711f47f17SRene Ladan, where 8811f47f17SRene Ladan.Em yyyy 8911f47f17SRene Ladanindicates the year and 9011f47f17SRene Ladan.Em n 9111f47f17SRene Ladanindicates the quarter 9211f47f17SRene Ladan.Po 1 to 4 9311f47f17SRene Ladan.Pc , eg: 9422427dafSEdward Tomasz Napierala.Pp 9511f47f17SRene Ladan.Cm git clone -b 2021Q2 https://git.FreeBSD.org/ports.git 9622427dafSEdward Tomasz Napierala.Pp 9722427dafSEdward Tomasz NapieralaIt is generally a good idea to use the 9822427dafSEdward Tomasz Napierala.Nm 9922427dafSEdward Tomasz Napieralabranch that matches the 10022427dafSEdward Tomasz Napierala.Xr pkg 8 10122427dafSEdward Tomasz Napieralarepository being used. 10222427dafSEdward Tomasz NapieralaBy default, for 10322427dafSEdward Tomasz Napierala.Fx CURRENT 10422427dafSEdward Tomasz Napieralathe 10522427dafSEdward Tomasz Napierala.Xr pkg 8 10622427dafSEdward Tomasz Napieralais configured to install packages built from the 10711f47f17SRene Ladan.Em main 10822427dafSEdward Tomasz Napieralabranch, while for 10922427dafSEdward Tomasz Napierala.Fx STABLE 11022427dafSEdward Tomasz Napieralaor RELEASE versions it is configured to install packages built from 11122427dafSEdward Tomasz Napieralathe latest 11222427dafSEdward Tomasz Napierala.Em quarterly 11322427dafSEdward Tomasz Napieralabranch. 11422427dafSEdward Tomasz NapieralaCurrently configured 11522427dafSEdward Tomasz Napierala.Xr pkg 8 11622427dafSEdward Tomasz Napieralarepository can be verified by looking at the 11722427dafSEdward Tomasz Napierala.Em url 11822427dafSEdward Tomasz Napieralafield in 11922427dafSEdward Tomasz Napierala.Cm pkg -vv 12022427dafSEdward Tomasz Napieralaoutput. 12122427dafSEdward Tomasz Napierala.Pp 1228f9c7371SEdward Tomasz NapieralaFor more information about using ports, see the 1238f9c7371SEdward Tomasz Napierala.Dq "Packages and Ports" section 1245d3d0230SMurray Stokelyin 1253d04377bSMateusz Piotrowski.Sm off 1263d04377bSMateusz Piotrowski.%B "The FreeBSD Handbook" 1273d04377bSMateusz Piotrowski.No \&: 1283d04377bSMateusz Piotrowski.Sm on 1298f9c7371SEdward Tomasz Napierala.Pp 1308dfb0024SLi-Wen Hsu.Lk https://docs.FreeBSD.org/en/books/handbook/ports/ 1318f9c7371SEdward Tomasz Napierala.Pp 132f1dd4984SEdward Tomasz NapieralaFor information about creating new ports, see 1333d04377bSMateusz Piotrowski.Sm off 1343d04377bSMateusz Piotrowski.%B "The Porter's Handbook" 1353d04377bSMateusz Piotrowski.No \&: 1363d04377bSMateusz Piotrowski.Sm on 1378f9c7371SEdward Tomasz Napierala.Pp 1388dfb0024SLi-Wen Hsu.Lk https://docs.FreeBSD.org/en/books/porters-handbook/ 139e4b22b63SDavid E. O'Brien.Sh TARGETS 140f1dd4984SEdward Tomasz NapieralaSome of the 141f1dd4984SEdward Tomasz Napierala.Xr make 1 142f1dd4984SEdward Tomasz Napieralatargets work recursively through subdirectories. 1430412d17cSRuslan ErmilovThis lets you, for example, install all of the 1440412d17cSRuslan Ermilov.Dq Li biology 1453d04377bSMateusz Piotrowskiports with one command. 1460412d17cSRuslan ErmilovThe targets that do this are 1470412d17cSRuslan Ermilov.Cm build , checksum , clean , configure , 1480412d17cSRuslan Ermilov.Cm depends , extract , fetch , install , 14965dfa7aaSTim Vanderhoekand 1500412d17cSRuslan Ermilov.Cm package . 15165dfa7aaSTim Vanderhoek.Pp 15265dfa7aaSTim VanderhoekThe following targets will be run automatically by each proceeding 1530412d17cSRuslan Ermilovtarget in order. 1540412d17cSRuslan ErmilovThat is, 1550412d17cSRuslan Ermilov.Cm build 1563d04377bSMateusz Piotrowskiwill be run (if necessary) by 1570412d17cSRuslan Ermilov.Cm install , 15865dfa7aaSTim Vanderhoekand so on all the way to 1590412d17cSRuslan Ermilov.Cm fetch . 160019de50bSDima DorfmanUsually, you will only use the 1610412d17cSRuslan Ermilov.Cm install 162019de50bSDima Dorfmantarget. 1630412d17cSRuslan Ermilov.Bl -tag -width ".Cm configure" 16403687bafSKirill Ponomarev.It Cm config 16503687bafSKirill PonomarevConfigure 16603687bafSKirill Ponomarev.Va OPTIONS 16703687bafSKirill Ponomarevfor this port using 168ae41fe61SEitan Adler.Xr dialog4ports 1 . 1690412d17cSRuslan Ermilov.It Cm fetch 1700412d17cSRuslan ErmilovFetch all of the files needed to build this port from the sites 1710412d17cSRuslan Ermilovlisted in 1720412d17cSRuslan Ermilov.Va MASTER_SITES 17365dfa7aaSTim Vanderhoekand 1740412d17cSRuslan Ermilov.Va PATCH_SITES . 1750412d17cSRuslan ErmilovSee 176e57fe046SKirill Ponomarev.Va FETCH_CMD , MASTER_SITE_OVERRIDE 1770412d17cSRuslan Ermilovand 178e57fe046SKirill Ponomarev.Va MASTER_SITE_BACKUP . 1790412d17cSRuslan Ermilov.It Cm checksum 180019de50bSDima DorfmanVerify that the fetched distfile's checksum matches the one the port was 181019de50bSDima Dorfmantested against. 18267900914SBenedict ReuschlingIf the distfile's checksum does not match, it also fetches the distfiles 18367900914SBenedict Reuschlingwhich are missing or failed the checksum calculation. 18465dfa7aaSTim VanderhoekDefining 1850412d17cSRuslan Ermilov.Va NO_CHECKSUM 18665dfa7aaSTim Vanderhoekwill skip this step. 1870412d17cSRuslan Ermilov.It Cm depends 18865dfa7aaSTim VanderhoekInstall 189c4d9468eSRuslan Ermilov(or compile if only compilation is necessary) 1900412d17cSRuslan Ermilovany dependencies of the current port. 1910412d17cSRuslan ErmilovWhen called by the 1920412d17cSRuslan Ermilov.Cm extract 19365dfa7aaSTim Vanderhoekor 1940412d17cSRuslan Ermilov.Cm fetch 19565dfa7aaSTim Vanderhoektargets, this is run in piecemeal as 1960412d17cSRuslan Ermilov.Cm fetch-depends , build-depends , 1970412d17cSRuslan Ermilovetc. 1980412d17cSRuslan ErmilovDefining 1990412d17cSRuslan Ermilov.Va NO_DEPENDS 20065dfa7aaSTim Vanderhoekwill skip this step. 2010412d17cSRuslan Ermilov.It Cm extract 20265dfa7aaSTim VanderhoekExpand the distfile into a work directory. 2030412d17cSRuslan Ermilov.It Cm patch 20465dfa7aaSTim VanderhoekApply any patches that are necessary for the port. 2050412d17cSRuslan Ermilov.It Cm configure 2060412d17cSRuslan ErmilovConfigure the port. 2070412d17cSRuslan ErmilovSome ports will ask you questions during this stage. 2080412d17cSRuslan ErmilovSee 2090412d17cSRuslan Ermilov.Va INTERACTIVE 21065dfa7aaSTim Vanderhoekand 2110412d17cSRuslan Ermilov.Va BATCH . 2120412d17cSRuslan Ermilov.It Cm build 2130412d17cSRuslan ErmilovBuild the port. 2140412d17cSRuslan ErmilovThis is the same as calling the 2150412d17cSRuslan Ermilov.Cm all 21665dfa7aaSTim Vanderhoektarget. 2170412d17cSRuslan Ermilov.It Cm install 2180412d17cSRuslan ErmilovInstall the port and register it with the package system. 2190412d17cSRuslan ErmilovThis is all you really need to do. 22049ddfdecSFernando Apesteguía.It Cm install-missing-packages 22149ddfdecSFernando ApesteguíaInstall missing dependencies from packages instead of building them. 22265dfa7aaSTim Vanderhoek.El 22365dfa7aaSTim Vanderhoek.Pp 22465dfa7aaSTim VanderhoekThe following targets are not run during the normal install process. 22556e37108SGiorgos Keramidas.Bl -tag -width ".Cm fetch-recursive" 22603687bafSKirill Ponomarev.It Cm showconfig 22703687bafSKirill PonomarevDisplay 22803687bafSKirill Ponomarev.Va OPTIONS 22903687bafSKirill Ponomarevconfig for this port. 230a571610dSKirill Ponomarev.It Cm showconfig-recursive 231a571610dSKirill PonomarevDisplay 232a571610dSKirill Ponomarev.Va OPTIONS 233a571610dSKirill Ponomarevconfig for this port and all its dependencies. 23403687bafSKirill Ponomarev.It Cm rmconfig 23503687bafSKirill PonomarevRemove 23603687bafSKirill Ponomarev.Va OPTIONS 23703687bafSKirill Ponomarevconfig for this port. 238a571610dSKirill Ponomarev.It Cm rmconfig-recursive 239a571610dSKirill PonomarevRemove 240a571610dSKirill Ponomarev.Va OPTIONS 241a571610dSKirill Ponomarevconfig for this port and all its dependencies. 242a571610dSKirill Ponomarev.It Cm config-conditional 243a571610dSKirill PonomarevSkip the ports which have already had their 244a571610dSKirill Ponomarev.Va OPTIONS 245a571610dSKirill Ponomarevconfigured. 246039b8701STom Rhodes.It Cm config-recursive 247039b8701STom RhodesConfigure 248039b8701STom Rhodes.Va OPTIONS 249039b8701STom Rhodesfor this port and all its dependencies using 250ae41fe61SEitan Adler.Xr dialog4ports 1 . 2510412d17cSRuslan Ermilov.It Cm fetch-list 25203687bafSKirill PonomarevShow list of files to be fetched in order to build the port. 25356e37108SGiorgos Keramidas.It Cm fetch-recursive 25456e37108SGiorgos KeramidasFetch the distfiles of the port and all its dependencies. 255515ba752SChristian Brueffer.It Cm fetch-recursive-list 256515ba752SChristian BruefferShow list of files that would be retrieved by 257515ba752SChristian Brueffer.Cm fetch-recursive . 258d40caf29SThomas Abthorpe.It Cm run-depends-list , build-depends-list 259d40caf29SThomas AbthorpePrint a list of all the compile and run dependencies, and dependencies 260d40caf29SThomas Abthorpeof those dependencies, by port directory. 261039b8701STom Rhodes.It Cm all-depends-list 262039b8701STom RhodesPrint a list of all dependencies for the port. 2630412d17cSRuslan Ermilov.It Cm pretty-print-run-depends-list , pretty-print-build-depends-list 26465dfa7aaSTim VanderhoekPrint a list of all the compile and run dependencies, and dependencies 265d40caf29SThomas Abthorpeof those dependencies, by port name and version. 266c8ff7e9eSPav Lucistnik.It Cm missing 267c8ff7e9eSPav LucistnikPrint a list of missing dependencies to be installed for the port. 2680412d17cSRuslan Ermilov.It Cm clean 2690412d17cSRuslan ErmilovRemove the expanded source code. 2700412d17cSRuslan ErmilovThis recurses to dependencies unless 2710412d17cSRuslan Ermilov.Va NOCLEANDEPENDS 27265dfa7aaSTim Vanderhoekis defined. 2730412d17cSRuslan Ermilov.It Cm distclean 2740412d17cSRuslan ErmilovRemove the port's distfiles and perform the 2750412d17cSRuslan Ermilov.Cm clean 276019de50bSDima Dorfmantarget. 277019de50bSDima DorfmanThe 2780412d17cSRuslan Ermilov.Cm clean 27965dfa7aaSTim Vanderhoekportion recurses to dependencies unless 2800412d17cSRuslan Ermilov.Va NOCLEANDEPENDS 28165dfa7aaSTim Vanderhoekis defined, but the 2820412d17cSRuslan Ermilov.Cm distclean 28365dfa7aaSTim Vanderhoekportion never recurses 284c4d9468eSRuslan Ermilov(this is perhaps a bug). 2850412d17cSRuslan Ermilov.It Cm reinstall 28665dfa7aaSTim VanderhoekUse this to restore a port after using 287225636dcSEdward Tomasz Napierala.Xr pkg-delete 8 28865dfa7aaSTim Vanderhoekwhen you should have used 2890412d17cSRuslan Ermilov.Cm deinstall . 2900412d17cSRuslan Ermilov.It Cm deinstall 29165dfa7aaSTim VanderhoekRemove an installed port from the system, similar to 292225636dcSEdward Tomasz Napierala.Xr pkg-delete 8 . 293515ba752SChristian Brueffer.It Cm deinstall-all 294515ba752SChristian BruefferRemove all installed ports with the same 295515ba752SChristian Brueffer.Va PKGORIGIN 296515ba752SChristian Bruefferfrom the system. 2970412d17cSRuslan Ermilov.It Cm package 2980412d17cSRuslan ErmilovMake a binary package for the port. 2990412d17cSRuslan ErmilovThe port will be installed if it has not already been. 3000412d17cSRuslan ErmilovThe package is a 301*d6ed0d3dSBaptiste Daroussin.Pa .pkg 3020412d17cSRuslan Ermilovfile that you can use to 30365dfa7aaSTim Vanderhoekinstall the port on other machines with 304225636dcSEdward Tomasz Napierala.Xr pkg-add 8 . 30565dfa7aaSTim VanderhoekIf the directory specified by 3060412d17cSRuslan Ermilov.Va PACKAGES 307248a47a4SDaniel Ebdrup Jensendoes not exist, the package will be put in 308248a47a4SDaniel Ebdrup Jensen.Pa /usr/ports/category/port/work/pkg . 30983d04c76STim VanderhoekSee 3100412d17cSRuslan Ermilov.Va PKGREPOSITORY 31183d04c76STim Vanderhoekand 312248a47a4SDaniel Ebdrup Jensen.Va PKGFILE 313248a47a4SDaniel Ebdrup Jensenfor more information. 3148c3bfd69SChristian Brueffer.It Cm package-recursive 3158c3bfd69SChristian BruefferLike 3168c3bfd69SChristian Brueffer.Cm package , 3178c3bfd69SChristian Bruefferbut makes a package for each depending port as well. 318d40caf29SThomas Abthorpe.It Cm package-name 319d40caf29SThomas AbthorpePrints the name with version of the port. 3200412d17cSRuslan Ermilov.It Cm readmes 32183d04c76STim VanderhoekCreate a port's 32283d04c76STim Vanderhoek.Pa README.html . 3236b4c0736STim VanderhoekThis can be used from 3246b4c0736STim Vanderhoek.Pa /usr/ports 3256b4c0736STim Vanderhoekto create a browsable web of all ports on your system! 3260412d17cSRuslan Ermilov.It Cm search 327019de50bSDima DorfmanSearch the 328019de50bSDima Dorfman.Pa INDEX 32965d476e0SKirill Ponomarevfile for the pattern specified by the 3300412d17cSRuslan Ermilov.Va key 33165d476e0SKirill Ponomarev(searches the port name, comment, and dependencies), 3320412d17cSRuslan Ermilov.Va name 33365d476e0SKirill Ponomarev(searches the port name only), 33465d476e0SKirill Ponomarev.Va path 33565d476e0SKirill Ponomarev(searches the port path), 33665d476e0SKirill Ponomarev.Va info 33765d476e0SKirill Ponomarev(searches the port info), 33865d476e0SKirill Ponomarev.Va maint 33965d476e0SKirill Ponomarev(searches the port maintainer), 34065d476e0SKirill Ponomarev.Va cat 34165d476e0SKirill Ponomarev(searches the port category), 34265d476e0SKirill Ponomarev.Va bdeps 34365d476e0SKirill Ponomarev(searches the port build-time dependency), 34465d476e0SKirill Ponomarev.Va rdeps 3451ea65ec7SGabor Kovesdan(searches the port run-time dependency), 3461ea65ec7SGabor Kovesdan.Va www 3471ea65ec7SGabor Kovesdan(searches the port web site) 3480412d17cSRuslan Ermilov.Xr make 1 34965d476e0SKirill Ponomarevvariables, and their exclusion counterparts: 35065d476e0SKirill Ponomarev.Va xname , xkey 35165d476e0SKirill Ponomarevetc. 352019de50bSDima DorfmanFor example, one would type: 353019de50bSDima Dorfman.Pp 3540412d17cSRuslan Ermilov.Dl "cd /usr/ports && make search name=query" 355019de50bSDima Dorfman.Pp 356019de50bSDima Dorfmanto find all ports whose 357019de50bSDima Dorfmanname matches 3580412d17cSRuslan Ermilov.Dq Li query . 359019de50bSDima DorfmanResults include the matching ports' path, comment, maintainer, 360019de50bSDima Dorfmanbuild dependencies, and run dependencies. 36165d476e0SKirill Ponomarev.Bd -literal -offset indent 36265d476e0SKirill Ponomarevcd /usr/ports && make search name=pear- \e 36365d476e0SKirill Ponomarev xbdeps=apache 36465d476e0SKirill Ponomarev.Ed 36565d476e0SKirill Ponomarev.Pp 36665d476e0SKirill PonomarevTo find all ports whose 36765d476e0SKirill Ponomarevnames contain 36865d476e0SKirill Ponomarev.Dq Li pear- 36965d476e0SKirill Ponomarevand which do not have apache 37065d476e0SKirill Ponomarevlisted in build-time dependencies. 37165d476e0SKirill Ponomarev.Bd -literal -offset indent 37265d476e0SKirill Ponomarevcd /usr/ports && make search name=pear- \e 37365d476e0SKirill Ponomarev xname='ht(tp|ml)' 37465d476e0SKirill Ponomarev.Ed 37565d476e0SKirill Ponomarev.Pp 37665d476e0SKirill PonomarevTo find all ports whose names contain 37765d476e0SKirill Ponomarev.Dq Li pear- , 37865d476e0SKirill Ponomarevbut not 37965d476e0SKirill Ponomarev.Dq Li html 38065d476e0SKirill Ponomarevor 38165d476e0SKirill Ponomarev.Dq Li http . 38265d476e0SKirill Ponomarev.Bd -literal -offset indent 38365d476e0SKirill Ponomarevmake search key=apache display=name,path,info keylim=1 38465d476e0SKirill Ponomarev.Ed 38565d476e0SKirill Ponomarev.Pp 38665d476e0SKirill PonomarevTo find ports that contain 38765d476e0SKirill Ponomarev.Dq Li apache 38865d476e0SKirill Ponomarevin either of the name, path, info 38965d476e0SKirill Ponomarevfields, ignore the rest of the record. 3901ea65ec7SGabor Kovesdan.Pp 391f283c8f8SJens SchweikhardtBy default the search is not case-sensitive. 3921ea65ec7SGabor KovesdanIn order to make it case-sensitive you can use the 3931ea65ec7SGabor Kovesdan.Va icase 3941ea65ec7SGabor Kovesdanvariable: 3951ea65ec7SGabor Kovesdan.Bd -literal -offset indent 3961ea65ec7SGabor Kovesdanmake search name=p5-R icase=0 3971ea65ec7SGabor Kovesdan.Ed 398be3253caSMaxim Konovalov.It Cm quicksearch 399be3253caSMaxim KonovalovReduced 400be3253caSMaxim Konovalov.Cm search 401be3253caSMaxim Konovalovoutput. 402be3253caSMaxim KonovalovOnly display name, path and info. 40303687bafSKirill Ponomarev.It Cm describe 40403687bafSKirill PonomarevGenerate a one-line description of each port for use in the 40503687bafSKirill Ponomarev.Pa INDEX 40603687bafSKirill Ponomarevfile. 407724c0a23SChristian Brueffer.It Cm maintainer 408724c0a23SChristian BruefferDisplay the port maintainer's email address. 4090412d17cSRuslan Ermilov.It Cm index 410019de50bSDima DorfmanCreate 411019de50bSDima Dorfman.Pa /usr/ports/INDEX , 412019de50bSDima Dorfmanwhich is used by the 4130412d17cSRuslan Ermilov.Cm pretty-print-* 414019de50bSDima Dorfmanand 4150412d17cSRuslan Ermilov.Cm search 416019de50bSDima Dorfmantargets. 4177585929eSKirill PonomarevRunning the 4180412d17cSRuslan Ermilov.Cm index 4190412d17cSRuslan Ermilovtarget will ensure your 4200412d17cSRuslan Ermilov.Pa INDEX 4210412d17cSRuslan Ermilovfile is up to date with your ports tree. 4227585929eSKirill Ponomarev.It Cm fetchindex 4237585929eSKirill PonomarevFetch the 4247585929eSKirill Ponomarev.Pa INDEX 4257585929eSKirill Ponomarevfile from the 4267585929eSKirill Ponomarev.Fx 4277585929eSKirill Ponomarevcluster. 4283136363fSRuslan Ermilov.El 429def37e7cSMike Pritchard.Sh ENVIRONMENT 43065dfa7aaSTim VanderhoekYou can change all of these. 4310412d17cSRuslan Ermilov.Bl -tag -width ".Va MASTER_SITES" 4320412d17cSRuslan Ermilov.It Va PORTSDIR 4330412d17cSRuslan ErmilovLocation of the ports tree. 4340412d17cSRuslan ErmilovThis is 43565dfa7aaSTim Vanderhoek.Pa /usr/ports 436758dde06SMateusz Piotrowskiby default. 4370412d17cSRuslan Ermilov.It Va WRKDIRPREFIX 4380412d17cSRuslan ErmilovWhere to create any temporary files. 4390412d17cSRuslan ErmilovUseful if 4400412d17cSRuslan Ermilov.Va PORTSDIR 4410412d17cSRuslan Ermilovis read-only (perhaps mounted from a CD-ROM). 4420412d17cSRuslan Ermilov.It Va DISTDIR 44365dfa7aaSTim VanderhoekWhere to find/put distfiles, normally 44465dfa7aaSTim Vanderhoek.Pa distfiles/ 44565dfa7aaSTim Vanderhoekin 4460412d17cSRuslan Ermilov.Va PORTSDIR . 447c6a2e9a7SPiotr Pawel Stefaniak.It Va SU_CMD 448c6a2e9a7SPiotr Pawel StefaniakCommand used to elevate privilege to configure and install a port. 449c6a2e9a7SPiotr Pawel StefaniakThe unprivileged user must have write access to 450c6a2e9a7SPiotr Pawel Stefaniak.Va WRKDIRPREFIX 451c6a2e9a7SPiotr Pawel Stefaniakand 452c6a2e9a7SPiotr Pawel Stefaniak.Va DISTDIR . 453c6a2e9a7SPiotr Pawel StefaniakThe default is 45476d2af50SMateusz Piotrowski.Ql /usr/bin/su root -c . 45576d2af50SMateusz PiotrowskiMany users set it to 45676d2af50SMateusz Piotrowski.Ql /usr/local/bin/sudo -E sh -c 45776d2af50SMateusz Piotrowskifor convenience. 4580412d17cSRuslan Ermilov.It Va PACKAGES 45965dfa7aaSTim VanderhoekUsed only for the 4600412d17cSRuslan Ermilov.Cm package 46165dfa7aaSTim Vanderhoektarget; the base directory for the packages tree, normally 46265dfa7aaSTim Vanderhoek.Pa packages/ 46365dfa7aaSTim Vanderhoekin 4640412d17cSRuslan Ermilov.Va PORTSDIR . 46565dfa7aaSTim VanderhoekIf this directory exists, the package tree will be (partially) constructed. 4660412d17cSRuslan ErmilovThis directory does not have to exist; if it does not, packages will be 46783d04c76STim Vanderhoekplaced into the current directory, or you can define one of 4680412d17cSRuslan Ermilov.Bl -tag -width ".Va PKGREPOSITORY" 4690412d17cSRuslan Ermilov.It Va PKGREPOSITORY 47083d04c76STim VanderhoekDirectory to put the package in. 4710412d17cSRuslan Ermilov.It Va PKGFILE 47265dfa7aaSTim VanderhoekThe full path to the package. 47365dfa7aaSTim Vanderhoek.El 474eed1dcabSEitan Adler.It Va LOCALBASE 475eed1dcabSEitan AdlerWhere existing things are installed and where to search for files when 476eed1dcabSEitan Adlerresolving dependencies (usually 4779a0e6be2SXin LI.Pa /usr/local ) . 478eed1dcabSEitan Adler.It Va PREFIX 479eed1dcabSEitan AdlerWhere to install this port (usually set to the same as 480eed1dcabSEitan Adler.Va LOCALBASE ) . 4810412d17cSRuslan Ermilov.It Va MASTER_SITES 482e4b22b63SDavid E. O'BrienPrimary sites for distribution files if not found locally. 4830412d17cSRuslan Ermilov.It Va PATCH_SITES 4840412d17cSRuslan ErmilovPrimary locations for distribution patch files if not found 485e4b22b63SDavid E. O'Brienlocally. 4860412d17cSRuslan Ermilov.It Va MASTER_SITE_FREEBSD 487b5c508fbSRuslan ErmilovIf set, go to the master 488b5c508fbSRuslan Ermilov.Fx 489b5c508fbSRuslan Ermilovsite for all files. 4900412d17cSRuslan Ermilov.It Va MASTER_SITE_OVERRIDE 491b81d803eSRuslan ErmilovTry going to these sites for all files and patches, first. 492e57fe046SKirill Ponomarev.It Va MASTER_SITE_BACKUP 493e57fe046SKirill PonomarevTry going to these sites for all files and patches, last. 4941f568fb2SPav Lucistnik.It Va RANDOMIZE_MASTER_SITES 4951f568fb2SPav LucistnikTry the download locations in a random order. 4961f568fb2SPav Lucistnik.It Va MASTER_SORT 4971f568fb2SPav LucistnikSort the download locations according to user supplied pattern. 4981f568fb2SPav LucistnikExample: 4991f568fb2SPav Lucistnik.Dl .dk .sunet.se .se dk.php.net .no .de heanet.dl.sourceforge.net 500e57fe046SKirill Ponomarev.It Va MASTER_SITE_INDEX 501e57fe046SKirill PonomarevWhere to get 502e57fe046SKirill Ponomarev.Pa INDEX 503e57fe046SKirill Ponomarevsource built on 504e57fe046SKirill Ponomarev.Fx 505e57fe046SKirill Ponomarevcluster (for 506e57fe046SKirill Ponomarev.Cm fetchindex 507e57fe046SKirill Ponomarevtarget). 508e57fe046SKirill PonomarevDefaults to 509a2aef24aSEitan Adler.Pa https://www.FreeBSD.org/ports/ . 510e57fe046SKirill Ponomarev.It Va FETCHINDEX 511e57fe046SKirill PonomarevCommand to get 512e57fe046SKirill Ponomarev.Pa INDEX 513e57fe046SKirill Ponomarev(for 514e57fe046SKirill Ponomarev.Cm fetchindex 515e57fe046SKirill Ponomarevtarget). 516e57fe046SKirill PonomarevDefaults to 5173d04377bSMateusz Piotrowski.Dq Li "fetch -am" . 5180412d17cSRuslan Ermilov.It Va NOCLEANDEPENDS 5190412d17cSRuslan ErmilovIf defined, do not let 5200412d17cSRuslan Ermilov.Cm clean 52165dfa7aaSTim Vanderhoekrecurse to dependencies. 5220412d17cSRuslan Ermilov.It Va FETCH_CMD 5230412d17cSRuslan ErmilovCommand to use to fetch files. 5240412d17cSRuslan ErmilovNormally 52565dfa7aaSTim Vanderhoek.Xr fetch 1 . 5260412d17cSRuslan Ermilov.It Va FORCE_PKG_REGISTER 52765dfa7aaSTim VanderhoekIf set, overwrite any existing package registration on the system. 5280412d17cSRuslan Ermilov.It Va INTERACTIVE 52965dfa7aaSTim VanderhoekIf defined, only operate on a port if it requires interaction. 5300412d17cSRuslan Ermilov.It Va BATCH 53165dfa7aaSTim VanderhoekIf defined, only operate on a port if it can be installed 100% automatically. 532949f900dSSimon L. B. Nielsen.It Va DISABLE_VULNERABILITIES 533949f900dSSimon L. B. NielsenIf defined, disable check for security vulnerabilities using 5349ef6fea6SGlen Barber.Xr pkg-audit 8 535949f900dSSimon L. B. Nielsenwhen installing new ports. 536068abd55SGiorgos Keramidas.It Va NO_IGNORE 537068abd55SGiorgos KeramidasIf defined, allow installation of ports marked as 538068abd55SGiorgos Keramidas.Aq Va FORBIDDEN . 539068abd55SGiorgos KeramidasThe default behavior of the Ports framework is to abort when the 540068abd55SGiorgos Keramidasinstallation of a forbidden port is attempted. 541068abd55SGiorgos KeramidasOf course, these ports may not work as expected, but if you really know 542068abd55SGiorgos Keramidaswhat you are doing and are sure about installing a forbidden port, then 543068abd55SGiorgos Keramidas.Va NO_IGNORE 544068abd55SGiorgos Keramidaslets you do it. 545b7642c92SBenedict Reuschling.It Va NO_CHECKSUM 546b7642c92SBenedict ReuschlingIf defined, skip verifying the port's checksum. 5471583221bSGiorgos Keramidas.It Va TRYBROKEN 5481583221bSGiorgos KeramidasIf defined, attempt to build a port even if it is marked as 5491583221bSGiorgos Keramidas.Aq Va BROKEN . 550520a4bfdSGabor Kovesdan.It Va PORT_DBDIR 551520a4bfdSGabor KovesdanDirectory where the results of configuring 552520a4bfdSGabor Kovesdan.Va OPTIONS 553520a4bfdSGabor Kovesdanare stored. 554520a4bfdSGabor KovesdanDefaults to 555520a4bfdSGabor Kovesdan.Pa /var/db/ports . 556520a4bfdSGabor KovesdanEach port where 557520a4bfdSGabor Kovesdan.Va OPTIONS 558520a4bfdSGabor Kovesdanhave been configured will have a uniquely named sub-directory, containing a 559520a4bfdSGabor Kovesdansingle file 560520a4bfdSGabor Kovesdan.Pa options . 56165dfa7aaSTim Vanderhoek.El 56259be36b0SBenjamin Kaduk.Sh MAKE VARIABLES 56359be36b0SBenjamin KadukThe following list provides a name and short description for many of the 56459be36b0SBenjamin Kadukvariables that are used when building ports. 56559be36b0SBenjamin KadukMore information on these and other related variables may be found in 56659be36b0SBenjamin Kaduk.Pa ${PORTSDIR}/Mk/* 56759be36b0SBenjamin Kadukand the 56859be36b0SBenjamin Kaduk.Fx 56959be36b0SBenjamin KadukPorter's Handbook. 570af1f5e64SMateusz Piotrowski.Bl -tag -width "WITH_CCACHE_BUILD" 57159be36b0SBenjamin Kaduk.It Va WITH_DEBUG 57259be36b0SBenjamin Kaduk.Pq Vt bool 57359be36b0SBenjamin KadukIf set, debugging symbols are installed for ports binaries. 57459be36b0SBenjamin Kaduk.It Va WITH_DEBUG_PORTS 57559be36b0SBenjamin KadukA list of origins for which to set 57623788e6cSMateusz Piotrowski.Va WITH_DEBUG . 577d25f7d32SMateusz Piotrowski.It Va DEBUG_FLAGS 578d25f7d32SMateusz Piotrowski.Pq Default: Ql -g 579d25f7d32SMateusz PiotrowskiAdditional 580d25f7d32SMateusz Piotrowski.Va CFLAGS 581d25f7d32SMateusz Piotrowskito set when 582d25f7d32SMateusz Piotrowski.Va WITH_DEBUG 583d25f7d32SMateusz Piotrowskiis set. 58459be36b0SBenjamin Kaduk.It Va WITH_CCACHE_BUILD 58559be36b0SBenjamin Kaduk.Pq Vt bool 58659be36b0SBenjamin KadukIf set, enables the use of 58759be36b0SBenjamin Kaduk.Xr ccache 1 58859be36b0SBenjamin Kadukfor building ports. 58959be36b0SBenjamin Kaduk.It Va CCACHE_DIR 5903d04377bSMateusz PiotrowskiWhich directory to use for the 5913d04377bSMateusz Piotrowski.Xr ccache 1 5923d04377bSMateusz Piotrowskidata. 59359be36b0SBenjamin Kaduk.El 5944000f72fSDavid E. O'Brien.Sh FILES 5950412d17cSRuslan Ermilov.Bl -tag -width ".Pa /usr/ports/Mk/bsd.port.mk" -compact 5964000f72fSDavid E. O'Brien.It Pa /usr/ports 5973d04377bSMateusz PiotrowskiThe default ports directory. 598652627f0STim Vanderhoek.It Pa /usr/ports/Mk/bsd.port.mk 59965dfa7aaSTim VanderhoekThe big Kahuna. 6003136363fSRuslan Ermilov.El 6011b3fba16SEdward Tomasz Napierala.Sh EXAMPLES 602154b4d39SMateusz Piotrowski.Bl -tag -width 0n 603154b4d39SMateusz Piotrowski.It Sy Example 1\&: No Building and Installing a Port 604154b4d39SMateusz Piotrowski.Pp 605154b4d39SMateusz PiotrowskiThe following command builds and installs Emacs. 606154b4d39SMateusz Piotrowski.Bd -literal -offset 2n 607154b4d39SMateusz Piotrowski.Li # Ic cd /usr/ports/editors/emacs 608154b4d39SMateusz Piotrowski.Li # Ic make install 6091b3fba16SEdward Tomasz Napierala.Ed 610154b4d39SMateusz Piotrowski.It Sy Example 2\&: No Installing Dependencies with Xr pkg 8 611154b4d39SMateusz Piotrowski.Pp 61296fdbc90SMateusz PiotrowskiThe following example shows how to build and install a port without having to 613154b4d39SMateusz Piotrowskibuild its dependencies. 614154b4d39SMateusz PiotrowskiInstead, the dependencies are downloaded via 615154b4d39SMateusz Piotrowski.Xr pkg 8 . 616154b4d39SMateusz Piotrowski.Bd -literal -offset 2n 617a3f02b1aSMateusz Piotrowski.Li # Ic make install-missing-packages 618154b4d39SMateusz Piotrowski.Li # Ic make install 619154b4d39SMateusz Piotrowski.Ed 620154b4d39SMateusz Piotrowski.Pp 621154b4d39SMateusz PiotrowskiIt is especially useful, when the dependencies are costly 622154b4d39SMateusz Piotrowskiin time and resources to build 623154b4d39SMateusz Piotrowski.Pq like Pa lang/rust . 624154b4d39SMateusz PiotrowskiThe drawback is that 625154b4d39SMateusz Piotrowski.Xr pkg 8 626154b4d39SMateusz Piotrowskioffers only packages built with the default set of 627154b4d39SMateusz Piotrowski.Va OPTIONS . 62896fdbc90SMateusz Piotrowski.It Sy Example 3\&: No Building a Non-Default Flavor of a Port 62996fdbc90SMateusz Piotrowski.Pp 63096fdbc90SMateusz PiotrowskiThe following command builds a non-default flavor of a port. 63196fdbc90SMateusz Piotrowski(In this case 63296fdbc90SMateusz Piotrowski.Pa devel/py-pip 63396fdbc90SMateusz Piotrowskiis going to be built with Python 3.7 support.) 63496fdbc90SMateusz Piotrowski.Bd -literal -offset 2n 63596fdbc90SMateusz Piotrowski.Li # Ic cd /usr/ports/devel/py-pip 63696fdbc90SMateusz Piotrowski.Li # Ic env FLAVOR=py37 make build 63796fdbc90SMateusz Piotrowski.Ed 638fcdfe016SMateusz Piotrowski.It Sy Example 4\&: No Setting Ports Options via Xr make.conf 5 639fcdfe016SMateusz Piotrowski.Pp 640fcdfe016SMateusz PiotrowskiThe following lines present various ways of configuring ports options via 641fcdfe016SMateusz Piotrowski.Xr make.conf 5 642fcdfe016SMateusz Piotrowski(as an alternative to, e.g., running 643fcdfe016SMateusz Piotrowski.Dq Li make config ) : 644fcdfe016SMateusz Piotrowski.Bd -literal -offset 2n 645fcdfe016SMateusz Piotrowski# Enable NLS for all ports unless configured otherwise 646fcdfe016SMateusz Piotrowski# using the options dialog. 647fcdfe016SMateusz PiotrowskiOPTIONS_SET= NLS 648fcdfe016SMateusz Piotrowski# Disable DOCS for all ports overriding the options set 649fcdfe016SMateusz Piotrowski# via the options dialog. 650fcdfe016SMateusz PiotrowskiOPTIONS_UNSET_FORCE= DOCS 651fcdfe016SMateusz Piotrowski# Disable DOCS and EXAMPLES for the shells/zsh port. 652fcdfe016SMateusz Piotrowskishells_zsh_UNSET= DOCS EXAMPLES 653fcdfe016SMateusz Piotrowski.Ed 654fcdfe016SMateusz Piotrowski.Pp 655fcdfe016SMateusz PiotrowskiThese and other options-related variables are documented in 656fcdfe016SMateusz Piotrowski.Pa /usr/ports/Mk/bsd.options.mk . 657c0e41dffSMateusz Piotrowski.It Sy Example 5\&: No Setting Xr make 1 Variables for Specific Ports via Xr make.conf 5 658c0e41dffSMateusz Piotrowski.Pp 659c0e41dffSMateusz PiotrowskiThe following example shows how to set arbitrary 660c0e41dffSMateusz Piotrowski.Xr make 1 661c0e41dffSMateusz Piotrowskivariables only specific ports: 662c0e41dffSMateusz Piotrowski.Bd -literal -offset 2n 663c0e41dffSMateusz Piotrowski# Set DISABLE_MAKE_JOBS for the lang/rust port: 664c0e41dffSMateusz Piotrowski\&.if ${.CURDIR:M*/lang/rust} 665c0e41dffSMateusz PiotrowskiDISABLE_MAKE_JOBS= yes 666c0e41dffSMateusz PiotrowskiTRYBROKEN= yes 667c0e41dffSMateusz Piotrowski\&.endif 668c0e41dffSMateusz Piotrowski.Ed 669d25f7d32SMateusz Piotrowski.It Sy Example 6\&: No Debugging Ports 670d25f7d32SMateusz PiotrowskiBy default ports are built and packaged without debugging support (e.g., 671d25f7d32SMateusz Piotrowskidebugging symbols are stripped from binaries, optimization flags are used for 672d25f7d32SMateusz Piotrowskicompiling, verbose logging is disabled). 673d25f7d32SMateusz PiotrowskiWhether ports are built with debugging symbols can be controlled by the 674d25f7d32SMateusz Piotrowskisettings in 675d25f7d32SMateusz Piotrowski.Xr make.conf 5 , 676d25f7d32SMateusz Piotrowskie.g., 677d25f7d32SMateusz Piotrowski.Bd -literal -offset 2n 678d25f7d32SMateusz Piotrowski# Enable debugging for all ports. 679d25f7d32SMateusz PiotrowskiWITH_DEBUG= yes 680d25f7d32SMateusz Piotrowski# Enable debugging for selected ports. 681d25f7d32SMateusz PiotrowskiWITH_DEBUG_PORTS= mail/dovecot security/krb5 682d25f7d32SMateusz Piotrowski.Ed 683d25f7d32SMateusz Piotrowski.Pp 684d25f7d32SMateusz PiotrowskiIt is also possible to use the debug variables on the command line: 685d25f7d32SMateusz Piotrowski.Bd -literal -offset 2n 686d25f7d32SMateusz Piotrowski.Li # Ic make -DWITH_DEBUG DEBUG_FLAGS="-g -O0" build 687d25f7d32SMateusz Piotrowski.Ed 688d25f7d32SMateusz Piotrowski.Pp 689d25f7d32SMateusz PiotrowskiSee the 690d25f7d32SMateusz Piotrowski.Sx MAKE VARIABLES 691d25f7d32SMateusz Piotrowskisection to learn more about the debug variables. 692d25f7d32SMateusz Piotrowski.Pp 693d25f7d32SMateusz PiotrowskiTo understand the details of what happens when the debug variables are set it 694d25f7d32SMateusz Piotrowskiis best to consult the files located at 695d25f7d32SMateusz Piotrowski.Pa ${PORTSDIR}/Mk/* 696d25f7d32SMateusz Piotrowski.Po Pa bsd.port.mk 697d25f7d32SMateusz Piotrowskiin particular 698d25f7d32SMateusz Piotrowski.Pc . 699d25f7d32SMateusz Piotrowski.Pp 700d25f7d32SMateusz PiotrowskiIf debugging is enabled for a specific port, the ports framework will: 701d25f7d32SMateusz Piotrowski.Bl -bullet 702d25f7d32SMateusz Piotrowski.It 703d25f7d32SMateusz PiotrowskiAdd 704d25f7d32SMateusz Piotrowski.Va DEBUG_FLAGS 705d25f7d32SMateusz Piotrowski(defaults to 706d25f7d32SMateusz Piotrowski.Ql -g ) 707d25f7d32SMateusz Piotrowskito 708d25f7d32SMateusz Piotrowski.Va CFLAGS . 709d25f7d32SMateusz Piotrowski.It 710d25f7d32SMateusz PiotrowskiTry to prevent the binaries from being stripped (including checking the install 711d25f7d32SMateusz Piotrowskitarget to replace 712d25f7d32SMateusz Piotrowski.Ql install-strip 713d25f7d32SMateusz Piotrowskiwith 714d25f7d32SMateusz Piotrowski.Ql install ) . 715d25f7d32SMateusz PiotrowskiWhether a binary has been stripped can be checked with 716d25f7d32SMateusz Piotrowski.Xr file 1 . 717d25f7d32SMateusz Piotrowski.It 718d25f7d32SMateusz PiotrowskiTry to enable other debugging features like debug build type or verbose logging. 719d25f7d32SMateusz PiotrowskiHowever, this is port-specific and the ports framework might not be aware of 720d25f7d32SMateusz Piotrowskieach supported debugging feature a given piece of software has to offer). 721154b4d39SMateusz Piotrowski.El 7224000f72fSDavid E. O'Brien.Sh SEE ALSO 7234000f72fSDavid E. O'Brien.Xr make 1 , 72459be36b0SBenjamin Kaduk.Xr make.conf 5 , 725375409b4SEdward Tomasz Napierala.Xr development 7 , 7268c725779SMateusz Piotrowski.Xr pkg 7 727def37e7cSMike Pritchard.Pp 7283d04377bSMateusz PiotrowskiAdditional developer documentation: 7293d04377bSMateusz Piotrowski.Bl -dash -width "" -offset indent 7303d04377bSMateusz Piotrowski.It 731ac8011f8SDavid E. O'Brien.Xr portlint 1 7323d04377bSMateusz Piotrowski.It 7333d04377bSMateusz Piotrowski.Pa /usr/ports/Mk/bsd.port.mk 7343d04377bSMateusz Piotrowski.El 73565dfa7aaSTim Vanderhoek.Pp 7363d04377bSMateusz PiotrowskiAdditional user documentation: 7373d04377bSMateusz Piotrowski.Bl -dash -width "" -offset indent 7383d04377bSMateusz Piotrowski.It 7393d04377bSMateusz Piotrowski.Xr pkg 8 7403d04377bSMateusz Piotrowski.It 7413d04377bSMateusz Piotrowski.Lk "https://www.FreeBSD.org/ports" "Searchable index of all ports" 7423d04377bSMateusz Piotrowski.El 7434000f72fSDavid E. O'Brien.Sh HISTORY 7440412d17cSRuslan ErmilovThe Ports Collection 7454000f72fSDavid E. O'Brienappeared in 7464000f72fSDavid E. O'Brien.Fx 1.0 . 7476b4c0736STim VanderhoekIt has since spread to 7486b4c0736STim Vanderhoek.Nx 7496b4c0736STim Vanderhoekand 7506b4c0736STim Vanderhoek.Ox . 7519cbda590SRuslan Ermilov.Sh AUTHORS 7529cbda590SRuslan Ermilov.An -nosplit 7539cbda590SRuslan ErmilovThis manual page was originated by 7549cbda590SRuslan Ermilov.An David O'Brien . 75565dfa7aaSTim Vanderhoek.Sh BUGS 7560412d17cSRuslan ErmilovPorts documentation is split over four places \(em 7572693c8b9STim Vanderhoek.Pa /usr/ports/Mk/bsd.port.mk , 7580412d17cSRuslan Ermilov.%B "The Porter's Handbook" , 75965dfa7aaSTim Vanderhoekthe 7600412d17cSRuslan Ermilov.Dq "Packages and Ports" 7615d3d0230SMurray Stokelychapter of 7620412d17cSRuslan Ermilov.%B "The FreeBSD Handbook" , 7635d3d0230SMurray Stokelyand 764949f900dSSimon L. B. Nielsenthis manual page. 765