Date: Sat, 22 Aug 1998 05:39:10 -0700 (PDT) From: asami@cs.berkeley.edu (Satoshi Asami) To: ports@FreeBSD.ORG Subject: final plist patch + major comment rewrite Message-ID: <199808221239.FAA14375@silvia.hip.berkeley.edu>
next in thread | raw e-mail | index | archive | help
Folks, This is what I intend to commit. The behavior of plist substitution and manpage compression is as described in an earlier mail of mine. While I was there, I realized how out of control the comments at the head of the file have become so I reorganized them big time. It's my fault it got to this stage (because I just kept adding variables to simiar ones, without thinking about the flow of documentation). Sorry about that. Satoshi P.S. By the way, this is a good example of a diff that just isn't readable in unidiff format. So here goes a context (-c) diff, despite my general preference for -u diff. (You may want to just apply it to your bsd.port.mk before reading, though.) ------- Index: bsd.port.mk =================================================================== RCS file: /usr/cvs/src/share/mk/bsd.port.mk,v retrieving revision 1.227.2.46 diff -c -r1.227.2.46 bsd.port.mk *** bsd.port.mk 1998/08/15 17:37:46 1.227.2.46 --- bsd.port.mk 1998/08/22 12:30:27 *************** *** 11,195 **** # There are two different types of "maintainers" in the whole ports # framework concept. Maintainers of the bsd.port*.mk files ! # are listed below in the ${OSNAME}_MAINTAINER entries (this file # is used by multiple *BSD flavors). You should consult them directly # if you have any questions/suggestions regarding this file since only # they are allowed to modify the master copies in the CVS repository! # For each port, the MAINTAINER variable is what you should consult for # contact information on the person(s) to contact if you have questions/ # suggestions about that specific port. By default (if no MAINTAINER # is listed), a port is maintained by the subscribers of the ports@freebsd.org # mailing list, and any correspondece should be directed there. # ! FreeBSD_MAINTAINER= asami@FreeBSD.ORG ! OpenBSD_MAINTAINER= imp@OpenBSD.ORG ! ! # Supported Variables and their behaviors: # ! # Variables that typically apply to all ports: # # ARCH - The architecture, as returned by "uname -m". # OPSYS - Portability clause. This is the operating system the # makefile is being used on. Automatically set to # "FreeBSD," "NetBSD," or "OpenBSD" as appropriate. # OSREL - The release version (numeric) of the operating system. - # PORTSDIR - The root of the ports tree. Defaults: - # FreeBSD/OpenBSD: /usr/ports - # NetBSD: /usr/opt - # DISTDIR - Where to get gzip'd, tarballed copies of original sources - # (default: ${PORTSDIR}/distfiles). - # PREFIX - Where to install things in general (default: /usr/local). - # MASTER_SITES - Primary location(s) for distribution files if not found - # locally. - # PATCH_SITES - Primary location(s) for distribution patch files - # (see PATCHFILES below) if not found locally. # ! # MASTER_SITE_BACKUP - Backup location(s) for distribution files and patch ! # files if not found locally and ${MASTER_SITES}/${PATCH_SITES} ! # (default: ! # ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/) ! # MASTER_SITE_OVERRIDE - If set, override the MASTER_SITES setting with this ! # value. ! # MASTER_SITE_FREEBSD - If set, only use ${MASTER_SITE_BACKUP} for ! # MASTER_SITES. ! # PACKAGES - A top level directory where all packages go (rather than ! # going locally to each port). (default: ${PORTSDIR}/packages). ! # GMAKE - Set to path of GNU make if not in $PATH (default: gmake). ! # AUTOCONF - Set to path of GNU autoconf if not in $PATH (default: autoconf). ! # XMKMF - Set to path of `xmkmf' if not in $PATH (default: xmkmf -a ). ! # MAINTAINER - The e-mail address of the contact person for this port ! # (default: ports@FreeBSD.ORG). # CATEGORIES - A list of descriptive categories into which this port falls. # ! # Variables that typically apply to an individual port. Non-Boolean ! # variables without defaults are *mandatory*. # - # WRKDIR - A temporary working directory that gets *clobbered* on clean - # (default: ${.CURDIR}/work). - # WRKSRC - A subdirectory of ${WRKDIR} where the distribution actually - # unpacks to. (Default: ${WRKDIR}/${DISTNAME} unless - # NO_WRKSUBDIR is set, in which case simply ${WRKDIR}). - # DISTNAME - Name of port or distribution. # DISTFILES - Name(s) of archive file(s) containing distribution ! # (default: ${DISTNAME}${EXTRACT_SUFX}). # PATCHFILES - Name(s) of additional files that contain distribution # patches (default: none). make will look for them at ! # PATCH_SITES (see above). They will automatically be # uncompressed before patching if the names end with # ".gz" or ".Z". # DIST_SUBDIR - Suffix to ${DISTDIR}. If set, all ${DISTFILES} # and ${PATCHFILES} will be put in this subdirectory of ! # ${DISTDIR}. Also they will be fetched in this subdirectory ! # from FreeBSD mirror sites. # ALLFILES - All of ${DISTFILES} and ${PATCHFILES}. # IGNOREFILES - If some of the ${ALLFILES} are not checksum-able, set # this variable to their names. - # PKGNAME - Name of the package file to create if the DISTNAME - # isn't really relevant for the port/package - # (default: ${DISTNAME}). # EXTRACT_ONLY - If defined, a subset of ${DISTFILES} you want to # actually extract. - # PATCHDIR - A directory containing any additional patches you made - # to port this software to FreeBSD (default: - # ${.CURDIR}/patches) - # SCRIPTDIR - A directory containing any auxiliary scripts - # (default: ${.CURDIR}/scripts) - # FILESDIR - A directory containing any miscellaneous additional files. - # (default: ${.CURDIR}/files) - # PKGDIR - A direction containing any package creation files. - # (default: ${.CURDIR}/pkg) - # PKG_DBDIR - Where package installation is recorded (default: /var/db/pkg) - # FORCE_PKG_REGISTER - If set, it will overwrite any existing package - # registration information in ${PKG_DBDIR}/${PKGNAME}. - # NO_MTREE - If set, will not invoke mtree from bsd.port.mk from - # the "install" target. - # MTREE_FILE - The name of the mtree file (default: /etc/mtree/BSD.x11.dist - # if USE_X_PREFIX is set, /etc/mtree/BSD.local.dist - # otherwise.) # ! # NO_BUILD - Use a dummy (do-nothing) build target. ! # NO_CDROM - Port may not go on CDROM. Set this string to reason. ! # NO_DESCRIBE - Use a dummy (do-nothing) describe target. ! # NO_EXTRACT - Use a dummy (do-nothing) extract target. ! # NO_INSTALL - Use a dummy (do-nothing) install target. ! # NO_PACKAGE - Use a dummy (do-nothing) package target. ! # NO_LATEST_LINK - Do not install the "Latest" link for package. Define this ! # if this port is a beta version of another stable port ! # which is also in the tree. ! # NO_PKG_REGISTER - Don't register a port install as a package. ! # NO_WRKSUBDIR - Assume port unpacks directly into ${WRKDIR}. ! # NO_WRKDIR - There's no work directory at all; port does this someplace ! # else. ! # NO_DEPENDS - Don't verify build of dependencies. ! # BROKEN - Port is broken. Set this string to the reason why. ! # RESTRICTED - Port is restricted. Set this string to the reason why. # USE_GMAKE - Says that the port uses gmake. # USE_AUTOCONF - Says that the port uses autoconf. Implies GNU_CONFIGURE. # USE_PERL5 - Says that the port uses perl5 for building and running. # USE_IMAKE - Says that the port uses imake. Implies USE_X_PREFIX. ! # USE_X_PREFIX - Says that the port installs in ${X11BASE}. Implies USE_XLIB. ! # USE_XLIB - Says that the port uses X libraries. # NO_INSTALL_MANPAGES - For imake ports that don't like the install.man # target. ! # HAS_CONFIGURE - Says that the port has its own configure script. ! # GNU_CONFIGURE - Set if you are using GNU configure (optional). ! # CONFIGURE_SCRIPT - Name of configure script, defaults to 'configure'. ! # CONFIGURE_ARGS - Pass these args to configure if ${HAS_CONFIGURE} is set. ! # CONFIGURE_ENV - Pass these env (shell-like) to configure if ! # ${HAS_CONFIGURE} is set. ! # SCRIPTS_ENV - Additional environment vars passed to scripts in ! # ${SCRIPTDIR} executed by bsd.port.mk. ! # MAKE_ENV - Additional environment vars passed to sub-make in build ! # stage. ! # IS_INTERACTIVE - Set this if your port needs to interact with the user ! # during a build. User can then decide to skip this port by ! # setting ${BATCH}, or compiling only the interactive ports ! # by setting ${INTERACTIVE}. ! # FETCH_DEPENDS - A list of "path:dir" pairs of other ports this # package depends in the "fetch" stage. "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 $PATH (if it is an executable) and go # into "dir" to do a "make all install" if it's not ! # found. ! # BUILD_DEPENDS - A list of "path:dir" pairs of other ports this # package depends to build (between the "extract" and # "build" stages, inclusive). The test done to # determine the existence of the dependency is the ! # same as FETCH_DEPENDS. ! # RUN_DEPENDS - A list of "path:dir" pairs of other ports this # package depends to run. The test done to determine # the existence of the dependency is the same as # FETCH_DEPENDS. This will be checked during the # "install" stage and the name of the dependency will ! # be put into the package as well. ! # LIB_DEPENDS - A list of "lib:dir" pairs of other ports this package ! # depends on. "lib" is the name of a shared library. # make will use "ldconfig -r" to search for the # library. Note that lib can be any regular expression, # and you need two backslashes in front of dots (.) to # supress its special meaning (e.g., use # "foo\\.2\\.:${PORTSDIR}/utils/foo" to match "libfoo.2.*"). ! # DEPENDS - A list of other ports this package depends on being ! # made first. Use this for things that don't fall into ! # the above two categories. ! # EXTRACT_CMD - Command for extracting archive (default: tar). ! # EXTRACT_SUFX - Suffix for archive names (default: .tar.gz). ! # EXTRACT_BEFORE_ARGS - ! # Arguments to ${EXTRACT_CMD} before filename ! # (default: -xzf). ! # EXTRACT_AFTER_ARGS - ! # Arguments to ${EXTRACT_CMD} following filename ! # (default: none). # ! # FETCH_CMD - Full path to ftp/http fetch command if not in $PATH ! # (default: /usr/bin/fetch). ! # FETCH_BEFORE_ARGS - ! # Arguments to ${FETCH_CMD} before filename (default: none). ! # FETCH_AFTER_ARGS - ! # Arguments to ${FETCH_CMD} following filename (default: none). # # Motif support: # --- 11,195 ---- # There are two different types of "maintainers" in the whole ports # framework concept. Maintainers of the bsd.port*.mk files ! # are listed below in the ${OPSYS}_MAINTAINER entries (this file # is used by multiple *BSD flavors). You should consult them directly # if you have any questions/suggestions regarding this file since only # they are allowed to modify the master copies in the CVS repository! + FreeBSD_MAINTAINER= asami@FreeBSD.ORG + OpenBSD_MAINTAINER= imp@OpenBSD.ORG + # For each port, the MAINTAINER variable is what you should consult for # contact information on the person(s) to contact if you have questions/ # suggestions about that specific port. By default (if no MAINTAINER # is listed), a port is maintained by the subscribers of the ports@freebsd.org # mailing list, and any correspondece should be directed there. # ! # MAINTAINER - The e-mail address of the contact person for this port ! # (default: ports@FreeBSD.ORG). # ! # These are meta-variables that are automatically set to the system ! # you are running on. # # ARCH - The architecture, as returned by "uname -m". # OPSYS - Portability clause. This is the operating system the # makefile is being used on. Automatically set to # "FreeBSD," "NetBSD," or "OpenBSD" as appropriate. # OSREL - The release version (numeric) of the operating system. # ! # These variables are used to identify your port. ! # ! # DISTNAME - Name of port or distribution. ! # PKGNAME - Name of the package file to create if the DISTNAME ! # isn't really relevant for the port/package ! # (default: ${DISTNAME}). # CATEGORIES - A list of descriptive categories into which this port falls. # ! # These variable describe how to fetch files required for building the port. # # DISTFILES - Name(s) of archive file(s) containing distribution ! # (default: ${DISTNAME}${EXTRACT_SUFX}). Set this to ! # an empty string if the port doesn't require it. ! # EXTRACT_SUFX - Suffix for archive names (default: .tar.gz). You ! # never have to set both DISTFILES and EXTRACT_SUFX. ! # MASTER_SITES - Primary location(s) for distribution files if not found ! # locally. # PATCHFILES - Name(s) of additional files that contain distribution # patches (default: none). make will look for them at ! # PATCH_SITES (see below). They will automatically be # uncompressed before patching if the names end with # ".gz" or ".Z". + # PATCH_SITES - Primary location(s) for distribution patch files + # if not found locally. # DIST_SUBDIR - Suffix to ${DISTDIR}. If set, all ${DISTFILES} # and ${PATCHFILES} will be put in this subdirectory of ! # ${DISTDIR} (see below). Also they will be fetched in ! # this subdirectory from FreeBSD mirror sites. # ALLFILES - All of ${DISTFILES} and ${PATCHFILES}. # IGNOREFILES - If some of the ${ALLFILES} are not checksum-able, set # this variable to their names. # EXTRACT_ONLY - If defined, a subset of ${DISTFILES} you want to # actually extract. # ! # These three variables are typically set in /etc/make.conf to indicate ! # the user's preferred location to fetch files from. ! # ! # MASTER_SITE_BACKUP - Backup location(s) for distribution files and patch ! # files if not found locally and ${MASTER_SITES}/${PATCH_SITES} ! # (default: ! # ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/) ! # MASTER_SITE_OVERRIDE - If set, override the MASTER_SITES setting with this ! # value. ! # MASTER_SITE_FREEBSD - If set, only use ${MASTER_SITE_BACKUP} for ! # MASTER_SITES. ! # ! # Set these if your port should not be built under certain circumstances. ! # These are string variables; you should set them to the reason why ! # they are restricted. ! # ! # RESTRICTED - Port is restricted (e.g., contains cryptography, etc.). ! # NO_CDROM - Port may not go on CDROM. ! # NO_PACKAGE - Port should not be packaged but distfiles can be put on ! # ftp sites and CDROMs. ! # BROKEN - Port is broken. ! # ! # This variable is a boolean, so you don't need to set it to the reason. ! # ! # IS_INTERACTIVE - Set this if your port needs to interact with the user ! # during a build. User can then decide to skip this port by ! # setting ${BATCH}, or compiling only the interactive ports ! # by setting ${INTERACTIVE}. ! # ! # Use these if your port uses some of the common software packages. ! # # USE_GMAKE - Says that the port uses gmake. + # GMAKE - Set to path of GNU make if not in $PATH (default: gmake). # USE_AUTOCONF - Says that the port uses autoconf. Implies GNU_CONFIGURE. + # AUTOCONF - Set to path of GNU autoconf if not in $PATH (default: + # autoconf). # USE_PERL5 - Says that the port uses perl5 for building and running. # USE_IMAKE - Says that the port uses imake. Implies USE_X_PREFIX. ! # XMKMF - Set to path of `xmkmf' if not in $PATH (default: xmkmf -a ). # NO_INSTALL_MANPAGES - For imake ports that don't like the install.man # target. ! # USE_X_PREFIX - Says that the port installs in ${X11BASE}. Implies USE_XLIB. ! # USE_XLIB - Says that the port uses X libraries. ! # USE_QT - Says that the port uses the latest version of qt toolkit. ! # ! # Dependency checking. Use these if your port requires another port ! # not in the list above. ! # ! # FETCH_DEPENDS - A list of "path:dir[:target]" tuples of other ports this # package depends in the "fetch" stage. "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 $PATH (if it is an executable) and go # into "dir" to do a "make all install" if it's not ! # found. If the third field ("target") exists, it will ! # be used instead of ${DEPENDS_TARGET}. ! # BUILD_DEPENDS - A list of "path:dir[:target]" tuples of other ports this # package depends to build (between the "extract" and # "build" stages, inclusive). The test done to # determine the existence of the dependency is the ! # same as FETCH_DEPENDS. If the third field ("target") ! # exists, it will be used instead of ${DEPENDS_TARGET}. ! # RUN_DEPENDS - A list of "path:dir[:target]" tuples of other ports this # package depends to run. The test done to determine # the existence of the dependency is the same as # FETCH_DEPENDS. This will be checked during the # "install" stage and the name of the dependency will ! # be put into the package as well. If the third field ! # ("target") exists, it will be used instead of ! # ${DEPENDS_TARGET}. ! # LIB_DEPENDS - A list of "lib:dir[:target]" tuples of other ports this ! # package depends on. "lib" is the name of a shared library. # make will use "ldconfig -r" to search for the # library. Note that lib can be any regular expression, # and you need two backslashes in front of dots (.) to # supress its special meaning (e.g., use # "foo\\.2\\.:${PORTSDIR}/utils/foo" to match "libfoo.2.*"). ! # If the third field ("target") exists, it will be used ! # instead of ${DEPENDS_TARGET}. ! # DEPENDS - A list of "dir[:target]" tuples of other ports this ! # package depends on being made first. Use this only for ! # things that don't fall into the above four categories. ! # If the second field ("target") exists, it will be used ! # instead of ${DEPENDS_TARGET}. ! # DEPENDS_TARGET - The default target to execute when a port is calling a ! # dependency (default: "install"). # ! # Various directory definitions and variables to control them. ! # You rarely need to redefine any of these except WRKSRC and NO_WRKSUBDIR. ! # ! # X11BASE - Where X11 ports install things (default: /usr/X11R6). ! # LOCALBASE - Where non-X11 ports install things (default: /usr/local). ! # PREFIX - Where *this* port installs its files (default: ${X11BASE} ! # if USE_X_PREFIX is set, otherwise ${LOCALBASE}). ! # PORTSDIR - The root of the ports tree. Defaults: ! # FreeBSD/OpenBSD: /usr/ports ! # NetBSD: /usr/opt ! # DISTDIR - Where to get gzip'd, tarballed copies of original sources ! # (default: ${PORTSDIR}/distfiles). ! # PACKAGES - A top level directory where all packages go (rather than ! # going locally to each port). (default: ${PORTSDIR}/packages). ! # WRKDIR - A temporary working directory that gets *clobbered* on clean ! # (default: ${.CURDIR}/work). ! # WRKSRC - A subdirectory of ${WRKDIR} where the distribution actually ! # unpacks to. (Default: ${WRKDIR}/${DISTNAME} unless ! # NO_WRKSUBDIR is set, in which case simply ${WRKDIR}). ! # NO_WRKSUBDIR - Assume port unpacks directly into ${WRKDIR}. ! # NO_WRKDIR - There's no work directory at all; port does this someplace ! # else. ! # PATCHDIR - A directory containing any additional patches you made ! # to port this software to FreeBSD (default: ! # ${.CURDIR}/patches) ! # SCRIPTDIR - A directory containing any auxiliary scripts ! # (default: ${.CURDIR}/scripts) ! # FILESDIR - A directory containing any miscellaneous additional files. ! # (default: ${.CURDIR}/files) ! # PKGDIR - A direction containing any package creation files. ! # (default: ${.CURDIR}/pkg) # # Motif support: # *************** *** 205,219 **** # MOTIF_ONLY - If set, build Motif ports only. (Not much use except for # building packages.) # - # Variables to change if you want a special behavior: - # - # ECHO_MSG - Used to print all the '===>' style prompts - override this - # to turn them off (default: /bin/echo). - # DEPENDS_TARGET - The target to execute when a port is calling a - # dependency (default: "install"). - # PATCH_DEBUG - If set, print out more information about the patches as - # it attempts to apply them. - # # Variables that serve as convenient "aliases" for your *-install targets. # Use these like: "${INSTALL_PROGRAM} ${WRKSRC}/prog ${PREFIX}/bin". # --- 205,210 ---- *************** *** 231,236 **** --- 222,229 ---- # "man/mann/bar.n", set "MAN1=foo.1" and "MANN=bar.n". # The available sections chars are "123456789LN". # MANPREFIX - The directory prefix for ${MAN<sect>} (default: ${PREFIX}). + # MAN<sect>PREFIX - If manual pages of some sections install in different + # locations than others, use these (default: ${MANPREFIX}). # # Default targets and their behaviors: # *************** *** 264,269 **** --- 257,345 ---- # # NEVER override the "regular" targets unless you want to open # a major can of worms. + # + # Set these variables if your port doesn't need some of the steps. + # Note that there are no NO_PATCH or NO_CONFIGURE variables becuase + # those steps are empty by default. Also, NO_CHECKSUM is a user variable + # and is not to be set in a port's Makefile. See above for NO_PACKAGE. + # + # NO_EXTRACT - Use a dummy (do-nothing) extract target. + # NO_BUILD - Use a dummy (do-nothing) build target. + # NO_INSTALL - Use a dummy (do-nothing) install target. + # + # Here are some variables used in various stages. + # + # For fetch: + # + # FETCH_CMD - Full path to ftp/http fetch command if not in $PATH + # (default: /usr/bin/fetch). + # FETCH_BEFORE_ARGS - + # Arguments to ${FETCH_CMD} before filename (default: none). + # FETCH_AFTER_ARGS - + # Arguments to ${FETCH_CMD} following filename (default: none). + # + # For extract: + # + # EXTRACT_CMD - Command for extracting archive (default: tar). + # EXTRACT_BEFORE_ARGS - + # Arguments to ${EXTRACT_CMD} before filename + # (default: -xzf). + # EXTRACT_AFTER_ARGS - + # Arguments to ${EXTRACT_CMD} following filename + # (default: none). + # + # For configure: + # + # HAS_CONFIGURE - Says that the port has its own configure script. The + # configure stage will not do anything if this is not set. + # GNU_CONFIGURE - Set if you are using GNU configure (optional). Implies + # HAS_CONFIGURE. + # CONFIGURE_SCRIPT - Name of configure script (defaults: configure). + # CONFIGURE_ARGS - Pass these args to configure if ${HAS_CONFIGURE} is set. + # CONFIGURE_ENV - Pass these env (shell-like) to configure if + # ${HAS_CONFIGURE} is set. + # + # For build and install: + # + # MAKE_ENV - Additional environment vars passed to sub-make in build + # and install stages (default: see below). + # + # For install: + # + # PLIST - Name of the `packing list' file (default: ${PKGDIR}/PLIST). + # NO_MTREE - If set, will not invoke mtree from bsd.port.mk from + # the "install" target. + # MTREE_FILE - The name of the mtree file (default: /etc/mtree/BSD.x11.dist + # if USE_X_PREFIX is set, /etc/mtree/BSD.local.dist + # otherwise.) + # + # For package: + # + # NO_LATEST_LINK - Do not install the "Latest" link for package. Define this + # if this port is a beta version of another stable port + # which is also in the tree. + # + # This is used in all stages: + # + # SCRIPTS_ENV - Additional environment vars passed to scripts in + # ${SCRIPTDIR} executed by bsd.port.mk (default: see below). + # + # Finally, variables to change if you want a special behavior. These + # are for debugging purposes. Don't set them in your Makefile. + # + # ECHO_MSG - Used to print all the '===>' style prompts - override this + # to turn them off (default: /bin/echo). + # PATCH_DEBUG - If set, print out more information about the patches as + # it attempts to apply them. + # PKG_DBDIR - Where package installation is recorded (default: /var/db/pkg) + # NO_PKG_REGISTER - Don't register a port install as a package. + # FORCE_PKG_REGISTER - If set, it will overwrite any existing package + # registration information in ${PKG_DBDIR}/${PKGNAME}. + # NO_DEPENDS - Don't verify build of dependencies. + # NO_CHECKSUM - Don't verify the checksum. Typically used when + # when you noticed the distfile you just fetched has + # a different checksum and you intend to verify if + # the port still works with it. # Get the architecture ARCH!= uname -m *************** *** 353,359 **** .endif .if defined(USE_IMAKE) ! USE_X_PREFIX= yes .endif .if defined(USE_X_PREFIX) USE_XLIB= yes --- 429,438 ---- .endif .if defined(USE_IMAKE) ! USE_X_PREFIX= yes ! .if ${OPSYS} != "OpenBSD" && !defined(NO_INSTALL_MANPAGES) && !defined(MANNOTCOMPRESSED) ! MANCOMPRESSED= yes ! .endif .endif .if defined(USE_X_PREFIX) USE_XLIB= yes *************** *** 424,430 **** MAKE_FLAGS?= -f MAKEFILE?= Makefile ! MAKE_ENV+= PREFIX=${PREFIX} LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} MOTIFLIB="${MOTIFLIB}" CFLAGS="${CFLAGS}" .if exists(/usr/bin/fetch) FETCH_CMD?= /usr/bin/fetch --- 503,509 ---- MAKE_FLAGS?= -f MAKEFILE?= Makefile ! MAKE_ENV+= PREFIX=${PREFIX} LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} MOTIFLIB="${MOTIFLIB}" CFLAGS="${CFLAGS}" LIBDIR="${LIBDIR}" .if exists(/usr/bin/fetch) FETCH_CMD?= /usr/bin/fetch *************** *** 1121,1127 **** .if !target(do-package) do-package: ! @if [ -e ${PLIST} ]; then \ ${ECHO_MSG} "===> Building package for ${PKGNAME}"; \ if [ -d ${PACKAGES} ]; then \ if [ ! -d ${PKGREPOSITORY} ]; then \ --- 1200,1206 ---- .if !target(do-package) do-package: ! @if [ -e ${TMPPLIST} ]; then \ ${ECHO_MSG} "===> Building package for ${PKGNAME}"; \ if [ -d ${PACKAGES} ]; then \ if [ ! -d ${PKGREPOSITORY} ]; then \ *************** *** 1229,1247 **** fi .endif .endif - .if (make(real-install) || make(real-package)) && exists(${PLIST}) - @>${TMPPLIST} - .for man in ${__MANPAGES} - @${ECHO} ${man} >> ${TMPPLIST} - .endfor - @${SED} ${_sedsubplist} ${PLIST} >> ${TMPPLIST} - .endif @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} ${.TARGET:S/^real-/pre-/} @if [ -f ${SCRIPTDIR}/${.TARGET:S/^real-/pre-/} ]; then \ cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \ ${SCRIPTDIR}/${.TARGET:S/^real-/pre-/}; \ fi @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} ${.TARGET:S/^real-/do-/} @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} ${.TARGET:S/^real-/post-/} @if [ -f ${SCRIPTDIR}/${.TARGET:S/^real-/post-/} ]; then \ cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \ --- 1308,1323 ---- fi .endif .endif @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} ${.TARGET:S/^real-/pre-/} @if [ -f ${SCRIPTDIR}/${.TARGET:S/^real-/pre-/} ]; then \ cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \ ${SCRIPTDIR}/${.TARGET:S/^real-/pre-/}; \ fi @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} ${.TARGET:S/^real-/do-/} + # put here so ports can change the contents of ${TMPPLIST} if necessary + .if make(real-install) + @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} generate-plist + .endif @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} ${.TARGET:S/^real-/post-/} @if [ -f ${SCRIPTDIR}/${.TARGET:S/^real-/post-/} ]; then \ cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \ *************** *** 1536,1542 **** if [ -d $$dir ]; then \ (cd $$dir ; ${MAKE} package-name package-depends); \ else \ ! ${ECHO_MSG} "Warning: \"$$dir\" non-existent -- @pkgdep registration incomplete" >&2; \ fi; \ done .endif --- 1612,1618 ---- if [ -d $$dir ]; then \ (cd $$dir ; ${MAKE} package-name package-depends); \ else \ ! ${ECHO_MSG} "${PKGNAME}: \"$$dir\" non-existent -- dependency list incomplete" >&2; \ fi; \ done .endif *************** *** 1706,1712 **** .if !target(depends-list) depends-list: @for dir in `${ECHO} "${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS}" | ${TR} '\040' '\012' | ${SED} -e 's/^[^:]*://' -e 's/:.*//' | sort -u` `${ECHO} ${DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/:.*//' | sort -u`; do \ ! (cd $$dir; ${MAKE} package-name depends-list); \ done .endif --- 1782,1792 ---- .if !target(depends-list) depends-list: @for dir in `${ECHO} "${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS}" | ${TR} '\040' '\012' | ${SED} -e 's/^[^:]*://' -e 's/:.*//' | sort -u` `${ECHO} ${DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/:.*//' | sort -u`; do \ ! if [ -d $$dir ]; then \ ! (cd $$dir ; ${MAKE} package-name depends-list); \ ! else \ ! ${ECHO_MSG} "${PKGNAME}: \"$$dir\" non-existent -- dependency list incomplete" >&2; \ ! fi; \ done .endif *************** *** 1788,1800 **** .endif .endif # Fake installation of package so that user can pkg_delete it later. # Also, make sure that an installed port is recognized correctly in # accordance to the @pkgdep directive in the packing lists .if !target(fake-pkg) fake-pkg: - @if [ ! -f ${TMPPLIST} -o ! -f ${COMMENT} -o ! -f ${DESCR} ]; then ${ECHO} "** Missing package files for ${PKGNAME} - installation not recorded."; exit 1; fi @if [ ! -d ${PKG_DBDIR} ]; then ${RM} -f ${PKG_DBDIR}; ${MKDIR} ${PKG_DBDIR}; fi .if defined(FORCE_PKG_REGISTER) @${RM} -rf ${PKG_DBDIR}/${PKGNAME} --- 1868,1892 ---- .endif .endif + # Generate packing list. Also tests to make sure all required package + # files exist. + + .if !target(generate-plist) + generate-plist: + @if [ ! -f ${PLIST} -o ! -f ${COMMENT} -o ! -f ${DESCR} ]; then ${ECHO} "** Missing package files for ${PKGNAME}."; exit 1; fi + @>${TMPPLIST} + .for man in ${__MANPAGES} + @${ECHO} ${man} >> ${TMPPLIST} + .endfor + @${SED} ${_sedsubplist} ${PLIST} >> ${TMPPLIST} + .endif + # Fake installation of package so that user can pkg_delete it later. # Also, make sure that an installed port is recognized correctly in # accordance to the @pkgdep directive in the packing lists .if !target(fake-pkg) fake-pkg: @if [ ! -d ${PKG_DBDIR} ]; then ${RM} -f ${PKG_DBDIR}; ${MKDIR} ${PKG_DBDIR}; fi .if defined(FORCE_PKG_REGISTER) @${RM} -rf ${PKG_DBDIR}/${PKGNAME} To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199808221239.FAA14375>