Index: stable/10/share/man/man5/make.conf.5 =================================================================== --- stable/10/share/man/man5/make.conf.5 (revision 267308) +++ stable/10/share/man/man5/make.conf.5 (revision 267309) @@ -1,701 +1,709 @@ .\" Copyright (c) 2000 .\" Mike W. Meyer .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" -.Dd May 2, 2014 +.Dd May 17, 2014 .Dt MAKE.CONF 5 .Os .Sh NAME .Nm make.conf .Nd system build information .Sh DESCRIPTION The file .Nm contains system-wide settings that will apply to every build using .Xr make 1 and the standard .Pa sys.mk file. This is achieved as follows: .Xr make 1 processes the system makefile .Pa sys.mk before any other file by default, and .Pa sys.mk includes .Nm . .Pp The file .Nm uses the standard makefile syntax. However, .Nm should not specify any dependencies to .Xr make 1 . Instead, .Nm is to set .Xr make 1 variables that control the actions of other makefiles. .Pp The default location of .Nm is .Pa /etc/make.conf , though an alternative location can be specified in the .Xr make 1 variable .Va __MAKE_CONF . You may need to override the location of .Nm if the system-wide settings are not suitable for a particular build. For instance, setting .Va __MAKE_CONF to .Pa /dev/null effectively resets all build controls to their defaults. .Pp The primary purpose of .Nm is to control the compilation of the .Fx sources, documentation, and ported applications, which are usually found in .Pa /usr/src , .Pa /usr/doc , and .Pa /usr/ports . As a rule, the system administrator creates .Nm when the values of certain control variables need to be changed from their defaults. .Pp The system build procedures occur in four broad areas: the world, the kernel, documentation and ports. Variables set in .Nm may be applicable in one, two, or all four of these areas. In addition, control variables can be specified for a particular build via the .Fl D option of .Xr make 1 or in .Xr environ 7 . .Pp The following lists provide a name and short description for each variable you can use during the indicated builds. The values of variables flagged as .Vt bool are ignored; the variable being set at all (even to .Dq Li FALSE or .Dq Li NO ) causes it to be treated as if it were set. .Pp The following list provides a name and short description for variables that are used for all builds, or are used by the .Pa makefiles for things other than builds. .Bl -tag -width Ar .It Va ALWAYS_CHECK_MAKE .Pq Vt bool Instructs the top-level makefile in the source tree (normally .Pa /usr/src ) to always check if .Xr make 1 is up-to-date. Normally this is only done for the world and buildworld targets to handle upgrades from older versions of .Fx . .It Va CFLAGS .Pq Vt str Controls the compiler setting when compiling C code. Optimization levels other than .Fl O and .Fl O2 are not supported. .Va BDECFLAGS is provided as a set of .Xr cc 1 settings suggested by .An "Bruce Evans" Aq bde@FreeBSD.org for developing and testing changes. They can be used, if set, by: .Bd -literal -offset indent CFLAGS+=${BDECFLAGS} .Ed .It Va CPUTYPE .Pq Vt str Controls which processor should be targeted for generated code. This controls processor-specific optimizations in certain code (currently only OpenSSL) as well as modifying the value of .Va CFLAGS and .Va COPTFLAGS to contain the appropriate optimization directive to .Xr cc 1 . The automatic setting of .Va CFLAGS and .Va COPTFLAGS may be overridden using the .Va NO_CPU_CFLAGS and .Va NO_CPU_COPTFLAGS variables, respectively. Refer to .Pa /usr/share/examples/etc/make.conf for a list of recognized .Va CPUTYPE options. .It Va CXXFLAGS .Pq Vt str Controls the compiler settings when compiling C++ code. .Va CXXFLAGS is initially set to the value of .Va CFLAGS . If you want to add to the .Va CXXFLAGS value, use .Dq Li += instead of .Dq Li = . .It Va INSTALL .Pq Vt str the default install command. To install only files for which the target differs or does not exist, use .Bd -literal -offset indent INSTALL+= -C .Ed Note that some makefiles (including those in .Pa /usr/share/mk ) may hardcode options for the supplied install command. .It Va LOCAL_DIRS .Pq Vt str List any directories that should be entered when doing make's in .Pa /usr/src in this variable. .It Va MAKE_SHELL .Pq Vt str Controls the shell used internally by .Xr make 1 to process the command scripts in makefiles. .Xr sh 1 , .Xr ksh 1 , and .Xr csh 1 all currently supported. .Pp .Dl "MAKE_SHELL?=sh" .It Va MTREE_FOLLOWS_SYMLINKS .Pq Vt str Set this to .Dq Fl L to cause .Xr mtree 8 to follow symlinks. .It Va NO_CPU_CFLAGS .Pq Vt str Setting this variable will prevent CPU specific compiler flags from being automatically added to .Va CFLAGS during compile time. .It Va NO_CPU_COPTFLAGS .Pq Vt str Setting this variable will prevent CPU specific compiler flags from being automatically added to .Va COPTFLAGS during compile time. .It Va NO_DOCUPDATE .Pq Vt bool Set this to not update the doc tree during .Dq Li "make update" . .It Va NO_PORTSUPDATE .Pq Vt bool Set this to not update the ports tree during .Dq Li "make update" . .It Va SVN_UPDATE .Pq Vt bool Set this to use .Xr svn 1 to update your .Pa src tree with .Dq Li "make update" . Note that since a subversion client is not included in the base system, you will need to set .Va SVN to the full path of a .Xr svn 1 binary. .El .Ss "BUILDING THE KERNEL" The following list provides a name and short description for variables that are only used doing a kernel build: .Bl -tag -width Ar .It Va BOOTWAIT .Pq Vt int Controls the amount of time the kernel waits for a console keypress before booting the default kernel. The value is approximately milliseconds. Keypresses are accepted by the BIOS before booting from disk, making it possible to give custom boot parameters even when this is set to 0. .It Va COPTFLAGS .Pq Vt str Controls the compiler settings when building the kernel. Optimization levels above .Oo Fl O ( O2 , No ...\& ) Oc are not guaranteed to work. .It Va KERNCONF .Pq Vt str Controls which kernel configurations will be built by .Dq Li "${MAKE} buildkernel" and installed by .Dq Li "${MAKE} installkernel" . For example, .Bd -literal -offset indent KERNCONF=MINE DEBUG GENERIC OTHERMACHINE .Ed .Pp will build the kernels specified by the config files .Pa MINE , DEBUG , GENERIC , and .Pa OTHERMACHINE , and install the kernel specified by the config file .Pa MINE . It defaults to .Pa GENERIC . .It Va MODULES_OVERRIDE .Pq Vt str Set to a list of modules to build instead of all of them. .It Va NO_KERNELCLEAN .Pq Vt bool Set this to skip running .Dq Li "${MAKE} clean" during .Dq Li "${MAKE} buildkernel" . .It Va NO_KERNELCONFIG .Pq Vt bool Set this to skip running .Xr config 8 during .Dq Li "${MAKE} buildkernel" . .It Va NO_KERNELDEPEND .Pq Vt bool Set this to skip running .Dq Li "${MAKE} depend" during .Dq Li "${MAKE} buildkernel" . .It Va NO_KERNELOBJ .Pq Vt bool Set this to skip running .Dq Li "${MAKE} obj" during .Dq Li "${MAKE} buildkernel" . .It Va NO_MODULES .Pq Vt bool Set to not build modules with the kernel. .It Va PORTS_MODULES Set this to the list of ports you wish to rebuild every time the kernel is built. .It Va WITHOUT_MODULES .Pq Vt str Set to a list of modules to exclude from the build. This provides a somewhat easier way to exclude modules you are certain you will never need than specifying .Va MODULES_OVERRIDE . This is applied .Em after .Va MODULES_OVERRIDE . .El .Ss "BUILDING THE WORLD" The following list provides a name and short description for variables that are used during the world build: .Bl -tag -width Ar .It Va BOOT_COMCONSOLE_PORT .Pq Vt str The port address to use for the console if the boot blocks have been configured to use a serial console instead of the keyboard/video card. .It Va BOOT_COMCONSOLE_SPEED .Pq Vt int The baud rate to use for the console if the boot blocks have been configured to use a serial console instead of the keyboard/video card. .It Va BOOT_PXELDR_ALWAYS_SERIAL .Pq Vt bool Compile in the code into .Xr pxeboot 8 that forces the use of a serial console. This is analogous to the .Fl h option in .Xr boot 8 blocks. .It Va BOOT_PXELDR_PROBE_KEYBOARD .Pq Vt bool Compile in the code into .Xr pxeboot 8 that probes the keyboard. If no keyboard is found, boot with the dual console configuration. This is analogous to the .Fl D option in .Xr boot 8 blocks. .It Va ENABLE_SUID_K5SU .Pq Vt bool Set this if you wish to use the ksu utility. Otherwise, it will be installed without the set-user-ID bit set. .It Va ENABLE_SUID_NEWGRP .Pq Vt bool Set this to install .Xr newgrp 1 with the set-user-ID bit set. Otherwise, .Xr newgrp 1 will not be able to change users' groups. .It Va LOADER_TFTP_SUPPORT .Pq Vt bool By default the .Xr pxeboot 8 loader retrieves the kernel via NFS. Defining this and recompiling .Pa /usr/src/sys/boot will cause it to retrieve the kernel via TFTP. This allows .Xr pxeboot 8 to load a custom BOOTP diskless kernel yet still mount the server's .Pa / rather than load the server's kernel. .It Va LOADER_FIREWIRE_SUPPORT .Pq Vt bool Defining this and recompiling .Pa /usr/src/sys/boot/i386 will add .Xr dcons 4 console driver to .Xr loader 8 and allow access over FireWire(IEEE1394) using .Xr dconschat 8 . Currently, only i386 and amd64 are supported. .It Va MALLOC_PRODUCTION .Pq Vt bool Set this to disable assertions and statistics gathering in .Xr malloc 3 . It also defaults the A and J runtime options to off. Disabled by default on -CURRENT. .It Va MODULES_WITH_WORLD .Pq Vt bool Set to build modules with the system instead of the kernel. .It Va NO_CLEAN .Pq Vt bool Set this to disable cleaning during .Dq Li "make buildworld" . This should not be set unless you know what you are doing. .It Va NO_CLEANDIR .Pq Vt bool Set this to run .Dq Li "${MAKE} clean" instead of .Dq Li "${MAKE} cleandir" . .It Va NO_MANCOMPRESS .Pq Vt bool Set to install manual pages uncompressed. .It Va NO_SHARE .Pq Vt bool Set to not build in the .Pa share subdir. .It Va NO_SHARED .Pq Vt bool Set to build .Pa /bin and .Pa /sbin statically linked, this can be bad. If set, every utility that uses .Pa bsd.prog.mk will be linked statically. .It Va PPP_NO_NAT .Pq Vt bool Build .Xr ppp 8 without support for network address translation (NAT). .It Va PPP_NO_NETGRAPH .Pq Vt bool Set to build .Xr ppp 8 without support for Netgraph. .It Va PPP_NO_RADIUS .Pq Vt bool Set to build .Xr ppp 8 without support for RADIUS. .It Va PPP_NO_SUID .Pq Vt bool Set to disable the installation of .Xr ppp 8 as a set-user-ID root program. .It Va SENDMAIL_ADDITIONAL_MC .Pq Vt str Additional .Pa .mc files which should be built into .Pa .cf files at build time. The value should include the full path to the .Pa .mc file(s), e.g., .Pa /etc/mail/foo.mc , .Pa /etc/mail/bar.mc . .It Va SENDMAIL_ALIASES .Pq Vt str List of .Xr aliases 5 files to rebuild when using .Pa /etc/mail/Makefile . The default value is .Pa /etc/mail/aliases . .It Va SENDMAIL_CFLAGS .Pq Vt str Flags to pass to the compile command when building .Xr sendmail 8 . The .Va SENDMAIL_* flags can be used to provide SASL support with setting such as: .Bd -literal -offset indent SENDMAIL_CFLAGS=-I/usr/local/include -DSASL SENDMAIL_LDFLAGS=-L/usr/local/lib SENDMAIL_LDADD=-lsasl .Ed .It Va SENDMAIL_CF_DIR .Pq Vt str Override the default location for the .Xr m4 1 configuration files used to build a .Pa .cf file from a .Pa .mc file. .It Va SENDMAIL_DPADD .Pq Vt str Extra dependencies to add when building .Xr sendmail 8 . .It Va SENDMAIL_LDADD .Pq Vt str Flags to add to the end of the .Xr ld 1 command when building .Xr sendmail 8 . .It Va SENDMAIL_LDFLAGS .Pq Vt str Flags to pass to the .Xr ld 1 command when building .Xr sendmail 8 . .It Va SENDMAIL_M4_FLAGS .Pq Vt str Flags passed to .Xr m4 1 when building a .Pa .cf file from a .Pa .mc file. .It Va SENDMAIL_MAP_PERMS .Pq Vt str Mode to use when generating alias and map database files using .Pa /etc/mail/Makefile . The default value is 0640. .It Va SENDMAIL_MAP_SRC .Pq Vt str Additional maps to rebuild when using .Pa /etc/mail/Makefile . The .Pa access , .Pa bitdomain , .Pa domaintable , .Pa genericstable , .Pa mailertable , .Pa uucpdomain , and .Pa virtusertable maps are always rebuilt if they exist. .It Va SENDMAIL_MAP_TYPE .Pq Vt str Database map type to use when generating map database files using .Pa /etc/mail/Makefile . The default value is hash. The alternative is btree. .It Va SENDMAIL_MC .Pq Vt str The default .Xr m4 1 configuration file to use at install time. The value should include the full path to the .Pa .mc file, e.g., .Pa /etc/mail/myconfig.mc . Use with caution as a make install will overwrite any existing .Pa /etc/mail/sendmail.cf . Note that .Va SENDMAIL_CF is now deprecated. .It Va SENDMAIL_SET_USER_ID .Pq Vt bool If set, install .Xr sendmail 8 as a set-user-ID root binary instead of a set-group-ID binary and do not install .Pa /etc/mail/submit.{cf,mc} . Use of this flag is not recommended and the alternative advice in .Pa /etc/mail/README should be followed instead if at all possible. .It Va SENDMAIL_START_SCRIPT .Pq Vt str The script used by .Pa /etc/mail/Makefile to start, stop, and restart .Xr sendmail 8 . The default value is .Pa /etc/rc.sendmail . This value should match the .Dq Li mta_start_script setting in .Xr rc.conf 5 . .It Va SENDMAIL_SUBMIT_MC .Pq Vt str The default .Xr m4 1 configuration file for mail submission to use at install time. The value should include the full path to the .Pa .mc file, e.g., .Pa /etc/mail/mysubmit.mc . Use with caution as a make install will overwrite any existing .Pa /etc/mail/submit.cf . .It Va TOP_TABLE_SIZE .Pq Vt int .Xr top 1 uses a hash table for the user names. The size of this hash can be tuned to match the number of local users. The table size should be a prime number approximately twice as large as the number of lines in .Pa /etc/passwd . The default number is 20011. .It Va WANT_FORCE_OPTIMIZATION_DOWNGRADE .Pq Vt int Causes the system compiler to be built such that it forces high optimization levels to a lower one. .Xr cc 1 .Fl O2 and above is known to trigger known optimizer bugs at various times. The value assigned is the highest optimization value used. .El .Ss "BUILDING DOCUMENTATION" The following list provides a name and short description for variables that are used when building documentation. .Bl -tag -width ".Va PRINTERDEVICE" .It Va DISTDIR .Pq Vt str Where distfiles are kept. Normally, this is .Pa distfiles in .Va PORTSDIR . .It Va DOC_LANG .Pq Vt str The list of languages and encodings to build and install. .It Va PRINTERDEVICE .Pq Vt str The default format for system documentation, depends on your printer. This can be set to .Dq Li ascii for simple printers, or .Dq Li ps for postscript or graphics printers with a ghostscript filter, or both. .El +.Ss "BUILDING PORTS" +Several make variables can be set that affect the building of ports. +These variables and their effects are documented in +.Xr ports 7 , +.Pa ${PORTSDIR}/Mk/* +and the +.Fx +Porter's Handbook. .Sh FILES .Bl -tag -width ".Pa /usr/share/examples/etc/make.conf" -compact .It Pa /etc/make.conf .It Pa /usr/doc/Makefile .It Pa /usr/ports/Makefile .It Pa /usr/share/examples/etc/make.conf .It Pa /usr/share/mk/sys.mk .It Pa /usr/src/Makefile .It Pa /usr/src/Makefile.inc1 .El .Sh SEE ALSO .Xr cc 1 , .Xr install 1 , .Xr make 1 , .Xr src.conf 5 , .Xr environ 7 , .Xr ports 7 , .Xr sendmail 8 .Sh HISTORY The .Nm file appeared sometime before .Fx 4.0 . .Sh AUTHORS This manual page was written by .An Mike W. Meyer Aq mwm@mired.org . .Sh CAVEATS Note, that .Ev MAKEOBJDIRPREFIX and .Ev MAKEOBJDIR are environment variables and should not be set in .Nm or as command line arguments to .Xr make 1 , but in make's environment. .Sh BUGS This manual page may occasionally be out of date with respect to the options currently available for use in .Nm . Please check the .Pa /usr/share/examples/etc/make.conf file for the latest options which are available. Index: stable/10/share/man/man7/ports.7 =================================================================== --- stable/10/share/man/man7/ports.7 (revision 267308) +++ stable/10/share/man/man7/ports.7 (revision 267309) @@ -1,532 +1,571 @@ .\" .\" Copyright (c) 1997 David E. O'Brien .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd June 6, 2014 .Dt PORTS 7 .Os .Sh NAME .Nm ports .Nd contributed applications .Sh DESCRIPTION The .Fx Ports Collection offers a simple way for users and administrators to install applications. Each .Em port contains any patches necessary to make the original application source code compile and run on .Fx . Compiling an application is as simple as typing .Nm make Cm build in the port directory! The .Pa Makefile automatically fetches the application source code, either from a local disk or via FTP, unpacks it on your system, applies the patches, and compiles it. If all goes well, simply type .Nm make Cm install to install the application. .Pp For more information about using ports, see .Dq "Packages and Ports" in .%B "The FreeBSD Handbook" , .Pa ( file:/usr/share/doc/en_US.ISO8859-1/books/handbook/ports.html or .Pa http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/ports.html ) . For information about creating new ports, see .%B "The Porter's Handbook" .Pa ( file:/usr/share/doc/en_US.ISO8859-1/books/porters-handbook/index.html or .Pa http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/ ) . .Sh TARGETS Some of the targets work recursively through subdirectories. This lets you, for example, install all of the .Dq Li biology ports. The targets that do this are .Cm build , checksum , clean , configure , .Cm depends , extract , fetch , install , and .Cm package . .Pp The following targets will be run automatically by each proceeding target in order. That is, .Cm build will be run (if necessary) by .Cm install , and so on all the way to .Cm fetch . Usually, you will only use the .Cm install target. .Bl -tag -width ".Cm configure" .It Cm config Configure .Va OPTIONS for this port using .Xr dialog4ports 1 . .It Cm fetch Fetch all of the files needed to build this port from the sites listed in .Va MASTER_SITES and .Va PATCH_SITES . See .Va FETCH_CMD , MASTER_SITE_OVERRIDE and .Va MASTER_SITE_BACKUP . .It Cm checksum Verify that the fetched distfile's checksum matches the one the port was tested against. If the distfile's checksum does not match, it also fetches the distfiles which are missing or failed the checksum calculation. Defining .Va NO_CHECKSUM will skip this step. .It Cm depends Install (or compile if only compilation is necessary) any dependencies of the current port. When called by the .Cm extract or .Cm fetch targets, this is run in piecemeal as .Cm fetch-depends , build-depends , etc. Defining .Va NO_DEPENDS will skip this step. .It Cm extract Expand the distfile into a work directory. .It Cm patch Apply any patches that are necessary for the port. .It Cm configure Configure the port. Some ports will ask you questions during this stage. See .Va INTERACTIVE and .Va BATCH . .It Cm build Build the port. This is the same as calling the .Cm all target. .It Cm install Install the port and register it with the package system. This is all you really need to do. .El .Pp The following targets are not run during the normal install process. .Bl -tag -width ".Cm fetch-recursive" .It Cm showconfig Display .Va OPTIONS config for this port. .It Cm showconfig-recursive Display .Va OPTIONS config for this port and all its dependencies. .It Cm rmconfig Remove .Va OPTIONS config for this port. .It Cm rmconfig-recursive Remove .Va OPTIONS config for this port and all its dependencies. .It Cm config-conditional Skip the ports which have already had their .Va OPTIONS configured. .It Cm config-recursive Configure .Va OPTIONS for this port and all its dependencies using .Xr dialog4ports 1 . .It Cm fetch-list Show list of files to be fetched in order to build the port. .It Cm fetch-recursive Fetch the distfiles of the port and all its dependencies. .It Cm fetch-recursive-list Show list of files that would be retrieved by .Cm fetch-recursive . .It Cm run-depends-list , build-depends-list Print a list of all the compile and run dependencies, and dependencies of those dependencies, by port directory. .It Cm all-depends-list Print a list of all dependencies for the port. .It Cm pretty-print-run-depends-list , pretty-print-build-depends-list Print a list of all the compile and run dependencies, and dependencies of those dependencies, by port name and version. .It Cm missing Print a list of missing dependencies to be installed for the port. .It Cm clean Remove the expanded source code. This recurses to dependencies unless .Va NOCLEANDEPENDS is defined. .It Cm distclean Remove the port's distfiles and perform the .Cm clean target. The .Cm clean portion recurses to dependencies unless .Va NOCLEANDEPENDS is defined, but the .Cm distclean portion never recurses (this is perhaps a bug). .It Cm reinstall Use this to restore a port after using .Xr pkg_delete 1 when you should have used .Cm deinstall . .It Cm deinstall Remove an installed port from the system, similar to .Xr pkg_delete 1 . .It Cm deinstall-all Remove all installed ports with the same .Va PKGORIGIN from the system. .It Cm package Make a binary package for the port. The port will be installed if it has not already been. The package is a .Pa .tbz file that you can use to install the port on other machines with .Xr pkg_add 1 . If the directory specified by .Va PACKAGES does not exist, the package will be put into the current directory. See .Va PKGREPOSITORY and .Va PKGFILE . .It Cm package-recursive Like .Cm package , but makes a package for each depending port as well. .It Cm package-name Prints the name with version of the port. .It Cm readmes Create a port's .Pa README.html . This can be used from .Pa /usr/ports to create a browsable web of all ports on your system! .It Cm search Search the .Pa INDEX file for the pattern specified by the .Va key (searches the port name, comment, and dependencies), .Va name (searches the port name only), .Va path (searches the port path), .Va info (searches the port info), .Va maint (searches the port maintainer), .Va cat (searches the port category), .Va bdeps (searches the port build-time dependency), .Va rdeps (searches the port run-time dependency), .Va www (searches the port web site) .Xr make 1 variables, and their exclusion counterparts: .Va xname , xkey etc. For example, one would type: .Pp .Dl "cd /usr/ports && make search name=query" .Pp to find all ports whose name matches .Dq Li query . Results include the matching ports' path, comment, maintainer, build dependencies, and run dependencies. .Bd -literal -offset indent cd /usr/ports && make search name=pear- \e xbdeps=apache .Ed .Pp To find all ports whose names contain .Dq Li pear- and which do not have apache listed in build-time dependencies. .Bd -literal -offset indent cd /usr/ports && make search name=pear- \e xname='ht(tp|ml)' .Ed .Pp To find all ports whose names contain .Dq Li pear- , but not .Dq Li html or .Dq Li http . .Bd -literal -offset indent make search key=apache display=name,path,info keylim=1 .Ed .Pp To find ports that contain .Dq Li apache in either of the name, path, info fields, ignore the rest of the record. .Pp By default the search is not case-sensitive. In order to make it case-sensitive you can use the .Va icase variable: .Bd -literal -offset indent make search name=p5-R icase=0 .Ed .It Cm quicksearch Reduced .Cm search output. Only display name, path and info. .It Cm describe Generate a one-line description of each port for use in the .Pa INDEX file. .It Cm maintainer Display the port maintainer's email address. .It Cm index Create .Pa /usr/ports/INDEX , which is used by the .Cm pretty-print-* and .Cm search targets. Running the .Cm index target will ensure your .Pa INDEX file is up to date with your ports tree. .It Cm fetchindex Fetch the .Pa INDEX file from the .Fx cluster. .El .Sh ENVIRONMENT You can change all of these. .Bl -tag -width ".Va MASTER_SITES" .It Va PORTSDIR Location of the ports tree. This is .Pa /usr/ports on .Fx and .Ox , and .Pa /usr/pkgsrc on .Nx . .It Va WRKDIRPREFIX Where to create any temporary files. Useful if .Va PORTSDIR is read-only (perhaps mounted from a CD-ROM). .It Va DISTDIR Where to find/put distfiles, normally .Pa distfiles/ in .Va PORTSDIR . .It Va PACKAGES Used only for the .Cm package target; the base directory for the packages tree, normally .Pa packages/ in .Va PORTSDIR . If this directory exists, the package tree will be (partially) constructed. This directory does not have to exist; if it does not, packages will be placed into the current directory, or you can define one of .Bl -tag -width ".Va PKGREPOSITORY" .It Va PKGREPOSITORY Directory to put the package in. .It Va PKGFILE The full path to the package. .El .It Va LOCALBASE Where existing things are installed and where to search for files when resolving dependencies (usually .Pa /usr/local ) . .It Va PREFIX Where to install this port (usually set to the same as .Va LOCALBASE ) . .It Va MASTER_SITES Primary sites for distribution files if not found locally. .It Va PATCH_SITES Primary locations for distribution patch files if not found locally. .It Va MASTER_SITE_FREEBSD If set, go to the master .Fx site for all files. .It Va MASTER_SITE_OVERRIDE Try going to these sites for all files and patches, first. .It Va MASTER_SITE_BACKUP Try going to these sites for all files and patches, last. .It Va RANDOMIZE_MASTER_SITES Try the download locations in a random order. .It Va MASTER_SORT Sort the download locations according to user supplied pattern. Example: .Dl .dk .sunet.se .se dk.php.net .no .de heanet.dl.sourceforge.net .It Va MASTER_SITE_INDEX Where to get .Pa INDEX source built on .Fx cluster (for .Cm fetchindex target). Defaults to .Pa http://www.FreeBSD.org/ports/ . .It Va FETCHINDEX Command to get .Pa INDEX (for .Cm fetchindex target). Defaults to .Dq Nm fetch Fl am . .It Va NOCLEANDEPENDS If defined, do not let .Cm clean recurse to dependencies. .It Va FETCH_CMD Command to use to fetch files. Normally .Xr fetch 1 . .It Va FORCE_PKG_REGISTER If set, overwrite any existing package registration on the system. .It Va MOTIFLIB Location of .Pa libXm. Ns Brq Pa a , Ns Pa so . .It Va INTERACTIVE If defined, only operate on a port if it requires interaction. .It Va BATCH If defined, only operate on a port if it can be installed 100% automatically. .It Va DISABLE_VULNERABILITIES If defined, disable check for security vulnerabilities using .Xr pkg-audit 8 when installing new ports. .It Va NO_IGNORE If defined, allow installation of ports marked as .Aq Va FORBIDDEN . The default behavior of the Ports framework is to abort when the installation of a forbidden port is attempted. Of course, these ports may not work as expected, but if you really know what you are doing and are sure about installing a forbidden port, then .Va NO_IGNORE lets you do it. .It Va NO_CHECKSUM If defined, skip verifying the port's checksum. .It Va TRYBROKEN If defined, attempt to build a port even if it is marked as .Aq Va BROKEN . .It Va PORT_DBDIR Directory where the results of configuring .Va OPTIONS are stored. Defaults to .Pa /var/db/ports . Each port where .Va OPTIONS have been configured will have a uniquely named sub-directory, containing a single file .Pa options . .El +.Sh MAKE VARIABLES +The following list provides a name and short description for many of the +variables that are used when building ports. +More information on these and other related variables may be found in +.Pa ${PORTSDIR}/Mk/* +and the +.Fx +Porter's Handbook. +.Bl -tag -width ".Va OVERRIDE_LINUX_BASE_PORT" +.It Va WITH_OPENSSL_PORT +.Pq Vt bool +If set, causes ports that make use of OpenSSL to use the OpenSSL from +ports +.Pq if available +instead of the OpenSSL from the base system. +.It Va WITH_DEBUG +.Pq Vt bool +If set, debugging symbols are installed for ports binaries. +.It Va WITH_DEBUG_PORTS +A list of origins for which to set +.Va WITH_DEBUG_PORTS . +.It Va WITH_SSP_PORTS +.Pq Vt bool +If set, enables +.Fl fstack-protector +for most ports. +.It Va WITH_GHOSTSCRIPT_VER +If set, the version of ghostscript to be used by ports. +.It Va OVERRIDE_LINUX_BASE_PORT +The default linux base to use. +.It Va WITH_CCACHE_BUILD +.Pq Vt bool +If set, enables the use of +.Xr ccache 1 +for building ports. +.It Va CCACHE_DIR +Which directory to use for the ccache data. +.El .Sh FILES .Bl -tag -width ".Pa /usr/ports/Mk/bsd.port.mk" -compact .It Pa /usr/ports The default ports directory .It Pa /usr/ports/Mk/bsd.port.mk The big Kahuna. .El .Sh SEE ALSO .Xr make 1 , +.Xr make.conf 5 , .Xr pkg 8 , .Xr portsnap 8 .Pp The following are part of the ports collection: .Pp .Xr pkg 7 , .Xr portlint 1 .Rs .%B "The FreeBSD Handbook" .Re .Pp .Pa http://www.FreeBSD.org/ports (searchable index of all ports) .Sh HISTORY The Ports Collection appeared in .Fx 1.0 . It has since spread to .Nx and .Ox . .Sh AUTHORS .An -nosplit This manual page was originated by .An David O'Brien . .Sh BUGS Ports documentation is split over four places \(em .Pa /usr/ports/Mk/bsd.port.mk , .%B "The Porter's Handbook" , the .Dq "Packages and Ports" chapter of .%B "The FreeBSD Handbook" , and this manual page. Index: stable/10 =================================================================== --- stable/10 (revision 267308) +++ stable/10 (revision 267309) Property changes on: stable/10 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r266416