summaryrefslogtreecommitdiff
path: root/share/man/man5/bsd.port.mk.5
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man5/bsd.port.mk.5')
-rw-r--r--share/man/man5/bsd.port.mk.5454
1 files changed, 244 insertions, 210 deletions
diff --git a/share/man/man5/bsd.port.mk.5 b/share/man/man5/bsd.port.mk.5
index 56a10de1325..3564be391aa 100644
--- a/share/man/man5/bsd.port.mk.5
+++ b/share/man/man5/bsd.port.mk.5
@@ -1,4 +1,4 @@
-.\" $OpenBSD: bsd.port.mk.5,v 1.16 2000/09/23 12:38:34 espie Exp $
+.\" $OpenBSD: bsd.port.mk.5,v 1.17 2000/10/26 00:37:04 aaron Exp $
.\"
.\" Copyright (c) 2000 Marc Espie
.\"
@@ -34,24 +34,25 @@
.Fd #include <bsd.port.mk>
.Sh DESCRIPTION
.Nm
-holds all the standard routines used by the ports tree. Some variables
-and targets are for its internal use only. The rest is documented here.
+holds all the standard routines used by the ports tree.
+Some variables and targets are for its internal use only.
+The rest is documented here.
.Pp
-Other BSD, and older versions of
-.Nm
-included other targets and variables. Conversion methods are outlined here.
+Other BSD variants, as well as older versions of
+.Nm bsd.port.mk ,
+include other targets and variables.
+Conversion methods are outlined here.
.Pp
-This is an incomplete draft, some variables and targets are not yet
-documented.
-.\"
-.\"
-.\"
+This is an incomplete draft; some variables and targets are not yet documented.
.Sh TARGETS
.Bl -tag -width do-configure
.It Ar build , Ar all
-Default target. Build the port. Essentially invoke
-.Bd -literal -offset indent
- env -i ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} -f ${MAKE_FILE} ${ALL_TARGET}
+Default target.
+Build the port.
+Essentially invoke
+.Bd -literal
+env -i ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} \\\&\
+ -f ${MAKE_FILE} ${ALL_TARGET}
.Ed
.It Ar checkpatch
Debugging version of the
@@ -59,10 +60,11 @@ Debugging version of the
target that simulates invoking
.Xr patch 1 .
.It Ar configure
-Configure the port. Might be a no operation. Unless overridden,
-configure creates the ${WRKBUILD} directory (see SEPARATE_BUILD), runs
-${SCRIPTDIR}/configure if it exists, and runs whatever configuration
-methods are recorded in
+Configure the port.
+Might be a no operation.
+Unless overridden, configure creates the ${WRKBUILD}
+directory (see SEPARATE_BUILD), runs ${SCRIPTDIR}/configure if it exists,
+and runs whatever configuration methods are recorded in
.Ev CONFIGURE_STYLE .
.It Ar distpatch
Apply distribution patches only.
@@ -78,10 +80,11 @@ needs to invoke
directly for historical reasons.
.It Ar extract
Extract the distfiles (but see
-.Ev EXTRACT_ONLY ).
+.Ev EXTRACT_ONLY ) .
.It Ar fake
Do a fake port installation, that is, simulate the port installation under
-${WRKINST}. Described in a separate section below.
+${WRKINST}.
+Described in a separate section below.
.It Ar fetch
Fetch the distfiles and patchfiles.
.It Ar patch
@@ -89,31 +92,29 @@ Apply distribution and
.Ox
specific patches.
.It Ar show
-Invoked with VARNAME=name, show the contents of VARNAME. Mostly used from
-recursive makes, or to know the contents of another port's variables
-without guessing wrong.
+Invoked with VARNAME=name, show the contents of VARNAME.
+Mostly used from recursive makes, or to know the contents of another
+port's variables without guessing wrong.
.El
-.\"
-.\"
-.\"
.Sh VARIABLES
.Bl -tag -width MASTER_SITES
.It Ev ALL_TARGET
-Target used to build software. Default is
+Target used to build software.
+Default is
.Sq all .
Can be set to empty, to yield a package's default target.
.It Ev ARCH
Current machine architecture (read-only).
.It Ev AUTOCONF
-Location of the autoconf binary if needed. Defaults to autoconf (though maybe
-autoreconf might be more appropriate).
+Location of the autoconf binary if needed.
+Defaults to autoconf (though make autoreconf might be more appropriate).
.It Ev AUTOCONF_DIR
Where to invoke autoconf if ${CONFIGURE_STYLE} includes autoconf.
Defaults to ${WRKSRC}.
.\" AUTOCONF_DIR should probably be a list, and be renamed to AUTOCONF_DIRS ?
.It Ev BSD_INSTALL_{PROGRAM,SCRIPT,DATA,MAN}[_DIR]
-Macros passed to make and configure invocations. Set based on corresponding
-INSTALL_* variables.
+Macros passed to make and configure invocations.
+Set based on corresponding INSTALL_* variables.
.It Ev BUILD_DEPENDS
List of other ports the current port needs to build correctly.
Each item has the form
@@ -125,9 +126,9 @@ defaults to
.Sq install
if it is not specified.
.Sq file_to_test
-is checked against the current path for ports (see PORTPATH),
-or as an absolute
-file name. The special name /nonexistent can be used to force a build
+is checked against the current path for ports (see PORTPATH), or as an absolute
+file name.
+The special name /nonexistent can be used to force a build
dependency (see the ghostscript port for an example).
.Sq directory
is set relative to ${PORTSDIR}.
@@ -139,29 +140,33 @@ Base location where packages suitable for a CDROM (see
PERMIT_PACKAGE_CDROM) will be placed
(default: ${PORTSDIR}/cdrom-packages/${ARCH})
.It Ev CFLAGS
-Default flags passed to the compiler for building. Many ports ignore it.
+Default flags passed to the compiler for building.
+Many ports ignore it.
See also
.Ev COPTS .
.It Ev CHECKSUM_FILE
Location for this port checksums, used at
.Ar checksum
-stage. Defaults to ${FILESDIR}/md5.
+stage.
+Defaults to ${FILESDIR}/md5.
.It Ev CLEANDEPENDS
If set to
.Sq Yes
.Sq make clean
-will also clean dependencies. Note that distclean never recurses down to
-dependencies.
+will also clean dependencies.
+Note that distclean never recurses down to dependencies.
.It Ev COMMENT
-File used as a comment for the package, and in the INDEX. Set to
+File used as a comment for the package, and in the INDEX.
+Set to
${PKGDIR}/COMMENT by default (with corrections for multi-packages and flavors).
-If COMMENT starts with a dash, this is a literal string instead. This can
-be used to leave a stub Makefile for removed ports and have a complete
+If COMMENT starts with a dash, this is a literal string instead.
+This can be used to leave a stub Makefile for removed ports and have a complete
INDEX entry without needing more files.
.It Ev CONFIGURE_SCRIPT
Set to name of script invoked by
.Ar configure
-target, if appropriate. Should be relative to ${WRKSRC}.
+target, if appropriate.
+Should be relative to ${WRKSRC}.
.It Ev CONFIGURE_SHARED
Set to --enable-shared or --disable-shared, depending whether the
architecture supports shared libraries.
@@ -200,24 +205,28 @@ If
there is a configure script, but it does not fit the normal gnu configure
conventions.
.It Ev COPTS
-Supplementary options appended to ${CFLAGS} for building. Since most ports
-ignore the COPTS convention, they are actually told to use
+Supplementary options appended to ${CFLAGS} for building.
+Since most ports ignore the COPTS convention, they are actually told to use
${CFLAGS} ${COPTS} as CFLAGS.
.It Ev DEF_UMASK
Correct value of umask for the port to build and package correctly.
Tested against the actual umask at
.Ar fake
-time. Default is 022. Don't override.
+time.
+Default is 022.
+Don't override.
.It Ev DISTDIR
-Directory where all ports distfiles are stashed. Defaults to
-.Pa ${PORTSDIR}/distfiles. Override if distfiles are stored elsewhere,
-but use
+Directory where all ports distfiles are stashed.
+Defaults to
+.Pa ${PORTSDIR}/distfiles.
+Override if distfiles are stored elsewhere, but use
.Ev FULLDISTDIR
to refer to ports's distfiles location instead.
.It Ev DISTORIG
Suffix used by
.Ar distpatch
-to rename original files. Defaults to
+to rename original files.
+Defaults to
.Pa .bak.orig .
Distinct from
.Pa .orig
@@ -225,17 +234,19 @@ to avoid confusing
.Ar update-patches .
.It Ev DIST_SUBDIR
Optional subdirectory of ${DISTDIR} where the current port's distfiles
-and patchfiles will be located. See target
+and patchfiles will be located.
+See target
.Ar fetch.
.It Ev ECHO_MSG
Used to display
.Sq ===> Configuring for foo
-and similar informative messages. Override to turn off, for instance.
+and similar informative messages.
+Override to turn off, for instance.
.It Ev EXTRACT_CASES
In the normal extraction stage (when
.Ev EXTRACT_ONLY
-is not empty), this is the contents of a case statement, used to extract
-files. Fragments are automatically appended to extract tar and zip
+is not empty), this is the contents of a case statement, used to extract files.
+Fragments are automatically appended to extract tar and zip
archives, so that the default case is equivalent to the following shell
fragment:
.Bd -literal -indent
@@ -264,42 +275,49 @@ Default value is .tar.gz.
.It Ev FAKE
Automatically set to
.Sq Yes
-for most ports (and all new ports). Indicates that the port, using
+for most ports (and all new ports).
+Indicates that the port, using
.Ev FAKE_FLAGS
magic, will properly fake installation into ${WRKINST}, to be packaged
-and properly installed from the package. Set to
+and properly installed from the package.
+Set to
.Sq No
in very rare cases, and during port creation.
.It Ev FAKE_FLAGS
-Flags passed to ${MAKE_PROGRAM} on fake invocation. By default,
-DESTDIR=${WRKINST}. If CONFIGURE_STYLE involves gnu, adds
-AM_MAKEFLAGS='DESTDIR=${WRKINST}' to take automatic care of recent automaker
-recursive issues.
+Flags passed to ${MAKE_PROGRAM} on fake invocation.
+By default, DESTDIR=${WRKINST}.
+If CONFIGURE_STYLE involves gnu, adds AM_MAKEFLAGS='DESTDIR=${WRKINST}' to
+take automatic care of recent automaker recursive issues.
.It Ev FETCH_CMD
-Command used to fetch distfiles for this port. Defaults to
+Command used to fetch distfiles for this port.
+Defaults to
.Pa /usr/bin/ftp .
No current port overrides the default.
.It Ev FETCH_DEPENDS
-See BUILD_DEPENDS for specification. Fetch dependencies are checked at
-the beginning of the extract stage. No current port uses FETCH_DEPENDS.
+See BUILD_DEPENDS for specification.
+Fetch dependencies are checked at the beginning of the extract stage.
+No current port uses FETCH_DEPENDS.
.It Ev FILESDIR
-Location of other files related to the current ports. Holds at least the
-checksum file, and sometimes other files (default: files.${ARCH} or files).
+Location of other files related to the current ports.
+Holds at least the checksum file, sometimes other files
+(default: files.${ARCH} or files).
.It Ev FLAVOR
-The port current options. Set by the user, and tested by the port to
-activate wanted functionalities.
+The port current options.
+Set by the user, and tested by the port to activate wanted functionalities.
.It Ev FLAVORS
-List of all flavors keywords a port may match. Used to sort FLAVOR into
-a canonical order to build the package name, or to select the packing-list,
-and as a quick validity check.
+List of all flavors keywords a port may match.
+Used to sort FLAVOR into a canonical order to build the package name,
+or to select the packing-list, and as a quick validity check.
.It Ev FTP_PACKAGES
Base location where packages suitable for ftp (see
PERMIT_PACKAGE_FTP) will be placed
(default: ${PORTSDIR}/ftp-packages/${ARCH})
.It Ev GMAKE
-Location of the gnu make binary, if needed. Defaults to gmake.
+Location of the gnu make binary, if needed.
+Defaults to gmake.
.It Ev LIB_DEPENDS
-Libraries this port depends upon. Similar to BUILD_DEPENDS, except that
+Libraries this port depends upon.
+Similar to BUILD_DEPENDS, except that
.Sq file_to_test
is replaced by a
.Sq lib_spec
@@ -307,7 +325,7 @@ of the form:
.Sq libname.[version.[subversion]] .
See BUGS AND LIMITATIONS as well.
.Pp
-On architectures that use dynamic libraries,
+On architectures that use dynamic libraries,
.Ev LIB_DEPENDS
is also used as a running time dependency, and recorded in the package as
such.
@@ -324,8 +342,9 @@ Default is
.It Ev IS_INTERACTIVE
Set to
.Sq Yes
-if port needs human interaction to build. Usually implies NO_PACKAGE as
-well. Porters should strive to minimize IS_INTERACTIVE ports, by using
+if port needs human interaction to build.
+Usually implies NO_PACKAGE as well.
+Porters should strive to minimize IS_INTERACTIVE ports, by using
FLAVORS for multiple choice ports, and by postponing human intervention
to package installation time.
.It Ev LIBTOOL
@@ -333,61 +352,73 @@ Location of the libtool binary for ports that set
.Ev USE_LIBTOOL
(default: ${LOCALBASE}/bin/libtool).
.It Ev LIBTOOL_FLAGS
-Arguments to pass to libtool. If USE_LIBTOOL is set, the environment variable
-LIBTOOL is set to ${LIBTOOL} ${LIBTOOL_FLAGS}.
+Arguments to pass to libtool.
+If USE_LIBTOOL is set, the environment variable LIBTOOL is set
+to ${LIBTOOL} ${LIBTOOL_FLAGS}.
.It Ev LOCALBASE
where other ports have already been installed (default: /usr/local)
.It Ev MAINTAINER
-E-mail address of the port's maintainer. Defaults to ports@openbsd.org.
+E-mail address of the port's maintainer.
+Defaults to ports@openbsd.org.
.It Ev MAKE_ENV
-Environment variables passed to make invocations. Sets at least
-PATH, PREFIX, LOCALBASE, X11BASE, CFLAGS, TRUEPREFIX, DESTDIR and the
-BSD_INSTALL_* macros.
+Environment variables passed to make invocations.
+Sets at least PATH, PREFIX, LOCALBASE, X11BASE, CFLAGS, TRUEPREFIX, DESTDIR,
+and the BSD_INSTALL_* macros.
.It Ev MAKE_FLAGS
Flags used for all make invocations, except for the fake stage, which uses
FAKE_FLAGS.
.It Ev MAKE_FILE
-Name of the Makefile used for ports building. Defaults to Makefile. Used
-after changing directory to ${WRKBUILD}.
+Name of the Makefile used for ports building.
+Defaults to Makefile.
+Used after changing directory to ${WRKBUILD}.
.It Ev MAKE_PROGRAM
-The make program that is used for building the port. Set to ${MAKE} or
-${GMAKE} depending on USE_GMAKE. Read-only.
+The make program that is used for building the port.
+Set to ${MAKE} or ${GMAKE} depending on USE_GMAKE.
+Read-only.
.It Ev MESSAGE
-File recorded in the package and displayed during installation. Defaults
-to ${PKGDIR}/MESSAGE if this file exists. Leave empty if no message is needed.
+File recorded in the package and displayed during installation.
+Defaults to ${PKGDIR}/MESSAGE if this file exists.
+Leave empty if no message is needed.
.It Ev MTREE_FILE
.Xr mtree 1
specification to check when creating a PLIST with the
.Ar plist
-target. By default,
+target.
+By default,
.Pa ${PORTSDIR}/infrastructure/db/fake.mtree.
.It Ev MULTI_PACKAGES
-Set to a list of package extensions for ports that create multiple
-packages. See
+Set to a list of package extensions for ports that create multiple packages.
+See
.Qq Flavors and multi-packages
below.
-
+.Pp
.It Ev NEED_VERSION
Specific revision of
.Nm
-needed by this ports tree. Usually set to the current version of
+needed by this ports tree.
+Usually set to the current version of
.Nm
when port was built, and updated by port maintainers when needed.
.It Ev NO_SHARED_LIBS
Set to
.Sq Yes
-if platform does not support shared libraries. To be tested after
-including
+if platform does not support shared libraries.
+To be tested after including
.Nm bsd.port.mk ,
if neither PFRAG.SHARED nor CONFIGURE_SHARED are enough.
.It Ev OPSYS
-Always OpenBSD (read-only).
+Always
+.Ox OpenBSD
+(read-only).
.It Ev OPSYS_VER
-Revision number of OpenBSD (read-only).
+Revision number of
+.Ox
+(read-only).
.It Ev PACKAGES
Base location for packages built (default: ${PORTSDIR}/packages/${ARCH}).
.It Ev PATCH
-Command to use to apply all patches. Defaults to
+Command to use to apply all patches.
+Defaults to
.Pa /usr/bin/patch .
.It Ev PATCHDIR
Location for patches applied by patch target (default: patches.${ARCH} or
@@ -397,11 +428,12 @@ Full list of options used while applying port's patches.
.It Ev PATCH_CHECK_ONLY
Set to Yes by the
.Ar checkpatch
-target. Don't touch unless the default
+target.
+Don't touch unless the default
.Ar checkpatch
target needs to be redefined.
-Ideally, user-defined patch subtargets ought to test checkpatch. In
-practice, they don't.
+Ideally, user-defined patch subtargets ought to test checkpatch.
+In practice, they don't.
.It Ev PATCH_DEBUG
If set to
.Sq Yes ,
@@ -412,7 +444,8 @@ stage will output extra debug information.
Full list of options used while applying distribution patches.
.It Ev PATCH_DIST_STRIP
Patch option used to strip directory levels while applying distribution
-patches. Defaults to -p0 .
+patches.
+Defaults to -p0 .
.It Ev PATCH_LIST
Wildcard pattern of patches to select under ${PATCHDIR} (default: patch-*).
Note that filenames ending in .orig, or ~ are never applied.
@@ -420,30 +453,36 @@ Note that filenames ending in .orig, or ~ are never applied.
Patch option used to strip directory levels while applying port's patches.
Defaults to -p0 .
.It Ev PORTPATH
-Path used by most shell invocations. Don't override unless really needed.
+Path used by most shell invocations.
+Don't override unless really needed.
.It Ev PORTSDIR
Root of the ports tree (default: /usr/ports).
.It Ev PKGDIR
Location for packaging information (packing list, port description, port
-short description). Default: pkg.${ARCH} or pkg.
+short description).
+Default: pkg.${ARCH} or pkg.
.It Ev PKGNAME
-Name of the created package. Default is ${DISTNAME} for the main package,
-and ${DISTNAME}${SUBPACKAGE} for multi-packages ports. This is automatically
-altered to include flavors, so it is unwise to base other variables on it.
+Name of the created package.
+Default is ${DISTNAME} for the main package,
+and ${DISTNAME}${SUBPACKAGE} for multi-packages ports.
+This is automatically altered to include flavors, so it is unwise to
+base other variables on it.
.It Ev PKGPATH
-Path to the current port's directory, relative to ${PORTSDIR}. Read-only.
+Path to the current port's directory, relative to ${PORTSDIR}.
+Read-only.
.It Ev PREFERRED_CIPHERS
-List of cryptographic ciphers to use, in order of preference. Defaults
-is
+List of cryptographic ciphers to use, in order of preference.
+Default is
.Sq sha1 rmd160 md5 .
The first cipher that matches in ${CHECKSUM_FILE} is verified.
.It Ev PREFIX
-Base directory for the current port installation. Usually ${LOCALBASE},
-though some ports may elect a location under /var, and some multi-packages
-ports may install under several locations.
+Base directory for the current port installation.
+Usually ${LOCALBASE}, though some ports may elect a location under /var,
+and some multi-package ports may install under several locations.
.It Ev RUN_DEPENDS
Specification of ports this port needs installed to be functional.
-Same format as BUILD_DEPENDS. The corresponding packages will be built at
+Same format as BUILD_DEPENDS.
+The corresponding packages will be built at
.Ar install
stage, and
.Xr pkg_add 1
@@ -460,7 +499,8 @@ Location for scripts related to the current port (default: scripts.${ARCH}
or scripts).
.It Ev SEPARATE_BUILD
Many gnu configure ports can be built in a directory distinct from the
-place they were unpacked. For some specific ports, this is even mandatory.
+place they were unpacked.
+For some specific ports, this is even mandatory.
Set to
.Sq simple
if this is the case.
@@ -475,12 +515,13 @@ Set to
.Sq flavored
if distinct flavors of the port may share a common source tree.
.It Ev SUBPACKAGE
-Set to the sub package suffix when building a package in a multi-package
-port. Read-only. Used to test for dependencies or to adjust the package
-name.
+Set to the sub package suffix when building a package in a multi-package port.
+Read-only.
+Used to test for dependencies or to adjust the package name.
.It Ev SUBST_VARS
Make variables whole values get substituted to create the actual package
-information. Always holds
+information.
+Always holds
.Ev ARCH ,
.Ev HOMEPAGE ,
.Ev PREFIX ,
@@ -489,10 +530,10 @@ and
Add other
variables as needed.
.It Ev SYSCONFDIR
-Location for ports system configuration files. Defaults to
+Location for ports system configuration files.
+Defaults to
.Pa /etc ,
-should
-never be set to
+should never be set to
.Pa /usr/local/etc .
.It Ev TAR
Name of the tar binary.
@@ -503,28 +544,30 @@ target.
.It Ev UNZIP
Name of the unzip binary.
.It Ev USE_ZIP
-Set to Yes if port needs zip to build properly. This is automatic if
-EXTRACT_ONLY holds files matching *.zip.
+Set to Yes if port needs zip to build properly.
+This is automatic if EXTRACT_ONLY holds files matching *.zip.
.It Ev USE_BZIP2
-Set to Yes if port needs bzip2 to build properly. This is automatic if
-EXTRACT_ONLY holds files matching *.bzip2.
+Set to Yes if port needs bzip2 to build properly.
+This is automatic if EXTRACT_ONLY holds files matching *.bzip2.
.It Ev WRKBUILD
-Subdirectory of ${WRKDIR} where the actual build occurs. Defaults to
-${WRKSRC}, unless SEPARATE_BUILD is involved, in which case it is set
-to an appropriate value.
+Subdirectory of ${WRKDIR} where the actual build occurs.
+Defaults to ${WRKSRC}, unless SEPARATE_BUILD is involved, in which case
+it is set to an appropriate value.
.It Ev WRKDIR
-Location where all port activity occurs. Apart from the actual port, may
-hold all kinds of cookies that checkpoint the port's build. Read-only.
+Location where all port activity occurs.
+Apart from the actual port, may
+hold all kinds of cookies that checkpoint the port's build.
+Read-only.
Ports that need to know the WRKDIR of another port must use
-cd that_port_dir && make show VARNAME=WRKDIR for this.
+cd that_port_dir && make show VARNAME=WRKDIR for this.
Note that WRKDIR may be a symbolic link.
.It Ev WRKDIST
-Subdirectory of ${WRKDIR} where the source normally unpacked. Base for all
-patches (default: ${WRKDIR}/${DISTNAME}).
+Subdirectory of ${WRKDIR} where the source normally unpacked.
+Base for all patches (default: ${WRKDIR}/${DISTNAME}).
Note that WRKDIST may be a symbolic link, if set to ${WRKDIR}.
.It Ev WRKSRC
-Subdirectory of ${WRKDIR} where the actual source is. Base for
-configuration (default: ${WRKDIST})
+Subdirectory of ${WRKDIR} where the actual source is.
+Base for configuration (default: ${WRKDIST})
Note that WRKSRC may be a symbolic link, if set to ${WRKDIR}.
.It Ev WRKPKG
Subdirectory of ${WRKBUILD} where package information gets generated.
@@ -536,8 +579,9 @@ Subdirectory of ${WRKDIR} where port normally installs (see
.Ar fake
target).
.It Ev WRKOBJDIR
-If defined, used as a base for the actual port working directory. The real
-working directory is created there, and the port ${WRKDIR} is just a link.
+If defined, used as a base for the actual port working directory.
+The real working directory is created there, and the port ${WRKDIR} is
+just a link.
.It Ev X11BASE
Where X11 has been installed (default: /usr/X11R6).
.It Ev USE_GMAKE
@@ -555,14 +599,12 @@ Set to
.Sq Yes
if lesstif is needed for correct behavior of this port.
.It Ev XMKMF
-Invocation of xmkmf for CONFIGURE_STYLE=imake port. Defaults to
-xmkf -a -DPorts. The -DPorts is specific to
+Invocation of xmkmf for CONFIGURE_STYLE=imake port.
+Defaults to xmkf -a -DPorts.
+The -DPorts is specific to
.Ox
and is always appended.
.El
-.\"
-.\"
-.\"
.Sh FILES
.Bl -tag -width files/md5
.It Pa ../Makefile.inc
@@ -570,15 +612,18 @@ Common Makefile fragment for a set of ports, included automatically.
.It Pa Makefile.${ARCH}
Arch-dependent Makefile fragment, included automatically.
.It Pa ${FILESDIR}/md5
-Checksum file. Holds the output of
+Checksum file.
+Holds the output of
.Xr md5 1 ,
-.Xr sha1 1
+.Xr sha1 1 ,
and
.Xr rmd160 1
for the ports ${DISTFILES} and ${PATCHFILES}.
.It Pa ${PKGDIR}/DESCR
-Description for the port. Variables such as ${HOMEPAGE} will be expanded
-(see SUBST_VARS). Multi-packages ports will use DESCR${SUBPACKAGE}.
+Description for the port.
+Variables such as ${HOMEPAGE} will be expanded
+(see SUBST_VARS).
+Multi-package ports will use DESCR${SUBPACKAGE}.
.It Pa ${PKGDIR}/COMMENT
Short, one line description of the port, that is displayed by
.Xr pkg_info 1 ,
@@ -592,13 +637,11 @@ Use
.Ar pre-fake
if this is incomplete.
.El
-.\"
-.\"
-.\"
.Sh OBSOLETE TARGETS
.Bl -tag -width do-configure
.It Ar {pre,do}-extract
-Don't override. Set
+Don't override.
+Set
.Ev EXTRACT_ONLY
to nothing and override
.Ar post-extract
@@ -616,9 +659,6 @@ and
.Ar fetch-makefile
targets instead.
.El
-.\"
-.\"
-.\"
.Sh OBSOLETE VARIABLES
.Bl -tag -width MASTER_SITES
.It Ev DESCR_SRC
@@ -626,8 +666,8 @@ From
.Nx .
This is DESCR.
.Ox
-does not give a specific name to the generated file. It is not recommended
-to try to access them directly.
+does not give a specific name to the generated file.
+It is not recommended to try to access them directly.
.It Ev EXTRACT_AFTER_ARGS
Was used to cobble together the normal extraction command, as
${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${EXTRACT_AFTER_ARGS}.
@@ -666,13 +706,14 @@ Use
.Ev PERMIT_DISTFILES_FTP
and
.Ev PERMIT_DISTFILES_CDROM
-to determine which files can be mirrored instead. See
+to determine which files can be mirrored instead.
+See
.Xr mirroring-ports 7 .
.It Ev NO_CONFIGURE
If ${FILESDIR}/configure does not exist, no automatic configuration will
be done anyway.
.It Ev NO_EXTRACT
-Set EXTRACT_ONLY= instead.
+Set EXTRACT_ONLY= instead.
.It Ev NO_INSTALL_MANPAGES
Use
.Ev CONFIGURE_STYLE
@@ -684,12 +725,13 @@ the operating system installation script runs the /usr/local specification
globally, instead of embedding it in each package.
So packages no longer record an
.Xr mtree 1
-specification. Use an explicit
+specification.
+Use an explicit
.Sq @exec
command if needed.
.It Ev NO_PATCH
-The absence of a patches directory does the same. Use PATCHDIR and
-PATCH_LIST if patches need to be changed dynamically.
+The absence of a patches directory does the same.
+Use PATCHDIR and PATCH_LIST if patches need to be changed dynamically.
.It Ev NO_WRKDIR
All ports should have a working directory, as this is necessary to store
cookies and keep state.
@@ -703,8 +745,8 @@ ships with compressed man pages, and uses this variable to control
that behavior.
.It Ev PATCH_SITES
.Ev PATCH_FILES
-used to be retrieved from a separate site list. For greater flexibility,
-all files are now retrieved from
+used to be retrieved from a separate site list.
+For greater flexibility, all files are now retrieved from
.Ev MASTER_SITES ,
.Ev MASTER_SITES0 , ...,
.Ev MASTER_SITES9 ,
@@ -728,8 +770,8 @@ From
.Nx .
This is PLIST.
.Ox
-does not give a specific name to the generated file. It is not recommended
-to try to access them directly.
+does not give a specific name to the generated file.
+It is not recommended to try to access them directly.
.It Ev PLIST_SUBST
From
.Nx
@@ -738,8 +780,8 @@ and
Use SUBST_VARS instead.
.Ox
does not allow general substitutions of the form VAR=value, but uses
-only a list of variables instead. Most package files gets transformed,
-instead of only the packing list.
+only a list of variables instead.
+Most package files gets transformed, instead of only the packing list.
.It Ev USE_AUTOCONF
Use
.Ev CONFIGURE_STYLE
@@ -749,19 +791,17 @@ Use
.Ev CONFIGURE_STYLE
instead.
.El
-.\"
-.\"
-.\"
.Sh OBSOLETE FILES
.Bl -tag -width files/md5
.It Pa ${SCRIPTDIR}/{pre,do,post}-*
Identical functionality can be obtained through a {pre,do,post}-* target,
invoking the script manually if necessary.
.It Pa ${PKGDIR}/PLIST.noshared
-Use PFRAG.shared or PFRAG.no-shared instead. PLIST.noshared was too easy
-to forget when updating ports.
+Use PFRAG.shared or PFRAG.no-shared instead.
+PLIST.noshared was too easy to forget when updating ports.
.It Pa ${PKGDIR}/PLIST.sed
-Use PLIST directly. Until revision 1.295,
+Use PLIST directly.
+Until revision 1.295,
.Nm
did not substitute variables in the packing list unless this special form
was used.
@@ -774,26 +814,27 @@ whereas /usr/share/mk/bsd.port.mk is just a stub.
The
.Ox
ports tree focuses on robustness, not on being portable to other operating
-systems. In any case, portability should not need to depend on operating
+systems.
+In any case, portability should not need to depend on operating
system dependent patches.
.It Pa /usr/local/etc
Used by
.Fx
-to marshall system configuration files. All
+to marshall system configuration files.
+All
.Ox
-system configuration files are located in /etc, or in a subdirectory of
-/etc.
+system configuration files are located in
+.Pa /etc ,
+or in a subdirectory of
+.Pa /etc .
.El
-.\"
-.\"
-.\"
.Sh THE FAKE FRAMEWORK
The
.Ar fake
target is used to install the port in a private directory first, package
that false installation, so that the real installation will use the
package.
-
+.Pp
Essentially,
.Ar fake
invokes a real
@@ -808,9 +849,9 @@ specification
.Pp
A
.Ar pre-fake
-target may be used to complete that skeleton tree. For instance, a few
-ports may need supplementary stuff to be present (as it would be installed
-if the ports' dependencies were present).
+target may be used to complete that skeleton tree.
+For instance, a few ports may need supplementary stuff to be present (as
+it would be installed if the ports' dependencies were present).
.Pp
If {pre,do,post}-install overrides are present, they are used with some
important changes: PREFIX is set to ${WRKINST}${PREFIX}, DESTDIR is set to
@@ -828,23 +869,20 @@ If no do-install override is present, the port is installed using
${MAKE_PROGRAM} ${FAKE_FLAGS} -f ${MAKE_FILE} ${FAKE_TARGET}
.Ed
.Pp
-Note that this does set both PREFIX and DESTDIR. If a port's Makefile both
-heeds DESTDIR, and references PREFIX explicitly, FAKE_FLAGS may rectify
-the problem by setting PREFIX=${PREFIX}
+Note that this does set both PREFIX and DESTDIR.
+If a port's Makefile both heeds DESTDIR, and references PREFIX explicitly,
+FAKE_FLAGS may rectify the problem by setting PREFIX=${PREFIX}
(which will do the right thing, since ${PREFIX} is a
.Xr make 1
construct which will not be seen by the shell).
.Pp
${FAKE_FLAGS} is used to set variables on
.Xr make 1
-command line, which will override the port Makefile contents. Thus, a
-port that mentions DESTDIR= does not need any patch to work with fake.
+command line, which will override the port Makefile contents.
+Thus, a port that mentions DESTDIR= does not need any patch to work with fake.
.Pp
Recursive makes are a problem, and will often need FAKE_FLAGS to be changed
to ensure that the right values are passed down to submakes.
-.\"
-.\"
-.\"
.Sh FLAVORS AND MULTI_PACKAGES
Starting with
.Ox 2.7 ,
@@ -855,8 +893,8 @@ If a port can be compiled with several options, set FLAVORS to the list of
possible options in the Makefile.
When building the port, set
.Li "FLAVOR='option1 option2...'"
-to build a specific flavor of the port. The Makefile should test the value
-of FLAVOR as follows:
+to build a specific flavor of the port.
+The Makefile should test the value of FLAVOR as follows:
.Bd -literal
FLAVOR?=
.if ${FLAVOR:L:Moption1}
@@ -898,6 +936,7 @@ MULTI_PACKAGES triggers a recursive make package, with SUBPACKAGE set to the
right value.
For instance, if MULTI_PACKAGES=-lib -server,
make package will work as follows:
+.Pp
.Bl -bullet -compact
.It
Run make package SUBPACKAGE=-lib,
@@ -908,23 +947,22 @@ Build the main package, by running make package SUBPACKAGE=''
.El
.Pp
The port's Makefile can test the value of SUBPACKAGE to specialize
-processing for all sub packages. All packing information is derived from
-templates with SUBPACKAGE appended. In the preceding example, the
-packing-list template for pkgname-foo must be in PLIST-foo.
+processing for all sub packages.
+All packing information is derived from
+templates with SUBPACKAGE appended.
+In the preceding example, the packing-list template for pkgname-foo
+must be in PLIST-foo.
.Pp
It is currently not possible to have a subpackage depend on the main
package, except by inserting an explicit
.Li "@pkgdep"
command into the packing-list.
-.\"
-.\"
-.\"
.Sh THE GENERATION OF PACKING INFORMATION
Starting after
.Ox 2.7
(around revision 1.300 of bsd.port.mk), all packing information is
generated from templates in ${PKGDIR}.
-
+.Pp
.Bl -bullet -compact
.It
If not overriden by the user, determine which set of templates to use,
@@ -970,11 +1008,12 @@ Similarly, if FLAVORS lists flav1, then the line
.Li "%%flav1%%"
(resp.
.Li "%%!flav1%%" )
-will trigger the inclusion of
+will trigger the inclusion of
.Pa ${PKGDIR}/PFRAG.flav1${SUBPACKAGE}
(resp.
.Pa ${PKGDIR}/PFRAG.no-flav1${SUBPACKAGE} )
-in the packing-list. Fragments that cannot be handled by these simple rules
+in the packing-list.
+Fragments that cannot be handled by these simple rules
can always be specified in a custom SED_PLIST.
.Pp
The constructs
@@ -995,26 +1034,22 @@ PFRAG.shared-auto fragments.
.Pp
In MULTI_PACKAGES mode, there must be separate COMMENT, DESCR, and PLIST
templates for each SUBPACKAGE (and optional distinct MESSAGE, REQ, INSTALL,
-DEINSTALL files in a similar way). This contrasts with the FLAVORS
+DEINSTALL files in a similar way).
+This contrasts with the FLAVORS
situation, where all these files will automatically default to the
non-flavor version if there is no flavor-specific file around.
-.\"
-.\"
-.\"
.Sh BUGS AND LIMITATIONS
.Ev LOCALBASE ,
.Ev X11BASE
and
.Ev PREFIX
-are not heeded consistently. Most of the ports tree will probably fall
+are not heeded consistently.
+Most of the ports tree will probably fall
apart if one tries to build/use stuff elsewhere.
.Pp
.Ev LIB_DEPENDS
is automatically both a BUILD_DEPENDS and a RUN_DEPENDS, whereas some
smarter, more intricate mechanism could be designed to minimize dependencies.
-.\"
-.\"
-.\"
.Sh HISTORY
The ports mechanism originally came from
.Fx .
@@ -1028,7 +1063,6 @@ its speed and remove a lot of bugs.
FLAVORS, MULTI_PACKAGES and FAKE are
.Ox
improvements.
-
.\" Voluntarily undocumented:
.\" AUTOCONF_ENV: probably not needed anyway, should be internal.
.\" HAVE_MOTIF, REQUIRE_MOTIF: need to revisit what these should mean.