diff options
Diffstat (limited to 'share/man/man5/bsd.port.mk.5')
-rw-r--r-- | share/man/man5/bsd.port.mk.5 | 454 |
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. |