808 lines
24 KiB
Groff
808 lines
24 KiB
Groff
.\" $NetBSD: packages.7,v 1.71 2002/10/02 15:41:53 wiz Exp $
|
|
.\"
|
|
.\" from: NetBSD: bsd.pkg.mk,v 1.89 1998/06/01 21:30:10 hubertf Exp
|
|
.\"
|
|
.\" This file is in the public domain.
|
|
.\"
|
|
.Dd December 26, 2001
|
|
.Dt PACKAGES 7
|
|
.Os
|
|
.Sh NAME
|
|
.Nm packages
|
|
.Nd
|
|
.Nx
|
|
user package variables
|
|
.Sh DESCRIPTION
|
|
This manual page describes the variables that users of the
|
|
.Nx
|
|
packages system can set to alter the configuration of the package system,
|
|
and individual packages.
|
|
.Sh COMMON VARIABLES
|
|
This section documents variables that typically apply to all packages.
|
|
Many of these may be set in
|
|
.Xr mk.conf 5 .
|
|
.Bl -tag -offset indent -width XXXXXXXXX
|
|
.It ARCH
|
|
The architecture, as returned by
|
|
.Dq uname -m .
|
|
See
|
|
.Xr uname 1 .
|
|
.It OPSYS
|
|
The operating system name, as returned by
|
|
.Dq uname -s .
|
|
.It LOCALBASE
|
|
Where non-X11 based packages will be installed.
|
|
The default is
|
|
.Pa /usr/pkg .
|
|
.It CROSSBASE
|
|
Where
|
|
.Dq cross
|
|
category packages will be installed.
|
|
The default is
|
|
.Pa ${LOCALBASE}/cross .
|
|
.It X11BASE
|
|
Where X11 is installed on the system, and where
|
|
.Dq X11
|
|
category packages will be installed.
|
|
The default is
|
|
.Pa /usr/X11R6 .
|
|
.It DISTDIR
|
|
Where to get gzip'd, tarballed copies of original sources. The default is
|
|
.Pa ${PKGSRCDIR}/distfiles .
|
|
.It MASTER_SITE_BACKUP
|
|
Backup location(s) for distribution files and patch files if not found
|
|
locally and ${MASTER_SITES}/${PATCH_SITES}. The Defaults are
|
|
.Pa ftp://ftp.netbsd.org/pub/NetBSD/packages/distfiles/${DIST_SUBDIR}/
|
|
and
|
|
.Pa ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ .
|
|
.It MASTER_SITE_OVERRIDE
|
|
If set, override the MASTER_SITES setting with this value.
|
|
.It PACKAGES
|
|
A top level directory where all packages go (rather than going locally
|
|
to each package). The default is
|
|
.Pa ${PKGSRCDIR}/packages .
|
|
.It GMAKE
|
|
Set to path of GNU make if not in $PATH (default: gmake).
|
|
.It PKG_FC
|
|
Set to the path of the desired fortran compiler (default: f2c-f77).
|
|
.It XMKMF
|
|
Set to path of
|
|
.Dq xmkmf
|
|
if not in $PATH (default: xmkmf -a).
|
|
.It WRKOBJDIR
|
|
A top level directory where, if defined, the separate working
|
|
directories will get created, and symbolically linked to from
|
|
.Pa ${WRKDIR}
|
|
(see below). This is useful for building packages on several
|
|
architectures, then
|
|
.Pa ${PKGSRCDIR}
|
|
can be NFS-mounted while
|
|
.Pa ${WRKOBJDIR}
|
|
is local to every arch.
|
|
(It should be noted that
|
|
.Pa ${PKGSRCDIR}
|
|
should not be set by the user - it is an internal definition
|
|
which refers to the root of the pkgsrc tree. It is possible
|
|
to have many pkgsrc tree instances.)
|
|
.It PKG_DEVELOPER
|
|
Run some sanity checks that package developers want:
|
|
.Bl -bullet
|
|
.It
|
|
make sure patches apply with zero fuzz
|
|
.It
|
|
run check-shlibs to see that all binaries will find their
|
|
shared libs.
|
|
.El
|
|
.It USE_GLX
|
|
Says that if Mesa is requested, a package should preferably use a
|
|
GLX (hardware-accelerated) version of the Mesa library.
|
|
.It BINPKG_SITES
|
|
List of sites carrying binary pkgs. Variables
|
|
.It LOCALPATCHES
|
|
Directory for local patches that aren't part of pkgsrc. See
|
|
pkgsrc/Packages.txt for more information.
|
|
.Dq rel
|
|
and
|
|
.Dq arch
|
|
are
|
|
replaced with OS release (
|
|
.Dq 1.5 ,
|
|
etc.) and architecture (
|
|
.Dq mipsel ,
|
|
etc.).
|
|
.El
|
|
.Sh PACKAGE SPECIFIC VARIABLES
|
|
This section documents variables that typically apply to an individual
|
|
package. Non-Boolean variables without defaults are *mandatory*.
|
|
.Bl -tag -offset indent -width XXXXXXXX
|
|
.It ONLY_FOR_PLATFORM
|
|
If set, it lists the values of OS triples (OS-version-platform)
|
|
that the package will build under. It can be a glob-style wildcard.
|
|
.It NOT_FOR_PLATFORM
|
|
If set, it lists the values of OS triples (OS-version-platform)
|
|
that the package will not build under. It can be a glob-style wildcard.
|
|
.It MAINTAINER
|
|
The e-mail address of the contact person for this package. The person
|
|
who feels responsible for this package, and who is most likely to look
|
|
at problems or questions regarding this package which have been
|
|
reported with
|
|
.Xr send-pr 1 .
|
|
The right person to contact before making major changes to the
|
|
package. The default is packages@netbsd.org.
|
|
.It CATEGORIES
|
|
A list of descriptive categories into which this package falls.
|
|
.It COMMENT
|
|
A one-line description of the package (should not include
|
|
the package name).
|
|
.It MASTER_SITES
|
|
Primary location(s) for distribution files if not found locally.
|
|
.It PATCH_SITES
|
|
Primary location(s) for distribution patch files (see
|
|
.Dv It PATCHFILES
|
|
below) if not found locally.
|
|
.It WRKDIR
|
|
A temporary working directory that gets *clobbered* on clean. The default is
|
|
.Pa ${.CURDIR}/work
|
|
or
|
|
.Pa ${.CURDIR}/work.${MACHINE_ARCH}
|
|
if
|
|
.Dv OBJMACHINE
|
|
is set.
|
|
.It WRKSRC
|
|
A subdirectory of ${WRKDIR} where the distribution actually
|
|
unpacks to. The default is
|
|
.Pa ${WRKDIR}/${DISTNAME} .
|
|
The value of WRKSRC should be set explicitly
|
|
if the package does not follow standard conventions
|
|
and include the package's name as a subdirectory.
|
|
Please note that the old
|
|
.Dv NO_WRKSUBDIR
|
|
definition has been deprecated and should not be used.
|
|
.It DISTNAME
|
|
Name of package or distribution.
|
|
.It DISTFILES
|
|
Name(s) of archive file(s) containing distribution. The default is
|
|
.Pa ${DISTNAME}${EXTRACT_SUFX} .
|
|
.It PATCHFILES
|
|
Name(s) of additional files that contain distribution patches
|
|
There is no default. Make will look for them at
|
|
.Dv PATCH_SITES
|
|
(see above). They will automatically be uncompressed before patching if
|
|
the names end with
|
|
.Dq .gz
|
|
or
|
|
.Dq .Z .
|
|
.It DIST_SUBDIR
|
|
Suffix to
|
|
.Pa ${DISTDIR} .
|
|
If set, all
|
|
.Pa ${DISTFILES}
|
|
and
|
|
.Pa ${PATCHFILES}
|
|
will be put in this subdirectory of
|
|
.Pa ${DISTDIR}.
|
|
.It ALLFILES
|
|
All of
|
|
.Pa ${DISTFILES}
|
|
and
|
|
.Pa ${PATCHFILES} .
|
|
.It IGNOREFILES
|
|
If some of the
|
|
.Pa ${ALLFILES}
|
|
are not checksum-able, set this variable to their names.
|
|
.It PKGNAME
|
|
Name of the package file to create if the
|
|
.Pa ${DISTNAME}
|
|
isn't really relevant for the package. The default is
|
|
.Pa ${DISTNAME} .
|
|
.It SVR4_PKGNAME
|
|
Name of the package file to create if the
|
|
.Pa ${PKGNAME}
|
|
isn't unique enough on a SVR4 system. The default is
|
|
.Pa ${PKGNAME}
|
|
which may be shortened when you use gensolpkg. Only add SVR4_PKGNAME if
|
|
.Pa ${PKGNAME}
|
|
does not produce an unique package name on a SVR4 system.
|
|
The length of SVR4_PKGNAME is limited to 5 characters.
|
|
.It PKGREVISION
|
|
This number indicates the package's revision within the
|
|
.Nx
|
|
Packages Collection (pkgsrc). If set, this will be attached to the
|
|
PKGNAME variable separated by a "nb".
|
|
.It EXTRACT_ONLY
|
|
If defined, a subset of
|
|
.Pa ${DISTFILES}
|
|
you want to actually extract.
|
|
.It PATCHDIR
|
|
A directory containing any additional patches you made
|
|
to package this software. The default is
|
|
.Pa ${.CURDIR}/patches .
|
|
.It SCRIPTDIR
|
|
A directory containing any auxiliary scripts. The default is
|
|
.Pa ${.CURDIR}/scripts .
|
|
.It FILESDIR
|
|
A directory containing any miscellaneous additional files. The default is
|
|
.Pa ${.CURDIR}/files .
|
|
.It PKGDIR
|
|
A direction containing any package creation files. The default is
|
|
.Pa ${.CURDIR}/pkg .
|
|
.It PKG_DBDIR
|
|
Where package installation is recorded. The default is
|
|
.Pa /var/db/pkg .
|
|
.It FORCE_PKG_REGISTER
|
|
If set, it will overwrite any existing package registration information in
|
|
.Pa ${PKG_DBDIR}/${PKGNAME} .
|
|
.It NO_MTREE
|
|
If set, will not invoke mtree from
|
|
.Pa bsd.pkg.mk
|
|
from the
|
|
.Dq install
|
|
target.
|
|
.It MTREE_FILE
|
|
The name of the mtree file. The default is
|
|
.Pa /etc/mtree/BSD.x11.dist
|
|
if
|
|
.Dv USE_IMAKE
|
|
or
|
|
.Dv USE_X11BASE
|
|
is set, or
|
|
.Pa /etc/mtree/BSD.pkg.dist
|
|
otherwise.
|
|
.It USE_X11
|
|
Instructs the package system that the package will use headers and libraries
|
|
from
|
|
.Dv X11BASE
|
|
and so a check must be made that these are available.
|
|
If they are not, an IGNORE message will be displayed, and the package
|
|
will not be built.
|
|
.It PLIST_SRC
|
|
Which file(s) to use to build
|
|
.Pa ${PLIST} .
|
|
Default is
|
|
.Pa ${PKGDIR}/PLIST .
|
|
.It PLIST_SUBST
|
|
Patterns that get automatically expanded during the PLIST creation.
|
|
Takes arguments of the form
|
|
.Li VARNAME =
|
|
.Dq value
|
|
and subsequently replaces every occurance of
|
|
.Li ${VARNAME}
|
|
with
|
|
.Li value .
|
|
.It INSTALL_FILE
|
|
The name of a script which will be invoked when installing
|
|
binary packages. If there is a file called
|
|
.Pa ${PKGDIR}/INSTALL ,
|
|
that file will be used.
|
|
.It DEINSTALL_FILE
|
|
The name of a script which will be invoked when de-installing
|
|
binary packages. If there is a file called
|
|
.Pa ${PKGDIR}/DEINSTALL ,
|
|
that file will be used.
|
|
.It MESSAGE
|
|
The name of a file which will be displayed during the installation
|
|
of a package. No substitution according to MESSAGE_SUBST takes
|
|
place. Overrides MESSAGE_SRC. Should not be used.
|
|
.It MESSAGE_SRC
|
|
The name of a file which will be displayed when installing
|
|
a package. If neither MESSAGE_SRC nor MESSAGE are set, and there
|
|
is a file called
|
|
.Pa ${PKGDIR}/MESSAGE ,
|
|
that file will be used.
|
|
Before displaying the file, substitution according to MESSAGE_SUBST
|
|
takes place.
|
|
.It MESSAGE_SUBST
|
|
This variable takes equations of the form
|
|
.Li VARNAME =
|
|
.Dq value ,
|
|
and replaces all occurrences of
|
|
.Li ${VARNAME}
|
|
in MESSAGE_SRC with
|
|
.Li value .
|
|
By default, substitution is performed for
|
|
.Li LOCALBASE ,
|
|
.Li PKGNAME ,
|
|
.Li PREFIX ,
|
|
.Li X11BASE ,
|
|
and
|
|
.Li X11PREFIX .
|
|
.It NO_BIN_ON_CDROM
|
|
Binaries of this package may not be placed on CDROM. Set this string to
|
|
.Pa ${RESTRICTED} .
|
|
.It NO_BIN_ON_FTP
|
|
Binaries of this package may not be made available via ftp. Set this string to
|
|
.Pa ${RESTRICTED} .
|
|
.It NO_BUILD
|
|
Use a dummy (do-nothing) build target.
|
|
.It NO_CONFIGURE
|
|
Use a dummy (do-nothing) configure target.
|
|
.It NO_INSTALL
|
|
Use a dummy (do-nothing) install target.
|
|
.It NO_PACKAGE
|
|
Use a dummy (do-nothing) package target.
|
|
.It NO_PKG_REGISTER
|
|
Don't register a package install as a package.
|
|
.It NO_SRC_ON_CDROM
|
|
Distfile(s) of this package may not be placed on CDROM. Set this string to
|
|
.Pa ${RESTRICTED} .
|
|
.It NO_SRC_ON_FTP
|
|
Distfile(s) of this package may not be made available via ftp. Set this string to
|
|
.Pa ${RESTRICTED} .
|
|
If this variable is set, the distfile will not be mirrored by ftp.netbsd.org.
|
|
.It NO_DEPENDS
|
|
Don't verify build of dependencies.
|
|
.It CHECK_SHLIBS
|
|
Do not run 'check-shlibs' even if PKG_DEVELOPER is set. This prevents
|
|
errors on emul/compat packages (e.g. Linux binaries, ...).
|
|
.It MAKEFILE
|
|
Name of the Makefile in ${WRKSRC}, used in the default build and
|
|
install targets. Default:
|
|
.Dq Makefile .
|
|
.It BROKEN
|
|
Package is broken. Set this string to the reason why.
|
|
.It RESTRICTED
|
|
Package is restricted. Set this string to the reason why.
|
|
.It LICENCE
|
|
The package has a non-standard licence, such as shareware, or non-commercial-use
|
|
only. This string should be set to the type of licence the package has,
|
|
like "shareware", or "non-commercial-use". If LICENCE is set, the
|
|
.Dv ACCEPTABLE_LICENCES
|
|
variable will be searched, if set, for a string matching the licence.
|
|
.It PASSIVE_FETCH
|
|
Uses passive
|
|
.Xr ftp 1
|
|
to retrieve distribution files.
|
|
.It REPLACE_PERL
|
|
Takes a list of files and replaces each occurence of "/usr/bin/perl", "/usr/local/bin/perl"
|
|
and "/usr/pkg/bin/perl" in the named files with the value of ${PERL5}.
|
|
This can be used to point perl scripts to the proper interpreter that pkgsrc installs.
|
|
Note: it looks for the listed files in ${WRKSRC}.
|
|
.It UNLIMIT_RESOURCES
|
|
List of process limits which need to be raised to hard limits for building
|
|
this package. So far "datasize" and "stacksize" are supported.
|
|
.It USE_LIBTOOL
|
|
Says that the package uses
|
|
.Pa libtool
|
|
to manage building of libraries and shared objects, where applicable.
|
|
.It LTCONFIG_OVERRIDE
|
|
If set, override the specified
|
|
.Pa ltconfig
|
|
for using the
|
|
.Pa libtool
|
|
package instead of the pkg's own
|
|
.Pa libtool .
|
|
.It USE_FORTRAN
|
|
Says that the package uses a fortran compiler for building.
|
|
.It USE_GMAKE
|
|
Says that the package uses
|
|
.Pa gmake .
|
|
.It USE_JAVA
|
|
Says that the package uses a Java virtual machine.
|
|
.It USE_PERL5
|
|
Says that the package uses
|
|
.Pa perl5
|
|
for building and running.
|
|
.It PERL5_REQD
|
|
Sets the minimum
|
|
.Pa perl5
|
|
version required. The default is 5.0.
|
|
.It USE_IMAKE
|
|
Says that the package uses
|
|
.Pa imake .
|
|
.It USE_MESA
|
|
Says that the package uses the Mesa library. This will include all
|
|
Mesa components that are not included in the installed X11
|
|
distribution.
|
|
.It USE_SSL
|
|
Says that the package uses a SSL library. The location of the SSL
|
|
installation can be found in
|
|
.Dv ${SSLBASE} .
|
|
.It USE_X11BASE
|
|
Says that the package installs itself into the X11 base directory
|
|
.Dv ${X11BASE} .
|
|
This is necessary for packages that install X11 fonts, application
|
|
default files or Imake rule or template files.
|
|
.It USE_XAW
|
|
Says that the package uses the Athena widget set.
|
|
.It USE_XPM
|
|
Says that the package uses the Xpm library. If it is not included
|
|
in the installed X11 distribution the xpm package will be used.
|
|
.It USE_GTEXINFO
|
|
Says that the package uses gtexinfo.
|
|
.It NO_INSTALL_MANPAGES
|
|
For imake packages that don't like the install.man target.
|
|
.It HAS_CONFIGURE
|
|
Says that the package has its own configure script.
|
|
.It GNU_CONFIGURE
|
|
Set if you are using GNU configure (optional).
|
|
.It CONFIGURE_SCRIPT
|
|
Name of configure script, defaults to
|
|
.Pa configure .
|
|
.It CONFIGURE_ARGS
|
|
Pass these args to configure if ${HAS_CONFIGURE} is set.
|
|
.It CONFIGURE_ENV
|
|
Pass these env (shell-like) to configure if
|
|
.Pa ${HAS_CONFIGURE}
|
|
is set.
|
|
.It SCRIPTS_ENV
|
|
Additional environment variables passed to scripts in
|
|
.Pa ${SCRIPTDIR}
|
|
executed by
|
|
.Pa bsd.pkg.mk .
|
|
.It MAKE_ENV
|
|
Additional environment variables passed to sub-make in build stage.
|
|
.It CFLAGS
|
|
Any CFLAGS you wish passed to the configure script and/or sub-make in
|
|
build stage.
|
|
.It LDFLAGS
|
|
Any LDFLAGS you wish passed to the configure script and/or sub-make in
|
|
build stage. LDFLAGS is pre-loaded with rpath settings for ELF machines
|
|
depending on the setting of USE_IMAKE or USE_X11BASE. If you do not wish
|
|
to override these settings, use LDFLAGS+=.
|
|
.It MAKE_ENV
|
|
Additional environment variables passed to sub-make in build stage.
|
|
.It INTERACTIVE_STAGE
|
|
Set this if your package needs to interact with the user
|
|
during its fetch, configure, build or install stages.
|
|
Multiple stages may be specified.
|
|
The user can then decide to skip this package by
|
|
setting
|
|
.Dv ${BATCH} .
|
|
.It FETCH_DEPENDS
|
|
A list of
|
|
.Dq path:dir
|
|
pairs of other packages this package depends upon in the
|
|
.Dq fetch
|
|
stage.
|
|
.Dq path
|
|
is the name of a file if it starts with a slash
|
|
(/), an executable otherwise. make will test for the existence (if it
|
|
is a full pathname) or search for it in your
|
|
.Dv $PATH
|
|
(if it is an executable) and go into
|
|
.Dq dir
|
|
to do a
|
|
.Dq make all install
|
|
if it's not found.
|
|
.It BUILD_DEPENDS
|
|
A list of
|
|
.Dq path:dir
|
|
pairs of other packages this package depends upon to build
|
|
(between the
|
|
.Dq extract
|
|
and
|
|
.Dq build
|
|
stages, inclusive). The test done to
|
|
determine the existence of the dependency is the same as
|
|
.Dv FETCH_DEPENDS .
|
|
.It RUN_DEPENDS
|
|
This definition is deprecated, and is no longer used in the packages
|
|
collection. It should be replaced by a simple
|
|
.Dq DEPENDS
|
|
definition.
|
|
.It LIB_DEPENDS
|
|
This definition is deprecated, and is no longer used in the packages
|
|
collection. It should be replaced by a simple
|
|
.Dq DEPENDS
|
|
definition.
|
|
.It DEPENDS
|
|
A list of prerequisite packages. The format of this entry is
|
|
.Dq pkgname:dir .
|
|
If the
|
|
.Dq pkgname
|
|
package is not installed, then it will be built and
|
|
installed from the source package in
|
|
.Dq dir .
|
|
.It CONFLICTS
|
|
A list of other ports this package conflicts with. Use this for packages
|
|
that install identical set of files. The format of this entry is
|
|
.Dq pkgname .
|
|
.It EXTRACT_CMD
|
|
Command for extracting archive. The default is
|
|
.Xr tar 1 .
|
|
.It EXTRACT_SUFX
|
|
Suffix for archive names. The default is
|
|
.Dq .tar.gz .
|
|
.It EXTRACT_BEFORE_ARGS
|
|
Arguments to
|
|
.Dv ${EXTRACT_CMD}
|
|
before the filename argument. The default is
|
|
.Dq -xzf .
|
|
.It EXTRACT_AFTER_ARGS
|
|
Arguments to
|
|
.Dv ${EXTRACT_CMD}
|
|
following the filename argument. There is no default.
|
|
.It FETCH_CMD
|
|
Full path to ftp/http command if not in
|
|
.Dv $PATH .
|
|
The default is
|
|
.Pa /usr/bin/ftp .
|
|
.It NO_IGNORE
|
|
Set this to
|
|
.Dq YES
|
|
(most probably in a
|
|
.Dq make fetch
|
|
in
|
|
.Pa ${PKGSRCDIR} )
|
|
if you want to fetch all distfiles, even for packages not built due to
|
|
limitation by absent X or Motif.
|
|
.\" XXXmrg -- this shouldn't be documented. if we want to export the
|
|
.\" feature, give it a different name, or something.
|
|
.It __PLATFORM_OK
|
|
Internal variable set if the package is ok to build on this architecture. Set
|
|
to
|
|
.Dq YES
|
|
to insist on e.g. fetching all distfiles (for interactive use in
|
|
.Pa ${PKGSRCDIR} ,
|
|
mostly.
|
|
.It ALL_TARGET
|
|
The target to pass to make in the package when building. The default is
|
|
.Dq all .
|
|
.It INSTALL_TARGET
|
|
The target to pass to make in the package when installing. The default is
|
|
.Dq install .
|
|
.It MASTER_SORT
|
|
List of suffixes for preferred download locations to sort the MASTER_SITES
|
|
accordingly.
|
|
.It MASTER_SORT_REGEX
|
|
Similar to MASTER_SORT, but takes a list of regular expressions for
|
|
finer grained control.
|
|
.It OSVERSION_SPECIFIC
|
|
Used to denote packages, such as LKM's, which are tightly bound to a specific
|
|
version of the OS. Such binary packages are not backwards compatible with
|
|
other versions of the OS, and should be uploaded to a version specific
|
|
directory on the FTP. This variable is not currently used by any of the
|
|
package system internals, but may be used in the future. Set this to
|
|
.Dq YES
|
|
to denote such a package.
|
|
.El
|
|
.Sh MOTIF SUPPORT
|
|
This section documents variables related to the use and installation of
|
|
Motif and/or LessTif. Also, packages that require a Motif installation need
|
|
to include motif.buildlink.mk.
|
|
.Bl -tag -offset indent -width XXXXXXXX
|
|
.It USE_MOTIF12
|
|
Set this in your package if it requires Motif-1.2 headers and/or libraries.
|
|
If Motif is not present on your system, the lesstif12 package will be
|
|
installed for you.
|
|
.It MOTIFBASE
|
|
If set, it points to an existing Motif-2.0 installation. Otherwise, this is
|
|
set automatically to the directory of the Motif-2.0 installation used.
|
|
.It MOTIF12BASE
|
|
If set, it points to an existing Motif-1.2 installation. Otherwise, this is
|
|
set automatically to the directory of the Motif-1.2 installation used.
|
|
.It MOTIFLIB
|
|
Set automatically to the flags and libraries needed to link the Motif or
|
|
LessTif library.
|
|
.El
|
|
.Sh PACKAGE DISTFILE REPOSITORIES
|
|
The following variables allow to override the default package
|
|
repositories, they define a space separated list of mirror sites to be
|
|
used instead of the defaults to retrieve packages from (usually if
|
|
there's a closer or cheaper site).
|
|
.Pp
|
|
.Sq %SUBDIR%
|
|
and
|
|
.Sq ${DIST_SUBDIR}
|
|
are replaced by a package specific strings.
|
|
.Pp
|
|
.Bl -tag -width OBJMACHINE
|
|
.It Sy MASTER_SITE_BACKUP
|
|
Backup sites for packages that are maintained in
|
|
.Sq ftp.netbsd.org:/pub/NetBSD/packages/distfiles/${DIST_SUBDIR} .
|
|
.It Sy MASTER_SITE_GNU
|
|
GNU source mirror.
|
|
.It Sy MASTER_SITE_LOCAL
|
|
Local package source distributions that are maintained in
|
|
.Sq ftp.netbsd.org:/pub/NetBSD/packages/distfiles/LOCAL_PORTS/ .
|
|
.It Sy MASTER_SITE_PERL_CPAN
|
|
Perl CPAN mirror.
|
|
.It Sy MASTER_SITE_SOURCEFORGE
|
|
download.sourceforge.net mirror.
|
|
.It Sy MASTER_SITE_SUNSITE
|
|
sunsite.unc.edu mirror.
|
|
.It Sy MASTER_SITE_TEX_CTAN
|
|
TeX CTAN mirror.
|
|
.It Sy MASTER_SITE_XCONTRIB
|
|
X Window System contributed source mirror.
|
|
.El
|
|
.Sh SPECIAL VARIABLES
|
|
Variables to change if you want a special behavior:
|
|
.Bl -tag -offset indent -width XXXXXXXX
|
|
.It ECHO_MSG
|
|
Used to print all the
|
|
.Dq ===\*[Gt]
|
|
style prompts - override this
|
|
to turn them off. The default is
|
|
.Pa /bin/echo .
|
|
.It CLEAR_DIRLIST
|
|
If set, cause the
|
|
.Dq clean-update
|
|
target to completely clean up and lose the list of dependent packages. Use
|
|
with care!
|
|
.It DEPENDS_TARGET
|
|
The target to execute when a package is calling a dependency. The default
|
|
depends on the target that is used:
|
|
.Dq package
|
|
for
|
|
.Dq make package ,
|
|
.Dq update
|
|
for
|
|
.Dq make update ,
|
|
and
|
|
.Dq reinstall
|
|
for all other targets.
|
|
.It NOCLEAN
|
|
If set, prevent the
|
|
.Dq update
|
|
target from cleaning up after itself.
|
|
.It PKG_VERBOSE
|
|
If set, print out more information about the automatic manual
|
|
page handling, and package deletion (see the
|
|
.Dq install ,
|
|
.Dq deinstall
|
|
and
|
|
.Dq update
|
|
targets),
|
|
and also sets PATCH_DEBUG as well.
|
|
.It REINSTALL
|
|
During update, deinstall each package before calling
|
|
.Sq ${DEPENDS_TARGET}
|
|
(see the
|
|
.Dq update
|
|
target for more information).
|
|
.It UPDATE_TARGET
|
|
The target to execute for building a package during
|
|
.Dq make update .
|
|
Defaults to
|
|
.Dq install .
|
|
Other good targets are
|
|
.Dq package
|
|
or
|
|
.Dq bin-install .
|
|
Do not set this to
|
|
.Dq update
|
|
or you will get stuck in an endless loop!
|
|
.El
|
|
.Sh INSTALL VARIABLES
|
|
This section documents variables that serve as convenient aliases.
|
|
for your *-install targets.
|
|
.Bl -tag -offset indent -width XXXXXXXX
|
|
.It INSTALL_PROGRAM
|
|
A command to install binary executables.
|
|
Use these like:
|
|
.Dq ${INSTALL_PROGRAM} ${WRKSRC}/prog ${PREFIX}/bin .
|
|
.It INSTALL_SCRIPT
|
|
A command to install executable scripts.
|
|
.It INSTALL_DATA
|
|
A command to install sharable data.
|
|
.It INSTALL_MAN
|
|
A command to install manpages (doesn't compress).
|
|
.It INSTALL_PROGRAM_DIR
|
|
Create a directory for storing programs.
|
|
.It INSTALL_SCRIPT_DIR
|
|
Create a directory for storing scripts.
|
|
.It INSTALL_DATA_DIR
|
|
Create a directory for storing arbitrary data.
|
|
.It INSTALL_MAN_DIR
|
|
Create a directory for storing man pages.
|
|
.El
|
|
.Sh MANUAL PAGE VARIABLES
|
|
This section documents variables used to configure the way manual pages
|
|
are installed by this package.
|
|
.Bl -tag -offset indent -width XXXXXXXX
|
|
.It MANCOMPRESSED
|
|
Indicates that the package installs manpages in a compressed
|
|
form. The default package installs manpages uncompressed.
|
|
.It INFO_FILES
|
|
set to the base names of the info files you wish to be installed in the
|
|
info dir file. Automatically sets
|
|
.Dv USE_GTEXINFO .
|
|
.El
|
|
.Sh PACKAGE TARGETS
|
|
This section documents the default targets and their behaviors. If any
|
|
target relies on another target for completion (eg, the
|
|
.Dq install
|
|
target relies on the
|
|
.Dq build
|
|
target), then these targets will be executed beforehand.
|
|
.Bl -tag -offset indent -width XXXXXXXX
|
|
.It fetch
|
|
Retrieves
|
|
.Dv ${DISTFILES}
|
|
and
|
|
.Dv ${PATCHFILES}
|
|
into
|
|
.Pa ${DISTDIR}
|
|
as necessary.
|
|
.It fetch-list
|
|
Show list of files that would be retrieved by fetch.
|
|
.It extract
|
|
Unpacks
|
|
.Dv ${DISTFILES} into
|
|
.Pa ${WRKDIR}.
|
|
.It patch
|
|
Apply any provided patches to the source.
|
|
.It configure
|
|
Runs either GNU configure, one or more local configure scripts or
|
|
nothing, depending on what's available.
|
|
.It build
|
|
Actually compile the sources.
|
|
.It install
|
|
Install the results of a build.
|
|
.It bin-install
|
|
Install a binary package from local disk and via FTP from a list
|
|
of sites (see
|
|
.Dq BINPKG_LIST
|
|
variable), and do a
|
|
.Dq make package
|
|
if no binary package is available anywhere. The arguments given to
|
|
.Xr pkg_add 1
|
|
can be set via
|
|
.Dq BIN_INSTALL_FLAGS ,
|
|
e.g. to do verbose operation, etc.
|
|
.It reinstall
|
|
Install the results of a build, ignoring
|
|
.Dq already installed
|
|
flag.
|
|
.It deinstall
|
|
Remove the installation.
|
|
.It update
|
|
Update the installation of the current and all dependent packages that
|
|
are installed on the system.
|
|
.It package
|
|
Create a binary package other people can use.
|
|
.It clean
|
|
Clean the source tree for a package.
|
|
.It clean-depends
|
|
Clean the source tree for a package and the packages it depends upon.
|
|
.It clean-update
|
|
Clean the source tree for a package and all dependent packages that
|
|
are installed on the system.
|
|
.It describe
|
|
Try to generate a one-line description for each package for
|
|
use in INDEX files and the like.
|
|
.It checksum
|
|
Use
|
|
.Pa files/md5
|
|
to ensure that your distfiles are valid.
|
|
.It makesum
|
|
Generate
|
|
.Pa files/md5
|
|
(only do this for your own packages!).
|
|
.It readme
|
|
Create a README.html file describing the category or package. See
|
|
.Pa ${PKGSRCDIR}/Packages.txt
|
|
for more details.
|
|
.It mirror-distfiles
|
|
Mirror the distfile(s) if they are freely redistributable. If
|
|
.Dv NO_SRC_ON_FTP
|
|
is set in the package's Makefile (usually to
|
|
.Pa ${RESTRICTED} )
|
|
then that reason is printed, and the distfile is not mirrored.
|
|
.El
|
|
.Pp
|
|
Default sequence for
|
|
.Dq all
|
|
is: fetch checksum extract patch configure build.
|
|
.Pp
|
|
NEVER override the
|
|
.Dq regular
|
|
targets unless you want to open a major can of worms.
|
|
.Sh SEE ALSO
|
|
.Xr make 1 ,
|
|
.Xr mk.conf 5 ,
|
|
.Pa ${PKGSRCDIR}/mk/bsd.pkg.defaults.mk
|
|
and
|
|
.Rs
|
|
.%T "Documentation on the NetBSD Package System"
|
|
.Re
|
|
.Pa ${PKGSRCDIR}/Packages.txt
|
|
.Sh HISTORY
|
|
This manual page is based upon the comments in the
|
|
.Pa bsd.pkg.mk
|
|
file, as distributed with
|
|
.Nx .
|
|
The sources to this are far
|
|
and varied across all free BSD projects.
|