1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-04 01:48:54 +00:00
freebsd-ports/Mk/bsd.port.mk

5554 lines
182 KiB
Makefile
Raw Normal View History

#-*- tab-width: 4; -*-
1996-11-03 07:51:59 +00:00
# ex:ts=4
#
# $FreeBSD$
# $NetBSD: $
#
# bsd.port.mk - 940820 Jordan K. Hubbard.
# This file is in the public domain.
#
# Please view me with 4 column tabs!
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
# This is the master file for the most common elements to all port
# Makefile in the ports system. For a more general overview of its
# use and importance, see the Porter's Handbook.
* Some spelling/grammar fixes in comments * Replace some bare uses of cat with ${CAT} * [ports/19112] Ignore RCS files (*,v) when applying patches * [ports/19270] Check whether ${DISTDIR} is writable and fail with a better error message if not (mostly caused by trying to fetch as the wrong user) * [ports/23560] Force patch backup files to be created with .orig suffix * [ports/34717] Don't enclose PTHREAD_LIBS in quotes, because it will cause problems if used in an already-quoted string. * [ports/34987] Fix an awk warning in MASTER_SORT/MASTER_SORT_REGEX code * [misc/38724] Change some uses of the deprecated test -h to test -L * [1] Registering real dependencies: dependency registration looks at the currently-installed version of the dependency and registers that version, instead of registering the version in ports which may be newer than what is installed. * [2] Further 100% speed-up of dependency registration process by eliminating second call to package-depends (using information from the first call stored in +CONTENTS file of package being installed). Very useful for developing GNOME or similar packages with zillion dependencies, when package-depends target could take few minutes to complete; * [2] Proper set-up of ${SHELL} variable in build environment, so that user's interactive shell isn't picked instead. This has various implications, ranging from build process speed-up due to using /bin/sh to invoke libtool instead of bash or any other much more bloated user's shell (configure scripts often pick it up from the ${SHELL} environment), to fixing problems some users have when building random ports. Submitted by: sobomax [1] [2], Aleksandr A. Babaylov <.@babolo.ru> [ports/19112], Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> [ports/19270], Alan Bawden <Alan@LCS.MIT.EDU> [ports/23560], Christian Weisgerber <naddy@mips.inka.de> [ports/34717], knu [ports/34987], april <april@oublinet.net> [ports/38724] PR: ports/19112, ports/19270, ports/23560, ports/34717, ports/34987, ports/36237, ports/38724 Tested on: bento 4-exp build
2002-09-19 00:16:39 +00:00
# There are two different types of "maintainers" in the ports framework.
# The maintainer alias of the bsd.port.mk file is listed below in the
# FreeBSD_MAINTAINER entry. You should consult them if you have any
# questions/suggestions regarding this file.
#
* Some spelling/grammar fixes in comments * Replace some bare uses of cat with ${CAT} * [ports/19112] Ignore RCS files (*,v) when applying patches * [ports/19270] Check whether ${DISTDIR} is writable and fail with a better error message if not (mostly caused by trying to fetch as the wrong user) * [ports/23560] Force patch backup files to be created with .orig suffix * [ports/34717] Don't enclose PTHREAD_LIBS in quotes, because it will cause problems if used in an already-quoted string. * [ports/34987] Fix an awk warning in MASTER_SORT/MASTER_SORT_REGEX code * [misc/38724] Change some uses of the deprecated test -h to test -L * [1] Registering real dependencies: dependency registration looks at the currently-installed version of the dependency and registers that version, instead of registering the version in ports which may be newer than what is installed. * [2] Further 100% speed-up of dependency registration process by eliminating second call to package-depends (using information from the first call stored in +CONTENTS file of package being installed). Very useful for developing GNOME or similar packages with zillion dependencies, when package-depends target could take few minutes to complete; * [2] Proper set-up of ${SHELL} variable in build environment, so that user's interactive shell isn't picked instead. This has various implications, ranging from build process speed-up due to using /bin/sh to invoke libtool instead of bash or any other much more bloated user's shell (configure scripts often pick it up from the ${SHELL} environment), to fixing problems some users have when building random ports. Submitted by: sobomax [1] [2], Aleksandr A. Babaylov <.@babolo.ru> [ports/19112], Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> [ports/19270], Alan Bawden <Alan@LCS.MIT.EDU> [ports/23560], Christian Weisgerber <naddy@mips.inka.de> [ports/34717], knu [ports/34987], april <april@oublinet.net> [ports/38724] PR: ports/19112, ports/19270, ports/23560, ports/34717, ports/34987, ports/36237, ports/38724 Tested on: bento 4-exp build
2002-09-19 00:16:39 +00:00
# DO NOT COMMIT CHANGES TO THIS FILE BY YOURSELF, EVEN IF YOU DID NOT GET
# A RESPONSE FROM THE MAINTAINER(S) WITHIN A REASONABLE TIMEFRAME! ALL
# UNAUTHORISED CHANGES WILL BE UNCONDITIONALLY REVERTED!
FreeBSD_MAINTAINER= portmgr@FreeBSD.org
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
1997-04-21 00:24:51 +00:00
# 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
* Some spelling/grammar fixes in comments * Replace some bare uses of cat with ${CAT} * [ports/19112] Ignore RCS files (*,v) when applying patches * [ports/19270] Check whether ${DISTDIR} is writable and fail with a better error message if not (mostly caused by trying to fetch as the wrong user) * [ports/23560] Force patch backup files to be created with .orig suffix * [ports/34717] Don't enclose PTHREAD_LIBS in quotes, because it will cause problems if used in an already-quoted string. * [ports/34987] Fix an awk warning in MASTER_SORT/MASTER_SORT_REGEX code * [misc/38724] Change some uses of the deprecated test -h to test -L * [1] Registering real dependencies: dependency registration looks at the currently-installed version of the dependency and registers that version, instead of registering the version in ports which may be newer than what is installed. * [2] Further 100% speed-up of dependency registration process by eliminating second call to package-depends (using information from the first call stored in +CONTENTS file of package being installed). Very useful for developing GNOME or similar packages with zillion dependencies, when package-depends target could take few minutes to complete; * [2] Proper set-up of ${SHELL} variable in build environment, so that user's interactive shell isn't picked instead. This has various implications, ranging from build process speed-up due to using /bin/sh to invoke libtool instead of bash or any other much more bloated user's shell (configure scripts often pick it up from the ${SHELL} environment), to fixing problems some users have when building random ports. Submitted by: sobomax [1] [2], Aleksandr A. Babaylov <.@babolo.ru> [ports/19112], Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> [ports/19270], Alan Bawden <Alan@LCS.MIT.EDU> [ports/23560], Christian Weisgerber <naddy@mips.inka.de> [ports/34717], knu [ports/34987], april <april@oublinet.net> [ports/38724] PR: ports/19112, ports/19270, ports/23560, ports/34717, ports/34987, ports/36237, ports/38724 Tested on: bento 4-exp build
2002-09-19 00:16:39 +00:00
# mailing list, and any correspondence should be directed there.
1997-04-21 00:24:51 +00:00
#
# MAINTAINER - The e-mail address of the contact person for this port.
# Default: ports@FreeBSD.org
#
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# These are meta-variables that are automatically set to the system
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
# you are running on. These are provided in case you need to take
# different actions for different values.
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
#
# ARCH - The architecture of the target machine, such as would be
# returned by "uname -p".
# 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.
# OSVERSION - The value of __FreeBSD_version.
#
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
# This is the beginning of the list of all variables that need to be
# defined in a port, listed in order that they should be included
# to fit in with existing conventions. (Exception: MAINTAINER actually
# should appear after EXTRACT_ONLY and before MASTER_SITE_BACKUP).
#
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# These variables are used to identify your port.
#
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
# PORTNAME - Name of software. Mandatory.
# PORTVERSION - Version of software. Mandatory when no DISTVERSION is given.
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
# PORTREVISION - Version of port. Optional. Commonly used to indicate
# that an update has happened that affects the port
# framework itself, but not the distributed software
# (e.g., local patches or Makefile changes).
# PORTEPOCH - Optional. In certain odd cases, the PORTREVISION logic
# can be fooled by ports that appear to go backwards
# numerically (e.g. if port-0.3 is newer than port-1998).
# In this case, incrementing PORTEPOCH forces the revision.
# Default: 0 (no effect).
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
# PKGNAME - Always defined as
# ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}.
- Allow processing of info files in non-standard locations; the INFO_PATH variable may be used to specify their location. It defaults to 'share/info' for the standard PREFIX, and 'info' when PREFIX == /usr. [1] - Remove the <category>/pkg/COMMENT files in favour of a COMMENT variable in <category>/Makefile [2] - Prevent patch breakage with VERSION_CONTROL=numbered [3] - Fix some instances of incorrect WRKDIRPREFIX handling. [4] - remove useless ${MKDIR} ${WRKSRC} in config target [5] - remove reference to OpenBSD [6] - Exempt devel/p5-Module-Build from the self-dependency in PERL_MODBUILD so that this port may use the option without getting an infinite dependency list [7] - The default PERL_ARCH is currently determined as a function of OSVERSION. It should however be a function of PERL_LEVEL since the correct value depends on what Perl version one has installed (older Perl versions use ${ARCH}-freebsd, newer versions use mach). [8] - Fix PORTDOCS on older (4.7, 5.0) systems [9] - Allow 'make parallel' to generate a working makefile when not all categories are present (this does not mean you'll be able to build all ports, unless you make sure they don't have external dependencies) [10] - Don't report symlinks as world-writable in the security check [11] - Fix a comment that was broken by a mismerged patch [12] - Clarify the meaning of USE_*, WANT_*, WITH_* and WITHOUT_* [13] - Don't set _CHKSUMFILES/_IGNOREFILES if CKSUMFILES/IGNOREFILES is empty and DIST_SUBDIR is set. [14] - Fix comment for DISTDIR [15] - Update the documentation of the USE_GL variable [16] - Check to see if NONEXISTENT exists, and fail with an error if it does [17] - Fix fetching of new distfiles in 'make makesum' when SIZE is set [18] - Consistently set MAKE_ENV when USE_GCC=3.2 or 3.3 are set [19] - Rework INDEX builds: [20] * Fix the bsd.port.subdir.mk code that is supposed to report index breakage (the fallback code wasn't actually being run because make would halt immediately following the error). This should help with INDEX error reports because it will immediately show the cause of failure, so we won't have to pull teeth to extract it from the submitter. * Streamline the 'make describe' code a bit. * Provide some basic instructions to the user when an index build fails, on when and how to report index build failures (turn this off with INDEX_QUIET=1) * Removed INDEX_NOSORT, because I couldn't imagine it to be very useful and it doesn't cost very much anyway. * Don't prevent INDEX builds from seeing the local host environment. Since a lot of users are using 'make index' thesedays they should get an index that reflects their local settings and installed ports. If you want to build a 'default' index that isn't influenced by local settings (e.g. for release builds), set the INDEX_PRISTINE variable. * Allows parallel INDEX builds (using make -j). The most obvious way of doing this doesn't work, because I/O from child makes is broken up into 2k chunks, and output lines from 'make describe' that exceed this length (*cough* GNOME *cough*) will be intertwined with the output of other makes, leading to a corrupted INDEX. The I/O interleaving can be disabled using 'make -P', but this inserts extraneous output of its own, and redirects stderr, making it useless for our purposes. Instead, I collect the output from the child make processes in temporary files and recombine them at the end. * The number of concurrent make processes to spawn can be set using INDEX_JOBS. By default this is set to 2, which seems to be a sweet spot for both single and dual-processor systems. On my tests I do not see any significant performance changes on UP, but on a dual 4.x system the build time drops by 47% (6 minute index builds on one test machine!). Depending on your disk and CPU hardware you might see further gains with INDEX_JOBS=4 or higher, so you might like to experiment to see what works best. On a dual 5.x system the performance gains do not seem to be as great (20-30%), but this is still a significant net win. PR: 55493 [1], 59651 [2], 61552 [3], 62247 [4], 62329 [5], 62337 [6], 62422 [7], 62441 [8], 62627 [9], 62983 [10], 63112 [11], 63297 [12], 63335 [13], 64029 [14], 64069 [15], 64236 [16], 64519 [17], 62958 [18], 64237 [19] Submitted by: lev [1], Matthew Seaman <m.seaman@infracaninophile.co.uk> [2], Joel Ray Holveck <joelh@piquan.org> [3], ade [4], Sergey Matveychuk <sem@ciam.ru> [5], markus [6], mat [7], des [8], eik [9], Dmitry Morozovsky <marck@rinet.ru> [10], Andrew <andrew@ugh.net.au> [11], vs [12], linimon [13], edwin [14][15], gerald [16], marcus[17][18], kris [19][20]
2004-04-02 07:25:23 +00:00
# Do not define this in your Makefile.
# PKGNAMEPREFIX - Prefix to specify that port is language-specific, etc.
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
# Optional.
# PKGNAMESUFFIX - Suffix to specify compilation options or a version
# designator (in case there are different versions of
# one port as is the case for Tcl).
# Optional.
# PKGVERSION - Always defined as ${PORTVERSION}.
# Do not define this in your Makefile.
# DISTVERSION - Vendor version of the distribution.
# Default: ${PORTVERSION}
# DISTNAME - Name of port or distribution used in generating
# WRKSRC and DISTFILES below.
# Default:
# ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
# CATEGORIES - A list of descriptive categories into which this port falls.
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
# Mandatory.
#
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# These variable describe how to fetch files required for building the port.
#
# DISTFILES - Name(s) of archive file(s) containing distribution.
# Set this to an empty string if the port doesn't require it.
# Default: ${DISTNAME}${EXTRACT_SUFX}
# EXTRACT_SUFX - Suffix for archive names
# You never have to set both DISTFILES and EXTRACT_SUFX.
# Default: .tar.bz2 if USES=tar:bzip2 is set, .tar.xz if
# USES=tar:xz USE_XZ is set, .tar.gz otherwise).
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# MASTER_SITES - Primary location(s) for distribution files if not found
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
# locally. See bsd.sites.mk for common choices for
# MASTER_SITES.
# MASTER_SITE_SUBDIR
# - Subdirectory of MASTER_SITES. Will sometimes need to be
# set to ${PORTNAME} for (e.g.) MASTER_SITE_SOURCEFORGE.
# Only guaranteed to work for choices of ${MASTER_SITES}
# defined in bsd.sites.mk.
# Default: not set.
# PATCHFILES - Name(s) of additional files that contain distribution
# patches. Make will look for them at PATCH_SITES (see below).
# They will automatically be uncompressed before patching if
# the names end with ".gz", ".bz2" or ".Z".
# For each file you can optionally specify a strip
# flag of patch(1) after a colon if it has a different
# base directory, e.g. "file1 file2:-p1 file3".
# You can also use a :group at the end for matching up to
# dist file groups. See Porters Handbook for more information.
# Syntax: PATCHFILES= patch[:-pX][:group]
# Default: not set.
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# 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}.
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
# NOFETCHFILES - If set, don't download these files from the ${MASTER_SITES}
# or ${MASTER_SITE_BACKUP} (but do from
# ${MASTER_SITE_OVERRIDE})
# EXTRACT_ONLY - If set, a subset of ${DISTFILES} you want to
# actually extract.
# ALWAYS_KEEP_DISTFILES
# - If set, the package building cluster will save the distfiles
# along with the packages. This may be required to comply with
# some licenses, e.g. GPL in some cases.
- Fix possibility of "infinite make fork" when "Registering install for ..." EMACS ports. [1] - Allow building a port as root using an NFS-mounted /usr/ports if the server maps root to a UID other than root. [2] - Make 'BROKEN' and 'IGNORED' ports exit their "make install" with a fail status rather than success. [3] - Improve behavior when dealing with versioned dependencies. [4] - Fix false positives in check-conflicts target. [5] - Remove obsolete bzip2 code. [6] - Add physical category net-p2p. [7] - Don't fetch INDEXFILE if not necessary; respect FETCH_ENV. [8], [11] - INDEX can now be moved outside of ports tree. [9] - Add ghostscript-gpl. [10] - Remove obsolete USE_MESA. [12] - Force pkg_install tools from ports on FreeBSD 4.10 and older. [13] - Document ALWAYS_KEEP_DISTFILES. [14] - Remove USE_REINPLACE from bsd.port.mk USE_DOS2UNIX patch. [15] PR: ports/37596 [1], ports/57259 [2], ports/63216 [3], ports/89448 [4], ports/89710 [5], ports/88996 [6], ports/89260 [7], ports/89363 [8], ports/89809 [9], ports/89853 [10], ports/91086 [11], ports/91710 [12], ports/91727 [13], ports/92111 [14], ports/92124 [15] Submitted by: Jay Sachs <jay at eziba dot com> [1], sem [1, 3, 8, 12], Andrew Heybey <ath at niksun dot com> [2], Jamie Jones <jamie at thompson dot bishopston dot net>, tobez [4], Mark Andrews <Mark_Andrews at isc dot org> [5], edwin [6, 11, 15], pav [7, 13], Peter Jeremy <PeterJeremy at optushome dot com dot au> [9], Ulrich Spoerlein <q at galgenberg dot net> [10], netchild [11], erwin [14] Reviewed by: kris, clement (partially)
2006-01-28 02:11:35 +00:00
# Default: not set.
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
#
# (NOTE: by convention, the MAINTAINER entry (see above) should go here.)
#
# These variables are typically set in /etc/make.conf to indicate
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
# the user's preferred location to fetch files from. You should
# rarely need to set these.
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
#
# MASTER_SITE_BACKUP
# - Backup location(s) for distribution files and patch
# files if not found locally and ${MASTER_SITES}/${PATCH_SITES}.
# This should *not* be changed.
# Default:
# http://distcache.FreeBSD.org/ports-distfiles/${DIST_SUBDIR}/
# MASTER_SITE_OVERRIDE
# - If set, prepend the MASTER_SITES setting with this value.
# MASTER_SITE_FREEBSD
# - If set, prepend ${MASTER_SITE_BACKUP} in MASTER_SITES.
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
#
# 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 necessary.
#
# RESTRICTED - Prevent the distribution of distfiles and packages to
# the FTP sites or on CDROM (e.g. forbidden by license
# considerations).
# NO_CDROM - Packages and distfiles may not go on CDROM (e.g. must
# not be re-sold) but can go on FTP sites.
# NO_PACKAGE - Port should not be packaged for ftp sites or CDROMs,
# but distfiles can be put on ftp sites and CDROMs.
# FORBIDDEN - Package build should not be attempted because of
# security vulnerabilities.
# LEGAL_TEXT - Port has legal issues (e.g., special permission to distribute, lacks a license).
# LEGAL_PACKAGE - Port has no legal issues but defines NO_PACKAGE
# IGNORE - Package build should be skipped entirely (e.g.
# because of serious unfixable problems in the build,
# because it cannot be manually fetched, etc). Error
* Change bento to pointyhat names in comments. [1] * Document DISABLE_VULNERABILITIES variable. [2] * Add WWW: line for 'search' target. [3] * Speedup check-vulnerable invokation, if portaudit is installed. [4] * Run install-info for all .info files. [5] * Run add-plist-docs more strictly and prevent some situations with leftover files in the future. [6] * Introduce two new variables: MASTER_PORT and SLAVE_PORT. The results from these variables is only used as information for users. [7] * Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8] * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc' target allows users to check gcc version if USE_GCC is used. Give maintainers opportunity to add '+' character to USE_GCC version for using specified and higher versions. [9] * Install startup scripts with the help of USE_RC_SUBR variable. [10] * Add three new targets: config-recursive, rmconfig-recursive and config-conditional. You can set or delete OPTIONS for all dependencies before every build. config-conditional target is used to skip configuring ports which have already been configured. [11] * Fix using of WANT_PGSQL_VER variable if postgresql is already installed. [12] PR: ports/75768 [1], ports/75728 [2], ports/76187 [3], ports/76191 [4], ports/76182 [5], ports/75379 [6], ports/75286 [7], ports/75727 [8], ports/76489 [9], ports/73691 ports/69217 [10], ports/76254 [11], ports/76988 [12] Submitted by: dinoex [1], edwin [2] [5] [6] [8] [9] [10], Marcus Grando <marcus@corp.grupos.com.br> [3], tobez and Valentin Nechayev <netch@netch.kiev.ua> [4], linimon [7], Florent Thoumie <flz@xbsd.org> [10], Chris Dillon <cdillon@wolves.k12.mo.us> [11], girgen [12]
2005-02-07 11:17:50 +00:00
# logs will not appear on pointyhat, so this should be
# used sparingly.
# BROKEN - Port is believed to be broken. Package builds can
# still be attempted using TRYBROKEN to test this
# assumption.
# BROKEN_${ARCH} - Port is believed to be broken on ${ARCH}. Package builds
# can still be attempted using TRYBROKEN to
# test this assumption.
# BROKEN_${OPSYS} - Port is believed to be broken on ${OPSYS}. Package builds
# can still be attempted using TRYBROKEN to
# test this assumption.
# BROKEN_${OPSYS}_${OSREL:R} - Port is believed to be broken on a single
# release of ${OPSYS}, e.g BROKEN_FreeBSD_8
# would affect all point releases of FreeBSD 8
# unless TRYBROKEN is also set.
# BROKEN_${OPSYS}_${OSREL:R}_${ARCH} - Port is believed to be broken on a
# single release of ${OPSYS} and specific architecture,
# e.g BROKEN_FreeBSD_8_i386 would affect all point
# releases of FreeBSD 8 in i386
# unless TRYBROKEN is also set.
# DEPRECATED - Port is deprecated to install. Advisory only.
# EXPIRATION_DATE
# - If DEPRECATED is set, determines a date when
# the port is planed to remove. The date format is
# ISO 8601 (YYYY-MM-DD).
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
#
* Change bento to pointyhat names in comments. [1] * Document DISABLE_VULNERABILITIES variable. [2] * Add WWW: line for 'search' target. [3] * Speedup check-vulnerable invokation, if portaudit is installed. [4] * Run install-info for all .info files. [5] * Run add-plist-docs more strictly and prevent some situations with leftover files in the future. [6] * Introduce two new variables: MASTER_PORT and SLAVE_PORT. The results from these variables is only used as information for users. [7] * Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8] * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc' target allows users to check gcc version if USE_GCC is used. Give maintainers opportunity to add '+' character to USE_GCC version for using specified and higher versions. [9] * Install startup scripts with the help of USE_RC_SUBR variable. [10] * Add three new targets: config-recursive, rmconfig-recursive and config-conditional. You can set or delete OPTIONS for all dependencies before every build. config-conditional target is used to skip configuring ports which have already been configured. [11] * Fix using of WANT_PGSQL_VER variable if postgresql is already installed. [12] PR: ports/75768 [1], ports/75728 [2], ports/76187 [3], ports/76191 [4], ports/76182 [5], ports/75379 [6], ports/75286 [7], ports/75727 [8], ports/76489 [9], ports/73691 ports/69217 [10], ports/76254 [11], ports/76988 [12] Submitted by: dinoex [1], edwin [2] [5] [6] [8] [9] [10], Marcus Grando <marcus@corp.grupos.com.br> [3], tobez and Valentin Nechayev <netch@netch.kiev.ua> [4], linimon [7], Florent Thoumie <flz@xbsd.org> [10], Chris Dillon <cdillon@wolves.k12.mo.us> [11], girgen [12]
2005-02-07 11:17:50 +00:00
# DISABLE_VULNERABILITIES
# - If set, do not check if the port is listed in the
# vulnerabilities database.
#
# In addition to RESTRICTED or NO_CDROM, if only a subset of distfiles
# or patchfiles have redistribution restrictions, set the following
# to the list of such files.
#
# RESTRICTED_FILES
# - List of files that cannot be redistributed.
# Default: "${DISTFILES} ${PATCHFILES}" if RESTRICTED
# or NO_CDROM is set, empty otherwise.
#
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
# These variables are booleans, so you don't need to set them to the reason.
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
#
# IS_INTERACTIVE
# - Set this if your port needs to interact with the user
# during any step in a package build. User can then decide
# to skip this port by setting ${BATCH}, or compiling only
# the interactive ports by setting ${INTERACTIVE}.
# Default: not set.
# USE_SUBMAKE - Set this if you want that each of the port's main 7 targets
# (extract, patch, configure, build, stage, install and
# package) to be executed in a separate make(1) process.
# Useful when one of the stages needs to influence make(1)
# variables of the later stages using ${WRKDIR}/Makefile.inc
# generated on the fly.
# Default: not set.
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
#
# NO_ARCH - Set this if port is architecture neutral.
#
* Some spelling/grammar fixes in comments * Replace some bare uses of cat with ${CAT} * [ports/19112] Ignore RCS files (*,v) when applying patches * [ports/19270] Check whether ${DISTDIR} is writable and fail with a better error message if not (mostly caused by trying to fetch as the wrong user) * [ports/23560] Force patch backup files to be created with .orig suffix * [ports/34717] Don't enclose PTHREAD_LIBS in quotes, because it will cause problems if used in an already-quoted string. * [ports/34987] Fix an awk warning in MASTER_SORT/MASTER_SORT_REGEX code * [misc/38724] Change some uses of the deprecated test -h to test -L * [1] Registering real dependencies: dependency registration looks at the currently-installed version of the dependency and registers that version, instead of registering the version in ports which may be newer than what is installed. * [2] Further 100% speed-up of dependency registration process by eliminating second call to package-depends (using information from the first call stored in +CONTENTS file of package being installed). Very useful for developing GNOME or similar packages with zillion dependencies, when package-depends target could take few minutes to complete; * [2] Proper set-up of ${SHELL} variable in build environment, so that user's interactive shell isn't picked instead. This has various implications, ranging from build process speed-up due to using /bin/sh to invoke libtool instead of bash or any other much more bloated user's shell (configure scripts often pick it up from the ${SHELL} environment), to fixing problems some users have when building random ports. Submitted by: sobomax [1] [2], Aleksandr A. Babaylov <.@babolo.ru> [ports/19112], Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> [ports/19270], Alan Bawden <Alan@LCS.MIT.EDU> [ports/23560], Christian Weisgerber <naddy@mips.inka.de> [ports/34717], knu [ports/34987], april <april@oublinet.net> [ports/38724] PR: ports/19112, ports/19270, ports/23560, ports/34717, ports/34987, ports/36237, ports/38724 Tested on: bento 4-exp build
2002-09-19 00:16:39 +00:00
# Set these if your port only makes sense to certain architectures.
# They are lists containing names for them (e.g., "amd64 i386").
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
# (Defaults: not set.)
#
# ONLY_FOR_ARCHS
# - Only build ports if ${ARCH} matches one of these.
# NOT_FOR_ARCHS - Only build ports if ${ARCH} doesn't match one of these.
# ONLY_FOR_ARCHS_REASON
# ONLY_FOR_ARCHS_REASON_${ARCH}
# - Reason why it's only for ${ONLY_FOR_ARCHS}s
# NOT_FOR_ARCHS_REASON
# NOT_FOR_ARCHS_REASON_${ARCH}
# - Reason why it's not for ${NOT_FOR_ARCHS}s
# IA32_BINARY_PORT
# - Set this instead of ONLY_FOR_ARCHS if the given port
# fetches and installs compiled i386 binaries.
#
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
# Dependency checking. Use these if your port requires another port
# not in the list below. (Default: empty.)
#
# EXTRACT_DEPENDS
# - A list of "path:dir[:target]" tuples of other ports this
# package depends on in the "extract" 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}. The first field also supports a
# package name with a version range, in the form package>=1.2
# if a particular version is desired.
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
# PATCH_DEPENDS - A list of "path:dir[:target]" tuples of other ports this
# package depends on in the "patch" 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}. The first field also supports a
# package name with a version range, in the form package>=1.2
# if a particular version is desired.
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
# 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}. The first field
# also supports a package name with a version range, in
# the form package>=1.2 if a particular version is desired.
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
# 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}. The first field also supports a
# package name with a version range, in the form package>=1.2
# if a particular version is desired.
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
# LIB_DEPENDS - A list of "lib:dir[:target]" tuples of other ports this
# package depends on. "lib" is the name of a shared library.
# TEST_DEPENDS - A list of "path:dir[:target]" tuples of other ports this
# package depends on in the "test" 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}. The first field also supports a
# package name with a version range, in the form package>=1.2
# if a particular version is desired.
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
# DEPENDS_TARGET
# - The default target to execute when a port is calling a
# dependency.
# Default: install
#
- Allow processing of info files in non-standard locations; the INFO_PATH variable may be used to specify their location. It defaults to 'share/info' for the standard PREFIX, and 'info' when PREFIX == /usr. [1] - Remove the <category>/pkg/COMMENT files in favour of a COMMENT variable in <category>/Makefile [2] - Prevent patch breakage with VERSION_CONTROL=numbered [3] - Fix some instances of incorrect WRKDIRPREFIX handling. [4] - remove useless ${MKDIR} ${WRKSRC} in config target [5] - remove reference to OpenBSD [6] - Exempt devel/p5-Module-Build from the self-dependency in PERL_MODBUILD so that this port may use the option without getting an infinite dependency list [7] - The default PERL_ARCH is currently determined as a function of OSVERSION. It should however be a function of PERL_LEVEL since the correct value depends on what Perl version one has installed (older Perl versions use ${ARCH}-freebsd, newer versions use mach). [8] - Fix PORTDOCS on older (4.7, 5.0) systems [9] - Allow 'make parallel' to generate a working makefile when not all categories are present (this does not mean you'll be able to build all ports, unless you make sure they don't have external dependencies) [10] - Don't report symlinks as world-writable in the security check [11] - Fix a comment that was broken by a mismerged patch [12] - Clarify the meaning of USE_*, WANT_*, WITH_* and WITHOUT_* [13] - Don't set _CHKSUMFILES/_IGNOREFILES if CKSUMFILES/IGNOREFILES is empty and DIST_SUBDIR is set. [14] - Fix comment for DISTDIR [15] - Update the documentation of the USE_GL variable [16] - Check to see if NONEXISTENT exists, and fail with an error if it does [17] - Fix fetching of new distfiles in 'make makesum' when SIZE is set [18] - Consistently set MAKE_ENV when USE_GCC=3.2 or 3.3 are set [19] - Rework INDEX builds: [20] * Fix the bsd.port.subdir.mk code that is supposed to report index breakage (the fallback code wasn't actually being run because make would halt immediately following the error). This should help with INDEX error reports because it will immediately show the cause of failure, so we won't have to pull teeth to extract it from the submitter. * Streamline the 'make describe' code a bit. * Provide some basic instructions to the user when an index build fails, on when and how to report index build failures (turn this off with INDEX_QUIET=1) * Removed INDEX_NOSORT, because I couldn't imagine it to be very useful and it doesn't cost very much anyway. * Don't prevent INDEX builds from seeing the local host environment. Since a lot of users are using 'make index' thesedays they should get an index that reflects their local settings and installed ports. If you want to build a 'default' index that isn't influenced by local settings (e.g. for release builds), set the INDEX_PRISTINE variable. * Allows parallel INDEX builds (using make -j). The most obvious way of doing this doesn't work, because I/O from child makes is broken up into 2k chunks, and output lines from 'make describe' that exceed this length (*cough* GNOME *cough*) will be intertwined with the output of other makes, leading to a corrupted INDEX. The I/O interleaving can be disabled using 'make -P', but this inserts extraneous output of its own, and redirects stderr, making it useless for our purposes. Instead, I collect the output from the child make processes in temporary files and recombine them at the end. * The number of concurrent make processes to spawn can be set using INDEX_JOBS. By default this is set to 2, which seems to be a sweet spot for both single and dual-processor systems. On my tests I do not see any significant performance changes on UP, but on a dual 4.x system the build time drops by 47% (6 minute index builds on one test machine!). Depending on your disk and CPU hardware you might see further gains with INDEX_JOBS=4 or higher, so you might like to experiment to see what works best. On a dual 5.x system the performance gains do not seem to be as great (20-30%), but this is still a significant net win. PR: 55493 [1], 59651 [2], 61552 [3], 62247 [4], 62329 [5], 62337 [6], 62422 [7], 62441 [8], 62627 [9], 62983 [10], 63112 [11], 63297 [12], 63335 [13], 64029 [14], 64069 [15], 64236 [16], 64519 [17], 62958 [18], 64237 [19] Submitted by: lev [1], Matthew Seaman <m.seaman@infracaninophile.co.uk> [2], Joel Ray Holveck <joelh@piquan.org> [3], ade [4], Sergey Matveychuk <sem@ciam.ru> [5], markus [6], mat [7], des [8], eik [9], Dmitry Morozovsky <marck@rinet.ru> [10], Andrew <andrew@ugh.net.au> [11], vs [12], linimon [13], edwin [14][15], gerald [16], marcus[17][18], kris [19][20]
2004-04-02 07:25:23 +00:00
# These variables control options about how a port gets built and/or
# are shorthand notations for common sets of dependencies.
(1) New variables INSTALL_SHLIBS and LDCONFIG_DIRS. When INSTALL_SHLIBS is set, ldconfig is automatically called from post-install and necessary @exec and @unexec lines are added to PLIST. Requested by: lioux@uol.com.br Reviewed by: the ports list, in particular sobomax (1a) Add PREFIX=%D LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} to PLIST_SUB. These are needed by INSTALL_SHLIBS, but also could be useful in general. (2) Move master/mirror site definitions to bsd.sites.mk and include it from bsd.port.mk. Open bsd.sites.mk to other committers. Submitted by: reg (2a) Add MASTER_SITE_SOURCEFORGE. Submitted by: sobomax (who wrote SORCEFORGE, but I assume that's a typo :) (2b) Move MASTER_SITE_LOCAL from ".../ports/distfiles/LOCAL_PORTS/" to ".../ports/local-distfiles/%SUBDIR%/" which will be mirrored from peoples' ~user/public_distfiles on freefall. Add two mirrors (Japan and Germany). Requested by: obrien (moving) Submitted by: will (German mirror) (3) Simplify definition of PKGBASE since it can now be defined as simply ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}, instead of sed'ing out the version number from ${PKGNAME}. Submitted by: hoek (4) Remove unnecessary targets prefix and mtree-file, which can be implemented as "make -V PREFIX" and "make -V MTREE_FILE", respectively. Don't define MTREE_FILE when NO_MTREE is set so "make -V MTREE_FILE" won't print out anything. (5) Various minor typo and grammar fixes. (6) Define NONEXISTENT?=/nonexistent. This will help quiet portlint warnings, among other things.
2000-06-14 02:14:49 +00:00
# Use these if your port uses some of the common software packages. By
2011-09-04 17:35:07 +00:00
# convention these should be set to 'yes', although they only need to be
# defined. Defaults: not set, unless explicitly indicated below.
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
#
- Allow processing of info files in non-standard locations; the INFO_PATH variable may be used to specify their location. It defaults to 'share/info' for the standard PREFIX, and 'info' when PREFIX == /usr. [1] - Remove the <category>/pkg/COMMENT files in favour of a COMMENT variable in <category>/Makefile [2] - Prevent patch breakage with VERSION_CONTROL=numbered [3] - Fix some instances of incorrect WRKDIRPREFIX handling. [4] - remove useless ${MKDIR} ${WRKSRC} in config target [5] - remove reference to OpenBSD [6] - Exempt devel/p5-Module-Build from the self-dependency in PERL_MODBUILD so that this port may use the option without getting an infinite dependency list [7] - The default PERL_ARCH is currently determined as a function of OSVERSION. It should however be a function of PERL_LEVEL since the correct value depends on what Perl version one has installed (older Perl versions use ${ARCH}-freebsd, newer versions use mach). [8] - Fix PORTDOCS on older (4.7, 5.0) systems [9] - Allow 'make parallel' to generate a working makefile when not all categories are present (this does not mean you'll be able to build all ports, unless you make sure they don't have external dependencies) [10] - Don't report symlinks as world-writable in the security check [11] - Fix a comment that was broken by a mismerged patch [12] - Clarify the meaning of USE_*, WANT_*, WITH_* and WITHOUT_* [13] - Don't set _CHKSUMFILES/_IGNOREFILES if CKSUMFILES/IGNOREFILES is empty and DIST_SUBDIR is set. [14] - Fix comment for DISTDIR [15] - Update the documentation of the USE_GL variable [16] - Check to see if NONEXISTENT exists, and fail with an error if it does [17] - Fix fetching of new distfiles in 'make makesum' when SIZE is set [18] - Consistently set MAKE_ENV when USE_GCC=3.2 or 3.3 are set [19] - Rework INDEX builds: [20] * Fix the bsd.port.subdir.mk code that is supposed to report index breakage (the fallback code wasn't actually being run because make would halt immediately following the error). This should help with INDEX error reports because it will immediately show the cause of failure, so we won't have to pull teeth to extract it from the submitter. * Streamline the 'make describe' code a bit. * Provide some basic instructions to the user when an index build fails, on when and how to report index build failures (turn this off with INDEX_QUIET=1) * Removed INDEX_NOSORT, because I couldn't imagine it to be very useful and it doesn't cost very much anyway. * Don't prevent INDEX builds from seeing the local host environment. Since a lot of users are using 'make index' thesedays they should get an index that reflects their local settings and installed ports. If you want to build a 'default' index that isn't influenced by local settings (e.g. for release builds), set the INDEX_PRISTINE variable. * Allows parallel INDEX builds (using make -j). The most obvious way of doing this doesn't work, because I/O from child makes is broken up into 2k chunks, and output lines from 'make describe' that exceed this length (*cough* GNOME *cough*) will be intertwined with the output of other makes, leading to a corrupted INDEX. The I/O interleaving can be disabled using 'make -P', but this inserts extraneous output of its own, and redirects stderr, making it useless for our purposes. Instead, I collect the output from the child make processes in temporary files and recombine them at the end. * The number of concurrent make processes to spawn can be set using INDEX_JOBS. By default this is set to 2, which seems to be a sweet spot for both single and dual-processor systems. On my tests I do not see any significant performance changes on UP, but on a dual 4.x system the build time drops by 47% (6 minute index builds on one test machine!). Depending on your disk and CPU hardware you might see further gains with INDEX_JOBS=4 or higher, so you might like to experiment to see what works best. On a dual 5.x system the performance gains do not seem to be as great (20-30%), but this is still a significant net win. PR: 55493 [1], 59651 [2], 61552 [3], 62247 [4], 62329 [5], 62337 [6], 62422 [7], 62441 [8], 62627 [9], 62983 [10], 63112 [11], 63297 [12], 63335 [13], 64029 [14], 64069 [15], 64236 [16], 64519 [17], 62958 [18], 64237 [19] Submitted by: lev [1], Matthew Seaman <m.seaman@infracaninophile.co.uk> [2], Joel Ray Holveck <joelh@piquan.org> [3], ade [4], Sergey Matveychuk <sem@ciam.ru> [5], markus [6], mat [7], des [8], eik [9], Dmitry Morozovsky <marck@rinet.ru> [10], Andrew <andrew@ugh.net.au> [11], vs [12], linimon [13], edwin [14][15], gerald [16], marcus[17][18], kris [19][20]
2004-04-02 07:25:23 +00:00
# Note: the distinction between the USE_* and WANT_* variables, and the
# WITH_* and WITHOUT_* variables, are that the former are restricted to
# usage inside the ports framework, and the latter are reserved for user-
# settable options. (Setting USE_* in /etc/make.conf is always wrong).
#
# WITH_DEBUG - If set, debugging flags are added to CFLAGS and the
# binaries don't get stripped by INSTALL_PROGRAM or
# INSTALL_LIB. Besides, individual ports might
# add their specific to produce binaries for debugging
# purposes. You can override the debug flags that are
# passed to the compiler by setting DEBUG_FLAGS. It is
# set to "-g" at default.
#
# WITH_DEBUG_PORTS - A list of origins for which WITH_DEBUG will be set
#
# WITHOUT_SSP - Disable SSP.
#
# SSP_CFLAGS - Defaults to -fstack-protector. This value
# is added to CFLAGS and the necessary flags
# are added to LDFLAGS. Note that SSP_UNSAFE
# can be used in Makefiles by port maintainers
# if a port breaks with it (it should be
# extremely rare).
#
# USE_GCC - If set, this port requires this version of gcc, either in
(1) Add new variable USE_NEWGCC. Set this if your port requires the latest gcc. This is currently the system compiler in 4-current and ports/lang/egcs in 3-stable. Setting USE_NEWGCC is a no-op if the compiler required is in the system. If it is to be provided by a port, it will cause the variables "CC" and "CXX" to be set to the names of executables for the C and C++ compiler, and adds a BUILD_DEPENDS on the appropriate port. Reviewed by: Chris Piazza <cpiazza@home.net> and Ade Lovett <ade@lovett.com> (2) Add new variables CHMOD and CHOWN, set to full pathnames of those commands. (Used in 3) (3) When run as root, change owner:group of all files under ${WRKDIR} to 0:0 after extraction. Set EXTRACT_PRESERVE_OWNERSHIP to turn off this feature. Problem reported by: Slawek Zak <zaks@prioris.im.pw.edu.pl> Reviewed by: the ports list (4) Update MASTER_SITE_XCONTRIB. PR: 12879 Submitted by: Will Andrews <andrews@technologist.com> (5) Update MASTER_SITE_GNU. Submitted by: Ralf "pth update of the day" Engelschall <rse@engelschall.com> (6) Add check for valid categories. If the port is not in a pre-approved list of categories, install will fail. If you need a local addition, put it in variable VALID_CATEGORIES. Reviewed by: the ports list (7) Experimental feature: DEPENDS_CLEAN. Define this variable and bsd.port.mk will attempt to run "make install clean" instead of "make install" when building dependencies. Might be useful if you are building a port with a large number of dependencies without the benefit of a large disk.
1999-08-22 11:20:25 +00:00
# the system or installed from a port.
# USE_CSTD - Override the default C language standard (gnu89, gnu99)
# USE_CXXSTD Override the default C++ language standard
# USE_BINUTILS - Use binutils suite from port instead of the version in base.
# CFLAGS_${ARCH} Append the cflags to CFLAGS only on the specified architecture
# CXXFLAGS_${ARCH}
# Append the cxxflags to CXXFLAGS only on the specified architecture
##
# USE_GL - A list of Mesa or GL related dependencies needed by the port.
# Supported components are: egl, glesv2, glut, glu, glw, and gl.
# If set to "yes", this is equivalent to "glu". Note that
# glew and glut depend on glu, glw and glu depend on gl.
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
##
# USE_SDL - If set, this port uses the sdl libraries.
# See bsd.sdl.mk for more information.
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
##
# USE_OPENSSL - If set, this port relies on the OpenSSL package.
##
# USE_OPENLDAP - If set, this port uses the OpenLDAP libraries.
# Implies: WANT_OPENLDAP_VER?=24
# WANT_OPENLDAP_VER
# - Legal values are: 23, 24
# If set to an unknown value, the port is marked BROKEN.
# WANT_OPENLDAP_SASL
# - If set, the system should use OpenLDAP libraries
# with SASL support.
##
# USE_AUTOTOOLS - If set, this port uses various GNU autotools
# (libtool, autoconf, autoheader, automake et al.)
# See bsd.autotools.mk for more details.
##
# USE_FPC - If set, this port relies on the Free Pascal language.
# Implies inclusion of bsd.fpc.mk. (Also see
# that file for more information on WANT_FPC_*).
# USE_JAVA - If set, this port relies on the Java language.
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
# Implies inclusion of bsd.java.mk. (Also see
# that file for more information on USE_JAVA_*).
# USE_OCAML - If set, this port relies on the OCaml language.
# Implies inclusion of bsd.ocaml.mk. (Also see
# that file for more information on USE_OCAML*).
# USE_RUBY - If set, this port relies on the Ruby language.
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
# Implies inclusion of bsd.ruby.mk. (Also see
# that file for more information on USE_RUBY_*).
##
First all, ahze did most of work. Thanks ahze! Last week or so, I am just merely pick up and help him. Thanks to many testers in both private and mailing list emails for report a few of build and dependencies problems. Also, thanks to marcus and Chess Griffin for test in their tinderboxes. x11/pixman: Update to 0.10.0 ------------------------------------------------------- Firefox 3 needs it. Orignal, the shared library was bumped and ahze has added a new feature in our USE_GNOME=ltverhack by can control the number of shared library. To control the number of shared library, add the ltverhack:N. Right now pixman has USE_GNOME=ltverhack:9 to make it stays same at libpixman-1.so.9. If anyone want to use ltverhack:N in one of your port, you need to make sure the ABI doesn't change to use it.. ------------------------------------------------------- graphics/cairo: Update to 1.6.4 ------------------------------------------------------- Firefox 3 needs it. We have updated most cairo binding ports too. ------------------------------------------------------- graphics/poppler: Update to 0.8.3 ------------------------------------------------------- The shared libraries version have been changed. All ports that depend on poppler have PORTREVISION bump. The graphics/py-poppler has been updated to 0.8.1 to work with newer poppler better. As for the poppler-qt, there is no shared library version change. ------------------------------------------------------- www/firefox3 and gecko ports related: Update to 3.0 final ------------------------------------------------------- The bsd.gecko.mk has been moved from www/mozilla/ to Mk/. You no longer need to include bsd.gecko.mk/Makefile.common by manual. We are keeping it in backward compatibility, so the rest ports won't be break. We haven't add some other ports to have Firefox 3 support yet, so feel free to send us patch or commit it by yourself (to committers). However, view in bsd.gecko.mk for document. ------------------------------------------------------- Approved by: portmgr (marcus)
2008-06-30 20:16:22 +00:00
# USE_GECKO - If set, this port uses the Gecko/Mozilla product.
# See bsd.gecko.mk for more details.
##
# USE_WX - If set, this port uses the WxWidgets library and related
# components. See bsd.wx.mk for more details.
##
# USE_KDE4 - A list of the KDE 4 dependencies the port has (e.g.,
# kdelibs, kdebase). Implies that the port needs KDE.
# Implies inclusion of bsd.kde4.mk. See bsd.kde4.mk
# for more details.
#
# USE_QT4 - A list of the Qt 4 dependencies the port has (e.g,
# corelib, webkit). Implies that the port needs Qt.
# Implies the inclusion of bsd.qt.mk. See bsd.qt.mk
# for more details.
#
# USE_QT5 - A list of the Qt 5 dependencies the port has (e.g,
# core, webkit). Implies that the port needs Qt.
# Implies the inclusion of bsd.qt.mk. See bsd.qt.mk
# for more details.
#
# USE_LINUX - Set to yes to say the port needs the default linux base port.
Say hello to the linux mega patch, it consolidates our linux bits a little bit and allows to proceed to a more recent linux_base from a stable (read as: the major bugs should be ironed out or identified and most linux ports build just fine) source. It also allows to ship 4.11 with a working linuxolator (the EOLed linux_base is marked forbidden because of a security hole). This is a major update, please read UPDATING (and CHANGES if you develop linux ports). Changes: - change the default linux_base from v7 to v8 - add a newer freetype to linux_base-8 for nicer fonts display [1] - don't let cpio use hardlinks in the linux_base-8 port to quiet some warnings in some cases [2] - fix a cut&past error in the linux_base-8 pkg-install script [3] - convert the binary knob "USE_LINUX" to a version specifier, e.g. USE_LINUX=<value> specifies a dependency upon emulators/linux_base-<value>, exceptions are a value of "7" (which does what you want and adds a dependency to linux_base) and any value without a corresponding port in PORTSDIR/emulators/linux_base-<value> (which adds a dependency to the default linux_base) - don't implicitly add USE_LINUX with the USE_LINUX_PREFIX knob, this allows us to use the USE_LINUX_PREFIX knob for linux_base and paves the way for splitting up future linux base ports into individual pieces - remove RESTRICTED from some GPL licensed ports, even when we only distribute binaries, we get them from official linux sites, so anyone can grab them there if he needs to - add a dependency upon the linux X11 bits where necessary (based upon guesswork) - don't use USE_X_PREFIX in some linux ports since it adds a dependency to the FreeBSD X11 libs, as a workaround use PREFIX?= (the clean solution would be to remove the implicit USE_XLIB from USE_X_PREFIX) - bump the portrevision of the linux ports ("better safe than sorry" algorithm) - pass maintainership of the important linux infrastructure to a mailinglist, hijack freebsd-emulation@ for this purpose (if somebody doesn't like this: tell us your bikeshed color at freebsd-emulation@, my color would be "linuxolator@" in case someone cares...) - add a pkg-install script for linux-fontconfig, but don't use it; everything should work without it (the FreeBSD fc-cache program should do all the work), but in case we need it we just need to decomment the pkg-install part in the Makefile - fix some dependencies - fix some bugs - add some static plists - unbreak the ports with dependecies to more than one linux_base This also fixes some ports which are marked BROKEN because of dependencies to v7 and v8 of linux_base at the same time. Known bugs: - the linux-mesa and linux-devtools ports install libGL*.so symlinks - some "minor" plist bugs (e.g. ld.so.{conf,cache} are modified by the linux X11 port, so linx_Base-8 moans at deinstall time) Future work (interested souls should coordinate with freebsd-emulation@): - add some kind of USE_LINUX_X11 knob to streamline the X11 dependencies, or modify the behavior of USE_XLIB in the USE_LINUX case AFAIK trevor has some patches. - make USE_XLIB and USE_X_PREFIX orthogonal to be able to get rid of the PREFIX?= workaround in some linux ports Should be discussed/coordinated on/with x11@. - move the RPM bits from x11-toolkits/linux-gtk/Makefile to PORTSDIR/Mk/ - update to a more recent linux base PR: 69997, 70539 (and maybe others) Discussed with/on: java@, x11@, trevor, portmgr Tested by: mezz, portmgr, pointyhat RPM hunted down by: Joseph Gelinas <scirocco@tasam.com> [1] Requested by: portmgr [2] Submitted by: kris [3] Approved by: portmgr
2004-12-31 18:24:10 +00:00
# Set to value <X>, if the port needs emulators/linux_base-<X>.
# Implies appropriate settings for STRIP and STRIP_CMD.
# USE_LINUX_PREFIX
Mega-patch to cleanup the ports infrastructure regarding our linux bits: - USE_LINUX now implies NO_FILTER_SHLIBS=yes. It also doesn't use FreeBSD tools to strip binaries anymore, so it's not neccesary anymore to override STRIP and STRIP_CMD. - USE_LINUX_PREFIX implies NO_MTREE now. - In the USE_LINUX case, USE_XLIB now depends upon the linux X11 libraries instead upon the native FreeBSD libraries. - The variable LINUX_BASE_PORT contains a string which is suitable as an item in *_DEPENDS, so if a port BATCH_DEPENDS or FETCH_DEPENDS upon the default (or overriden) linux base, ${LINUX_BASE_PORT} should be used instead of a hardcoded reference. - Change all ports to comply to the "new world order". - The Ports Collection now allows to override the default linux_base port. Specify e.g. OVERRIDE_LINUX_BASE_PORT=rh-9 in /etc/make.conf to use ${PORTSDIR}/emulators/linux_base-rh-9 (the logic is to use ${PORTSDIR}/emulators/linux_base-${OVERRIDE_LINUX_BASE_PORT}). - If USE_LINUX or OVERRIDE_LINUX_BASE doesn't point to an existing linux_base port and if USE_LINUX isn't set to "yes" (case insensitive), the port will be marked as IGNORE. [1] - Readd USE_LINUX knobs into several ports and make several uses of a conditional dependency ("USE_LINUX?=") into an unconditional one ("USE_LINUX=") which where removed/changed by Trevor to allow the use of alternative linux_base ports. While this is a nice goal, the implementation resulted in missing dependencies. The OVERRIDE_LINUX_BASE_PORT knob in this commit is supposed to fix the problem while keeping the feature. Basicaly this includes a backout of Trevor's commit, to prevent confusion I mention it here explicitely. - Use the correct prefix (X11- instead of LOCAL- or LINUX-) for some ports. Chase dependencies for this. - Changes to make linux_devtools installable on amd64, remove some stray device nodes (they don't work on recent OS versions and aren't really needed). - Make linux_base-8 PREFIX clean and remove some stray device nodes. Additionally tell a little bit more about how to setup NIS/YP [2]. - Update the PGSQL dependency in the linux-opengroupware port to a recent version (the old one isn't available anymore), I don't know if this works (at least it isn't more broken than before). - Use PREFIX/usr/share/doc instead of PREFIX/usr/doc in the divx4linux ports, the former path exists already and gets populated by other packages too (PREFIX=LINUXPREFIX!). - Fix some obvious (non-linuxolator) bugs in some linux ports while being there. - Bump PORTREVISION where neccesary. Requested by: portmgr (linimon) [1] Submittted by: Gerrit Kuehn <gerrit_huehn@gruft.fido.de [2] Approved by: portmgr (kris, linimon), maintainers (or maintainer timeout) Tested on: ports cluster (kris) Reviewed by: silence on emulation@ Superseedes PR: 69997 Maintainer approval from: chris@chrisburkert.de cracauer@cons.org des girgen jamie@bishopston.net mezz mi nivit@users.sf.net pat simond@irrelevant.org riggs@rrr.de Udo.Schweigert@Siemens.com
2005-06-17 22:59:29 +00:00
# - controls the action of PREFIX (see above). Only use this
# if the port is a linux infrastructure port (e.g. contains libs
# or a sound server which supports the FreeBSD native one),
# use the default or the X11 prefix if it's a leaf port
# (e.g. a game or program).
# Implies NO_MTREE=yes, and, if USE_LDCONFIG is defined:
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
# - USE_LINUX=yes
# - appropriate invocation of the Linux ldconfig
# USE_LINUX_RPM - Set to yes to pull in variables and targets useful to Linux
# RPM ports.
# Set to nolib if your port does not contain an architecture-
# specific library.
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
# Implies inclusion of bsd.linux-rpm.mk.
#
# LINUX_OSRELEASE - Contains the value of compat.linux.osrelease sysctl.
# Will be used to distinguish which linux
# infrastructure ports should be used.
# Valid values: 2.6.16.
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
#
# OVERRIDE_LINUX_BASE_PORT
# - This specifies the default linux base to use, for valid
# values have a look at the description of USE_LINUX. This is
# an user-only variable. Don't use it in any port, it's meant
# to be used in make.conf.
Mega-patch to cleanup the ports infrastructure regarding our linux bits: - USE_LINUX now implies NO_FILTER_SHLIBS=yes. It also doesn't use FreeBSD tools to strip binaries anymore, so it's not neccesary anymore to override STRIP and STRIP_CMD. - USE_LINUX_PREFIX implies NO_MTREE now. - In the USE_LINUX case, USE_XLIB now depends upon the linux X11 libraries instead upon the native FreeBSD libraries. - The variable LINUX_BASE_PORT contains a string which is suitable as an item in *_DEPENDS, so if a port BATCH_DEPENDS or FETCH_DEPENDS upon the default (or overriden) linux base, ${LINUX_BASE_PORT} should be used instead of a hardcoded reference. - Change all ports to comply to the "new world order". - The Ports Collection now allows to override the default linux_base port. Specify e.g. OVERRIDE_LINUX_BASE_PORT=rh-9 in /etc/make.conf to use ${PORTSDIR}/emulators/linux_base-rh-9 (the logic is to use ${PORTSDIR}/emulators/linux_base-${OVERRIDE_LINUX_BASE_PORT}). - If USE_LINUX or OVERRIDE_LINUX_BASE doesn't point to an existing linux_base port and if USE_LINUX isn't set to "yes" (case insensitive), the port will be marked as IGNORE. [1] - Readd USE_LINUX knobs into several ports and make several uses of a conditional dependency ("USE_LINUX?=") into an unconditional one ("USE_LINUX=") which where removed/changed by Trevor to allow the use of alternative linux_base ports. While this is a nice goal, the implementation resulted in missing dependencies. The OVERRIDE_LINUX_BASE_PORT knob in this commit is supposed to fix the problem while keeping the feature. Basicaly this includes a backout of Trevor's commit, to prevent confusion I mention it here explicitely. - Use the correct prefix (X11- instead of LOCAL- or LINUX-) for some ports. Chase dependencies for this. - Changes to make linux_devtools installable on amd64, remove some stray device nodes (they don't work on recent OS versions and aren't really needed). - Make linux_base-8 PREFIX clean and remove some stray device nodes. Additionally tell a little bit more about how to setup NIS/YP [2]. - Update the PGSQL dependency in the linux-opengroupware port to a recent version (the old one isn't available anymore), I don't know if this works (at least it isn't more broken than before). - Use PREFIX/usr/share/doc instead of PREFIX/usr/doc in the divx4linux ports, the former path exists already and gets populated by other packages too (PREFIX=LINUXPREFIX!). - Fix some obvious (non-linuxolator) bugs in some linux ports while being there. - Bump PORTREVISION where neccesary. Requested by: portmgr (linimon) [1] Submittted by: Gerrit Kuehn <gerrit_huehn@gruft.fido.de [2] Approved by: portmgr (kris, linimon), maintainers (or maintainer timeout) Tested on: ports cluster (kris) Reviewed by: silence on emulation@ Superseedes PR: 69997 Maintainer approval from: chris@chrisburkert.de cracauer@cons.org des girgen jamie@bishopston.net mezz mi nivit@users.sf.net pat simond@irrelevant.org riggs@rrr.de Udo.Schweigert@Siemens.com
2005-06-17 22:59:29 +00:00
#
# LINUX_BASE_PORT
# - This is a read-only variable, it gets set to a value which is
# usable in *_DEPENDS (e.g. BUILD_DEPENDS=${LINUX_BASE_PORT}).
Mega-patch to cleanup the ports infrastructure regarding our linux bits: - USE_LINUX now implies NO_FILTER_SHLIBS=yes. It also doesn't use FreeBSD tools to strip binaries anymore, so it's not neccesary anymore to override STRIP and STRIP_CMD. - USE_LINUX_PREFIX implies NO_MTREE now. - In the USE_LINUX case, USE_XLIB now depends upon the linux X11 libraries instead upon the native FreeBSD libraries. - The variable LINUX_BASE_PORT contains a string which is suitable as an item in *_DEPENDS, so if a port BATCH_DEPENDS or FETCH_DEPENDS upon the default (or overriden) linux base, ${LINUX_BASE_PORT} should be used instead of a hardcoded reference. - Change all ports to comply to the "new world order". - The Ports Collection now allows to override the default linux_base port. Specify e.g. OVERRIDE_LINUX_BASE_PORT=rh-9 in /etc/make.conf to use ${PORTSDIR}/emulators/linux_base-rh-9 (the logic is to use ${PORTSDIR}/emulators/linux_base-${OVERRIDE_LINUX_BASE_PORT}). - If USE_LINUX or OVERRIDE_LINUX_BASE doesn't point to an existing linux_base port and if USE_LINUX isn't set to "yes" (case insensitive), the port will be marked as IGNORE. [1] - Readd USE_LINUX knobs into several ports and make several uses of a conditional dependency ("USE_LINUX?=") into an unconditional one ("USE_LINUX=") which where removed/changed by Trevor to allow the use of alternative linux_base ports. While this is a nice goal, the implementation resulted in missing dependencies. The OVERRIDE_LINUX_BASE_PORT knob in this commit is supposed to fix the problem while keeping the feature. Basicaly this includes a backout of Trevor's commit, to prevent confusion I mention it here explicitely. - Use the correct prefix (X11- instead of LOCAL- or LINUX-) for some ports. Chase dependencies for this. - Changes to make linux_devtools installable on amd64, remove some stray device nodes (they don't work on recent OS versions and aren't really needed). - Make linux_base-8 PREFIX clean and remove some stray device nodes. Additionally tell a little bit more about how to setup NIS/YP [2]. - Update the PGSQL dependency in the linux-opengroupware port to a recent version (the old one isn't available anymore), I don't know if this works (at least it isn't more broken than before). - Use PREFIX/usr/share/doc instead of PREFIX/usr/doc in the divx4linux ports, the former path exists already and gets populated by other packages too (PREFIX=LINUXPREFIX!). - Fix some obvious (non-linuxolator) bugs in some linux ports while being there. - Bump PORTREVISION where neccesary. Requested by: portmgr (linimon) [1] Submittted by: Gerrit Kuehn <gerrit_huehn@gruft.fido.de [2] Approved by: portmgr (kris, linimon), maintainers (or maintainer timeout) Tested on: ports cluster (kris) Reviewed by: silence on emulation@ Superseedes PR: 69997 Maintainer approval from: chris@chrisburkert.de cracauer@cons.org des girgen jamie@bishopston.net mezz mi nivit@users.sf.net pat simond@irrelevant.org riggs@rrr.de Udo.Schweigert@Siemens.com
2005-06-17 22:59:29 +00:00
# It honors USE_LINUX=foo and OVERRIDE_LINUX_BASE_PORT.
##
# USE_XORG - Set to a list of X.org module dependencies.
# Implies inclusion of bsd.xorg.mk.
##
# USE_TEX - A list of the TeX dependencies the port has.
#
##
# USE_RC_SUBR - If set, the ports startup/shutdown script uses the common
# routines found in /etc/rc.subr.
# If this is set to a list of files, these files will be
# automatically added to ${SUB_FILES}, some %%VAR%%'s will
# automatically be expanded, they will be installed in
# ${PREFIX}/etc/rc.d if ${PREFIX} is not /usr, otherwise they
# will be installed in /etc/rc.d/ and added to the packing list.
##
# USE_APACHE - If set, this port relies on an apache webserver.
#
# Conflict checking. Use if your port cannot be installed at the same time as
# another package.
#
# CONFLICTS - A list of package name patterns that the port conflicts
# with, separated by blanks. The names may include shell
# pattern meta-characters "*", "?", "[", "]", and "!".
# Example: apache*-1.2* apache*-1.3.[012345] apache-*+ssl_*
#
# CONFLICTS_BUILD
# - Check conflict prior to the build.
#
# CONFLICTS_INSTALL
# - Check conflict prior to the installation stage.
#
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# Various directory definitions and variables to control them.
# You rarely need to redefine any of these except WRKSRC and NO_WRKSUBDIR.
#
# LOCALBASE - Where ports install things.
# Default: /usr/local
# LINUXBASE - Where Linux ports install things.
# Default: /compat/linux
# PREFIX - Where *this* port installs its files.
# Default: ${LINUXBASE} if USE_LINUX_PREFIX is set,
# otherwise ${LOCALBASE}
#
# IGNORE_PATH_CHECKS
# - There are some sanity checks against PREFIX.
# You can disable these checks with defining
# this variable, but this is not recommended!
# Only do this if you really know what you are
# doing. These sanity checks are the following:
# - PREFIX has to be an absolute path.
# - PREFIX can't have a trailing slash.
#
# BUNDLE_LIBS Teach pkg(8) to not automatically add all shared libraries
# installed by a port as shared libraries "provided" for
# other packages (i.e., do not expose them in the solver).
# This has to be used for ports that bundle third party
# libraries for internal usage.
# MASTERDIR - Where the port finds patches, package files, etc. Define
# this is you have two or more ports that share most of the
# files.
# Default: ${.CURDIR}
# PORTSDIR - The root of the ports tree.
# Default: /usr/ports
# DISTDIR - Where to search for and store copies of original sources
# Default: ${PORTSDIR}/distfiles
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# PACKAGES - A top level directory where all packages go (rather than
# going locally to each port).
# Default: ${PORTSDIR}/packages
# WRKDIRPREFIX - The place to root the temporary working directory
# hierarchy.
# Default: none
# WRKDIR - A temporary working directory that gets *clobbered* on clean
# Default: ${WRKDIRPREFIX}${.CURDIR}/work
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# WRKSRC - A subdirectory of ${WRKDIR} where the distribution actually
# unpacks to.
# Default: ${WRKDIR}/${DISTNAME}
# WRKSRC_SUBDIR - A subdirectory of ${WRKSRC} where the distribution actually
2013-06-07 13:28:30 +00:00
# builds in.
# Default: not set
# NO_WRKSUBDIR - Assume port unpacks without a subdirectory, and extract it in
# ${WRKSRC} instead of ${WRKDIR}.
# PATCHDIR - A directory containing any additional patches you made
# to port this software to FreeBSD.
# Default: ${MASTERDIR}/files
# SCRIPTDIR - A directory containing any auxiliary scripts
# Default: ${MASTERDIR}/scripts
# FILESDIR - A directory containing any miscellaneous additional files.
# Default: ${MASTERDIR}/files
# PKGDIR - A directory containing any package creation files.
# Default: ${MASTERDIR}
# SRC_BASE - The root of the src tree. (Some ports require this to get
# kernel sources). Default: /usr/src
# UID_FILES - A list of files containing information about registered UIDs.
# Note that files have decreasing priority.
# GID_FILES - A list of files containing information about registered GIDs.
# Note that files have decreasing priority.
#
# Variables that serve as convenient "aliases" for your *-install targets.
# Use these like: "${INSTALL_PROGRAM} ${WRKSRC}/prog ${PREFIX}/bin".
#
# INSTALL_PROGRAM
# - A command to install binary executables. (By
# default, also strips them, unless ${STRIP} is
# overridden to be the empty string).
# INSTALL_KLD - As INSTALL_PROGRAM, but without the STRIP.
# INSTALL_LIB - As INSTALL_DATA, but also strips the file.
# INSTALL_SCRIPT
# - A command to install executable scripts.
# INSTALL_DATA - A command to install sharable data and static libs.
# INSTALL_MAN - A command to install manpages and documentation.
# COPYTREE_BIN
# COPYTREE_SHARE
2014-06-18 22:10:06 +00:00
# - Similiar to INSTALL_PROGRAM and INSTALL_DATA commands but
# working on whole trees of directories, takes 3 arguments,
# last one is find(1) arguments and optional.
# Example use:
# cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${DOCSDIR} "! -name *\.bak"
#
# Installs all directories and files from ${WRKSRC}/doc
# to ${DOCSDIR} except sed(1) backup files.
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
#
# MANPREFIX - The directory prefix for ${MAN<sect>} and ${MLINKS}.
# Default: ${PREFIX}
# MAN<sect>PREFIX
# - If manual pages of some sections install in different
# locations than others, use these.
# Default: ${MANPREFIX}
#
# Set the following to specify all .info files your port installs.
#
# INFO - A list of .info files (omitting the trailing ".info");
# only one entry per document! These files are listed in
# the path relative to ${INFO_PATH}.
- Allow processing of info files in non-standard locations; the INFO_PATH variable may be used to specify their location. It defaults to 'share/info' for the standard PREFIX, and 'info' when PREFIX == /usr. [1] - Remove the <category>/pkg/COMMENT files in favour of a COMMENT variable in <category>/Makefile [2] - Prevent patch breakage with VERSION_CONTROL=numbered [3] - Fix some instances of incorrect WRKDIRPREFIX handling. [4] - remove useless ${MKDIR} ${WRKSRC} in config target [5] - remove reference to OpenBSD [6] - Exempt devel/p5-Module-Build from the self-dependency in PERL_MODBUILD so that this port may use the option without getting an infinite dependency list [7] - The default PERL_ARCH is currently determined as a function of OSVERSION. It should however be a function of PERL_LEVEL since the correct value depends on what Perl version one has installed (older Perl versions use ${ARCH}-freebsd, newer versions use mach). [8] - Fix PORTDOCS on older (4.7, 5.0) systems [9] - Allow 'make parallel' to generate a working makefile when not all categories are present (this does not mean you'll be able to build all ports, unless you make sure they don't have external dependencies) [10] - Don't report symlinks as world-writable in the security check [11] - Fix a comment that was broken by a mismerged patch [12] - Clarify the meaning of USE_*, WANT_*, WITH_* and WITHOUT_* [13] - Don't set _CHKSUMFILES/_IGNOREFILES if CKSUMFILES/IGNOREFILES is empty and DIST_SUBDIR is set. [14] - Fix comment for DISTDIR [15] - Update the documentation of the USE_GL variable [16] - Check to see if NONEXISTENT exists, and fail with an error if it does [17] - Fix fetching of new distfiles in 'make makesum' when SIZE is set [18] - Consistently set MAKE_ENV when USE_GCC=3.2 or 3.3 are set [19] - Rework INDEX builds: [20] * Fix the bsd.port.subdir.mk code that is supposed to report index breakage (the fallback code wasn't actually being run because make would halt immediately following the error). This should help with INDEX error reports because it will immediately show the cause of failure, so we won't have to pull teeth to extract it from the submitter. * Streamline the 'make describe' code a bit. * Provide some basic instructions to the user when an index build fails, on when and how to report index build failures (turn this off with INDEX_QUIET=1) * Removed INDEX_NOSORT, because I couldn't imagine it to be very useful and it doesn't cost very much anyway. * Don't prevent INDEX builds from seeing the local host environment. Since a lot of users are using 'make index' thesedays they should get an index that reflects their local settings and installed ports. If you want to build a 'default' index that isn't influenced by local settings (e.g. for release builds), set the INDEX_PRISTINE variable. * Allows parallel INDEX builds (using make -j). The most obvious way of doing this doesn't work, because I/O from child makes is broken up into 2k chunks, and output lines from 'make describe' that exceed this length (*cough* GNOME *cough*) will be intertwined with the output of other makes, leading to a corrupted INDEX. The I/O interleaving can be disabled using 'make -P', but this inserts extraneous output of its own, and redirects stderr, making it useless for our purposes. Instead, I collect the output from the child make processes in temporary files and recombine them at the end. * The number of concurrent make processes to spawn can be set using INDEX_JOBS. By default this is set to 2, which seems to be a sweet spot for both single and dual-processor systems. On my tests I do not see any significant performance changes on UP, but on a dual 4.x system the build time drops by 47% (6 minute index builds on one test machine!). Depending on your disk and CPU hardware you might see further gains with INDEX_JOBS=4 or higher, so you might like to experiment to see what works best. On a dual 5.x system the performance gains do not seem to be as great (20-30%), but this is still a significant net win. PR: 55493 [1], 59651 [2], 61552 [3], 62247 [4], 62329 [5], 62337 [6], 62422 [7], 62441 [8], 62627 [9], 62983 [10], 63112 [11], 63297 [12], 63335 [13], 64029 [14], 64069 [15], 64236 [16], 64519 [17], 62958 [18], 64237 [19] Submitted by: lev [1], Matthew Seaman <m.seaman@infracaninophile.co.uk> [2], Joel Ray Holveck <joelh@piquan.org> [3], ade [4], Sergey Matveychuk <sem@ciam.ru> [5], markus [6], mat [7], des [8], eik [9], Dmitry Morozovsky <marck@rinet.ru> [10], Andrew <andrew@ugh.net.au> [11], vs [12], linimon [13], edwin [14][15], gerald [16], marcus[17][18], kris [19][20]
2004-04-02 07:25:23 +00:00
# INFO_PATH - Path, where all .info files will be installed by your
# port, relative to ${PREFIX}
# Default: "share/info" if ${PREFIX} is equal to /usr
# and "info" otherwise.
#
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
# Set the following to specify all documentation your port installs into
# ${DOCSDIR}
#
# PORTDOCS - A list of files and directories relative to DOCSDIR.
# Shell glob patterns can be used, directories include
# the entire subtree of contained files and directories.
# Should not be set when no documentation files are
# installed.
# Useful for dynamically generated documentation.
#
# Set the following to specify all documentation your port installs into
# ${EXAMPLESDIR}
#
# PORTEXAMPLES - A list of files and directories relative to EXAMPLESDIR.
# Shell glob patterns can be used, directories include
# the entire subtree of contained files and directories.
# Should not be set when no examples files are
# installed.
# Useful for dynamically generated examples.
#
# Set the following to specify all files and directories your port installs into
# ${DATADIR}
#
# PORTDATA - A list of files and directories relative to DATADIR.
# Shell glob patterns can be used, directories include
# the entire subtree of contained files and directories.
# Should not be set when no data files are
# installed.
# Useful for dynamically generated data files.
#
# Default targets and their behaviors:
#
# fetch - Retrieves missing ${DISTFILES} and ${PATCHFILES} for this
# port.
# fetch-list - Show list of commands to retrieve missing ${DISTFILES} and
# ${PATCHFILES} for this port.
# fetch-recursive
# - Retrieves missing ${DISTFILES} and ${PATCHFILES} for this
# port and dependencies.
# fetch-recursive-list
# - Show list of commands to retrieve missing ${DISTFILES} and
# ${PATCHFILES} for this port and dependencies.
# fetch-required
# - Retrieves missing ${DISTFILES} and ${PATCHFILES} for this
# port and dependencies.
# fetch-required-list
# - Show list of commands to retrieve missing ${DISTFILES} and
# ${PATCHFILES} for this port and dependencies.
# fetch-url-list
# - Show list of URLS to retrieve missing ${DISTFILES} and
# ${PATCHFILES} for this port.
# fetch-urlall-list
# - Show list of URLS to retrieve ${DISTFILES} and
# ${PATCHFILES} for this port.
#
# all-depends-list
# - Show all directories which are dependencies
# for this port.
# build-depends-list
# - Show all directories which are build-dependencies
# for this port.
# package-depends-list
# - Show all directories which are package-dependencies
# for this port. This is based upon the dependency
# tree as recorded in the Makefiles of the ports
# collection, not as recorded in the currently
# installed ports.
# actual-package-depends
# - Like package-depends-list but with the difference
# that the dependencies of the currently installed
# ports are used instead of the dependencies as
# recorded in the ports collection.
# run-depends-list
# - Show all directories which are run-dependencies
# for this port.
# test-depends-list
# - Show all directories which are test-dependencies
# for this port.
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
#
# extract - Unpacks ${DISTFILES} into ${WRKDIR}.
# patch - Apply any provided patches to the source.
# configure - Runs either GNU configure, one or more local configure
# scripts or nothing, depending on what's available.
# build - Actually compile the sources.
# install - Install the results of a build.
# reinstall - Install the results of a build, ignoring "already installed"
# flag.
# deinstall - Remove the installation.
* Attempt to detect and disallow installation of a port with PREFIX set to a different value to that with which it was configured and built. This is achieved by recording the PREFIX in the build-stage cookies [1] * Add scheme [2], tcl84 and tk84 [5] as virtual categories * Add the PERL_PORT variable and use it to register the dependency on the correct perl port when PERL_LEVEL is set [3] * Add support for USE_AUTOHEADER [4] * Fix 'make maintainer' when MAINTAINER is set to a bogus value (not in user@example.com format). [6] * Add a 'package-recursive' target to create packages for a port and all of its dependencies [7] * Fix command-line overflow errors in 'make readmes' on certain ports, with the bonus of providing a measurable speed-up to readme generation [8] * Fix inclusion of alternative makefiles such as Makefile.inc, Makefile.local, etc. (broken since 1.403) [9] * Reintroduce support for install/deinstall targets checking for older versions of the port, and re-add the deinstall-all target that removes all existing installations of a port (originally introduced in 1.446 and backed out in 1.450). This patch has been reworked to eliminate the corner cases in the previous code. Ports that dynamically generate their ${PLIST} at install-time must now do so before the do-install target is run, e.g. in pre-install. [10] * When installing ports as non-root, use su(1) to execute the targets that require root privilege. This is achieved by splitting up the _INSTALL_SEQ target list into _INSTALL_SUSEQ [11]. PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6], 52388 [7], 51609 [11] Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1], Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11], Kimura Fuyuki <fuyuki@hadaly.org> [2], "Scot W. Hetzel" <hetzels@westbend.net> [3], Anton Berezin <tobez@FreeBSD.org> [3], nork [4], hsu [5], Mark Linimon <linimon@lonesome.com> [6], hoek [8], sobomax [9], marcus [10] [11], des [11]
2003-07-06 23:54:33 +00:00
# deinstall-all - Remove all installations with the same PKGORIGIN.
# test - Run tests for the port.
# package - Create a package from an _installed_ port.
# package-recursive
# - Create a package for a port and _all_ of its dependencies.
1995-01-04 07:35:46 +00:00
# describe - Try to generate a one-line description for each port for
# use in INDEX files and the like.
# check-plist - Checks for files missing from the plist, and files in the plist
# that are not installed by the port.
# check-sanity - Perform some basic checks of the port layout.
# checkpatch - Do a "patch -C" instead of a "patch". Note that it may
# give incorrect results if multiple patches deal with
# the same file.
# checksum - Use distinfo to ensure that your distfiles are valid.
# checksum-recursive
# - Run checksum in this port and all dependencies.
# makesum - Generate distinfo (only do this for your own ports!).
# clean - Remove ${WRKDIR} and other temporary files used for building.
The following changes are all Reviewed by: the ports list (1) Add PORTREVISION and PORTEPOCH, which are both optional, to PKGNAME. PKGNAME is now defined as ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}[_${PORTREVISION}][,${PORTEPOCH}] PORTREVISION denotes some FreeBSD internal change to the port that requires the user to upgrade it. A security fix or a shared library version change will be valid reasons to change (or define) PORTREVISION. PORTEPOCH is used to re-sort versions that is screwed up by the author. PORTEPOCH is sorted before all other fields for the purpose of determining which version is newer than the other. Submitted by: kris (2) Add fetch-recursive and fetch-recursive-list. These are like fetch and fetch-list but they also descend into dependencies. While I'm here, clean up some internal target names and comments. Requested by PR: 12548 (2') Fix bug in fetch-list I introduced in rev 1.347. (3) Add new variables LINUXBASE, USE_LINUX and USE_LINUX_PREFIX. LINUXBASE defaults to /compat/linux and will be the default PREFIX if USE_LINUX_PREFIX is defined. USE_LINUX, which is also implied by USE_LINUX_PREFIX, will add a runtime dependency to the emulators/linux_base port. Approved by: marcel (4) Include bsd.python.mk when USE_PYTHON and PYTHON_VERSION are defined. Submitted by: tg (5a) Change USE_FREETYPE to always depend on print/freetype -- it turns out that XFree86-4-libraries only used freetype internally and didn't install the libraries nor headers. Submitted by: Taguchi-san (XFree86-4-* maintainer) (5b) Change USE_MESA to lib-depend on GLU.1:graphics/Mesa3 when XFREE86_VERSION=4. The Mesa port has been changed to only install components missing from the XFree86 distribution when XF8V=4. Submitted by: sobomax (5c) New variable XFREE86_HTML_MAN, which defaults to "no" when XF8V=3 or USE_IMAKE is not defined, and "yes" when XF8V=4 and USE_IMAKE is defined. When this variable's value is "yes", generate-plist will add html-ified manpages to the generated PLIST. Approved by: Taguchi-san (6) Allow user to override MD5_FILE. Requested by: many (7) Small message change: "...doesn't seem to exist on this system" -> "... to exist in ${_DISTDIR}". Requested by: some mail in the mailing lists...can't remember which ;)
2000-09-09 13:21:14 +00:00
# clean-depends - Do a "make clean" for all dependencies.
# config - Configure options for this port (using ${DIALOG}).
# Automatically run prior to extract, patch, configure, build,
# install, and package.
* Change bento to pointyhat names in comments. [1] * Document DISABLE_VULNERABILITIES variable. [2] * Add WWW: line for 'search' target. [3] * Speedup check-vulnerable invokation, if portaudit is installed. [4] * Run install-info for all .info files. [5] * Run add-plist-docs more strictly and prevent some situations with leftover files in the future. [6] * Introduce two new variables: MASTER_PORT and SLAVE_PORT. The results from these variables is only used as information for users. [7] * Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8] * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc' target allows users to check gcc version if USE_GCC is used. Give maintainers opportunity to add '+' character to USE_GCC version for using specified and higher versions. [9] * Install startup scripts with the help of USE_RC_SUBR variable. [10] * Add three new targets: config-recursive, rmconfig-recursive and config-conditional. You can set or delete OPTIONS for all dependencies before every build. config-conditional target is used to skip configuring ports which have already been configured. [11] * Fix using of WANT_PGSQL_VER variable if postgresql is already installed. [12] PR: ports/75768 [1], ports/75728 [2], ports/76187 [3], ports/76191 [4], ports/76182 [5], ports/75379 [6], ports/75286 [7], ports/75727 [8], ports/76489 [9], ports/73691 ports/69217 [10], ports/76254 [11], ports/76988 [12] Submitted by: dinoex [1], edwin [2] [5] [6] [8] [9] [10], Marcus Grando <marcus@corp.grupos.com.br> [3], tobez and Valentin Nechayev <netch@netch.kiev.ua> [4], linimon [7], Florent Thoumie <flz@xbsd.org> [10], Chris Dillon <cdillon@wolves.k12.mo.us> [11], girgen [12]
2005-02-07 11:17:50 +00:00
# config-recursive
# - Configure options for this port for a port and all its
# dependencies.
* Change bento to pointyhat names in comments. [1] * Document DISABLE_VULNERABILITIES variable. [2] * Add WWW: line for 'search' target. [3] * Speedup check-vulnerable invokation, if portaudit is installed. [4] * Run install-info for all .info files. [5] * Run add-plist-docs more strictly and prevent some situations with leftover files in the future. [6] * Introduce two new variables: MASTER_PORT and SLAVE_PORT. The results from these variables is only used as information for users. [7] * Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8] * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc' target allows users to check gcc version if USE_GCC is used. Give maintainers opportunity to add '+' character to USE_GCC version for using specified and higher versions. [9] * Install startup scripts with the help of USE_RC_SUBR variable. [10] * Add three new targets: config-recursive, rmconfig-recursive and config-conditional. You can set or delete OPTIONS for all dependencies before every build. config-conditional target is used to skip configuring ports which have already been configured. [11] * Fix using of WANT_PGSQL_VER variable if postgresql is already installed. [12] PR: ports/75768 [1], ports/75728 [2], ports/76187 [3], ports/76191 [4], ports/76182 [5], ports/75379 [6], ports/75286 [7], ports/75727 [8], ports/76489 [9], ports/73691 ports/69217 [10], ports/76254 [11], ports/76988 [12] Submitted by: dinoex [1], edwin [2] [5] [6] [8] [9] [10], Marcus Grando <marcus@corp.grupos.com.br> [3], tobez and Valentin Nechayev <netch@netch.kiev.ua> [4], linimon [7], Florent Thoumie <flz@xbsd.org> [10], Chris Dillon <cdillon@wolves.k12.mo.us> [11], girgen [12]
2005-02-07 11:17:50 +00:00
# showconfig - Display options config for this port.
# showconfig-recursive
# - Display options config for this port and all its
# dependencies.
* Change bento to pointyhat names in comments. [1] * Document DISABLE_VULNERABILITIES variable. [2] * Add WWW: line for 'search' target. [3] * Speedup check-vulnerable invokation, if portaudit is installed. [4] * Run install-info for all .info files. [5] * Run add-plist-docs more strictly and prevent some situations with leftover files in the future. [6] * Introduce two new variables: MASTER_PORT and SLAVE_PORT. The results from these variables is only used as information for users. [7] * Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8] * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc' target allows users to check gcc version if USE_GCC is used. Give maintainers opportunity to add '+' character to USE_GCC version for using specified and higher versions. [9] * Install startup scripts with the help of USE_RC_SUBR variable. [10] * Add three new targets: config-recursive, rmconfig-recursive and config-conditional. You can set or delete OPTIONS for all dependencies before every build. config-conditional target is used to skip configuring ports which have already been configured. [11] * Fix using of WANT_PGSQL_VER variable if postgresql is already installed. [12] PR: ports/75768 [1], ports/75728 [2], ports/76187 [3], ports/76191 [4], ports/76182 [5], ports/75379 [6], ports/75286 [7], ports/75727 [8], ports/76489 [9], ports/73691 ports/69217 [10], ports/76254 [11], ports/76988 [12] Submitted by: dinoex [1], edwin [2] [5] [6] [8] [9] [10], Marcus Grando <marcus@corp.grupos.com.br> [3], tobez and Valentin Nechayev <netch@netch.kiev.ua> [4], linimon [7], Florent Thoumie <flz@xbsd.org> [10], Chris Dillon <cdillon@wolves.k12.mo.us> [11], girgen [12]
2005-02-07 11:17:50 +00:00
# rmconfig - Remove the options config for this port.
# rmconfig-recursive
# - Remove the options config for this port and all its
# dependencies.
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
#
# Default sequence for "all" is:
#
# check-sanity fetch checksum extract patch configure build
#
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
# Please read the comments in the targets section below; you
# should be able to use the pre-* or post-* targets/scripts
# (which are available for every stage except checksum) or
# override the do-* targets to do pretty much anything you want.
#
# The TARGET_ORDER_OVERRIDE variable can be set to multiple <priority>:<target>
# to change the ordering of targets, have a look at the _SEQ variables at the
# end of this file for the default order and priorities.
#
# NEVER override the "regular" targets unless you want to open
# a major can of worms.
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
#
# Set these variables if your port doesn't need some of the steps.
# Note that there are no NO_PATCH or NO_CONFIGURE variables because
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
# those steps are empty by default. NO_EXTRACT is not allowed anymore
# since we need to at least create ${WRKDIR}. Also, NO_CHECKSUM is a user
# variable and is not to be set in a port's Makefile. See above for NO_PACKAGE.
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
#
# NO_BUILD - Use a dummy (do-nothing) build target.
# NO_INSTALL - Use a dummy (do-nothing) install target.
# NO_TEST - Use a dummy (do-nothing) test target.
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
#
# Here are some variables used in various stages.
#
# For options see bsd.options.mk
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
#
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# For fetch:
#
# FETCH_BINARY - Path to ftp/http fetch command if not in $PATH.
# Default: "/usr/bin/fetch"
# FETCH_ARGS - Arguments to ftp/http fetch command.
# Default: "-Fpr"
# FETCH_CMD - ftp/http fetch command.
# Default: ${FETCH_BINARY} ${FETCH_ARGS}
# FETCH_BEFORE_ARGS
# - Arguments to ${FETCH_CMD} before filename.
# Default: none
# FETCH_AFTER_ARGS
# - Arguments to ${FETCH_CMD} following filename.
# Default: none
# FETCH_ENV - Environment to pass to ${FETCH_CMD}.
# Default: none
# FETCH_REGET - Times to retry fetching of files on checksum errors.
# Default: 1
# CLEAN_FETCH_ENV
# - Disable package dependency in fetch target for mass
# fetching. User settable.
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
#
# For extract:
#
# EXTRACT_CMD - Command for extracting archive
# Default: ${TAR}
# EXTRACT_BEFORE_ARGS
# - Arguments to ${EXTRACT_CMD} before filename.
# Default: "-xf"
# EXTRACT_AFTER_ARGS
# - Arguments to ${EXTRACT_CMD} following filename.
# Default: "--no-same-owner --no-same-permissions"
(1) Fix the distfile deletion for cases where distfiles are specified with directory names. Submitted by: jdp (2) Preserve +REQUIRED_BY file when FORCE_PKG_REGISTER is defined. Reviewed by: steve (3) Add new variable EXTRA_PATCHES, which can be set to some files outside of ${PATCHDIR} (which usually means ${WRKDIR}). These will be applied after distribution patches but before the normal ${PATCHDIR} patches. Useful when you have dynamic patches. (4) Move USE_QT2 earlier, the USE_NEWGCC dependency wasn't working because it came after the USE_NEWGCC check. Move USE_QT alongside new location of USE_QT2. Submitted by: imura (5) Substitute ftp.cdrom.com for ftp.funet.fi in MASTER_SITE_SUNSITE, which no longer seems to be a full mirror anymore. Submitted by: Ade Lovett <ade@lovett.com> PR: 14221 (6) Fix typo in MASTER_SITE_FREEBSD case -- it used ${MASTER_SITES} (instead of ${PATCH_SITES}) to fetch distribution patches. That obviously would fail if the user attempted to build a port before the distribution patches showed up at ftp.FreeBSD.org. (7) Remove tcl75, tk41 and tk81 from the list of valid categories. (tcl81 is still used.) Submitted by: jseger (8) Make delete-package-list a little more verbose by making it check the existence of a package file and print out what it's doing. Silence bogus warnings from delete-distfiles-list by redirecting stderr from rmdir to /dev/null. (9) Remove OpenBSD_MAINTAINER=imp, he hasn't been doing any work with this file on the OpenBSD repository for a long time. Submitted by: imp
1999-11-11 02:36:15 +00:00
# For patch:
#
# EXTRA_PATCHES - Define this variable if you have patches not in
(1) Fix the distfile deletion for cases where distfiles are specified with directory names. Submitted by: jdp (2) Preserve +REQUIRED_BY file when FORCE_PKG_REGISTER is defined. Reviewed by: steve (3) Add new variable EXTRA_PATCHES, which can be set to some files outside of ${PATCHDIR} (which usually means ${WRKDIR}). These will be applied after distribution patches but before the normal ${PATCHDIR} patches. Useful when you have dynamic patches. (4) Move USE_QT2 earlier, the USE_NEWGCC dependency wasn't working because it came after the USE_NEWGCC check. Move USE_QT alongside new location of USE_QT2. Submitted by: imura (5) Substitute ftp.cdrom.com for ftp.funet.fi in MASTER_SITE_SUNSITE, which no longer seems to be a full mirror anymore. Submitted by: Ade Lovett <ade@lovett.com> PR: 14221 (6) Fix typo in MASTER_SITE_FREEBSD case -- it used ${MASTER_SITES} (instead of ${PATCH_SITES}) to fetch distribution patches. That obviously would fail if the user attempted to build a port before the distribution patches showed up at ftp.FreeBSD.org. (7) Remove tcl75, tk41 and tk81 from the list of valid categories. (tcl81 is still used.) Submitted by: jseger (8) Make delete-package-list a little more verbose by making it check the existence of a package file and print out what it's doing. Silence bogus warnings from delete-distfiles-list by redirecting stderr from rmdir to /dev/null. (9) Remove OpenBSD_MAINTAINER=imp, he hasn't been doing any work with this file on the OpenBSD repository for a long time. Submitted by: imp
1999-11-11 02:36:15 +00:00
# ${PATCHDIR}. This usually happens when you need to
# do some pre-processing before some distribution
# patches can be applied. In that case, fetch them as
# extra distfiles, put the processed results in
# ${WRKDIR}, then point EXTRA_PATCHES to them.
# The patches specified by this variable will be
# applied after the normal distribution patches but
# before those in ${PATCHDIR}.
# PATCH_WRKSRC - Directory to apply patches in.
# Default: ${WRKSRC}
(1) Fix the distfile deletion for cases where distfiles are specified with directory names. Submitted by: jdp (2) Preserve +REQUIRED_BY file when FORCE_PKG_REGISTER is defined. Reviewed by: steve (3) Add new variable EXTRA_PATCHES, which can be set to some files outside of ${PATCHDIR} (which usually means ${WRKDIR}). These will be applied after distribution patches but before the normal ${PATCHDIR} patches. Useful when you have dynamic patches. (4) Move USE_QT2 earlier, the USE_NEWGCC dependency wasn't working because it came after the USE_NEWGCC check. Move USE_QT alongside new location of USE_QT2. Submitted by: imura (5) Substitute ftp.cdrom.com for ftp.funet.fi in MASTER_SITE_SUNSITE, which no longer seems to be a full mirror anymore. Submitted by: Ade Lovett <ade@lovett.com> PR: 14221 (6) Fix typo in MASTER_SITE_FREEBSD case -- it used ${MASTER_SITES} (instead of ${PATCH_SITES}) to fetch distribution patches. That obviously would fail if the user attempted to build a port before the distribution patches showed up at ftp.FreeBSD.org. (7) Remove tcl75, tk41 and tk81 from the list of valid categories. (tcl81 is still used.) Submitted by: jseger (8) Make delete-package-list a little more verbose by making it check the existence of a package file and print out what it's doing. Silence bogus warnings from delete-distfiles-list by redirecting stderr from rmdir to /dev/null. (9) Remove OpenBSD_MAINTAINER=imp, he hasn't been doing any work with this file on the OpenBSD repository for a long time. Submitted by: imp
1999-11-11 02:36:15 +00:00
#
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# For configure:
#
# HAS_CONFIGURE - If set, this port has its own configure script. The
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# configure stage will not do anything if this is not set.
# GNU_CONFIGURE - If set, you are using GNU configure (optional). Implies
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# HAS_CONFIGURE.
# CONFIGURE_OUTSOURCE - If set, this port builds in an empty ${CONFIGURE_WRKSRC}
# not being under ${WRKSRC}.
# CONFIGURE_WRKSRC
# - Directory to run configure in.
# Default: ${WRKSRC}
# CONFIGURE_SCRIPT
# - Name of configure script, relative to ${CONFIGURE_WRKSRC}.
# Default: "Makefile.PL" if USES=perl5 and USE_PERL5=configure
# are set, "configure" otherwise.
# CONFIGURE_TARGET
# - The name of target to call when GNU_CONFIGURE is
# defined.
# Default: ${ARCH}-portbld-${OPSYS:tl}${OSREL}
# GNU_CONFIGURE_PREFIX
# - The directory passed as prefix to the configure script if
# GNU_CONFIGURE is set.
# Default: ${PREFIX}
# CONFIGURE_ARGS
# - Pass these args to configure if ${HAS_CONFIGURE} is set.
# Default: "--prefix=${GNU_CONFIGURE_PREFIX}
# --infodir=${PREFIX}/${INFO_PATH} --localstatedir=/var
2008-08-21 06:18:49 +00:00
# --mandir=${MANPREFIX}/man --build=${CONFIGURE_TARGET}" if
# GNU_CONFIGURE is set, "CC=${CC} CFLAGS=${CFLAGS}
Heroic attempt to reduce number of PRs assigned to portmgr@: 1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working. PR: 36537 Submitted by: tg 2. Propagate error code from failed `make depends', when one of the ports we depend upon is marked BROKEN/FORBIDDEN. PR: 25522 Submitted by: alex 3. By default, when bsd.port.mk configurating Makefile.PL only pass PREFIX as argument, but some Perl module (eg. Test-Harness) needed INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise default installation will goes to /usr/lib and not ${PREFIX}/lib, in some case, adding these tag to CONFIGURE_ARGS is not bad. PR: 29681 Submitted by: Shell Hung <shell@shellhung.org> 4. Update patch-libtool target, so that it doesn't break ports with autoconf 2.13-generated configure script. USE_LIBTOOL is still not very useful for such cases, but at least it doesn't break them badly anymore. PR: 31142 Submitted by: wjv 5. Make `make search' working even when /usr/obj/usr/ports exists. PR: 31862 Submitted by: gad 6. When configure script fails unexpectedly don't dump thousands lines of config.log to the user's screen, because it usually doesn't contain information useful for tracking the problem anyway. Instead display a message asking a user to report the failure to the proper entity (maintainer) and what to include into the problem report. PR: 34459, 35488 Submitted by: Thomas Hurst <freaky@aagh.net> Alan Eldridge <ports@geeksrus.net> sobomax other countless hackers whose names are lost in the noise Text of message suggested by: asmodai 7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr, bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as always, however those defaults are not appropriate for /usr, and better options are available. PR: 36030 Submitted by: DougB 8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to avoid clashing with system .mk settings (${ECHO} has a different meaning there). Actually the patch is imcomplete, because large portion of those ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce happy, which shouldn't be underestimated. PR: 34988 Submitted by: knu All of the above tested by: bento Special thanks goes to: kris (for his help with getting this tested) -------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
# PREFIX=${PREFIX} INSTALLPRIVLIB=${PREFIX}/lib
# INSTALLARCHLIB=${PREFIX}/lib" if USES=perl5 and
# USE_PERL5=configure are set, empty otherwise.
# CONFIGURE_ENV - Pass these env (shell-like) to configure if
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# ${HAS_CONFIGURE} is set.
# CONFIGURE_LOG - The name of configure log file. It will be printed to
# the screen if configure fails.
# Default: config.log
# CONFIGURE_FAIL_MESSAGE
# - A message displayed to users when configure
# fails (note: this assumes the do-configure
# target has not been overwritten). This message
# will be passed through /usr/bin/fmt before
# being shown to the user.
#
# WITHOUT_FBSD10_FIX Disable FreeBSD 10.0 autotools workaround.
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
#
# For build and install:
#
# MAKEFILE - Name of the makefile.
# Default: Makefile
# ALL_TARGET - Default target for sub-make in build stage.
# Default: all
# BUILD_WRKSRC - Directory to do build in (default: ${WRKSRC}).
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# MAKE_ENV - Additional environment vars passed to sub-make in build
# and install stages.
# Default: see below
# MAKE_ARGS - Any extra arguments to sub-make in build and install stages.
# Default: none
##
# MAKE_JOBS_UNSAFE
# - Disallow multiple jobs even when user set a global override.
# To be used with known bad ports.
# DISABLE_MAKE_JOBS
# - Set to disable the multiple jobs feature. User settable.
# MAKE_JOBS_NUMBER
# - Override the number of make jobs to be used. User settable.
# MAKE_JOBS_NUMBER_LIMIT
# - Set a limit for maximum number of make jobs allowed to be
# used.
## cacche
#
# WITH_CCACHE_BUILD
# - Enable CCACHE support (devel/ccache). User settable.
# CCACHE_DIR
# - Which directory to use for ccache (default: $HOME/.ccache)
# NO_CCACHE
# - Disable CCACHE support for example for certain ports if
# CCACHE is enabled. User settable.
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
#
# For test:
#
# TEST_TARGET - Target for sub-make in test stage. If not defined,
# no default test target is provided.
# Default: (none)
# TEST_WRKSRC - Directory to do test in (default: ${WRKSRC}).
# TEST_ENV - Additional environment vars passed to sub-make in test
# stage
# Default: ${MAKE_ENV}
# TEST_ARGS - Any extra arguments to sub-make in test stage
# Default: ${MAKE_ARGS}
#
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# For install:
#
# INSTALL_TARGET
# - Default target for sub-make in install stage.
# Default: install
# INSTALL_WRKSRC
# - Directory to install from
# Default: ${WRKSRC}
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# 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: ${PORTSDIR}/Templates/BSD.local.dist or
# /etc/mtree/BSD.usr.dist if ${PREFIX} == "/usr".
# PLIST_DIRS - Directories to be added to packing list
# PLIST_FILES - Files and symbolic links to be added to packing list
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
#
# PLIST - Name of the `packing list' file.
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# Change this to ${WRKDIR}/PLIST or something if you
# need to write to it. (It is not a good idea for a port
# to write to any file outside ${WRKDIR} during a normal
# build.)
# Default: ${PKGDIR}/pkg-plist
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# TMPPLIST - Name of the `packing list' file after processing
# Default: ${WRKDIR}/.PLIST.mktmp
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# PLIST_SUB - List of "variable=value" pair for substitution in ${PLIST}
# Default: see below
#
# SUB_FILES - Files that should be passed through sed(1) and redirected to
# ${WRKDIR}.
# - For each file specified in SUB_FILES, there must be a
# corresponding file in ${FILESDIR} whose suffix is ".in". For
# instance, if the Makefile specifies "SUB_FILES= pkg-message"
# then there must be a file called pkg-message.in in
# ${FILESDIR}.
# - The substitution process is the same as PLIST_FILES, as
# described below except that any line beginning with @comment
# is deleted.
# SUB_LIST - List of "variable=value" pair for substitution in ${SUB_FILES}
# Some pairs are added by default: eg. PREFIX=${PREFIX}
#
# USE_LDCONFIG - If set to "yes", this adds ${PREFIX}/lib to the list of
# directories to be searched for shared libraries.
# Otherwise, this is a list of directories to be added to that
# list. The directory names are written to
# ${LOCALBASE}/libdata/ldconfig/${PKGBASE} which is then
# used by the ldconfig startup script.
# This mechanism replaces ldconfig scripts installed by some
# ports, often under such names as 000.${UNQUENAME}.sh.
# If USE_LINUX_PREFIX is defined, the Linux version of
# ldconfig will be used instead of the native FreeBSD
# version, and the directory list given will be ignored.
# USE_LDCONFIG32
# - Same as USE_LDCONFIG but the target file is
# ${LOCALBASE}/libdata/ldconfig32/${PKGBASE} instead.
# Note: that should only be used on 64-bit architectures.
#
# DOCSDIR - Name of the directory to install the packages docs in.
# Default: ${PREFIX}/share/doc/${PORTNAME}
# DOCSDIR_REL - The DOCSDIR relative to ${PREFIX}
# EXAMPLESDIR - Name of the directory to install the packages examples in.
# Default: ${PREFIX}/share/examples/${PORTNAME}
# EXAMPLESDIR_REL
# - The EXAMPLESDIR relative to ${PREFIX}
# DATADIR - Name of the directory to install the packages shared data in.
# Default: ${PREFIX}/share/${PORTNAME}
# DATADIR_REL - The DATADIR relative to ${PREFIX}
#
# WWWDIR - Name of the directory to install the packages www data in.
# Default: ${PREFIX}/www/${PORTNAME}
# WWWDIR_REL - The WWWDIR relative to ${PREFIX}
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
#
# USERS - List of users to create at install time. Each login must
# have a corresponding entry in ${UID_FILES}.
# GROUPS - List of groups to create at install time. Each group must
# have a corresponding entry in ${GID_FILES}.
#
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
# DESKTOPDIR - Name of the directory to install ${DESKTOP_ENTRIES} in.
# Default: ${PREFIX}/share/applications
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
# DESKTOP_ENTRIES
# - List of desktop entry files to generate and install in
# ${DESKTOPDIR}. The format is
# "Name" "Comment" "Icon" "Exec" "Categories" StartupNotify
# Rules:
# * Only add desktop entries for applications which do not
# require a terminal (ie. X applications).
# * If the upstream distribution already installs .desktop
# files, you do not need to use this.
# * If you require a more elaborate .desktop file than this
# variable permits, write it yourself and install it
# in ${DESKTOPDIR}.
# Notes:
# * Comment, Icon and StartupNotify may be empty
# strings (""). Categories may be an empty string in some
# cases (see below). The other fields are mandatory.
# * If Comment is an empty string, port ${COMMENT} will be
# used.
# * If set, Icon must be either absolute path (usually
# ${PREFIX}/share/pixmaps/${PORTNAME}.png) or icon name
# without extension if installed icons follow Icon Theme
# Specification.
# * If Categories is an empty string, bsd.port.mk will try
# to deduce a default value using the CATEGORIES variable.
# If the deduction fails, you will have to set Categories
# manually. You should check the generated value using
# "make desktop-categories", and override it if necessary.
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
# * Exec will also be used to name the .desktop file.
# * StartupNotify may be true, false or empty (see Desktop
# Entry Specification for details).
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
# * The files will be automatically added to ${PLIST}.
# Example:
# "X Window Information" \
# "Get information about X windows" \
# "${PREFIX}/share/pixmaps/wininfo.png" \
# "${PREFIX}/bin/wininfo" \
# "System;" \
# ""
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
# See http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
# for an explanation of the fields. If you need to create more
# than one file, just chain them into a single variable.
#
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# Note that the install target will automatically add manpages (see
# above) and also substitute special sequences of characters (delimited
# by "%%") as defined in PLIST_SUB to generate ${TMPPLIST}. For
# instance, "OSREL=${OSREL}" in PLIST_SUB causes all occurrences of
# "%%OSREL%%" in ${PLIST} to be substituted by the value of OSREL.
* Attempt to detect and disallow installation of a port with PREFIX set to a different value to that with which it was configured and built. This is achieved by recording the PREFIX in the build-stage cookies [1] * Add scheme [2], tcl84 and tk84 [5] as virtual categories * Add the PERL_PORT variable and use it to register the dependency on the correct perl port when PERL_LEVEL is set [3] * Add support for USE_AUTOHEADER [4] * Fix 'make maintainer' when MAINTAINER is set to a bogus value (not in user@example.com format). [6] * Add a 'package-recursive' target to create packages for a port and all of its dependencies [7] * Fix command-line overflow errors in 'make readmes' on certain ports, with the bonus of providing a measurable speed-up to readme generation [8] * Fix inclusion of alternative makefiles such as Makefile.inc, Makefile.local, etc. (broken since 1.403) [9] * Reintroduce support for install/deinstall targets checking for older versions of the port, and re-add the deinstall-all target that removes all existing installations of a port (originally introduced in 1.446 and backed out in 1.450). This patch has been reworked to eliminate the corner cases in the previous code. Ports that dynamically generate their ${PLIST} at install-time must now do so before the do-install target is run, e.g. in pre-install. [10] * When installing ports as non-root, use su(1) to execute the targets that require root privilege. This is achieved by splitting up the _INSTALL_SEQ target list into _INSTALL_SUSEQ [11]. PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6], 52388 [7], 51609 [11] Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1], Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11], Kimura Fuyuki <fuyuki@hadaly.org> [2], "Scot W. Hetzel" <hetzels@westbend.net> [3], Anton Berezin <tobez@FreeBSD.org> [3], nork [4], hsu [5], Mark Linimon <linimon@lonesome.com> [6], hoek [8], sobomax [9], marcus [10] [11], des [11]
2003-07-06 23:54:33 +00:00
# ${TMPPLIST} is generated before the do-install stage. If you are
# generating the packing list on-the-fly, make sure it's generated before
# do-install is called!
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
#
# This is used in all stages:
#
# SCRIPTS_ENV - Additional environment vars passed to scripts in
# ${SCRIPTDIR} executed by bsd.port.mk.
# Default: see below
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
#
# 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: ${ECHO_CMD}
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# PATCH_DEBUG - If set, print out more information about the patches as
# it attempts to apply them.
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
# PKG_DBDIR - Where package installation is recorded; this directory
# must not contain anything else.
# Default: /var/db/pkg
# PORT_DBDIR - Where port configuration options are recorded.
# Default: /var/db/ports
# NO_PKG_REGISTER
# - Don't register a port installation as a package.
# FORCE_PKG_REGISTER
# - If set, it will overwrite any existing package
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# registration information in ${PKG_DBDIR}/${PKGNAME}.
# NO_DEPENDS - Don't verify build of dependencies.
# STRICT_DEPENDS
# - Verify dependencies but consider missing dependencies as
# fatal.
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
# CHECKSUM_ALGORITHMS
# - Different checksum algorithms to check for verifying the
# integrity of the distfiles. The absence of the algorithm
# in distinfo doesn't make it fail.
# Default: sha256
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# 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.
# USE_PACKAGE_DEPENDS
# - Try to install dependencies from existing packages instead
# of building the port from scratch. Fallback on source
# if an existing package is not present.
# USE_PACKAGE_DEPENDS_ONLY
# - Like USE_PACKAGE_DEPENDS, but do not fallback on source.
# INSTALL_AS_USER
# - Define this to install as the current user, intended
# for systems where you have no root access.
# DISABLE_SIZE - Do not check the size of a distfile even if the SIZE field
# has been specified in distinfo. This is useful
# when using an alternate FETCH_CMD.
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
#
# PKG_CREATE_VERBOSE - If set, pass the -v option to pkg create which
# ensures periodic output during packaging and
# will help prevent timeouts by build monitors
#
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
# End of the list of all variables that need to be defined in a port.
# Most port authors should not need to understand anything after this point.
#
# These need to be absolute since we don't know how deep in the ports
# tree we are and thus can't go relative. They can, of course, be overridden
# by individual Makefiles or local system make configuration.
PORTSDIR?= /usr/ports
LOCALBASE?= /usr/local
LINUXBASE?= /compat/linux
DISTDIR?= ${PORTSDIR}/distfiles
_DISTDIR?= ${DISTDIR}/${DIST_SUBDIR}
INDEXDIR?= ${PORTSDIR}
SRC_BASE?= /usr/src
USESDIR?= ${PORTSDIR}/Mk/Uses
SCRIPTSDIR?= ${PORTSDIR}/Mk/Scripts
LIB_DIRS?= /lib /usr/lib ${LOCALBASE}/lib
STAGEDIR?= ${WRKDIR}/stage
NOTPHONY?=
MINIMAL_PKG_VERSION= 1.6.0
Add support for staging area in the ports tree The ports tree is now staged by default. With pkgng the sequence hasn't changed, the main difference is that creating package is now independent from installing it. With pkg_install, the package is now created first and make install, do install the package. New macros: - STAGEDIR: PATH to the directory where the port will be staged. - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area) Unsupported macro if NO_STAGE is not set: - MAN* with staging man page compression and handling of hardlinks and symlinks is automatically done in the stage. the manpages becomes then a "normal" plist files and should be tracked in pkg-plist. - MANCOMPRESSED the compress-man target is able to only compress when it needed. New target: - stage: this installs everything into the stage directory - makeplist: this will create a pkg-plist and print it to stdout. This is a sample plist and it should always be _reviewed_ not directly used. NOTE: with staging only what is in the plist will be installed, nothing more, meaning a port staged cannot have leftovers exect directories left. It is really important to double check the pkg-plist to make sure all the files the maintainer want to package are in! make makeplist can help in that area. The goal is to handle as quickly as possible a full removal of the NO_STAGE support. More features can be added once the full ports tree is converted to using the staging area Conversion notes: - Remove NO_STAGE - in {pre,do,post}-install * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES} prepend ${STAGEDIR} * Remove any thing that is done by @exec or +INSTALL script it will be done automatically when syncing packages * Remove any code to show PKG-MESSAGE it will be done automatically when syncing packages * Directory creation should remain in post-install (in particular because pkgng doesn't work like pkg_install in that area and pkgng ignores the @exec mkdir but directly pack the directory even if empty) - PORTDOCS/PORTEXAMPELS To support PORTDOCS, PORTEXAMPLES most of the time there is no more need for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your plist then the given files from the stagedir will or will not sync according to NOPORTDOCS and NOPORTEXAMPLES. With hat: portmgr Reviewed by: bdrewery
2013-09-23 05:56:35 +00:00
# make sure bmake treats -V as expected
.MAKE.EXPAND_VARIABLES= yes
.include "${PORTSDIR}/Mk/bsd.commands.mk"
.if defined(X_BUILD_FOR)
2014-04-04 08:53:00 +00:00
.if !defined(.PARSEDIR)
IGNORE= Cross building can only be done when using bmake(1) as make(1)
.endif
# Do not define CPP on purpose
2015-04-04 21:51:40 +00:00
.if !defined(HOSTCC)
HOSTCC:= ${CC}
HOSTCXX:= ${CXX}
.endif
.if !exists(/usr/${X_BUILD_FOR}/usr/bin/cc)
X_SYSROOT= ${LOCALBASE}/${X_BUILD_FOR}
.else
X_SYSROOT= /usr/${X_BUILD_FOR}
.endif
CC= ${X_SYSROOT}/usr/bin/cc
CXX= ${X_SYSROOT}/usr/bin/c++
NM= ${X_BUILD_FOR}-nm
STRIP_CMD= ${X_BUILD_FOR}-strip
# only bmake support the below
STRIPBIN= ${STRIP_CMD}
.export.env STRIPBIN
.endif
#
# DESTDIR section to start a chrooted process if invoked with DESTDIR set
#
.if defined(DESTDIR) && !empty(DESTDIR) && !defined(CHROOTED) && \
!defined(BEFOREPORTMK) && !defined(INOPTIONSMK)
.include "${PORTSDIR}/Mk/bsd.destdir.mk"
.else
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
.if !target(makepatch)
makepatch:
@${SETENV} WRKDIR=${WRKDIR} PATCHDIR=${PATCHDIR} \
PATCH_WRKSRC=${PATCH_WRKSRC} \
STRIP_COMPONENTS="${PATCH_STRIP:S/-p//}" \
${SH} ${SCRIPTSDIR}/smart_makepatch.sh
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
.endif
# Start of options section
.if defined(INOPTIONSMK) || ( !defined(USEOPTIONSMK) && !defined(AFTERPORTMK) )
# Get the default maintainer
MAINTAINER?= ports@FreeBSD.org
# Get the architecture
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
.if !defined(ARCH)
ARCH!= ${UNAME} -p
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
.endif
_EXPORTED_VARS+= ARCH
# Get the operating system type
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
.if !defined(OPSYS)
OPSYS!= ${UNAME} -s
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
.endif
_EXPORTED_VARS+= OPSYS
.if !defined(_OSRELEASE)
_OSRELEASE!= ${UNAME} -r
.endif
_EXPORTED_VARS+= _OSRELEASE
# Get the operating system revision
OSREL?= ${_OSRELEASE:C/-.*//}
_EXPORTED_VARS+= OSREL
# Get __FreeBSD_version
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
.if !defined(OSVERSION)
.if exists(/usr/include/sys/param.h)
OSVERSION!= ${AWK} '/^\#define[[:blank:]]__FreeBSD_version/ {print $$3}' < /usr/include/sys/param.h
.elif exists(${SRC_BASE}/sys/sys/param.h)
OSVERSION!= ${AWK} '/^\#define[[:blank:]]__FreeBSD_version/ {print $$3}' < ${SRC_BASE}/sys/sys/param.h
.else
.error Unable to determine OS version. Either define OSVERSION, install /usr/include/sys/param.h or define SRC_BASE.
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
.endif
.endif
_EXPORTED_VARS+= OSVERSION
# Convert OSVERSION to major release number
_OSVERSION_MAJOR= ${OSVERSION:C/([0-9]?[0-9])([0-9][0-9])[0-9]{3}/\1/}
# Sanity checks for chroot/jail building.
# Skip if OSVERSION specified on cmdline for testing. Only works for bmake.
.if !defined(.MAKEOVERRIDES) || !${.MAKEOVERRIDES:MOSVERSION}
.if ${_OSVERSION_MAJOR} != ${_OSRELEASE:R}
.error UNAME_r (${_OSRELEASE}) and OSVERSION (${OSVERSION}) do not agree on major version number.
.elif ${_OSVERSION_MAJOR} != ${OSREL:R}
.error OSREL (${OSREL}) and OSVERSION (${OSVERSION}) do not agree on major version number.
.endif
.endif
# Only define tools here (for transition period with between pkg tools)
.include "${PORTSDIR}/Mk/bsd.commands.mk"
.if !defined(_PKG_CHECKED) && !defined(PACKAGE_BUILDING) && exists(${PKG_BIN})
.if !defined(_PKG_VERSION)
_PKG_VERSION!= ${PKG_BIN} -v
.endif
_PKG_STATUS!= ${PKG_BIN} version -t ${_PKG_VERSION:C/-.*//g} ${MINIMAL_PKG_VERSION}
.if ${_PKG_STATUS} == "<"
IGNORE= pkg(8) must be version ${MINIMAL_PKG_VERSION} or greater, but you have ${_PKG_VERSION}. You must upgrade the ${PKG_ORIGIN} port first
.endif
_PKG_CHECKED= 1
.endif
_EXPORTED_VARS+= _PKG_CHECKED
MASTERDIR?= ${.CURDIR}
* Change bento to pointyhat names in comments. [1] * Document DISABLE_VULNERABILITIES variable. [2] * Add WWW: line for 'search' target. [3] * Speedup check-vulnerable invokation, if portaudit is installed. [4] * Run install-info for all .info files. [5] * Run add-plist-docs more strictly and prevent some situations with leftover files in the future. [6] * Introduce two new variables: MASTER_PORT and SLAVE_PORT. The results from these variables is only used as information for users. [7] * Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8] * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc' target allows users to check gcc version if USE_GCC is used. Give maintainers opportunity to add '+' character to USE_GCC version for using specified and higher versions. [9] * Install startup scripts with the help of USE_RC_SUBR variable. [10] * Add three new targets: config-recursive, rmconfig-recursive and config-conditional. You can set or delete OPTIONS for all dependencies before every build. config-conditional target is used to skip configuring ports which have already been configured. [11] * Fix using of WANT_PGSQL_VER variable if postgresql is already installed. [12] PR: ports/75768 [1], ports/75728 [2], ports/76187 [3], ports/76191 [4], ports/76182 [5], ports/75379 [6], ports/75286 [7], ports/75727 [8], ports/76489 [9], ports/73691 ports/69217 [10], ports/76254 [11], ports/76988 [12] Submitted by: dinoex [1], edwin [2] [5] [6] [8] [9] [10], Marcus Grando <marcus@corp.grupos.com.br> [3], tobez and Valentin Nechayev <netch@netch.kiev.ua> [4], linimon [7], Florent Thoumie <flz@xbsd.org> [10], Chris Dillon <cdillon@wolves.k12.mo.us> [11], girgen [12]
2005-02-07 11:17:50 +00:00
.if ${MASTERDIR} != ${.CURDIR}
SLAVE_PORT?= yes
MASTER_PORT?=${MASTERDIR:C/[^\/]+\/\.\.\///:C/[^\/]+\/\.\.\///:C/^.*\/([^\/]+\/[^\/]+)$/\\1/}
.else
SLAVE_PORT?= no
MASTER_PORT?=
.endif
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# If they exist, include Makefile.inc, then architecture/operating
# system specific Makefiles, then local Makefile.local.
.if ${MASTERDIR} != ${.CURDIR} && exists(${.CURDIR}/../Makefile.inc)
.include "${.CURDIR}/../Makefile.inc"
* Attempt to detect and disallow installation of a port with PREFIX set to a different value to that with which it was configured and built. This is achieved by recording the PREFIX in the build-stage cookies [1] * Add scheme [2], tcl84 and tk84 [5] as virtual categories * Add the PERL_PORT variable and use it to register the dependency on the correct perl port when PERL_LEVEL is set [3] * Add support for USE_AUTOHEADER [4] * Fix 'make maintainer' when MAINTAINER is set to a bogus value (not in user@example.com format). [6] * Add a 'package-recursive' target to create packages for a port and all of its dependencies [7] * Fix command-line overflow errors in 'make readmes' on certain ports, with the bonus of providing a measurable speed-up to readme generation [8] * Fix inclusion of alternative makefiles such as Makefile.inc, Makefile.local, etc. (broken since 1.403) [9] * Reintroduce support for install/deinstall targets checking for older versions of the port, and re-add the deinstall-all target that removes all existing installations of a port (originally introduced in 1.446 and backed out in 1.450). This patch has been reworked to eliminate the corner cases in the previous code. Ports that dynamically generate their ${PLIST} at install-time must now do so before the do-install target is run, e.g. in pre-install. [10] * When installing ports as non-root, use su(1) to execute the targets that require root privilege. This is achieved by splitting up the _INSTALL_SEQ target list into _INSTALL_SUSEQ [11]. PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6], 52388 [7], 51609 [11] Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1], Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11], Kimura Fuyuki <fuyuki@hadaly.org> [2], "Scot W. Hetzel" <hetzels@westbend.net> [3], Anton Berezin <tobez@FreeBSD.org> [3], nork [4], hsu [5], Mark Linimon <linimon@lonesome.com> [6], hoek [8], sobomax [9], marcus [10] [11], des [11]
2003-07-06 23:54:33 +00:00
USE_SUBMAKE= yes
.endif
.if exists(${MASTERDIR}/../Makefile.inc)
.include "${MASTERDIR}/../Makefile.inc"
* Attempt to detect and disallow installation of a port with PREFIX set to a different value to that with which it was configured and built. This is achieved by recording the PREFIX in the build-stage cookies [1] * Add scheme [2], tcl84 and tk84 [5] as virtual categories * Add the PERL_PORT variable and use it to register the dependency on the correct perl port when PERL_LEVEL is set [3] * Add support for USE_AUTOHEADER [4] * Fix 'make maintainer' when MAINTAINER is set to a bogus value (not in user@example.com format). [6] * Add a 'package-recursive' target to create packages for a port and all of its dependencies [7] * Fix command-line overflow errors in 'make readmes' on certain ports, with the bonus of providing a measurable speed-up to readme generation [8] * Fix inclusion of alternative makefiles such as Makefile.inc, Makefile.local, etc. (broken since 1.403) [9] * Reintroduce support for install/deinstall targets checking for older versions of the port, and re-add the deinstall-all target that removes all existing installations of a port (originally introduced in 1.446 and backed out in 1.450). This patch has been reworked to eliminate the corner cases in the previous code. Ports that dynamically generate their ${PLIST} at install-time must now do so before the do-install target is run, e.g. in pre-install. [10] * When installing ports as non-root, use su(1) to execute the targets that require root privilege. This is achieved by splitting up the _INSTALL_SEQ target list into _INSTALL_SUSEQ [11]. PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6], 52388 [7], 51609 [11] Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1], Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11], Kimura Fuyuki <fuyuki@hadaly.org> [2], "Scot W. Hetzel" <hetzels@westbend.net> [3], Anton Berezin <tobez@FreeBSD.org> [3], nork [4], hsu [5], Mark Linimon <linimon@lonesome.com> [6], hoek [8], sobomax [9], marcus [10] [11], des [11]
2003-07-06 23:54:33 +00:00
USE_SUBMAKE= yes
.endif
.if exists(${MASTERDIR}/Makefile.${ARCH}-${OPSYS})
.include "${MASTERDIR}/Makefile.${ARCH}-${OPSYS}"
* Attempt to detect and disallow installation of a port with PREFIX set to a different value to that with which it was configured and built. This is achieved by recording the PREFIX in the build-stage cookies [1] * Add scheme [2], tcl84 and tk84 [5] as virtual categories * Add the PERL_PORT variable and use it to register the dependency on the correct perl port when PERL_LEVEL is set [3] * Add support for USE_AUTOHEADER [4] * Fix 'make maintainer' when MAINTAINER is set to a bogus value (not in user@example.com format). [6] * Add a 'package-recursive' target to create packages for a port and all of its dependencies [7] * Fix command-line overflow errors in 'make readmes' on certain ports, with the bonus of providing a measurable speed-up to readme generation [8] * Fix inclusion of alternative makefiles such as Makefile.inc, Makefile.local, etc. (broken since 1.403) [9] * Reintroduce support for install/deinstall targets checking for older versions of the port, and re-add the deinstall-all target that removes all existing installations of a port (originally introduced in 1.446 and backed out in 1.450). This patch has been reworked to eliminate the corner cases in the previous code. Ports that dynamically generate their ${PLIST} at install-time must now do so before the do-install target is run, e.g. in pre-install. [10] * When installing ports as non-root, use su(1) to execute the targets that require root privilege. This is achieved by splitting up the _INSTALL_SEQ target list into _INSTALL_SUSEQ [11]. PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6], 52388 [7], 51609 [11] Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1], Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11], Kimura Fuyuki <fuyuki@hadaly.org> [2], "Scot W. Hetzel" <hetzels@westbend.net> [3], Anton Berezin <tobez@FreeBSD.org> [3], nork [4], hsu [5], Mark Linimon <linimon@lonesome.com> [6], hoek [8], sobomax [9], marcus [10] [11], des [11]
2003-07-06 23:54:33 +00:00
USE_SUBMAKE= yes
.elif exists(${MASTERDIR}/Makefile.${OPSYS})
.include "${MASTERDIR}/Makefile.${OPSYS}"
* Attempt to detect and disallow installation of a port with PREFIX set to a different value to that with which it was configured and built. This is achieved by recording the PREFIX in the build-stage cookies [1] * Add scheme [2], tcl84 and tk84 [5] as virtual categories * Add the PERL_PORT variable and use it to register the dependency on the correct perl port when PERL_LEVEL is set [3] * Add support for USE_AUTOHEADER [4] * Fix 'make maintainer' when MAINTAINER is set to a bogus value (not in user@example.com format). [6] * Add a 'package-recursive' target to create packages for a port and all of its dependencies [7] * Fix command-line overflow errors in 'make readmes' on certain ports, with the bonus of providing a measurable speed-up to readme generation [8] * Fix inclusion of alternative makefiles such as Makefile.inc, Makefile.local, etc. (broken since 1.403) [9] * Reintroduce support for install/deinstall targets checking for older versions of the port, and re-add the deinstall-all target that removes all existing installations of a port (originally introduced in 1.446 and backed out in 1.450). This patch has been reworked to eliminate the corner cases in the previous code. Ports that dynamically generate their ${PLIST} at install-time must now do so before the do-install target is run, e.g. in pre-install. [10] * When installing ports as non-root, use su(1) to execute the targets that require root privilege. This is achieved by splitting up the _INSTALL_SEQ target list into _INSTALL_SUSEQ [11]. PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6], 52388 [7], 51609 [11] Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1], Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11], Kimura Fuyuki <fuyuki@hadaly.org> [2], "Scot W. Hetzel" <hetzels@westbend.net> [3], Anton Berezin <tobez@FreeBSD.org> [3], nork [4], hsu [5], Mark Linimon <linimon@lonesome.com> [6], hoek [8], sobomax [9], marcus [10] [11], des [11]
2003-07-06 23:54:33 +00:00
USE_SUBMAKE= yes
.elif exists(${MASTERDIR}/Makefile.${ARCH})
.include "${MASTERDIR}/Makefile.${ARCH}"
* Attempt to detect and disallow installation of a port with PREFIX set to a different value to that with which it was configured and built. This is achieved by recording the PREFIX in the build-stage cookies [1] * Add scheme [2], tcl84 and tk84 [5] as virtual categories * Add the PERL_PORT variable and use it to register the dependency on the correct perl port when PERL_LEVEL is set [3] * Add support for USE_AUTOHEADER [4] * Fix 'make maintainer' when MAINTAINER is set to a bogus value (not in user@example.com format). [6] * Add a 'package-recursive' target to create packages for a port and all of its dependencies [7] * Fix command-line overflow errors in 'make readmes' on certain ports, with the bonus of providing a measurable speed-up to readme generation [8] * Fix inclusion of alternative makefiles such as Makefile.inc, Makefile.local, etc. (broken since 1.403) [9] * Reintroduce support for install/deinstall targets checking for older versions of the port, and re-add the deinstall-all target that removes all existing installations of a port (originally introduced in 1.446 and backed out in 1.450). This patch has been reworked to eliminate the corner cases in the previous code. Ports that dynamically generate their ${PLIST} at install-time must now do so before the do-install target is run, e.g. in pre-install. [10] * When installing ports as non-root, use su(1) to execute the targets that require root privilege. This is achieved by splitting up the _INSTALL_SEQ target list into _INSTALL_SUSEQ [11]. PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6], 52388 [7], 51609 [11] Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1], Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11], Kimura Fuyuki <fuyuki@hadaly.org> [2], "Scot W. Hetzel" <hetzels@westbend.net> [3], Anton Berezin <tobez@FreeBSD.org> [3], nork [4], hsu [5], Mark Linimon <linimon@lonesome.com> [6], hoek [8], sobomax [9], marcus [10] [11], des [11]
2003-07-06 23:54:33 +00:00
USE_SUBMAKE= yes
.endif
.if exists(${MASTERDIR}/Makefile.local)
.include "${MASTERDIR}/Makefile.local"
* Attempt to detect and disallow installation of a port with PREFIX set to a different value to that with which it was configured and built. This is achieved by recording the PREFIX in the build-stage cookies [1] * Add scheme [2], tcl84 and tk84 [5] as virtual categories * Add the PERL_PORT variable and use it to register the dependency on the correct perl port when PERL_LEVEL is set [3] * Add support for USE_AUTOHEADER [4] * Fix 'make maintainer' when MAINTAINER is set to a bogus value (not in user@example.com format). [6] * Add a 'package-recursive' target to create packages for a port and all of its dependencies [7] * Fix command-line overflow errors in 'make readmes' on certain ports, with the bonus of providing a measurable speed-up to readme generation [8] * Fix inclusion of alternative makefiles such as Makefile.inc, Makefile.local, etc. (broken since 1.403) [9] * Reintroduce support for install/deinstall targets checking for older versions of the port, and re-add the deinstall-all target that removes all existing installations of a port (originally introduced in 1.446 and backed out in 1.450). This patch has been reworked to eliminate the corner cases in the previous code. Ports that dynamically generate their ${PLIST} at install-time must now do so before the do-install target is run, e.g. in pre-install. [10] * When installing ports as non-root, use su(1) to execute the targets that require root privilege. This is achieved by splitting up the _INSTALL_SEQ target list into _INSTALL_SUSEQ [11]. PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6], 52388 [7], 51609 [11] Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1], Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11], Kimura Fuyuki <fuyuki@hadaly.org> [2], "Scot W. Hetzel" <hetzels@westbend.net> [3], Anton Berezin <tobez@FreeBSD.org> [3], nork [4], hsu [5], Mark Linimon <linimon@lonesome.com> [6], hoek [8], sobomax [9], marcus [10] [11], des [11]
2003-07-06 23:54:33 +00:00
USE_SUBMAKE= yes
.elif ${MASTERDIR} != ${.CURDIR} && exists(${.CURDIR}/Makefile.local)
.include "${.CURDIR}/Makefile.local"
USE_SUBMAKE= yes
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
.endif
.for _CATEGORY in ${CATEGORIES}
PKGCATEGORY?= ${_CATEGORY}
.endfor
_PORTDIRNAME= ${.CURDIR:T}
PORTDIRNAME?= ${_PORTDIRNAME}
PKGORIGIN?= ${PKGCATEGORY}/${PORTDIRNAME}
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
# where 'make config' records user configuration options
PORT_DBDIR?= /var/db/ports
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
UID_FILES?= ${PORTSDIR}/UIDs
GID_FILES?= ${PORTSDIR}/GIDs
UID_OFFSET?= 0
GID_OFFSET?= 0
# predefined accounts from src/etc/master.passwd
# alpha numeric sort order
USERS_BLACKLIST= _dhcp _pflogd auditdistd bin bind daemon games hast kmem mailnull man news nobody operator pop proxy root smmsp sshd toor tty unbound uucp www
# predefined accounts from src/etc/group
# alpha numeric sort order
GROUPS_BLACKLIST= _dhcp _pflogd audit authpf bin bind daemon dialer ftp games guest hast kmem mail mailnull man network news nobody nogroup operator proxy smmsp sshd staff sys tty unbound uucp wheel www
LDCONFIG_DIR= libdata/ldconfig
LDCONFIG32_DIR= libdata/ldconfig32
.endif
# At least KDE needs TMPDIR for the package building,
# so we're setting it to the known default value.
.if defined(PACKAGE_BUILDING)
TMPDIR?= /tmp
.endif # defined(PACKAGE_BUILDING)
.if defined(WITH_DEBUG_PORTS)
.if ${WITH_DEBUG_PORTS:M${PKGORIGIN}}
WITH_DEBUG= yes
.endif
.endif
.include "${PORTSDIR}/Mk/bsd.options.mk"
# Start of pre-makefile section.
.if !defined(AFTERPORTMK) && !defined(INOPTIONSMK)
.if defined(PORTNAME)
.include "${PORTSDIR}/Mk/bsd.sanity.mk"
.endif
_PREMKINCLUDED= yes
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
.if defined(PORTVERSION)
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
.if ${PORTVERSION:M*[-_,]*}x != x
IGNORE= PORTVERSION ${PORTVERSION} may not contain '-' '_' or ','
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
.endif
DISTVERSION?= ${PORTVERSION:S/:/::/g}
.elif defined(DISTVERSION)
PORTVERSION= ${DISTVERSION:tl:C/([a-z])[a-z]+/\1/g:C/([0-9])([a-z])/\1.\2/g:C/:(.)/\1/g:C/[^a-z0-9+]+/./g}
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
.endif
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
The following changes are all Reviewed by: the ports list (1) Add PORTREVISION and PORTEPOCH, which are both optional, to PKGNAME. PKGNAME is now defined as ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}[_${PORTREVISION}][,${PORTEPOCH}] PORTREVISION denotes some FreeBSD internal change to the port that requires the user to upgrade it. A security fix or a shared library version change will be valid reasons to change (or define) PORTREVISION. PORTEPOCH is used to re-sort versions that is screwed up by the author. PORTEPOCH is sorted before all other fields for the purpose of determining which version is newer than the other. Submitted by: kris (2) Add fetch-recursive and fetch-recursive-list. These are like fetch and fetch-list but they also descend into dependencies. While I'm here, clean up some internal target names and comments. Requested by PR: 12548 (2') Fix bug in fetch-list I introduced in rev 1.347. (3) Add new variables LINUXBASE, USE_LINUX and USE_LINUX_PREFIX. LINUXBASE defaults to /compat/linux and will be the default PREFIX if USE_LINUX_PREFIX is defined. USE_LINUX, which is also implied by USE_LINUX_PREFIX, will add a runtime dependency to the emulators/linux_base port. Approved by: marcel (4) Include bsd.python.mk when USE_PYTHON and PYTHON_VERSION are defined. Submitted by: tg (5a) Change USE_FREETYPE to always depend on print/freetype -- it turns out that XFree86-4-libraries only used freetype internally and didn't install the libraries nor headers. Submitted by: Taguchi-san (XFree86-4-* maintainer) (5b) Change USE_MESA to lib-depend on GLU.1:graphics/Mesa3 when XFREE86_VERSION=4. The Mesa port has been changed to only install components missing from the XFree86 distribution when XF8V=4. Submitted by: sobomax (5c) New variable XFREE86_HTML_MAN, which defaults to "no" when XF8V=3 or USE_IMAKE is not defined, and "yes" when XF8V=4 and USE_IMAKE is defined. When this variable's value is "yes", generate-plist will add html-ified manpages to the generated PLIST. Approved by: Taguchi-san (6) Allow user to override MD5_FILE. Requested by: many (7) Small message change: "...doesn't seem to exist on this system" -> "... to exist in ${_DISTDIR}". Requested by: some mail in the mailing lists...can't remember which ;)
2000-09-09 13:21:14 +00:00
PORTREVISION?= 0
.if ${PORTREVISION} != 0
_SUF1= _${PORTREVISION}
.endif
PORTEPOCH?= 0
.if ${PORTEPOCH} != 0
_SUF2= ,${PORTEPOCH}
.endif
PKGVERSION= ${PORTVERSION:C/[-_,]/./g}${_SUF1}${_SUF2}
PKGNAME= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PKGVERSION}
DISTVERSIONFULL= ${DISTVERSIONPREFIX}${DISTVERSION:C/:(.)/\1/g}${DISTVERSIONSUFFIX}
.if defined(USE_GITHUB) && empty(MASTER_SITES:MGHC) && empty(DISTNAME) && empty(USE_GITHUB:Mnodefault)
_GITHUB_MUST_SET_DISTNAME= yes
.else
DISTNAME?= ${PORTNAME}-${DISTVERSIONFULL}
.endif
INDEXFILE?= INDEX-${OSVERSION:C/([0-9]*)[0-9]{5}/\1/}
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
DOCSDIR?= ${PREFIX}/share/doc/${PORTNAME}
EXAMPLESDIR?= ${PREFIX}/share/examples/${PORTNAME}
DATADIR?= ${PREFIX}/share/${PORTNAME}
WWWDIR?= ${PREFIX}/www/${PORTNAME}
ETCDIR?= ${PREFIX}/etc/${PORTNAME}
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
.if defined(USE_LINUX_RPM)
.include "${PORTSDIR}/Mk/bsd.linux-rpm.mk"
.endif
.if defined(USE_LINUX_APPS)
.include "${PORTSDIR}/Mk/bsd.linux-apps.mk"
.endif
.if defined(USE_XORG) || defined(XORG_CAT)
.include "${PORTSDIR}/Mk/bsd.xorg.mk"
.endif
PACKAGES?= ${PORTSDIR}/packages
TEMPLATES?= ${PORTSDIR}/Templates
KEYWORDS?= ${PORTSDIR}/Keywords
PATCHDIR?= ${MASTERDIR}/files
FILESDIR?= ${MASTERDIR}/files
SCRIPTDIR?= ${MASTERDIR}/scripts
PKGDIR?= ${MASTERDIR}
.if defined(USE_LINUX_PREFIX)
PREFIX:= ${LINUXBASE}
The following changes are all Reviewed by: the ports list (1) Add PORTREVISION and PORTEPOCH, which are both optional, to PKGNAME. PKGNAME is now defined as ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}[_${PORTREVISION}][,${PORTEPOCH}] PORTREVISION denotes some FreeBSD internal change to the port that requires the user to upgrade it. A security fix or a shared library version change will be valid reasons to change (or define) PORTREVISION. PORTEPOCH is used to re-sort versions that is screwed up by the author. PORTEPOCH is sorted before all other fields for the purpose of determining which version is newer than the other. Submitted by: kris (2) Add fetch-recursive and fetch-recursive-list. These are like fetch and fetch-list but they also descend into dependencies. While I'm here, clean up some internal target names and comments. Requested by PR: 12548 (2') Fix bug in fetch-list I introduced in rev 1.347. (3) Add new variables LINUXBASE, USE_LINUX and USE_LINUX_PREFIX. LINUXBASE defaults to /compat/linux and will be the default PREFIX if USE_LINUX_PREFIX is defined. USE_LINUX, which is also implied by USE_LINUX_PREFIX, will add a runtime dependency to the emulators/linux_base port. Approved by: marcel (4) Include bsd.python.mk when USE_PYTHON and PYTHON_VERSION are defined. Submitted by: tg (5a) Change USE_FREETYPE to always depend on print/freetype -- it turns out that XFree86-4-libraries only used freetype internally and didn't install the libraries nor headers. Submitted by: Taguchi-san (XFree86-4-* maintainer) (5b) Change USE_MESA to lib-depend on GLU.1:graphics/Mesa3 when XFREE86_VERSION=4. The Mesa port has been changed to only install components missing from the XFree86 distribution when XF8V=4. Submitted by: sobomax (5c) New variable XFREE86_HTML_MAN, which defaults to "no" when XF8V=3 or USE_IMAKE is not defined, and "yes" when XF8V=4 and USE_IMAKE is defined. When this variable's value is "yes", generate-plist will add html-ified manpages to the generated PLIST. Approved by: Taguchi-san (6) Allow user to override MD5_FILE. Requested by: many (7) Small message change: "...doesn't seem to exist on this system" -> "... to exist in ${_DISTDIR}". Requested by: some mail in the mailing lists...can't remember which ;)
2000-09-09 13:21:14 +00:00
NO_MTREE= yes
.else
PREFIX?= ${LOCALBASE}
.endif
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
.if defined(USE_LINUX_PREFIX)
LDCONFIG_CMD?= ${LINUXBASE}/sbin/ldconfig -r ${LINUXBASE}
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
.endif
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
PKGCOMPATDIR?= ${LOCALBASE}/lib/compat/pkg
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
.if defined(USE_LOCAL_MK)
.include "${PORTSDIR}/Mk/bsd.local.mk"
.endif
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
.if defined(USE_OPENSSL)
.include "${PORTSDIR}/Mk/bsd.openssl.mk"
.endif
.if defined(USE_EMACS)
(1) New directive USE_AUTOMAKE and AUTOMAKE variable for automake support. Implies USE_AUTOCONF. Submitted by: kiri@pis.toba-cmt.ac.jp Reviewed by: ports (2) New variable CONFIGURE_WRKSRC (default: ${WRKSRC}) to be set when ${CONFIGURE_SCRIPT} needs to be run in some place other than ${WRKSRC}. Submitted by: Mario Ferreira <lioux@uol.com.br> Reviewed by: ports (3) Slight change in message about the port being too old for bsd.port.mk due to missing PORTNAME/PORTVERSION. Explicitly say that the user needs to update the port (although I'm not sure how anyone can interpret the old message otherwise ;). (4) Use NO_CHECKSUM instead of the undocumented FORCE_FETCH to override the "distfile missing from files/md5" check. Also change the NO_CHECKSUM message a bit more forceful ("If you are absolutely sure..."). Submitted by: mharo (5) Refer to the OpenSSL section in handbook by name, not number. Approved by: Kris PR: 17524 (6) New file bsd.emacs.mk that will be automatically be included if EMACS_PORT_NAME is defined. bsd.emacs.mk sets various variables to make maintenance of emacs ports easy. Submitted by: shige Reviewed (in spirit) by: ports, ports-jp (7) Remove the automatic creation of ${PREFIX}/info/dir from /usr/share/info/dir (install-info from 3.1R onwards automatically creates the dir file if none exists). Delete ${PREFIX}/info/dir upon deinstallation if it doesn't have any menu entries. Reviewed by: ports (8) Two new targets mtree-file and prefix. They print ${MTREE_FILE} (empty if NO_MTREE is set) and ${PREFIX}, respectively. They are used by package building scripts. (9) Don't register package dependency in +REQUIRED_BY for PKG_IGNORE_DEPENDS ports. Otherwise you'll end up with bogus entries since "pkg_delete oneko" won't delete oneko from XFree86/+REQUIRED_BY, etc. Found by: bento
2000-05-06 10:45:35 +00:00
.include "${PORTSDIR}/Mk/bsd.emacs.mk"
.endif
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
.if defined(USE_PHP)
.include "${PORTSDIR}/Mk/bsd.php.mk"
.endif
.if defined(USE_FPC) || defined(WANT_FPC_BASE) || defined(WANT_FPC_ALL)
.include "${PORTSDIR}/Mk/bsd.fpc.mk"
.endif
.if defined(USE_JAVA)
.include "${PORTSDIR}/Mk/bsd.java.mk"
.endif
.if defined(USE_RUBY) || defined(USE_LIBRUBY)
.include "${PORTSDIR}/Mk/bsd.ruby.mk"
.endif
.if defined(USE_OCAML)
.include "${PORTSDIR}/Mk/bsd.ocaml.mk"
.endif
.if defined(USE_APACHE) || defined(USE_APACHE_BUILD) || defined(USE_APACHE_RUN)
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
.include "${PORTSDIR}/Mk/bsd.apache.mk"
.endif
.if defined(USE_QT4) || defined(USE_QT5)
.include "${PORTSDIR}/Mk/bsd.qt.mk"
.endif
.if defined(USE_TEX)
.include "${PORTSDIR}/Mk/bsd.tex.mk"
.endif
.if defined(USE_GECKO)
First all, ahze did most of work. Thanks ahze! Last week or so, I am just merely pick up and help him. Thanks to many testers in both private and mailing list emails for report a few of build and dependencies problems. Also, thanks to marcus and Chess Griffin for test in their tinderboxes. x11/pixman: Update to 0.10.0 ------------------------------------------------------- Firefox 3 needs it. Orignal, the shared library was bumped and ahze has added a new feature in our USE_GNOME=ltverhack by can control the number of shared library. To control the number of shared library, add the ltverhack:N. Right now pixman has USE_GNOME=ltverhack:9 to make it stays same at libpixman-1.so.9. If anyone want to use ltverhack:N in one of your port, you need to make sure the ABI doesn't change to use it.. ------------------------------------------------------- graphics/cairo: Update to 1.6.4 ------------------------------------------------------- Firefox 3 needs it. We have updated most cairo binding ports too. ------------------------------------------------------- graphics/poppler: Update to 0.8.3 ------------------------------------------------------- The shared libraries version have been changed. All ports that depend on poppler have PORTREVISION bump. The graphics/py-poppler has been updated to 0.8.1 to work with newer poppler better. As for the poppler-qt, there is no shared library version change. ------------------------------------------------------- www/firefox3 and gecko ports related: Update to 3.0 final ------------------------------------------------------- The bsd.gecko.mk has been moved from www/mozilla/ to Mk/. You no longer need to include bsd.gecko.mk/Makefile.common by manual. We are keeping it in backward compatibility, so the rest ports won't be break. We haven't add some other ports to have Firefox 3 support yet, so feel free to send us patch or commit it by yourself (to committers). However, view in bsd.gecko.mk for document. ------------------------------------------------------- Approved by: portmgr (marcus)
2008-06-30 20:16:22 +00:00
.include "${PORTSDIR}/Mk/bsd.gecko.mk"
.endif
.if defined(WANT_GNOME) || defined(USE_GNOME) || defined(INSTALLS_ICONS)
USES+= gnome
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
.endif
.if defined(USE_MATE)
USES+= mate
.endif
.if defined(USE_BDB)
USES+=bdb:${USE_BDB}
.endif
.if defined(USE_MYSQL)
USE_MYSQL:= ${USE_MYSQL:N[yY][eE][sS]:Nclient}
.if defined(WANT_MYSQL_VER)
.if empty(USE_MYSQL)
USE_MYSQL:=${WANT_MYSQL_VER}
.else
USE_MYSQL:=${USE_MYSQL},${WANT_MYSQL_VER}
.endif
.endif
USES+=mysql:${USE_MYSQL}
.endif
.if defined(WANT_WX) || defined(USE_WX) || defined(USE_WX_NOT)
.include "${PORTSDIR}/Mk/bsd.wx.mk"
.endif
.if defined(WANT_GSTREAMER) || defined(USE_GSTREAMER) || defined(USE_GSTREAMER1)
.include "${PORTSDIR}/Mk/bsd.gstreamer.mk"
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
.endif
.if defined(USE_SDL)
.include "${PORTSDIR}/Mk/bsd.sdl.mk"
.endif
.if defined(USE_KDE4) || defined(KDE4_BUILDENV)
.include "${PORTSDIR}/Mk/bsd.kde4.mk"
.endif
.if !defined(UID)
UID!= ${ID} -u
.endif
DESTDIRNAME?= DESTDIR
# setup empty variables for USES targets
.for target in sanity fetch extract patch configure build install test package stage
_USES_${target}?=
.endfor
# Loading features
.for f in ${USES}
_f:= ${f:C/\:.*//}
.if !defined(${_f}_ARGS)
${_f}_ARGS:= ${f:C/^[^\:]*(\:|\$)//:S/,/ /g}
.endif
.endfor
.for f in ${USES}
.include "${USESDIR}/${f:C/\:.*//}.mk"
.endfor
EXTRACT_SUFX?= .tar.gz
# You can force skipping these test by defining IGNORE_PATH_CHECKS
.if !defined(IGNORE_PATH_CHECKS)
.if ! ${PREFIX:M/*}
.BEGIN:
@${ECHO_MSG} "PREFIX must be defined as an absolute path so that when 'make'"
@${ECHO_MSG} "is invoked in the work area PREFIX points to the right place."
@${FALSE}
.endif
.endif
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
# Owner and group of the WWW user
WWWOWN?= www
WWWGRP?= www
# Keep PKGNG_ORIGIN/WITH_PKGNG for compat with scripts which are looking for it
PKG_ORIGIN?= ports-mgmt/pkg
PKGNG_ORIGIN= ${PKG_ORIGIN}
WITH_PKGNG?= yes
WITH_PKG?= ${WITH_PKGNG}
.endif
# End of pre-makefile section.
# Start of post-makefile section.
.if !defined(BEFOREPORTMK) && !defined(INOPTIONSMK)
.if defined(_POSTMKINCLUDED)
2014-01-03 23:18:53 +00:00
DEV_ERROR+= "${PKGNAME}: Makefile error: you cannot include bsd.port[.post].mk twice"
@${FALSE}
.endif
_POSTMKINCLUDED= yes
.if defined(BUNDLE_LIBS)
PKG_NOTES+= no_provide_shlib
PKG_NOTE_no_provide_shlib= yes
.endif
TEST_ARGS?= ${MAKE_ARGS}
TEST_ENV?= ${MAKE_ENV}
PKG_ENV+= PORTSDIR=${PORTSDIR}
CONFIGURE_ENV+= XDG_DATA_HOME=${WRKDIR} \
XDG_CONFIG_HOME=${WRKDIR} \
HOME=${WRKDIR}
MAKE_ENV+= XDG_DATA_HOME=${WRKDIR} \
XDG_CONFIG_HOME=${WRKDIR} \
HOME=${WRKDIR}
# Respect TMPDIR passed via make.conf or similar and pass it down
# to configure and make.
.if defined(TMPDIR)
MAKE_ENV+= TMPDIR="${TMPDIR}"
CONFIGURE_ENV+= TMPDIR="${TMPDIR}"
.endif # defined(TMPDIR)
QA_ENV+= STAGEDIR=${STAGEDIR} \
PREFIX=${PREFIX} \
LINUXBASE=${LINUXBASE} \
LOCALBASE=${LOCALBASE} \
"STRIP=${STRIP}" \
2015-07-19 15:32:35 +00:00
TMPPLIST=${TMPPLIST} \
LDCONFIG_DIR="${LDCONFIG_DIR}" \
PKGORIGIN=${PKGORIGIN} \
LIB_RUN_DEPENDS='${_LIB_RUN_DEPENDS:C,[^:]*:([^:]*):?.*,\1,}' \
2015-07-19 15:32:35 +00:00
PKGBASE=${PKGBASE}
.if !empty(USES:Mdesktop-file-utils)
QA_ENV+= USESDESKTOPFILEUTILS=yes
.endif
.if !empty(USES:Mlibtool*)
QA_ENV+= USESLIBTOOL=yes
.endif
.if !empty(USES:Mshared-mime-info)
QA_ENV+= USESSHAREDMIMEINFO=yes
.endif
.if !empty(USES:Mterminfo)
QA_ENV+= USESTERMINFO=yes
.endif
CO_ENV+= STAGEDIR=${STAGEDIR} \
PREFIX=${PREFIX} \
LOCALBASE=${LOCALBASE} \
WRKDIR=${WRKDIR} \
WRKSRC=${WRKSRC} \
MTREE_FILE=${MTREE_FILE} \
TMPPLIST=${TMPPLIST} \
SCRIPTSDIR=${SCRIPTSDIR} \
PLIST_SUB_SED="${PLIST_SUB_SED}" \
PORT_OPTIONS="${PORT_OPTIONS}" \
PORTSDIR="${PORTSDIR}"
.if defined(X_BUILD_FOR)
BUILD_DEPENDS+= ${X_BUILD_FOR}-cc:devel/${X_BUILD_FOR}-xdev
PKG_ENV+= ABI_FILE=${X_SYSROOT}/usr/lib/crt1.o
MAKE_ENV+= NM=${NM} \
STRIPBIN=${X_BUILD_FOR}-strip \
PKG_CONFIG_SYSROOT_DIR="${X_SYSROOT}"
CONFIGURE_ENV+= PKG_CONFIG_SYSROOT_DIR="${X_SYSROOT}"
.endif
WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work
.if !defined(IGNORE_MASTER_SITE_GITHUB) && defined(USE_GITHUB)
WRKSRC?= ${WRKDIR}/${GH_PROJECT}-${GH_TAGNAME_EXTRACT}
.endif
# If the distname is not extracting into a specific subdirectory, have the
# ports framework force extract into a subdirectory so that metadata files
# do not get in the way of the build, and vice-versa.
.if defined(NO_WRKSUBDIR)
# Some ports have DISTNAME=PORTNAME, and USE_RC_SUBR=PORTNAME, in those case,
# the rc file will conflict with WRKSRC, as WRKSRC is artificial, make it the
# most unlikely to conflict as we can.
WRKSRC?= ${WRKDIR}/${PKGNAME}
EXTRACT_WRKDIR:= ${WRKSRC}
.else
WRKSRC?= ${WRKDIR}/${DISTNAME}
EXTRACT_WRKDIR:= ${WRKDIR}
.endif
.if defined(WRKSRC_SUBDIR)
WRKSRC:= ${WRKSRC}/${WRKSRC_SUBDIR}
.endif
.if defined(CONFIGURE_OUTSOURCE)
CONFIGURE_CMD?= ${WRKSRC}/${CONFIGURE_SCRIPT}
CONFIGURE_WRKSRC?= ${WRKDIR}/.build
BUILD_WRKSRC?= ${CONFIGURE_WRKSRC}
INSTALL_WRKSRC?= ${CONFIGURE_WRKSRC}
TEST_WRKSRC?= ${CONFIGURE_WRKSRC}
.endif
PATCH_WRKSRC?= ${WRKSRC}
CONFIGURE_WRKSRC?= ${WRKSRC}
BUILD_WRKSRC?= ${WRKSRC}
INSTALL_WRKSRC?=${WRKSRC}
TEST_WRKSRC?= ${WRKSRC}
PLIST_SUB+= OSREL=${OSREL} PREFIX=%D LOCALBASE=${LOCALBASE} \
RESETPREFIX=${PREFIX}
SUB_LIST+= PREFIX=${PREFIX} LOCALBASE=${LOCALBASE} \
DATADIR=${DATADIR} DOCSDIR=${DOCSDIR} EXAMPLESDIR=${EXAMPLESDIR} \
WWWDIR=${WWWDIR} ETCDIR=${ETCDIR}
# This is used for check-stagedir.sh and check_leftover.sh to replace
# directories/files with PLIST_SUB %%KEYS%%.
# Remove VARS that are too generic
# Remove empty values
# Remove @comment values
# Remove quotes
# Replace . with \. for later sed(1) usage
PLIST_SUB_SED_MIN?= 2
PLIST_SUB_SED?= ${PLIST_SUB:C/.*=.{1,${PLIST_SUB_SED_MIN}}$//g:NEXTRACT_SUFX=*:NOSREL=*:NLIB32DIR=*:NPREFIX=*:NLOCALBASE=*:NRESETPREFIX=*:N*="":N*="@comment*:C/([^=]*)="?([^"]*)"?/s!\2!%%\1%%!g;/g:C/\./\\./g}
# kludge to strip trailing whitespace from CFLAGS;
# sub-configure will not # survive double space
CFLAGS:= ${CFLAGS:C/ $//}
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
.if defined(WITHOUT_CPU_CFLAGS)
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
.if defined(_CPUCFLAGS)
.if !empty(_CPUCFLAGS)
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
CFLAGS:= ${CFLAGS:C/${_CPUCFLAGS}//}
.endif
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
.endif
.endif
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
2014-03-28 11:04:54 +00:00
# Reset value from bsd.own.mk.
.if defined(WITH_DEBUG) && !defined(WITHOUT_DEBUG)
.if !defined(INSTALL_STRIPPED)
2014-03-28 11:04:54 +00:00
STRIP= #none
MAKE_ENV+= DONTSTRIP=yes
STRIP_CMD= ${TRUE}
.endif
DEBUG_FLAGS?= -g
CFLAGS:= ${CFLAGS:N-O*:N-fno-strict*} ${DEBUG_FLAGS}
.if defined(INSTALL_TARGET)
INSTALL_TARGET:= ${INSTALL_TARGET:S/^install-strip$/install/g}
.endif
.endif
.if !defined(WITHOUT_SSP)
.include "${PORTSDIR}/Mk/bsd.ssp.mk"
.endif
# XXX PIE support to be added here
MAKE_ENV+= NO_PIE=yes
# We prefer to pass MK_*=no but it was only supported after a certain
# revision. Passing WITHOUT_* may conflict with a make.conf or src.conf's
# WITH_* value. Note that ports *do* pull in src.conf.
.if (${OSVERSION} >= 903510 && ${OSVERSION} < 1000000) || \
(${OSVERSION} >= 1003503 && ${OSVERSION} < 1100000) || \
${OSVERSION} >= 1100000
# We will control debug files. Don't let builds that use /usr/share/mk
# split out debug symbols since the plist won't know to expect it.
MAKE_ENV+= MK_DEBUG_FILES=no
MAKE_ENV+= MK_KERNEL_SYMBOLS=no
.else
MAKE_ENV+= WITHOUT_DEBUG_FILES=yes
MAKE_ENV+= WITHOUT_KERNEL_SYMBOLS=yes
.endif
.if defined(NOPORTDOCS)
PLIST_SUB+= PORTDOCS="@comment "
.else
PLIST_SUB+= PORTDOCS=""
.endif
.if defined(NOPORTEXAMPLES)
PLIST_SUB+= PORTEXAMPLES="@comment "
.else
PLIST_SUB+= PORTEXAMPLES=""
.endif
* Some spelling/grammar fixes in comments * Replace some bare uses of cat with ${CAT} * [ports/19112] Ignore RCS files (*,v) when applying patches * [ports/19270] Check whether ${DISTDIR} is writable and fail with a better error message if not (mostly caused by trying to fetch as the wrong user) * [ports/23560] Force patch backup files to be created with .orig suffix * [ports/34717] Don't enclose PTHREAD_LIBS in quotes, because it will cause problems if used in an already-quoted string. * [ports/34987] Fix an awk warning in MASTER_SORT/MASTER_SORT_REGEX code * [misc/38724] Change some uses of the deprecated test -h to test -L * [1] Registering real dependencies: dependency registration looks at the currently-installed version of the dependency and registers that version, instead of registering the version in ports which may be newer than what is installed. * [2] Further 100% speed-up of dependency registration process by eliminating second call to package-depends (using information from the first call stored in +CONTENTS file of package being installed). Very useful for developing GNOME or similar packages with zillion dependencies, when package-depends target could take few minutes to complete; * [2] Proper set-up of ${SHELL} variable in build environment, so that user's interactive shell isn't picked instead. This has various implications, ranging from build process speed-up due to using /bin/sh to invoke libtool instead of bash or any other much more bloated user's shell (configure scripts often pick it up from the ${SHELL} environment), to fixing problems some users have when building random ports. Submitted by: sobomax [1] [2], Aleksandr A. Babaylov <.@babolo.ru> [ports/19112], Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> [ports/19270], Alan Bawden <Alan@LCS.MIT.EDU> [ports/23560], Christian Weisgerber <naddy@mips.inka.de> [ports/34717], knu [ports/34987], april <april@oublinet.net> [ports/38724] PR: ports/19112, ports/19270, ports/23560, ports/34717, ports/34987, ports/36237, ports/38724 Tested on: bento 4-exp build
2002-09-19 00:16:39 +00:00
CONFIGURE_SHELL?= ${SH}
MAKE_SHELL?= ${SH}
CONFIGURE_ENV+= SHELL=${CONFIGURE_SHELL} CONFIG_SHELL=${CONFIGURE_SHELL}
MAKE_ENV+= SHELL=${MAKE_SHELL} NO_LINT=YES
2015-06-22 22:22:59 +00:00
.if defined(PATCHFILES) && ${PATCHFILES:M*.zip}
PATCH_DEPENDS+= ${LOCALBASE}/bin/unzip:archivers/unzip
.endif
# Check the compatibility layer for amd64/ia64
.if ${ARCH} == "amd64" || ${ARCH} =="ia64"
.if exists(/usr/lib32)
2011-09-04 17:35:07 +00:00
HAVE_COMPAT_IA32_LIBS?= YES
.endif
.if !defined(HAVE_COMPAT_IA32_KERN)
HAVE_COMPAT_IA32_KERN!= if ${SYSCTL} -n compat.ia32.maxvmem >/dev/null 2>&1; then echo YES; fi; echo
.if empty(HAVE_COMPAT_IA32_KERN)
.undef HAVE_COMPAT_IA32_KERN
.endif
.endif
.endif
_EXPORTED_VARS+= HAVE_COMPAT_IA32_KERN
.if defined(IA32_BINARY_PORT) && ${ARCH} != "i386"
.if ${ARCH} == "amd64" || ${ARCH} == "ia64"
.if !defined(HAVE_COMPAT_IA32_KERN)
IGNORE= requires a kernel with compiled-in IA32 compatibility
.elif !defined(HAVE_COMPAT_IA32_LIBS)
IGNORE= requires 32-bit libraries installed under /usr/lib32
.endif
_LDCONFIG_FLAGS=-32
LIB32DIR= lib32
.else
IGNORE= requires i386 (or compatible) platform to run
.endif
.else
LIB32DIR= lib
.endif
PLIST_SUB+= LIB32DIR=${LIB32DIR}
.if ${WITH_PKG} == devel
PKG_ORIGIN= ports-mgmt/pkg-devel
.endif
.if !defined(PKG_DEPENDS) && !defined(CLEAN_FETCH_ENV)
PKG_DEPENDS+= ${LOCALBASE}/sbin/pkg:${PKG_ORIGIN}
.endif
.if defined(USE_GCC)
* Change bento to pointyhat names in comments. [1] * Document DISABLE_VULNERABILITIES variable. [2] * Add WWW: line for 'search' target. [3] * Speedup check-vulnerable invokation, if portaudit is installed. [4] * Run install-info for all .info files. [5] * Run add-plist-docs more strictly and prevent some situations with leftover files in the future. [6] * Introduce two new variables: MASTER_PORT and SLAVE_PORT. The results from these variables is only used as information for users. [7] * Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8] * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc' target allows users to check gcc version if USE_GCC is used. Give maintainers opportunity to add '+' character to USE_GCC version for using specified and higher versions. [9] * Install startup scripts with the help of USE_RC_SUBR variable. [10] * Add three new targets: config-recursive, rmconfig-recursive and config-conditional. You can set or delete OPTIONS for all dependencies before every build. config-conditional target is used to skip configuring ports which have already been configured. [11] * Fix using of WANT_PGSQL_VER variable if postgresql is already installed. [12] PR: ports/75768 [1], ports/75728 [2], ports/76187 [3], ports/76191 [4], ports/76182 [5], ports/75379 [6], ports/75286 [7], ports/75727 [8], ports/76489 [9], ports/73691 ports/69217 [10], ports/76254 [11], ports/76988 [12] Submitted by: dinoex [1], edwin [2] [5] [6] [8] [9] [10], Marcus Grando <marcus@corp.grupos.com.br> [3], tobez and Valentin Nechayev <netch@netch.kiev.ua> [4], linimon [7], Florent Thoumie <flz@xbsd.org> [10], Chris Dillon <cdillon@wolves.k12.mo.us> [11], girgen [12]
2005-02-07 11:17:50 +00:00
.include "${PORTSDIR}/Mk/bsd.gcc.mk"
- Allow processing of info files in non-standard locations; the INFO_PATH variable may be used to specify their location. It defaults to 'share/info' for the standard PREFIX, and 'info' when PREFIX == /usr. [1] - Remove the <category>/pkg/COMMENT files in favour of a COMMENT variable in <category>/Makefile [2] - Prevent patch breakage with VERSION_CONTROL=numbered [3] - Fix some instances of incorrect WRKDIRPREFIX handling. [4] - remove useless ${MKDIR} ${WRKSRC} in config target [5] - remove reference to OpenBSD [6] - Exempt devel/p5-Module-Build from the self-dependency in PERL_MODBUILD so that this port may use the option without getting an infinite dependency list [7] - The default PERL_ARCH is currently determined as a function of OSVERSION. It should however be a function of PERL_LEVEL since the correct value depends on what Perl version one has installed (older Perl versions use ${ARCH}-freebsd, newer versions use mach). [8] - Fix PORTDOCS on older (4.7, 5.0) systems [9] - Allow 'make parallel' to generate a working makefile when not all categories are present (this does not mean you'll be able to build all ports, unless you make sure they don't have external dependencies) [10] - Don't report symlinks as world-writable in the security check [11] - Fix a comment that was broken by a mismerged patch [12] - Clarify the meaning of USE_*, WANT_*, WITH_* and WITHOUT_* [13] - Don't set _CHKSUMFILES/_IGNOREFILES if CKSUMFILES/IGNOREFILES is empty and DIST_SUBDIR is set. [14] - Fix comment for DISTDIR [15] - Update the documentation of the USE_GL variable [16] - Check to see if NONEXISTENT exists, and fail with an error if it does [17] - Fix fetching of new distfiles in 'make makesum' when SIZE is set [18] - Consistently set MAKE_ENV when USE_GCC=3.2 or 3.3 are set [19] - Rework INDEX builds: [20] * Fix the bsd.port.subdir.mk code that is supposed to report index breakage (the fallback code wasn't actually being run because make would halt immediately following the error). This should help with INDEX error reports because it will immediately show the cause of failure, so we won't have to pull teeth to extract it from the submitter. * Streamline the 'make describe' code a bit. * Provide some basic instructions to the user when an index build fails, on when and how to report index build failures (turn this off with INDEX_QUIET=1) * Removed INDEX_NOSORT, because I couldn't imagine it to be very useful and it doesn't cost very much anyway. * Don't prevent INDEX builds from seeing the local host environment. Since a lot of users are using 'make index' thesedays they should get an index that reflects their local settings and installed ports. If you want to build a 'default' index that isn't influenced by local settings (e.g. for release builds), set the INDEX_PRISTINE variable. * Allows parallel INDEX builds (using make -j). The most obvious way of doing this doesn't work, because I/O from child makes is broken up into 2k chunks, and output lines from 'make describe' that exceed this length (*cough* GNOME *cough*) will be intertwined with the output of other makes, leading to a corrupted INDEX. The I/O interleaving can be disabled using 'make -P', but this inserts extraneous output of its own, and redirects stderr, making it useless for our purposes. Instead, I collect the output from the child make processes in temporary files and recombine them at the end. * The number of concurrent make processes to spawn can be set using INDEX_JOBS. By default this is set to 2, which seems to be a sweet spot for both single and dual-processor systems. On my tests I do not see any significant performance changes on UP, but on a dual 4.x system the build time drops by 47% (6 minute index builds on one test machine!). Depending on your disk and CPU hardware you might see further gains with INDEX_JOBS=4 or higher, so you might like to experiment to see what works best. On a dual 5.x system the performance gains do not seem to be as great (20-30%), but this is still a significant net win. PR: 55493 [1], 59651 [2], 61552 [3], 62247 [4], 62329 [5], 62337 [6], 62422 [7], 62441 [8], 62627 [9], 62983 [10], 63112 [11], 63297 [12], 63335 [13], 64029 [14], 64069 [15], 64236 [16], 64519 [17], 62958 [18], 64237 [19] Submitted by: lev [1], Matthew Seaman <m.seaman@infracaninophile.co.uk> [2], Joel Ray Holveck <joelh@piquan.org> [3], ade [4], Sergey Matveychuk <sem@ciam.ru> [5], markus [6], mat [7], des [8], eik [9], Dmitry Morozovsky <marck@rinet.ru> [10], Andrew <andrew@ugh.net.au> [11], vs [12], linimon [13], edwin [14][15], gerald [16], marcus[17][18], kris [19][20]
2004-04-02 07:25:23 +00:00
.endif
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
.if defined(USE_BINUTILS) && !defined(DISABLE_BINUTILS)
BUILD_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils
BINUTILS?= ADDR2LINE AR AS CPPFILT GPROF LD NM OBJCOPY OBJDUMP RANLIB \
READELF SIZE STRINGS
BINUTILS_NO_MAKE_ENV?=
. for b in ${BINUTILS}
${b}= ${LOCALBASE}/bin/${b:C/PP/++/:tl}
. if defined(GNU_CONFIGURE) || defined(BINUTILS_CONFIGURE)
CONFIGURE_ENV+= ${b}="${${b}}"
. endif
. if ${BINUTILS_NO_MAKE_ENV:M${b}} == ""
MAKE_ENV+= ${b}="${${b}}"
. endif
. endfor
.endif
.if defined(USE_OPENLDAP) || defined(WANT_OPENLDAP_VER)
.include "${PORTSDIR}/Mk/bsd.ldap.mk"
.endif
1998-08-12 01:47:47 +00:00
.if defined(USE_RC_SUBR)
* Change bento to pointyhat names in comments. [1] * Document DISABLE_VULNERABILITIES variable. [2] * Add WWW: line for 'search' target. [3] * Speedup check-vulnerable invokation, if portaudit is installed. [4] * Run install-info for all .info files. [5] * Run add-plist-docs more strictly and prevent some situations with leftover files in the future. [6] * Introduce two new variables: MASTER_PORT and SLAVE_PORT. The results from these variables is only used as information for users. [7] * Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8] * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc' target allows users to check gcc version if USE_GCC is used. Give maintainers opportunity to add '+' character to USE_GCC version for using specified and higher versions. [9] * Install startup scripts with the help of USE_RC_SUBR variable. [10] * Add three new targets: config-recursive, rmconfig-recursive and config-conditional. You can set or delete OPTIONS for all dependencies before every build. config-conditional target is used to skip configuring ports which have already been configured. [11] * Fix using of WANT_PGSQL_VER variable if postgresql is already installed. [12] PR: ports/75768 [1], ports/75728 [2], ports/76187 [3], ports/76191 [4], ports/76182 [5], ports/75379 [6], ports/75286 [7], ports/75727 [8], ports/76489 [9], ports/73691 ports/69217 [10], ports/76254 [11], ports/76988 [12] Submitted by: dinoex [1], edwin [2] [5] [6] [8] [9] [10], Marcus Grando <marcus@corp.grupos.com.br> [3], tobez and Valentin Nechayev <netch@netch.kiev.ua> [4], linimon [7], Florent Thoumie <flz@xbsd.org> [10], Chris Dillon <cdillon@wolves.k12.mo.us> [11], girgen [12]
2005-02-07 11:17:50 +00:00
SUB_FILES+= ${USE_RC_SUBR}
.endif
.if defined(USE_RCORDER)
SUB_FILES+= ${USE_RCORDER}
.endif
.if defined(USE_LDCONFIG) && ${USE_LDCONFIG:tl} == "yes"
USE_LDCONFIG= ${PREFIX}/lib
.endif
.if defined(USE_LDCONFIG32) && ${USE_LDCONFIG32:tl} == "yes"
IGNORE= has USE_LDCONFIG32 set to yes, which is not correct
.endif
.if defined(USE_LINUX_PREFIX) && defined(USE_LDCONFIG)
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
# we need ${LINUXBASE}/sbin/ldconfig
USE_LINUX?= yes
.endif
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
.if defined(USE_LINUX)
Mega-patch to cleanup the ports infrastructure regarding our linux bits: - USE_LINUX now implies NO_FILTER_SHLIBS=yes. It also doesn't use FreeBSD tools to strip binaries anymore, so it's not neccesary anymore to override STRIP and STRIP_CMD. - USE_LINUX_PREFIX implies NO_MTREE now. - In the USE_LINUX case, USE_XLIB now depends upon the linux X11 libraries instead upon the native FreeBSD libraries. - The variable LINUX_BASE_PORT contains a string which is suitable as an item in *_DEPENDS, so if a port BATCH_DEPENDS or FETCH_DEPENDS upon the default (or overriden) linux base, ${LINUX_BASE_PORT} should be used instead of a hardcoded reference. - Change all ports to comply to the "new world order". - The Ports Collection now allows to override the default linux_base port. Specify e.g. OVERRIDE_LINUX_BASE_PORT=rh-9 in /etc/make.conf to use ${PORTSDIR}/emulators/linux_base-rh-9 (the logic is to use ${PORTSDIR}/emulators/linux_base-${OVERRIDE_LINUX_BASE_PORT}). - If USE_LINUX or OVERRIDE_LINUX_BASE doesn't point to an existing linux_base port and if USE_LINUX isn't set to "yes" (case insensitive), the port will be marked as IGNORE. [1] - Readd USE_LINUX knobs into several ports and make several uses of a conditional dependency ("USE_LINUX?=") into an unconditional one ("USE_LINUX=") which where removed/changed by Trevor to allow the use of alternative linux_base ports. While this is a nice goal, the implementation resulted in missing dependencies. The OVERRIDE_LINUX_BASE_PORT knob in this commit is supposed to fix the problem while keeping the feature. Basicaly this includes a backout of Trevor's commit, to prevent confusion I mention it here explicitely. - Use the correct prefix (X11- instead of LOCAL- or LINUX-) for some ports. Chase dependencies for this. - Changes to make linux_devtools installable on amd64, remove some stray device nodes (they don't work on recent OS versions and aren't really needed). - Make linux_base-8 PREFIX clean and remove some stray device nodes. Additionally tell a little bit more about how to setup NIS/YP [2]. - Update the PGSQL dependency in the linux-opengroupware port to a recent version (the old one isn't available anymore), I don't know if this works (at least it isn't more broken than before). - Use PREFIX/usr/share/doc instead of PREFIX/usr/doc in the divx4linux ports, the former path exists already and gets populated by other packages too (PREFIX=LINUXPREFIX!). - Fix some obvious (non-linuxolator) bugs in some linux ports while being there. - Bump PORTREVISION where neccesary. Requested by: portmgr (linimon) [1] Submittted by: Gerrit Kuehn <gerrit_huehn@gruft.fido.de [2] Approved by: portmgr (kris, linimon), maintainers (or maintainer timeout) Tested on: ports cluster (kris) Reviewed by: silence on emulation@ Superseedes PR: 69997 Maintainer approval from: chris@chrisburkert.de cracauer@cons.org des girgen jamie@bishopston.net mezz mi nivit@users.sf.net pat simond@irrelevant.org riggs@rrr.de Udo.Schweigert@Siemens.com
2005-06-17 22:59:29 +00:00
. if !defined(LINUX_OSRELEASE)
LINUX_OSRELEASE!= ${ECHO_CMD} `${SYSCTL} -n compat.linux.osrelease 2>/dev/null`
. endif
_EXPORTED_VARS+= LINUX_OSRELEASE
Mega-patch to cleanup the ports infrastructure regarding our linux bits: - USE_LINUX now implies NO_FILTER_SHLIBS=yes. It also doesn't use FreeBSD tools to strip binaries anymore, so it's not neccesary anymore to override STRIP and STRIP_CMD. - USE_LINUX_PREFIX implies NO_MTREE now. - In the USE_LINUX case, USE_XLIB now depends upon the linux X11 libraries instead upon the native FreeBSD libraries. - The variable LINUX_BASE_PORT contains a string which is suitable as an item in *_DEPENDS, so if a port BATCH_DEPENDS or FETCH_DEPENDS upon the default (or overriden) linux base, ${LINUX_BASE_PORT} should be used instead of a hardcoded reference. - Change all ports to comply to the "new world order". - The Ports Collection now allows to override the default linux_base port. Specify e.g. OVERRIDE_LINUX_BASE_PORT=rh-9 in /etc/make.conf to use ${PORTSDIR}/emulators/linux_base-rh-9 (the logic is to use ${PORTSDIR}/emulators/linux_base-${OVERRIDE_LINUX_BASE_PORT}). - If USE_LINUX or OVERRIDE_LINUX_BASE doesn't point to an existing linux_base port and if USE_LINUX isn't set to "yes" (case insensitive), the port will be marked as IGNORE. [1] - Readd USE_LINUX knobs into several ports and make several uses of a conditional dependency ("USE_LINUX?=") into an unconditional one ("USE_LINUX=") which where removed/changed by Trevor to allow the use of alternative linux_base ports. While this is a nice goal, the implementation resulted in missing dependencies. The OVERRIDE_LINUX_BASE_PORT knob in this commit is supposed to fix the problem while keeping the feature. Basicaly this includes a backout of Trevor's commit, to prevent confusion I mention it here explicitely. - Use the correct prefix (X11- instead of LOCAL- or LINUX-) for some ports. Chase dependencies for this. - Changes to make linux_devtools installable on amd64, remove some stray device nodes (they don't work on recent OS versions and aren't really needed). - Make linux_base-8 PREFIX clean and remove some stray device nodes. Additionally tell a little bit more about how to setup NIS/YP [2]. - Update the PGSQL dependency in the linux-opengroupware port to a recent version (the old one isn't available anymore), I don't know if this works (at least it isn't more broken than before). - Use PREFIX/usr/share/doc instead of PREFIX/usr/doc in the divx4linux ports, the former path exists already and gets populated by other packages too (PREFIX=LINUXPREFIX!). - Fix some obvious (non-linuxolator) bugs in some linux ports while being there. - Bump PORTREVISION where neccesary. Requested by: portmgr (linimon) [1] Submittted by: Gerrit Kuehn <gerrit_huehn@gruft.fido.de [2] Approved by: portmgr (kris, linimon), maintainers (or maintainer timeout) Tested on: ports cluster (kris) Reviewed by: silence on emulation@ Superseedes PR: 69997 Maintainer approval from: chris@chrisburkert.de cracauer@cons.org des girgen jamie@bishopston.net mezz mi nivit@users.sf.net pat simond@irrelevant.org riggs@rrr.de Udo.Schweigert@Siemens.com
2005-06-17 22:59:29 +00:00
# install(1) also does a brandelf on strip, so don't strip with FreeBSD tools.
STRIP=
. if exists(${LINUXBASE}/usr/bin/strip)
STRIP_CMD= ${LINUXBASE}/usr/bin/strip
. else
STRIP_CMD= ${TRUE}
. endif
# Allow the user to specify another linux_base version.
. if defined(OVERRIDE_LINUX_BASE_PORT)
. if ${USE_LINUX:tl} == yes || (${USE_LINUX} == "c6" && ${OVERRIDE_LINUX_BASE_PORT} == "c6_64")
USE_LINUX= ${OVERRIDE_LINUX_BASE_PORT}
Mega-patch to cleanup the ports infrastructure regarding our linux bits: - USE_LINUX now implies NO_FILTER_SHLIBS=yes. It also doesn't use FreeBSD tools to strip binaries anymore, so it's not neccesary anymore to override STRIP and STRIP_CMD. - USE_LINUX_PREFIX implies NO_MTREE now. - In the USE_LINUX case, USE_XLIB now depends upon the linux X11 libraries instead upon the native FreeBSD libraries. - The variable LINUX_BASE_PORT contains a string which is suitable as an item in *_DEPENDS, so if a port BATCH_DEPENDS or FETCH_DEPENDS upon the default (or overriden) linux base, ${LINUX_BASE_PORT} should be used instead of a hardcoded reference. - Change all ports to comply to the "new world order". - The Ports Collection now allows to override the default linux_base port. Specify e.g. OVERRIDE_LINUX_BASE_PORT=rh-9 in /etc/make.conf to use ${PORTSDIR}/emulators/linux_base-rh-9 (the logic is to use ${PORTSDIR}/emulators/linux_base-${OVERRIDE_LINUX_BASE_PORT}). - If USE_LINUX or OVERRIDE_LINUX_BASE doesn't point to an existing linux_base port and if USE_LINUX isn't set to "yes" (case insensitive), the port will be marked as IGNORE. [1] - Readd USE_LINUX knobs into several ports and make several uses of a conditional dependency ("USE_LINUX?=") into an unconditional one ("USE_LINUX=") which where removed/changed by Trevor to allow the use of alternative linux_base ports. While this is a nice goal, the implementation resulted in missing dependencies. The OVERRIDE_LINUX_BASE_PORT knob in this commit is supposed to fix the problem while keeping the feature. Basicaly this includes a backout of Trevor's commit, to prevent confusion I mention it here explicitely. - Use the correct prefix (X11- instead of LOCAL- or LINUX-) for some ports. Chase dependencies for this. - Changes to make linux_devtools installable on amd64, remove some stray device nodes (they don't work on recent OS versions and aren't really needed). - Make linux_base-8 PREFIX clean and remove some stray device nodes. Additionally tell a little bit more about how to setup NIS/YP [2]. - Update the PGSQL dependency in the linux-opengroupware port to a recent version (the old one isn't available anymore), I don't know if this works (at least it isn't more broken than before). - Use PREFIX/usr/share/doc instead of PREFIX/usr/doc in the divx4linux ports, the former path exists already and gets populated by other packages too (PREFIX=LINUXPREFIX!). - Fix some obvious (non-linuxolator) bugs in some linux ports while being there. - Bump PORTREVISION where neccesary. Requested by: portmgr (linimon) [1] Submittted by: Gerrit Kuehn <gerrit_huehn@gruft.fido.de [2] Approved by: portmgr (kris, linimon), maintainers (or maintainer timeout) Tested on: ports cluster (kris) Reviewed by: silence on emulation@ Superseedes PR: 69997 Maintainer approval from: chris@chrisburkert.de cracauer@cons.org des girgen jamie@bishopston.net mezz mi nivit@users.sf.net pat simond@irrelevant.org riggs@rrr.de Udo.Schweigert@Siemens.com
2005-06-17 22:59:29 +00:00
. endif
. endif
# NOTE: when you update the default linux_base version (case "yes"),
# don't forget to update the Handbook!
Say hello to the linux mega patch, it consolidates our linux bits a little bit and allows to proceed to a more recent linux_base from a stable (read as: the major bugs should be ironed out or identified and most linux ports build just fine) source. It also allows to ship 4.11 with a working linuxolator (the EOLed linux_base is marked forbidden because of a security hole). This is a major update, please read UPDATING (and CHANGES if you develop linux ports). Changes: - change the default linux_base from v7 to v8 - add a newer freetype to linux_base-8 for nicer fonts display [1] - don't let cpio use hardlinks in the linux_base-8 port to quiet some warnings in some cases [2] - fix a cut&past error in the linux_base-8 pkg-install script [3] - convert the binary knob "USE_LINUX" to a version specifier, e.g. USE_LINUX=<value> specifies a dependency upon emulators/linux_base-<value>, exceptions are a value of "7" (which does what you want and adds a dependency to linux_base) and any value without a corresponding port in PORTSDIR/emulators/linux_base-<value> (which adds a dependency to the default linux_base) - don't implicitly add USE_LINUX with the USE_LINUX_PREFIX knob, this allows us to use the USE_LINUX_PREFIX knob for linux_base and paves the way for splitting up future linux base ports into individual pieces - remove RESTRICTED from some GPL licensed ports, even when we only distribute binaries, we get them from official linux sites, so anyone can grab them there if he needs to - add a dependency upon the linux X11 bits where necessary (based upon guesswork) - don't use USE_X_PREFIX in some linux ports since it adds a dependency to the FreeBSD X11 libs, as a workaround use PREFIX?= (the clean solution would be to remove the implicit USE_XLIB from USE_X_PREFIX) - bump the portrevision of the linux ports ("better safe than sorry" algorithm) - pass maintainership of the important linux infrastructure to a mailinglist, hijack freebsd-emulation@ for this purpose (if somebody doesn't like this: tell us your bikeshed color at freebsd-emulation@, my color would be "linuxolator@" in case someone cares...) - add a pkg-install script for linux-fontconfig, but don't use it; everything should work without it (the FreeBSD fc-cache program should do all the work), but in case we need it we just need to decomment the pkg-install part in the Makefile - fix some dependencies - fix some bugs - add some static plists - unbreak the ports with dependecies to more than one linux_base This also fixes some ports which are marked BROKEN because of dependencies to v7 and v8 of linux_base at the same time. Known bugs: - the linux-mesa and linux-devtools ports install libGL*.so symlinks - some "minor" plist bugs (e.g. ld.so.{conf,cache} are modified by the linux X11 port, so linx_Base-8 moans at deinstall time) Future work (interested souls should coordinate with freebsd-emulation@): - add some kind of USE_LINUX_X11 knob to streamline the X11 dependencies, or modify the behavior of USE_XLIB in the USE_LINUX case AFAIK trevor has some patches. - make USE_XLIB and USE_X_PREFIX orthogonal to be able to get rid of the PREFIX?= workaround in some linux ports Should be discussed/coordinated on/with x11@. - move the RPM bits from x11-toolkits/linux-gtk/Makefile to PORTSDIR/Mk/ - update to a more recent linux base PR: 69997, 70539 (and maybe others) Discussed with/on: java@, x11@, trevor, portmgr Tested by: mezz, portmgr, pointyhat RPM hunted down by: Joseph Gelinas <scirocco@tasam.com> [1] Requested by: portmgr [2] Submitted by: kris [3] Approved by: portmgr
2004-12-31 18:24:10 +00:00
. if exists(${PORTSDIR}/emulators/linux_base-${USE_LINUX})
LINUX_BASE_PORT= ${LINUXBASE}/bin/sh:emulators/linux_base-${USE_LINUX}
Say hello to the linux mega patch, it consolidates our linux bits a little bit and allows to proceed to a more recent linux_base from a stable (read as: the major bugs should be ironed out or identified and most linux ports build just fine) source. It also allows to ship 4.11 with a working linuxolator (the EOLed linux_base is marked forbidden because of a security hole). This is a major update, please read UPDATING (and CHANGES if you develop linux ports). Changes: - change the default linux_base from v7 to v8 - add a newer freetype to linux_base-8 for nicer fonts display [1] - don't let cpio use hardlinks in the linux_base-8 port to quiet some warnings in some cases [2] - fix a cut&past error in the linux_base-8 pkg-install script [3] - convert the binary knob "USE_LINUX" to a version specifier, e.g. USE_LINUX=<value> specifies a dependency upon emulators/linux_base-<value>, exceptions are a value of "7" (which does what you want and adds a dependency to linux_base) and any value without a corresponding port in PORTSDIR/emulators/linux_base-<value> (which adds a dependency to the default linux_base) - don't implicitly add USE_LINUX with the USE_LINUX_PREFIX knob, this allows us to use the USE_LINUX_PREFIX knob for linux_base and paves the way for splitting up future linux base ports into individual pieces - remove RESTRICTED from some GPL licensed ports, even when we only distribute binaries, we get them from official linux sites, so anyone can grab them there if he needs to - add a dependency upon the linux X11 bits where necessary (based upon guesswork) - don't use USE_X_PREFIX in some linux ports since it adds a dependency to the FreeBSD X11 libs, as a workaround use PREFIX?= (the clean solution would be to remove the implicit USE_XLIB from USE_X_PREFIX) - bump the portrevision of the linux ports ("better safe than sorry" algorithm) - pass maintainership of the important linux infrastructure to a mailinglist, hijack freebsd-emulation@ for this purpose (if somebody doesn't like this: tell us your bikeshed color at freebsd-emulation@, my color would be "linuxolator@" in case someone cares...) - add a pkg-install script for linux-fontconfig, but don't use it; everything should work without it (the FreeBSD fc-cache program should do all the work), but in case we need it we just need to decomment the pkg-install part in the Makefile - fix some dependencies - fix some bugs - add some static plists - unbreak the ports with dependecies to more than one linux_base This also fixes some ports which are marked BROKEN because of dependencies to v7 and v8 of linux_base at the same time. Known bugs: - the linux-mesa and linux-devtools ports install libGL*.so symlinks - some "minor" plist bugs (e.g. ld.so.{conf,cache} are modified by the linux X11 port, so linx_Base-8 moans at deinstall time) Future work (interested souls should coordinate with freebsd-emulation@): - add some kind of USE_LINUX_X11 knob to streamline the X11 dependencies, or modify the behavior of USE_XLIB in the USE_LINUX case AFAIK trevor has some patches. - make USE_XLIB and USE_X_PREFIX orthogonal to be able to get rid of the PREFIX?= workaround in some linux ports Should be discussed/coordinated on/with x11@. - move the RPM bits from x11-toolkits/linux-gtk/Makefile to PORTSDIR/Mk/ - update to a more recent linux base PR: 69997, 70539 (and maybe others) Discussed with/on: java@, x11@, trevor, portmgr Tested by: mezz, portmgr, pointyhat RPM hunted down by: Joseph Gelinas <scirocco@tasam.com> [1] Requested by: portmgr [2] Submitted by: kris [3] Approved by: portmgr
2004-12-31 18:24:10 +00:00
. else
. if ${USE_LINUX:tl} == "yes"
USE_LINUX= c6
LINUX_BASE_PORT= ${LINUXBASE}/etc/redhat-release:emulators/linux_base-c6
. elif ${USE_LINUX} == "c6_64"
LINUX_BASE_PORT= ${LINUXBASE}/etc/redhat-release:emulators/linux_base-c6
. else
IGNORE= cannot be built: there is no emulators/linux_base-${USE_LINUX}, perhaps wrong use of USE_LINUX or OVERRIDE_LINUX_BASE_PORT
Say hello to the linux mega patch, it consolidates our linux bits a little bit and allows to proceed to a more recent linux_base from a stable (read as: the major bugs should be ironed out or identified and most linux ports build just fine) source. It also allows to ship 4.11 with a working linuxolator (the EOLed linux_base is marked forbidden because of a security hole). This is a major update, please read UPDATING (and CHANGES if you develop linux ports). Changes: - change the default linux_base from v7 to v8 - add a newer freetype to linux_base-8 for nicer fonts display [1] - don't let cpio use hardlinks in the linux_base-8 port to quiet some warnings in some cases [2] - fix a cut&past error in the linux_base-8 pkg-install script [3] - convert the binary knob "USE_LINUX" to a version specifier, e.g. USE_LINUX=<value> specifies a dependency upon emulators/linux_base-<value>, exceptions are a value of "7" (which does what you want and adds a dependency to linux_base) and any value without a corresponding port in PORTSDIR/emulators/linux_base-<value> (which adds a dependency to the default linux_base) - don't implicitly add USE_LINUX with the USE_LINUX_PREFIX knob, this allows us to use the USE_LINUX_PREFIX knob for linux_base and paves the way for splitting up future linux base ports into individual pieces - remove RESTRICTED from some GPL licensed ports, even when we only distribute binaries, we get them from official linux sites, so anyone can grab them there if he needs to - add a dependency upon the linux X11 bits where necessary (based upon guesswork) - don't use USE_X_PREFIX in some linux ports since it adds a dependency to the FreeBSD X11 libs, as a workaround use PREFIX?= (the clean solution would be to remove the implicit USE_XLIB from USE_X_PREFIX) - bump the portrevision of the linux ports ("better safe than sorry" algorithm) - pass maintainership of the important linux infrastructure to a mailinglist, hijack freebsd-emulation@ for this purpose (if somebody doesn't like this: tell us your bikeshed color at freebsd-emulation@, my color would be "linuxolator@" in case someone cares...) - add a pkg-install script for linux-fontconfig, but don't use it; everything should work without it (the FreeBSD fc-cache program should do all the work), but in case we need it we just need to decomment the pkg-install part in the Makefile - fix some dependencies - fix some bugs - add some static plists - unbreak the ports with dependecies to more than one linux_base This also fixes some ports which are marked BROKEN because of dependencies to v7 and v8 of linux_base at the same time. Known bugs: - the linux-mesa and linux-devtools ports install libGL*.so symlinks - some "minor" plist bugs (e.g. ld.so.{conf,cache} are modified by the linux X11 port, so linx_Base-8 moans at deinstall time) Future work (interested souls should coordinate with freebsd-emulation@): - add some kind of USE_LINUX_X11 knob to streamline the X11 dependencies, or modify the behavior of USE_XLIB in the USE_LINUX case AFAIK trevor has some patches. - make USE_XLIB and USE_X_PREFIX orthogonal to be able to get rid of the PREFIX?= workaround in some linux ports Should be discussed/coordinated on/with x11@. - move the RPM bits from x11-toolkits/linux-gtk/Makefile to PORTSDIR/Mk/ - update to a more recent linux base PR: 69997, 70539 (and maybe others) Discussed with/on: java@, x11@, trevor, portmgr Tested by: mezz, portmgr, pointyhat RPM hunted down by: Joseph Gelinas <scirocco@tasam.com> [1] Requested by: portmgr [2] Submitted by: kris [3] Approved by: portmgr
2004-12-31 18:24:10 +00:00
. endif
. endif
Mega-patch to cleanup the ports infrastructure regarding our linux bits: - USE_LINUX now implies NO_FILTER_SHLIBS=yes. It also doesn't use FreeBSD tools to strip binaries anymore, so it's not neccesary anymore to override STRIP and STRIP_CMD. - USE_LINUX_PREFIX implies NO_MTREE now. - In the USE_LINUX case, USE_XLIB now depends upon the linux X11 libraries instead upon the native FreeBSD libraries. - The variable LINUX_BASE_PORT contains a string which is suitable as an item in *_DEPENDS, so if a port BATCH_DEPENDS or FETCH_DEPENDS upon the default (or overriden) linux base, ${LINUX_BASE_PORT} should be used instead of a hardcoded reference. - Change all ports to comply to the "new world order". - The Ports Collection now allows to override the default linux_base port. Specify e.g. OVERRIDE_LINUX_BASE_PORT=rh-9 in /etc/make.conf to use ${PORTSDIR}/emulators/linux_base-rh-9 (the logic is to use ${PORTSDIR}/emulators/linux_base-${OVERRIDE_LINUX_BASE_PORT}). - If USE_LINUX or OVERRIDE_LINUX_BASE doesn't point to an existing linux_base port and if USE_LINUX isn't set to "yes" (case insensitive), the port will be marked as IGNORE. [1] - Readd USE_LINUX knobs into several ports and make several uses of a conditional dependency ("USE_LINUX?=") into an unconditional one ("USE_LINUX=") which where removed/changed by Trevor to allow the use of alternative linux_base ports. While this is a nice goal, the implementation resulted in missing dependencies. The OVERRIDE_LINUX_BASE_PORT knob in this commit is supposed to fix the problem while keeping the feature. Basicaly this includes a backout of Trevor's commit, to prevent confusion I mention it here explicitely. - Use the correct prefix (X11- instead of LOCAL- or LINUX-) for some ports. Chase dependencies for this. - Changes to make linux_devtools installable on amd64, remove some stray device nodes (they don't work on recent OS versions and aren't really needed). - Make linux_base-8 PREFIX clean and remove some stray device nodes. Additionally tell a little bit more about how to setup NIS/YP [2]. - Update the PGSQL dependency in the linux-opengroupware port to a recent version (the old one isn't available anymore), I don't know if this works (at least it isn't more broken than before). - Use PREFIX/usr/share/doc instead of PREFIX/usr/doc in the divx4linux ports, the former path exists already and gets populated by other packages too (PREFIX=LINUXPREFIX!). - Fix some obvious (non-linuxolator) bugs in some linux ports while being there. - Bump PORTREVISION where neccesary. Requested by: portmgr (linimon) [1] Submittted by: Gerrit Kuehn <gerrit_huehn@gruft.fido.de [2] Approved by: portmgr (kris, linimon), maintainers (or maintainer timeout) Tested on: ports cluster (kris) Reviewed by: silence on emulation@ Superseedes PR: 69997 Maintainer approval from: chris@chrisburkert.de cracauer@cons.org des girgen jamie@bishopston.net mezz mi nivit@users.sf.net pat simond@irrelevant.org riggs@rrr.de Udo.Schweigert@Siemens.com
2005-06-17 22:59:29 +00:00
. if ${USE_LINUX} == "c6_64" || (defined(OVERRIDE_LINUX_BASE_PORT) && ${OVERRIDE_LINUX_BASE_PORT} == "c6_64")
. if ${ARCH} != "amd64"
IGNORE= Cannot install 64 bit Linux on non-64bit platforms
. endif
LINUX_RPM_ARCH?= x86_64
LINUX_REPO_ARCH?= x86_64
. elif ${USE_LINUX} == "c6" || ${USE_LINUX} == "yes" # default to CentOS
LINUX_RPM_ARCH?= i686
LINUX_REPO_ARCH?= i386
. elif ${USE_LINUX} == "f10"
LINUX_RPM_ARCH?= i386
LINUX_REPO_ARCH?= i386
. endif
Mega-patch to cleanup the ports infrastructure regarding our linux bits: - USE_LINUX now implies NO_FILTER_SHLIBS=yes. It also doesn't use FreeBSD tools to strip binaries anymore, so it's not neccesary anymore to override STRIP and STRIP_CMD. - USE_LINUX_PREFIX implies NO_MTREE now. - In the USE_LINUX case, USE_XLIB now depends upon the linux X11 libraries instead upon the native FreeBSD libraries. - The variable LINUX_BASE_PORT contains a string which is suitable as an item in *_DEPENDS, so if a port BATCH_DEPENDS or FETCH_DEPENDS upon the default (or overriden) linux base, ${LINUX_BASE_PORT} should be used instead of a hardcoded reference. - Change all ports to comply to the "new world order". - The Ports Collection now allows to override the default linux_base port. Specify e.g. OVERRIDE_LINUX_BASE_PORT=rh-9 in /etc/make.conf to use ${PORTSDIR}/emulators/linux_base-rh-9 (the logic is to use ${PORTSDIR}/emulators/linux_base-${OVERRIDE_LINUX_BASE_PORT}). - If USE_LINUX or OVERRIDE_LINUX_BASE doesn't point to an existing linux_base port and if USE_LINUX isn't set to "yes" (case insensitive), the port will be marked as IGNORE. [1] - Readd USE_LINUX knobs into several ports and make several uses of a conditional dependency ("USE_LINUX?=") into an unconditional one ("USE_LINUX=") which where removed/changed by Trevor to allow the use of alternative linux_base ports. While this is a nice goal, the implementation resulted in missing dependencies. The OVERRIDE_LINUX_BASE_PORT knob in this commit is supposed to fix the problem while keeping the feature. Basicaly this includes a backout of Trevor's commit, to prevent confusion I mention it here explicitely. - Use the correct prefix (X11- instead of LOCAL- or LINUX-) for some ports. Chase dependencies for this. - Changes to make linux_devtools installable on amd64, remove some stray device nodes (they don't work on recent OS versions and aren't really needed). - Make linux_base-8 PREFIX clean and remove some stray device nodes. Additionally tell a little bit more about how to setup NIS/YP [2]. - Update the PGSQL dependency in the linux-opengroupware port to a recent version (the old one isn't available anymore), I don't know if this works (at least it isn't more broken than before). - Use PREFIX/usr/share/doc instead of PREFIX/usr/doc in the divx4linux ports, the former path exists already and gets populated by other packages too (PREFIX=LINUXPREFIX!). - Fix some obvious (non-linuxolator) bugs in some linux ports while being there. - Bump PORTREVISION where neccesary. Requested by: portmgr (linimon) [1] Submittted by: Gerrit Kuehn <gerrit_huehn@gruft.fido.de [2] Approved by: portmgr (kris, linimon), maintainers (or maintainer timeout) Tested on: ports cluster (kris) Reviewed by: silence on emulation@ Superseedes PR: 69997 Maintainer approval from: chris@chrisburkert.de cracauer@cons.org des girgen jamie@bishopston.net mezz mi nivit@users.sf.net pat simond@irrelevant.org riggs@rrr.de Udo.Schweigert@Siemens.com
2005-06-17 22:59:29 +00:00
RUN_DEPENDS+= ${LINUX_BASE_PORT}
.endif
PKG_IGNORE_DEPENDS?= 'this_port_does_not_exist'
_GL_gbm_LIB_DEPENDS= libgbm.so:graphics/gbm
_GL_glesv2_BUILD_DEPENDS= libglesv2>0:graphics/libglesv2
_GL_glesv2_RUN_DEPENDS= libglesv2>0:graphics/libglesv2
_GL_egl_BUILD_DEPENDS= libEGL>0:graphics/libEGL
_GL_egl_RUN_DEPENDS= libEGL>0:graphics/libEGL
_GL_gl_BUILD_DEPENDS= libGL>0:graphics/libGL
_GL_gl_RUN_DEPENDS= libGL>0:graphics/libGL
_GL_gl_USE_XORG= glproto dri2proto
_GL_glew_LIB_DEPENDS= libGLEW.so:graphics/glew
_GL_glu_LIB_DEPENDS= libGLU.so:graphics/libGLU
_GL_glu_USE_XORG= glproto dri2proto
_GL_glw_LIB_DEPENDS= libGLw.so:graphics/libGLw
_GL_glut_LIB_DEPENDS= libglut.so:graphics/freeglut
.if defined(USE_GL)
. if ${USE_GL:tl} == "yes"
USE_GL= glu
. endif
. for _component in ${USE_GL}
. if !defined(_GL_${_component}_LIB_DEPENDS) && \
!defined(_GL_${_component}_RUN_DEPENDS)
IGNORE= uses unknown GL component
. else
USE_XORG+= ${_GL_${_component}_USE_XORG}
BUILD_DEPENDS+= ${_GL_${_component}_BUILD_DEPENDS}
LIB_DEPENDS+= ${_GL_${_component}_LIB_DEPENDS}
RUN_DEPENDS+= ${_GL_${_component}_RUN_DEPENDS}
. endif
. endfor
.endif
.if defined(_DESTDIR_VIA_ENV)
MAKE_ENV+= ${DESTDIRNAME}=${STAGEDIR}
.else
MAKE_ARGS+= ${DESTDIRNAME}=${STAGEDIR}
Add support for staging area in the ports tree The ports tree is now staged by default. With pkgng the sequence hasn't changed, the main difference is that creating package is now independent from installing it. With pkg_install, the package is now created first and make install, do install the package. New macros: - STAGEDIR: PATH to the directory where the port will be staged. - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area) Unsupported macro if NO_STAGE is not set: - MAN* with staging man page compression and handling of hardlinks and symlinks is automatically done in the stage. the manpages becomes then a "normal" plist files and should be tracked in pkg-plist. - MANCOMPRESSED the compress-man target is able to only compress when it needed. New target: - stage: this installs everything into the stage directory - makeplist: this will create a pkg-plist and print it to stdout. This is a sample plist and it should always be _reviewed_ not directly used. NOTE: with staging only what is in the plist will be installed, nothing more, meaning a port staged cannot have leftovers exect directories left. It is really important to double check the pkg-plist to make sure all the files the maintainer want to package are in! make makeplist can help in that area. The goal is to handle as quickly as possible a full removal of the NO_STAGE support. More features can be added once the full ports tree is converted to using the staging area Conversion notes: - Remove NO_STAGE - in {pre,do,post}-install * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES} prepend ${STAGEDIR} * Remove any thing that is done by @exec or +INSTALL script it will be done automatically when syncing packages * Remove any code to show PKG-MESSAGE it will be done automatically when syncing packages * Directory creation should remain in post-install (in particular because pkgng doesn't work like pkg_install in that area and pkgng ignores the @exec mkdir but directly pack the directory even if empty) - PORTDOCS/PORTEXAMPELS To support PORTDOCS, PORTEXAMPLES most of the time there is no more need for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your plist then the given files from the stagedir will or will not sync according to NOPORTDOCS and NOPORTEXAMPLES. With hat: portmgr Reviewed by: bdrewery
2013-09-23 05:56:35 +00:00
.endif
.if defined(NO_PREFIX_RMDIR)
CO_ENV+= NO_PREFIX_RMDIR=1
.else
CO_ENV+= NO_PREFIX_RMDIR=0
.endif
Add support for staging area in the ports tree The ports tree is now staged by default. With pkgng the sequence hasn't changed, the main difference is that creating package is now independent from installing it. With pkg_install, the package is now created first and make install, do install the package. New macros: - STAGEDIR: PATH to the directory where the port will be staged. - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area) Unsupported macro if NO_STAGE is not set: - MAN* with staging man page compression and handling of hardlinks and symlinks is automatically done in the stage. the manpages becomes then a "normal" plist files and should be tracked in pkg-plist. - MANCOMPRESSED the compress-man target is able to only compress when it needed. New target: - stage: this installs everything into the stage directory - makeplist: this will create a pkg-plist and print it to stdout. This is a sample plist and it should always be _reviewed_ not directly used. NOTE: with staging only what is in the plist will be installed, nothing more, meaning a port staged cannot have leftovers exect directories left. It is really important to double check the pkg-plist to make sure all the files the maintainer want to package are in! make makeplist can help in that area. The goal is to handle as quickly as possible a full removal of the NO_STAGE support. More features can be added once the full ports tree is converted to using the staging area Conversion notes: - Remove NO_STAGE - in {pre,do,post}-install * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES} prepend ${STAGEDIR} * Remove any thing that is done by @exec or +INSTALL script it will be done automatically when syncing packages * Remove any code to show PKG-MESSAGE it will be done automatically when syncing packages * Directory creation should remain in post-install (in particular because pkgng doesn't work like pkg_install in that area and pkgng ignores the @exec mkdir but directly pack the directory even if empty) - PORTDOCS/PORTEXAMPELS To support PORTDOCS, PORTEXAMPLES most of the time there is no more need for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your plist then the given files from the stagedir will or will not sync according to NOPORTDOCS and NOPORTEXAMPLES. With hat: portmgr Reviewed by: bdrewery
2013-09-23 05:56:35 +00:00
METADIR= ${WRKDIR}/.metadir
MANIFESTF= ${METADIR}/+MANIFEST
PKGPREINSTALL?= ${PKGDIR}/pkg-pre-install
PKGPOSTINSTALL?= ${PKGDIR}/pkg-post-install
PKGPREDEINSTALL?= ${PKGDIR}/pkg-pre-deinstall
PKGPOSTDEINSTALL?= ${PKGDIR}/pkg-post-deinstall
PKGPREUPGRADE?= ${PKGDIR}/pkg-pre-upgrade
PKGPOSTUPGRADE?= ${PKGDIR}/pkg-post-upgrade
PKGUPGRADE?= ${PKGDIR}/pkg-upgrade
_FORCE_POST_PATTERNS= rmdir kldxref mkfontscale mkfontdir fc-cache \
fonts.dir fonts.scale gtk-update-icon-cache \
gio-querymodules \
gtk-query-immodules \
ldconfig \
load-octave-pkg \
ocamlfind \
update-desktop-database update-mime-database \
gdk-pixbuf-query-loaders catalog.ports \
glib-compile-schemas \
ccache-update-links
Add support for staging area in the ports tree The ports tree is now staged by default. With pkgng the sequence hasn't changed, the main difference is that creating package is now independent from installing it. With pkg_install, the package is now created first and make install, do install the package. New macros: - STAGEDIR: PATH to the directory where the port will be staged. - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area) Unsupported macro if NO_STAGE is not set: - MAN* with staging man page compression and handling of hardlinks and symlinks is automatically done in the stage. the manpages becomes then a "normal" plist files and should be tracked in pkg-plist. - MANCOMPRESSED the compress-man target is able to only compress when it needed. New target: - stage: this installs everything into the stage directory - makeplist: this will create a pkg-plist and print it to stdout. This is a sample plist and it should always be _reviewed_ not directly used. NOTE: with staging only what is in the plist will be installed, nothing more, meaning a port staged cannot have leftovers exect directories left. It is really important to double check the pkg-plist to make sure all the files the maintainer want to package are in! make makeplist can help in that area. The goal is to handle as quickly as possible a full removal of the NO_STAGE support. More features can be added once the full ports tree is converted to using the staging area Conversion notes: - Remove NO_STAGE - in {pre,do,post}-install * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES} prepend ${STAGEDIR} * Remove any thing that is done by @exec or +INSTALL script it will be done automatically when syncing packages * Remove any code to show PKG-MESSAGE it will be done automatically when syncing packages * Directory creation should remain in post-install (in particular because pkgng doesn't work like pkg_install in that area and pkgng ignores the @exec mkdir but directly pack the directory even if empty) - PORTDOCS/PORTEXAMPELS To support PORTDOCS, PORTEXAMPLES most of the time there is no more need for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your plist then the given files from the stagedir will or will not sync according to NOPORTDOCS and NOPORTEXAMPLES. With hat: portmgr Reviewed by: bdrewery
2013-09-23 05:56:35 +00:00
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
.if defined(USE_LOCAL_MK)
.include "${PORTSDIR}/Mk/bsd.local.mk"
.endif
.if defined(USE_XORG) || defined(XORG_CAT)
.include "${PORTSDIR}/Mk/bsd.xorg.mk"
.endif
.if defined(WANT_GSTREAMER) || defined(USE_GSTREAMER) || defined(USE_GSTREAMER1)
.include "${PORTSDIR}/Mk/bsd.gstreamer.mk"
.endif
.if defined(USE_JAVA)
.include "${PORTSDIR}/Mk/bsd.java.mk"
.endif
.if defined(USE_OCAML)
.include "${PORTSDIR}/Mk/bsd.ocaml.mk"
.endif
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
.if defined(USE_LINUX_RPM)
.include "${PORTSDIR}/Mk/bsd.linux-rpm.mk"
.endif
.if defined(USE_LINUX_APPS)
.include "${PORTSDIR}/Mk/bsd.linux-apps.mk"
.endif
.if defined(USE_QT4) || defined(USE_QT5)
.include "${PORTSDIR}/Mk/bsd.qt.mk"
.endif
.if defined(USE_SDL)
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
.include "${PORTSDIR}/Mk/bsd.sdl.mk"
.endif
.if defined(USE_PHP)
.include "${PORTSDIR}/Mk/bsd.php.mk"
.endif
.if defined(USE_WX) || defined(USE_WX_NOT)
.include "${PORTSDIR}/Mk/bsd.wx.mk"
.endif
.if defined(USE_APACHE) || defined(USE_APACHE_BUILD) || defined(USE_APACHE_RUN)
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
.include "${PORTSDIR}/Mk/bsd.apache.mk"
.endif
.if defined(USE_AUTOTOOLS)
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
.include "${PORTSDIR}/Mk/bsd.autotools.mk"
.endif
.if defined(USE_FPC) || defined(WANT_FPC_BASE) || defined(WANT_FPC_ALL)
.include "${PORTSDIR}/Mk/bsd.fpc.mk"
.endif
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
.if defined(USE_GECKO)
First all, ahze did most of work. Thanks ahze! Last week or so, I am just merely pick up and help him. Thanks to many testers in both private and mailing list emails for report a few of build and dependencies problems. Also, thanks to marcus and Chess Griffin for test in their tinderboxes. x11/pixman: Update to 0.10.0 ------------------------------------------------------- Firefox 3 needs it. Orignal, the shared library was bumped and ahze has added a new feature in our USE_GNOME=ltverhack by can control the number of shared library. To control the number of shared library, add the ltverhack:N. Right now pixman has USE_GNOME=ltverhack:9 to make it stays same at libpixman-1.so.9. If anyone want to use ltverhack:N in one of your port, you need to make sure the ABI doesn't change to use it.. ------------------------------------------------------- graphics/cairo: Update to 1.6.4 ------------------------------------------------------- Firefox 3 needs it. We have updated most cairo binding ports too. ------------------------------------------------------- graphics/poppler: Update to 0.8.3 ------------------------------------------------------- The shared libraries version have been changed. All ports that depend on poppler have PORTREVISION bump. The graphics/py-poppler has been updated to 0.8.1 to work with newer poppler better. As for the poppler-qt, there is no shared library version change. ------------------------------------------------------- www/firefox3 and gecko ports related: Update to 3.0 final ------------------------------------------------------- The bsd.gecko.mk has been moved from www/mozilla/ to Mk/. You no longer need to include bsd.gecko.mk/Makefile.common by manual. We are keeping it in backward compatibility, so the rest ports won't be break. We haven't add some other ports to have Firefox 3 support yet, so feel free to send us patch or commit it by yourself (to committers). However, view in bsd.gecko.mk for document. ------------------------------------------------------- Approved by: portmgr (marcus)
2008-06-30 20:16:22 +00:00
.include "${PORTSDIR}/Mk/bsd.gecko.mk"
.endif
.if defined(USE_KDE4)
.include "${PORTSDIR}/Mk/bsd.kde4.mk"
.endif
.if exists(${PORTSDIR}/Makefile.inc)
.include "${PORTSDIR}/Makefile.inc"
* Attempt to detect and disallow installation of a port with PREFIX set to a different value to that with which it was configured and built. This is achieved by recording the PREFIX in the build-stage cookies [1] * Add scheme [2], tcl84 and tk84 [5] as virtual categories * Add the PERL_PORT variable and use it to register the dependency on the correct perl port when PERL_LEVEL is set [3] * Add support for USE_AUTOHEADER [4] * Fix 'make maintainer' when MAINTAINER is set to a bogus value (not in user@example.com format). [6] * Add a 'package-recursive' target to create packages for a port and all of its dependencies [7] * Fix command-line overflow errors in 'make readmes' on certain ports, with the bonus of providing a measurable speed-up to readme generation [8] * Fix inclusion of alternative makefiles such as Makefile.inc, Makefile.local, etc. (broken since 1.403) [9] * Reintroduce support for install/deinstall targets checking for older versions of the port, and re-add the deinstall-all target that removes all existing installations of a port (originally introduced in 1.446 and backed out in 1.450). This patch has been reworked to eliminate the corner cases in the previous code. Ports that dynamically generate their ${PLIST} at install-time must now do so before the do-install target is run, e.g. in pre-install. [10] * When installing ports as non-root, use su(1) to execute the targets that require root privilege. This is achieved by splitting up the _INSTALL_SEQ target list into _INSTALL_SUSEQ [11]. PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6], 52388 [7], 51609 [11] Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1], Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11], Kimura Fuyuki <fuyuki@hadaly.org> [2], "Scot W. Hetzel" <hetzels@westbend.net> [3], Anton Berezin <tobez@FreeBSD.org> [3], nork [4], hsu [5], Mark Linimon <linimon@lonesome.com> [6], hoek [8], sobomax [9], marcus [10] [11], des [11]
2003-07-06 23:54:33 +00:00
USE_SUBMAKE= yes
.endif
# Loading features
.for f in ${_USES_POST}
_f:= ${f:C/\:.*//}
.if !defined(${_f}_ARGS)
${_f}_ARGS:= ${f:C/^[^\:]*(\:|\$)//:S/,/ /g}
.endif
.endfor
.for f in ${_USES_POST}
.include "${USESDIR}/${f:C/\:.*//}.mk"
.endfor
.if defined(USE_XORG)
# Add explicit X options to avoid problems with false positives in configure
.if defined(GNU_CONFIGURE)
CONFIGURE_ARGS+=--x-libraries=${LOCALBASE}/lib --x-includes=${LOCALBASE}/include
.endif
.endif
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
# Macro for doing in-place file editing using regexps
REINPLACE_ARGS?= -i.bak
REINPLACE_CMD?= ${SED} ${REINPLACE_ARGS}
# Names of cookies used to skip already completed stages
EXTRACT_COOKIE?= ${WRKDIR}/.extract_done.${PORTNAME}.${PREFIX:S/\//_/g}
CONFIGURE_COOKIE?= ${WRKDIR}/.configure_done.${PORTNAME}.${PREFIX:S/\//_/g}
INSTALL_COOKIE?= ${WRKDIR}/.install_done.${PORTNAME}.${PREFIX:S/\//_/g}
BUILD_COOKIE?= ${WRKDIR}/.build_done.${PORTNAME}.${PREFIX:S/\//_/g}
PATCH_COOKIE?= ${WRKDIR}/.patch_done.${PORTNAME}.${PREFIX:S/\//_/g}
PACKAGE_COOKIE?= ${WRKDIR}/.package_done.${PORTNAME}.${PREFIX:S/\//_/g}
Add support for staging area in the ports tree The ports tree is now staged by default. With pkgng the sequence hasn't changed, the main difference is that creating package is now independent from installing it. With pkg_install, the package is now created first and make install, do install the package. New macros: - STAGEDIR: PATH to the directory where the port will be staged. - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area) Unsupported macro if NO_STAGE is not set: - MAN* with staging man page compression and handling of hardlinks and symlinks is automatically done in the stage. the manpages becomes then a "normal" plist files and should be tracked in pkg-plist. - MANCOMPRESSED the compress-man target is able to only compress when it needed. New target: - stage: this installs everything into the stage directory - makeplist: this will create a pkg-plist and print it to stdout. This is a sample plist and it should always be _reviewed_ not directly used. NOTE: with staging only what is in the plist will be installed, nothing more, meaning a port staged cannot have leftovers exect directories left. It is really important to double check the pkg-plist to make sure all the files the maintainer want to package are in! make makeplist can help in that area. The goal is to handle as quickly as possible a full removal of the NO_STAGE support. More features can be added once the full ports tree is converted to using the staging area Conversion notes: - Remove NO_STAGE - in {pre,do,post}-install * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES} prepend ${STAGEDIR} * Remove any thing that is done by @exec or +INSTALL script it will be done automatically when syncing packages * Remove any code to show PKG-MESSAGE it will be done automatically when syncing packages * Directory creation should remain in post-install (in particular because pkgng doesn't work like pkg_install in that area and pkgng ignores the @exec mkdir but directly pack the directory even if empty) - PORTDOCS/PORTEXAMPELS To support PORTDOCS, PORTEXAMPLES most of the time there is no more need for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your plist then the given files from the stagedir will or will not sync according to NOPORTDOCS and NOPORTEXAMPLES. With hat: portmgr Reviewed by: bdrewery
2013-09-23 05:56:35 +00:00
STAGE_COOKIE?= ${WRKDIR}/.stage_done.${PORTNAME}.${PREFIX:S/\//_/g}
# How to do nothing. Override if you, for some strange reason, would rather
# do something.
DO_NADA?= ${TRUE}
(1) New variables INSTALL_SHLIBS and LDCONFIG_DIRS. When INSTALL_SHLIBS is set, ldconfig is automatically called from post-install and necessary @exec and @unexec lines are added to PLIST. Requested by: lioux@uol.com.br Reviewed by: the ports list, in particular sobomax (1a) Add PREFIX=%D LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} to PLIST_SUB. These are needed by INSTALL_SHLIBS, but also could be useful in general. (2) Move master/mirror site definitions to bsd.sites.mk and include it from bsd.port.mk. Open bsd.sites.mk to other committers. Submitted by: reg (2a) Add MASTER_SITE_SOURCEFORGE. Submitted by: sobomax (who wrote SORCEFORGE, but I assume that's a typo :) (2b) Move MASTER_SITE_LOCAL from ".../ports/distfiles/LOCAL_PORTS/" to ".../ports/local-distfiles/%SUBDIR%/" which will be mirrored from peoples' ~user/public_distfiles on freefall. Add two mirrors (Japan and Germany). Requested by: obrien (moving) Submitted by: will (German mirror) (3) Simplify definition of PKGBASE since it can now be defined as simply ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}, instead of sed'ing out the version number from ${PKGNAME}. Submitted by: hoek (4) Remove unnecessary targets prefix and mtree-file, which can be implemented as "make -V PREFIX" and "make -V MTREE_FILE", respectively. Don't define MTREE_FILE when NO_MTREE is set so "make -V MTREE_FILE" won't print out anything. (5) Various minor typo and grammar fixes. (6) Define NONEXISTENT?=/nonexistent. This will help quiet portlint warnings, among other things.
2000-06-14 02:14:49 +00:00
# Use this as the first operand to always build dependency.
NONEXISTENT?= /nonexistent
CHECKSUM_ALGORITHMS?= sha256
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
DISTINFO_FILE?= ${MASTERDIR}/distinfo
Add NO_CDROM, RESTRICTED, BROKEN and Motif support. (1) The new NO_CDROM Boolean variable means "don't put the distfile/ package on the CDROM you're going to sell". It will basically turn off everything if FOR_CDROM is set. Many of the NO_PACKAGE ports are actually "don't sell for profit" types, which we shouldn't have any problem distributing via ftp. (2) The new RESTRICTED Boolean variable means don't build this unless you know what you are doing. It doesn't have any effect unless NO_RESTRICTED is also set. (3) BROKEN means this port is broken. At least it will now show up in INDEX and README.html, and give people more incentive to fix (I hope). RESTRICTED and BROKEN are expected to replace the pseudo-targets in parent Makefiles. (The RESTRICTED and BROKEN list didn't do anything before, they were solely for grepping purposes.) (4) The Motif support brings in four new variables: REQUIRES_MOTIF, which the porter sets for ports that require Motif to build; HAVE_MOTIF, which the user sets to indicate the system has Motif; MOTIF_STATIC, which the user sets to indicate that the static libXm, instead af the default dynamic library, is to be used; and MOTIFLIB, which is set to "${X11BASE}/lib/libXm.a" or "-L${X11BASE}/lib -lXm", depending on whether MOTIF_STATIC is set. The porter is expected to replace all occurrences of libXm in the {Im,M}akefiles with ${MOTIFLIB}, and this will allow both dynamic linkage (for users with Motif) and static linkage (for those who build packages to be used by those withot Motif, i.e., me ;) automatically. Original Motif support idea by: graichen
1996-04-12 08:08:36 +00:00
MAKE_FLAGS?= -f
MAKEFILE?= Makefile
MAKE_CMD?= ${BSDMAKE}
MAKE_ENV+= PREFIX=${PREFIX} \
LOCALBASE=${LOCALBASE} \
LIBDIR="${LIBDIR}" \
CC="${CC}" CFLAGS="${CFLAGS}" \
CPP="${CPP}" CPPFLAGS="${CPPFLAGS}" \
Support LIBS like LDFLAGS. - Add LIBS="${LIBS}" to MAKE_ENV and CONFIGURE_ENV. - Add an option helper for LIBS. - Adjust all ports that already use LIBS. Also remove references to PTHREAD_CFLAGS and PTHREAD_LIBS while here. - Some ports did not support having a LIBS environment variable and required additional patches. Somewhat simplified a linker command line looks like: ${CC} ${src_LDFLAGS} ${LDFLAGS} ${src_LIBS} ${LIBS} where src_LDFLAGS and src_LIBS are controlled by upstream and LDFLAGS and LIBS can be controlled by us. If possible -L and -l flags need to be added to LIBS to make sure they appear after any -L and -l flags set by upstream. Many ports currently add -L${LOCALBASE}/lib to LDFLAGS but this may appear too early on the command line causing installed libraries to be linked in instead of freshly built ones. Additional changes: benchmarks/netio: Replace WITH_IPV6 with an IPV6 option. comms/gnokii: Replace some patches with USES=pathfix. Also remove -fPIC. graphics/gimageview: USES=libtool and install desktop file in DESKTOPDIR. graphics/visionworkbench: Remove FreeBSD 7 support. multimedia/libmovtar: New LIB_DEPENDS syntax. multimedia/opencinematools: Use standard do-build. net/siproxd: USES=libtool:keepla (port actually needs .la files for plugins) net-mgmt/nagios: Remove -fPIC. net-mgmt/nagios4: Remove -fPIC. print/cups-base: Only add -lssp_nonshared on i386 and OSVERSION < 1000036. security/p11-kit: Replace PTHREAD_LIBS in CONFIGURE_ENV with ac_cv_func_pthread_mutexattr_init=no in CONFIGURE_ARGS. This skips a test in configure that falsely detects pthread_mutexattr_init in our libc. sysutils/dar: Fix iconv detection. x11/rxvt-unicode: Remove -lstdc++ and patch configure to remove a FreeBSD hack and use $CXX as linker as on other platforms. PR: 190592 Exp-run by: antoine Approved by: portmgr (antoine)
2014-06-11 14:49:59 +00:00
LDFLAGS="${LDFLAGS}" LIBS="${LIBS}" \
CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" \
MANPREFIX="${MANPREFIX}"
# Add -fno-strict-aliasing to CFLAGS with optimization level -O2 or higher.
# gcc 4.x enable strict aliasing optimization with -O2 which is known to break
# a lot of ports.
.if !defined(WITHOUT_NO_STRICT_ALIASING)
.if ${CC} != "icc"
.if empty(CFLAGS:M-fno-strict-aliasing)
CFLAGS+= -fno-strict-aliasing
.endif
.endif
.endif
.for lang in C CXX
.if defined(USE_${lang}STD)
${lang}FLAGS:= ${${lang}FLAGS:N-std=*} -std=${USE_${lang}STD}
.endif
.if defined(${lang}FLAGS_${ARCH})
${lang}FLAGS+= ${${lang}FLAGS_${ARCH}}
.endif
.endfor
# Multiple make jobs support
.if defined(DISABLE_MAKE_JOBS) || defined(MAKE_JOBS_UNSAFE)
_MAKE_JOBS?= #
MAKE_JOBS_NUMBER= 1
.else
.if defined(MAKE_JOBS_NUMBER)
_MAKE_JOBS_NUMBER:= ${MAKE_JOBS_NUMBER}
.else
.if !defined(_SMP_CPUS)
_SMP_CPUS!= ${SYSCTL} -n kern.smp.cpus
.endif
_EXPORTED_VARS+= _SMP_CPUS
_MAKE_JOBS_NUMBER= ${_SMP_CPUS}
.endif
.if defined(MAKE_JOBS_NUMBER_LIMIT) && ( ${MAKE_JOBS_NUMBER_LIMIT} < ${_MAKE_JOBS_NUMBER} )
MAKE_JOBS_NUMBER= ${MAKE_JOBS_NUMBER_LIMIT}
.else
MAKE_JOBS_NUMBER= ${_MAKE_JOBS_NUMBER}
.endif
_MAKE_JOBS?= -j${MAKE_JOBS_NUMBER}
BUILD_FAIL_MESSAGE+= Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer.
.endif
.include "${PORTSDIR}/Mk/bsd.ccache.mk"
FETCH_ENV?= SSL_NO_VERIFY_PEER=1 SSL_NO_VERIFY_HOSTNAME=1
FETCH_BINARY?= /usr/bin/fetch
FETCH_ARGS?= -Fpr
- Improve USE_PACKAGE_DEPENDS to work correctly for LIB_DEPENDS, and avoid installing packages when the target is configure or extract [1] - If PYTHON_VERSION is set, do not automatically add a dependency on python: USE_PYTHON must now be specified explicitly. This allows the variable to be set in make.conf or the environment to specify a preference for the python version to be used. [2] - When checking for an existing installation of the port, check by port origin instead of only looking for the current version of the package. [3] - Do not install perllocal.pod files; they are not used on FreeBSD. [4] - Improve 'make deinstall' to deinstall any existing version of the package (e.g. older versions) instead of only trying to deinstall the version currently described by the port. [5] - Check for world-writable files/directories in the security-check target. [6] - Improve the patching of libtool so it works with pathnames ending in a slash. [7] - Allow ports that use the INSTALL macros to install files when running as non-root (i.e. don't try to chown/chgrp) [8]. - Add the USE_GETOPT_LONG variable, which adds a dependency on libgnugetopt on systems older than 500041, and uses the system version otherwise. [9] - Improve the fetch-required target to correctly deal with fetching dependencies that use the ':target' form. [10] - Add support for re-fetching interrupted distfiles. The FETCH_REGET variable specifies the number of times to try continuing the distfile fetch if it fails the md5 checksum. [11] PR: 36083 [1], 44875 [2], 48646 [3], 48960 [4], 49017 [5], 49969 [6], 50069 [7], 50159 [8], 50323 [9], 50669 [10], 12325 [11] Submitted by: dinoex [1], Gerhard Schmidt <estartu@augusta.de> [2], Sergey Matveychuk <sem@ciam.ru> [3] [5], tobez [4], Erwin Lansing <erwin@lansing.dk> [4], Arjan de Vet <devet@devet.org> [6], Hartmut Brandt <brandt@fokus.fraunhofer.de> [7], gerald [8], Sergei Kolobov <sergei@kolobov.com> [9], Erwin Lansing <erwin@lansing.dk> [10], alex [11]
2003-04-17 10:27:06 +00:00
FETCH_REGET?= 1
.if !defined(DISABLE_SIZE)
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
FETCH_BEFORE_ARGS+= $${CKSIZE:+-S $$CKSIZE}
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
.endif
FETCH_CMD?= ${FETCH_BINARY} ${FETCH_ARGS}
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
.if defined(RANDOMIZE_MASTER_SITES)
.if exists(/usr/games/random)
RANDOM_CMD?= /usr/games/random
RANDOM_ARGS?= -w -f -
_RANDOMIZE_SITES= |${RANDOM_CMD} ${RANDOM_ARGS}
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
.endif
.endif
TOUCH?= /usr/bin/touch
TOUCH_FLAGS?= -f
DISTORIG?= .bak.orig
PATCH?= /usr/bin/patch
PATCH_STRIP?= -p0
PATCH_DIST_STRIP?= -p0
.if defined(PATCH_DEBUG)
PATCH_DEBUG_TMP= yes
PATCH_ARGS?= -d ${PATCH_WRKSRC} -E ${PATCH_STRIP}
PATCH_DIST_ARGS?= --suffix ${DISTORIG} -d ${PATCH_WRKSRC} -E ${PATCH_DIST_STRIP}
.else
PATCH_DEBUG_TMP= no
PATCH_ARGS?= -d ${PATCH_WRKSRC} --forward --quiet -E ${PATCH_STRIP}
PATCH_DIST_ARGS?= --suffix ${DISTORIG} -d ${PATCH_WRKSRC} --forward --quiet -E ${PATCH_DIST_STRIP}
.endif
.if !defined(QUIET)
PATCH_SILENT= PATCH_SILENT=yes
.endif
.if defined(BATCH)
PATCH_ARGS+= --batch
PATCH_DIST_ARGS+= --batch
.endif
- Allow processing of info files in non-standard locations; the INFO_PATH variable may be used to specify their location. It defaults to 'share/info' for the standard PREFIX, and 'info' when PREFIX == /usr. [1] - Remove the <category>/pkg/COMMENT files in favour of a COMMENT variable in <category>/Makefile [2] - Prevent patch breakage with VERSION_CONTROL=numbered [3] - Fix some instances of incorrect WRKDIRPREFIX handling. [4] - remove useless ${MKDIR} ${WRKSRC} in config target [5] - remove reference to OpenBSD [6] - Exempt devel/p5-Module-Build from the self-dependency in PERL_MODBUILD so that this port may use the option without getting an infinite dependency list [7] - The default PERL_ARCH is currently determined as a function of OSVERSION. It should however be a function of PERL_LEVEL since the correct value depends on what Perl version one has installed (older Perl versions use ${ARCH}-freebsd, newer versions use mach). [8] - Fix PORTDOCS on older (4.7, 5.0) systems [9] - Allow 'make parallel' to generate a working makefile when not all categories are present (this does not mean you'll be able to build all ports, unless you make sure they don't have external dependencies) [10] - Don't report symlinks as world-writable in the security check [11] - Fix a comment that was broken by a mismerged patch [12] - Clarify the meaning of USE_*, WANT_*, WITH_* and WITHOUT_* [13] - Don't set _CHKSUMFILES/_IGNOREFILES if CKSUMFILES/IGNOREFILES is empty and DIST_SUBDIR is set. [14] - Fix comment for DISTDIR [15] - Update the documentation of the USE_GL variable [16] - Check to see if NONEXISTENT exists, and fail with an error if it does [17] - Fix fetching of new distfiles in 'make makesum' when SIZE is set [18] - Consistently set MAKE_ENV when USE_GCC=3.2 or 3.3 are set [19] - Rework INDEX builds: [20] * Fix the bsd.port.subdir.mk code that is supposed to report index breakage (the fallback code wasn't actually being run because make would halt immediately following the error). This should help with INDEX error reports because it will immediately show the cause of failure, so we won't have to pull teeth to extract it from the submitter. * Streamline the 'make describe' code a bit. * Provide some basic instructions to the user when an index build fails, on when and how to report index build failures (turn this off with INDEX_QUIET=1) * Removed INDEX_NOSORT, because I couldn't imagine it to be very useful and it doesn't cost very much anyway. * Don't prevent INDEX builds from seeing the local host environment. Since a lot of users are using 'make index' thesedays they should get an index that reflects their local settings and installed ports. If you want to build a 'default' index that isn't influenced by local settings (e.g. for release builds), set the INDEX_PRISTINE variable. * Allows parallel INDEX builds (using make -j). The most obvious way of doing this doesn't work, because I/O from child makes is broken up into 2k chunks, and output lines from 'make describe' that exceed this length (*cough* GNOME *cough*) will be intertwined with the output of other makes, leading to a corrupted INDEX. The I/O interleaving can be disabled using 'make -P', but this inserts extraneous output of its own, and redirects stderr, making it useless for our purposes. Instead, I collect the output from the child make processes in temporary files and recombine them at the end. * The number of concurrent make processes to spawn can be set using INDEX_JOBS. By default this is set to 2, which seems to be a sweet spot for both single and dual-processor systems. On my tests I do not see any significant performance changes on UP, but on a dual 4.x system the build time drops by 47% (6 minute index builds on one test machine!). Depending on your disk and CPU hardware you might see further gains with INDEX_JOBS=4 or higher, so you might like to experiment to see what works best. On a dual 5.x system the performance gains do not seem to be as great (20-30%), but this is still a significant net win. PR: 55493 [1], 59651 [2], 61552 [3], 62247 [4], 62329 [5], 62337 [6], 62422 [7], 62441 [8], 62627 [9], 62983 [10], 63112 [11], 63297 [12], 63335 [13], 64029 [14], 64069 [15], 64236 [16], 64519 [17], 62958 [18], 64237 [19] Submitted by: lev [1], Matthew Seaman <m.seaman@infracaninophile.co.uk> [2], Joel Ray Holveck <joelh@piquan.org> [3], ade [4], Sergey Matveychuk <sem@ciam.ru> [5], markus [6], mat [7], des [8], eik [9], Dmitry Morozovsky <marck@rinet.ru> [10], Andrew <andrew@ugh.net.au> [11], vs [12], linimon [13], edwin [14][15], gerald [16], marcus[17][18], kris [19][20]
2004-04-02 07:25:23 +00:00
# Prevent breakage with VERSION_CONTROL=numbered
PATCH_ARGS+= -V simple
.if defined(PATCH_CHECK_ONLY)
PATCH_ARGS+= -C
PATCH_DIST_ARGS+= -C
.endif
* Some spelling/grammar fixes in comments * Replace some bare uses of cat with ${CAT} * [ports/19112] Ignore RCS files (*,v) when applying patches * [ports/19270] Check whether ${DISTDIR} is writable and fail with a better error message if not (mostly caused by trying to fetch as the wrong user) * [ports/23560] Force patch backup files to be created with .orig suffix * [ports/34717] Don't enclose PTHREAD_LIBS in quotes, because it will cause problems if used in an already-quoted string. * [ports/34987] Fix an awk warning in MASTER_SORT/MASTER_SORT_REGEX code * [misc/38724] Change some uses of the deprecated test -h to test -L * [1] Registering real dependencies: dependency registration looks at the currently-installed version of the dependency and registers that version, instead of registering the version in ports which may be newer than what is installed. * [2] Further 100% speed-up of dependency registration process by eliminating second call to package-depends (using information from the first call stored in +CONTENTS file of package being installed). Very useful for developing GNOME or similar packages with zillion dependencies, when package-depends target could take few minutes to complete; * [2] Proper set-up of ${SHELL} variable in build environment, so that user's interactive shell isn't picked instead. This has various implications, ranging from build process speed-up due to using /bin/sh to invoke libtool instead of bash or any other much more bloated user's shell (configure scripts often pick it up from the ${SHELL} environment), to fixing problems some users have when building random ports. Submitted by: sobomax [1] [2], Aleksandr A. Babaylov <.@babolo.ru> [ports/19112], Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> [ports/19270], Alan Bawden <Alan@LCS.MIT.EDU> [ports/23560], Christian Weisgerber <naddy@mips.inka.de> [ports/34717], knu [ports/34987], april <april@oublinet.net> [ports/38724] PR: ports/19112, ports/19270, ports/23560, ports/34717, ports/34987, ports/36237, ports/38724 Tested on: bento 4-exp build
2002-09-19 00:16:39 +00:00
.if ${PATCH} == "/usr/bin/patch"
PATCH_ARGS+= --suffix .orig
PATCH_DIST_ARGS+= --suffix .orig
* Some spelling/grammar fixes in comments * Replace some bare uses of cat with ${CAT} * [ports/19112] Ignore RCS files (*,v) when applying patches * [ports/19270] Check whether ${DISTDIR} is writable and fail with a better error message if not (mostly caused by trying to fetch as the wrong user) * [ports/23560] Force patch backup files to be created with .orig suffix * [ports/34717] Don't enclose PTHREAD_LIBS in quotes, because it will cause problems if used in an already-quoted string. * [ports/34987] Fix an awk warning in MASTER_SORT/MASTER_SORT_REGEX code * [misc/38724] Change some uses of the deprecated test -h to test -L * [1] Registering real dependencies: dependency registration looks at the currently-installed version of the dependency and registers that version, instead of registering the version in ports which may be newer than what is installed. * [2] Further 100% speed-up of dependency registration process by eliminating second call to package-depends (using information from the first call stored in +CONTENTS file of package being installed). Very useful for developing GNOME or similar packages with zillion dependencies, when package-depends target could take few minutes to complete; * [2] Proper set-up of ${SHELL} variable in build environment, so that user's interactive shell isn't picked instead. This has various implications, ranging from build process speed-up due to using /bin/sh to invoke libtool instead of bash or any other much more bloated user's shell (configure scripts often pick it up from the ${SHELL} environment), to fixing problems some users have when building random ports. Submitted by: sobomax [1] [2], Aleksandr A. Babaylov <.@babolo.ru> [ports/19112], Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> [ports/19270], Alan Bawden <Alan@LCS.MIT.EDU> [ports/23560], Christian Weisgerber <naddy@mips.inka.de> [ports/34717], knu [ports/34987], april <april@oublinet.net> [ports/38724] PR: ports/19112, ports/19270, ports/23560, ports/34717, ports/34987, ports/36237, ports/38724 Tested on: bento 4-exp build
2002-09-19 00:16:39 +00:00
.endif
(1) ${MASTER_SITE_SUBDIR} is now a list, and ${MASTER_SITE_*} macros will be expanded multiple times if ${MASTER_SITE_SUBDIR} contains more than one item. Reviewed by: Bill "Mr. distfiles" Fenner (2) Replace stale site with a good one in MASTER_SITE_GNU. Submitted by: Bill "Mr. mastersites" Fenner (3) Add new variable USE_BZIP2, which, like USE_GMAKE, will change the default decompression method of distfiles from gzip to bzip2. Since tar doesn't have a simple flag to turn on bzip2 decompression, I changed the way EXTRACT_CMD and EXTRACT_{BEFORE,AFTER}_ARGS work. These are the new defaults: EXTRACT_CMD: gzip or bzip2 EXTRACT_BEFORE_ARGS: -dc EXTRACT_AFTER_ARGS: | tar -xf - (They used to be "tar", "-xzf", and "", respectively, before.) Also, EXTRACT_SUFX will default to ".tar.bz2" if USE_BZIP2 is set. There are a few things porters should be careful about: (a) If you are using bsd.port.{pre,post}.mk, USE_BZIP2 should be set before the .include of pre.mk. (b) Do not use ${EXTRACT_SUFX} as an alias of tar. There is a new variable ${TAR} for that purpose. (c) If you are calling ${EXTRACT_CMD} directly, you need both ${EXTRACT_BEFORE_ARGS} and ${EXTRACT_AFTER_ARGS} in the command line. (The latter was previously empty so could be omitted -- that is no longer the case.) (d) If you need to set any of EXTRACT_CMD, EXTRACT_BEFORE_ARGS or EXTRACT_AFTER_ARGS, define all three, even if they are the default. The values of these variables may very well change in the future (but the calling syntax probably will not) so it will save the port from breakage when that happens. Tested by: recompiling the entire ports tree
1999-02-03 11:06:19 +00:00
TAR?= /usr/bin/tar
# EXTRACT_SUFX is defined in .pre.mk section
EXTRACT_CMD?= ${TAR}
EXTRACT_BEFORE_ARGS?= -xf
EXTRACT_AFTER_ARGS?= --no-same-owner --no-same-permissions
# Figure out where the local mtree file is
(1) New variables INSTALL_SHLIBS and LDCONFIG_DIRS. When INSTALL_SHLIBS is set, ldconfig is automatically called from post-install and necessary @exec and @unexec lines are added to PLIST. Requested by: lioux@uol.com.br Reviewed by: the ports list, in particular sobomax (1a) Add PREFIX=%D LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} to PLIST_SUB. These are needed by INSTALL_SHLIBS, but also could be useful in general. (2) Move master/mirror site definitions to bsd.sites.mk and include it from bsd.port.mk. Open bsd.sites.mk to other committers. Submitted by: reg (2a) Add MASTER_SITE_SOURCEFORGE. Submitted by: sobomax (who wrote SORCEFORGE, but I assume that's a typo :) (2b) Move MASTER_SITE_LOCAL from ".../ports/distfiles/LOCAL_PORTS/" to ".../ports/local-distfiles/%SUBDIR%/" which will be mirrored from peoples' ~user/public_distfiles on freefall. Add two mirrors (Japan and Germany). Requested by: obrien (moving) Submitted by: will (German mirror) (3) Simplify definition of PKGBASE since it can now be defined as simply ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}, instead of sed'ing out the version number from ${PKGNAME}. Submitted by: hoek (4) Remove unnecessary targets prefix and mtree-file, which can be implemented as "make -V PREFIX" and "make -V MTREE_FILE", respectively. Don't define MTREE_FILE when NO_MTREE is set so "make -V MTREE_FILE" won't print out anything. (5) Various minor typo and grammar fixes. (6) Define NONEXISTENT?=/nonexistent. This will help quiet portlint warnings, among other things.
2000-06-14 02:14:49 +00:00
.if !defined(MTREE_FILE) && !defined(NO_MTREE)
.if ${PREFIX} == /usr
Heroic attempt to reduce number of PRs assigned to portmgr@: 1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working. PR: 36537 Submitted by: tg 2. Propagate error code from failed `make depends', when one of the ports we depend upon is marked BROKEN/FORBIDDEN. PR: 25522 Submitted by: alex 3. By default, when bsd.port.mk configurating Makefile.PL only pass PREFIX as argument, but some Perl module (eg. Test-Harness) needed INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise default installation will goes to /usr/lib and not ${PREFIX}/lib, in some case, adding these tag to CONFIGURE_ARGS is not bad. PR: 29681 Submitted by: Shell Hung <shell@shellhung.org> 4. Update patch-libtool target, so that it doesn't break ports with autoconf 2.13-generated configure script. USE_LIBTOOL is still not very useful for such cases, but at least it doesn't break them badly anymore. PR: 31142 Submitted by: wjv 5. Make `make search' working even when /usr/obj/usr/ports exists. PR: 31862 Submitted by: gad 6. When configure script fails unexpectedly don't dump thousands lines of config.log to the user's screen, because it usually doesn't contain information useful for tracking the problem anyway. Instead display a message asking a user to report the failure to the proper entity (maintainer) and what to include into the problem report. PR: 34459, 35488 Submitted by: Thomas Hurst <freaky@aagh.net> Alan Eldridge <ports@geeksrus.net> sobomax other countless hackers whose names are lost in the noise Text of message suggested by: asmodai 7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr, bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as always, however those defaults are not appropriate for /usr, and better options are available. PR: 36030 Submitted by: DougB 8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to avoid clashing with system .mk settings (${ECHO} has a different meaning there). Actually the patch is imcomplete, because large portion of those ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce happy, which shouldn't be underestimated. PR: 34988 Submitted by: knu All of the above tested by: bento Special thanks goes to: kris (for his help with getting this tested) -------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
MTREE_FILE= /etc/mtree/BSD.usr.dist
.else
MTREE_FILE= ${PORTSDIR}/Templates/BSD.local.dist
.endif
Heroic attempt to reduce number of PRs assigned to portmgr@: 1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working. PR: 36537 Submitted by: tg 2. Propagate error code from failed `make depends', when one of the ports we depend upon is marked BROKEN/FORBIDDEN. PR: 25522 Submitted by: alex 3. By default, when bsd.port.mk configurating Makefile.PL only pass PREFIX as argument, but some Perl module (eg. Test-Harness) needed INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise default installation will goes to /usr/lib and not ${PREFIX}/lib, in some case, adding these tag to CONFIGURE_ARGS is not bad. PR: 29681 Submitted by: Shell Hung <shell@shellhung.org> 4. Update patch-libtool target, so that it doesn't break ports with autoconf 2.13-generated configure script. USE_LIBTOOL is still not very useful for such cases, but at least it doesn't break them badly anymore. PR: 31142 Submitted by: wjv 5. Make `make search' working even when /usr/obj/usr/ports exists. PR: 31862 Submitted by: gad 6. When configure script fails unexpectedly don't dump thousands lines of config.log to the user's screen, because it usually doesn't contain information useful for tracking the problem anyway. Instead display a message asking a user to report the failure to the proper entity (maintainer) and what to include into the problem report. PR: 34459, 35488 Submitted by: Thomas Hurst <freaky@aagh.net> Alan Eldridge <ports@geeksrus.net> sobomax other countless hackers whose names are lost in the noise Text of message suggested by: asmodai 7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr, bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as always, however those defaults are not appropriate for /usr, and better options are available. PR: 36030 Submitted by: DougB 8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to avoid clashing with system .mk settings (${ECHO} has a different meaning there). Actually the patch is imcomplete, because large portion of those ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce happy, which shouldn't be underestimated. PR: 34988 Submitted by: knu All of the above tested by: bento Special thanks goes to: kris (for his help with getting this tested) -------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
.endif
MTREE_CMD?= /usr/sbin/mtree
MTREE_ARGS?= -U ${MTREE_FOLLOWS_SYMLINKS} -f ${MTREE_FILE} -d -e -p
_SHAREMODE?= 0644
# A few aliases for *-install targets
INSTALL_PROGRAM= ${INSTALL} ${COPY} ${STRIP} -m ${BINMODE}
INSTALL_KLD= ${INSTALL} ${COPY} -m ${BINMODE}
INSTALL_LIB= ${INSTALL} ${COPY} ${STRIP} -m ${SHAREMODE}
INSTALL_SCRIPT= ${INSTALL} ${COPY} -m ${BINMODE}
INSTALL_DATA= ${INSTALL} ${COPY} -m ${_SHAREMODE}
INSTALL_MAN= ${INSTALL} ${COPY} -m ${MANMODE}
INSTALL_MACROS= BSD_INSTALL_PROGRAM="${INSTALL_PROGRAM}" \
BSD_INSTALL_LIB="${INSTALL_LIB}" \
BSD_INSTALL_SCRIPT="${INSTALL_SCRIPT}" \
BSD_INSTALL_DATA="${INSTALL_DATA}" \
BSD_INSTALL_MAN="${INSTALL_MAN}"
MAKE_ENV+= ${INSTALL_MACROS}
SCRIPTS_ENV+= ${INSTALL_MACROS}
# Macro for copying entire directory tree with correct permissions
COPYTREE_BIN= ${SH} -c '(${FIND} -d $$0 $$2 | ${CPIO} -dumpl $$1 >/dev/null \
2>&1) && \
${FIND} -d $$0 $$2 -type d -exec chmod 755 $$1/{} \; && \
${FIND} -d $$0 $$2 -type f -exec chmod ${BINMODE} $$1/{} \;' --
COPYTREE_SHARE= ${SH} -c '(${FIND} -d $$0 $$2 | ${CPIO} -dumpl $$1 >/dev/null \
2>&1) && \
${FIND} -d $$0 $$2 -type d -exec chmod 755 $$1/{} \; && \
${FIND} -d $$0 $$2 -type f -exec chmod ${SHAREMODE} $$1/{} \;' --
# The user can override the NO_PACKAGE by specifying this from
# the make command line
.if defined(FORCE_PACKAGE)
.undef NO_PACKAGE
.endif
DESCR?= ${PKGDIR}/pkg-descr
PLIST?= ${PKGDIR}/pkg-plist
PKGHELP?= ${PKGDIR}/pkg-help
PKGINSTALL?= ${PKGDIR}/pkg-install
PKGDEINSTALL?= ${PKGDIR}/pkg-deinstall
PKGREQ?= ${PKGDIR}/pkg-req
PKGMESSAGE?= ${PKGDIR}/pkg-message
TMPPLIST?= ${WRKDIR}/.PLIST.mktmp
TMPPLIST_SORT?= ${WRKDIR}/.PLIST.mktmp.sorted
TMPGUCMD?= ${WRKDIR}/.PLIST.gucmd
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
.if defined(PKG_NOCOMPRESS)
PKG_SUFX?= .tar
.else
PKG_SUFX?= .txz
.endif
# where pkg_add records its dirty deeds.
PKG_DBDIR?= /var/db/pkg
ALL_TARGET?= all
INSTALL_TARGET?= install
INSTALL_TARGET+= ${LATE_INSTALL_ARGS}
# Integrate with the license auditing framework
.if !defined (DISABLE_LICENSES)
.include "${PORTSDIR}/Mk/bsd.licenses.mk"
.endif
# Popular master sites
.include "${PORTSDIR}/Mk/bsd.sites.mk"
# Empty declaration to avoid "variable MASTER_SITES recursive" error
MASTER_SITES?=
PATCH_SITES?=
_MASTER_SITES_DEFAULT?=
_PATCH_SITES_DEFAULT?=
# Feed internal _{MASTER,PATCH}_SITES_n where n is a group designation
# as per grouping rules (:something)
# Organize _{MASTER,PATCH}_SITES_{DEFAULT,[^/:]+} according to grouping
# rules (:something)
.for _S in ${MASTER_SITES}
_S_TEMP= ${_S:S/^${_S:C@/?:[^/:]+$@/@}//:S/^://}
. if !empty(_S_TEMP)
. for _group in ${_S_TEMP:S/,/ /g}
_G_TEMP= ${_group}
. if ${_G_TEMP} == all || ${_G_TEMP} == ALL || ${_G_TEMP} == default
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
check-makevars::
@${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be"
@${ECHO_MSG} "used in group definitions. Please fix your MASTER_SITES"
@${FALSE}
. endif
_MASTER_SITES_${_group}+= ${_S:C@^(.*/):[^/:]+$@\1@}
. endfor
. else
_MASTER_SITES_DEFAULT+= ${_S:C@^(.*/):[^/:]+$@\1@}
. endif
.endfor
.for _S in ${PATCH_SITES}
_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//:S/^://}
. if !empty(_S_TEMP)
. for _group in ${_S_TEMP:S/,/ /g}
_G_TEMP= ${_group}
. if ${_G_TEMP} == all || ${_G_TEMP} == ALL || ${_G_TEMP} == default
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
check-makevars::
@${ECHO_MSG} "The words all, ALL and default are reserved and cannot be"
@${ECHO_MSG} "used in group definitions. Please fix your PATCH_SITES"
@${FALSE}
. endif
_PATCH_SITES_${_group}+= ${_S:C@^(.*/):[^/:]+$@\1@}
. endfor
. else
_PATCH_SITES_DEFAULT+= ${_S:C@^(.*/):[^/:]+$@\1@}
. endif
.endfor
# Feed internal _{MASTER,PATCH}_SITE_SUBDIR_n where n is a group designation
# as per grouping rules (:something)
# Organize _{MASTER,PATCH}_SITE_SUBDIR_{DEFAULT,[^/:]+} according to grouping
# rules (:something)
.for _S in ${MASTER_SITE_SUBDIR}
_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//:S/^://}
. if !empty(_S_TEMP)
. for _group in ${_S_TEMP:S/,/ /g}
_G_TEMP= ${_group}
. if ${_G_TEMP} == all || ${_G_TEMP} == ALL || ${_G_TEMP} == default
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
check-makevars::
@${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be"
@${ECHO_MSG} "used in group definitions. Please fix your MASTER_SITE_SUBDIR"
@${FALSE}
. endif
. if defined(_MASTER_SITES_${_group})
_MASTER_SITE_SUBDIR_${_group}+= ${_S:C@^(.*)/:[^/:]+$@\1@}
. endif
. endfor
. else
. if defined(_MASTER_SITES_DEFAULT)
_MASTER_SITE_SUBDIR_DEFAULT+= ${_S:C@^(.*)/:[^/:]+$@\1@}
. endif
. endif
.endfor
.for _S in ${PATCH_SITE_SUBDIR}
_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//:S/^://}
. if !empty(_S_TEMP)
. for _group in ${_S_TEMP:S/,/ /g}
_G_TEMP= ${_group}
. if ${_G_TEMP} == all || ${_G_TEMP} == ALL || ${_G_TEMP} == default
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
check-makevars::
@${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be"
@${ECHO_MSG} "used in group definitions. Please fix your PATCH_SITE_SUBDIR"
@${FALSE}
. endif
. if defined(_PATCH_SITES_${_group})
_PATCH_SITE_SUBDIR_${_group}+= ${_S:C@^(.*)/:[^/:]+$@\1@}
. endif
. endfor
. else
. if defined(_PATCH_SITES_DEFAULT)
_PATCH_SITE_SUBDIR_DEFAULT+= ${_S:C@^(.*)/:[^/:]+$@\1@}
. endif
. endif
.endfor
# Substitute subdirectory names
# XXX simpler/faster solution but not the best space wise, suggestions please
.for _S in ${MASTER_SITES}
_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//:S/^://}
. if !empty(_S_TEMP)
. for _group in ${_S_TEMP:S/,/ /g}
. if !defined(_MASTER_SITE_SUBDIR_${_group})
MASTER_SITES_TMP= ${_MASTER_SITES_${_group}:S^%SUBDIR%/^^}
. else
_S_TEMP_TEMP= ${_MASTER_SITES_${_group}:M*%SUBDIR%/*}
. if empty(_S_TEMP_TEMP)
MASTER_SITES_TMP= ${_MASTER_SITES_${_group}}
. else
MASTER_SITES_TMP=
. for site in ${_MASTER_SITES_${_group}}
_S_TEMP_TEMP= ${site:M*%SUBDIR%/*}
. if empty(_S_TEMP_TEMP)
MASTER_SITES_TMP+= ${site}
. else
. for dir in ${_MASTER_SITE_SUBDIR_${_group}}
MASTER_SITES_TMP+= ${site:S^%SUBDIR%^\${dir}^}
. endfor
. endif
. endfor
. endif
. endif
_MASTER_SITES_${_group}:= ${MASTER_SITES_TMP}
. endfor
. endif
(1) ${MASTER_SITE_SUBDIR} is now a list, and ${MASTER_SITE_*} macros will be expanded multiple times if ${MASTER_SITE_SUBDIR} contains more than one item. Reviewed by: Bill "Mr. distfiles" Fenner (2) Replace stale site with a good one in MASTER_SITE_GNU. Submitted by: Bill "Mr. mastersites" Fenner (3) Add new variable USE_BZIP2, which, like USE_GMAKE, will change the default decompression method of distfiles from gzip to bzip2. Since tar doesn't have a simple flag to turn on bzip2 decompression, I changed the way EXTRACT_CMD and EXTRACT_{BEFORE,AFTER}_ARGS work. These are the new defaults: EXTRACT_CMD: gzip or bzip2 EXTRACT_BEFORE_ARGS: -dc EXTRACT_AFTER_ARGS: | tar -xf - (They used to be "tar", "-xzf", and "", respectively, before.) Also, EXTRACT_SUFX will default to ".tar.bz2" if USE_BZIP2 is set. There are a few things porters should be careful about: (a) If you are using bsd.port.{pre,post}.mk, USE_BZIP2 should be set before the .include of pre.mk. (b) Do not use ${EXTRACT_SUFX} as an alias of tar. There is a new variable ${TAR} for that purpose. (c) If you are calling ${EXTRACT_CMD} directly, you need both ${EXTRACT_BEFORE_ARGS} and ${EXTRACT_AFTER_ARGS} in the command line. (The latter was previously empty so could be omitted -- that is no longer the case.) (d) If you need to set any of EXTRACT_CMD, EXTRACT_BEFORE_ARGS or EXTRACT_AFTER_ARGS, define all three, even if they are the default. The values of these variables may very well change in the future (but the calling syntax probably will not) so it will save the port from breakage when that happens. Tested by: recompiling the entire ports tree
1999-02-03 11:06:19 +00:00
.endfor
.if defined(_MASTER_SITE_SUBDIR_DEFAULT)
_S_TEMP= ${_MASTER_SITES_DEFAULT:M*%SUBDIR%/*}
. if empty(_S_TEMP)
MASTER_SITES_TMP= ${_MASTER_SITES_DEFAULT}
. else
MASTER_SITES_TMP=
. for site in ${_MASTER_SITES_DEFAULT}
_S_TEMP_TEMP= ${site:M*%SUBDIR%/*}
. if empty(_S_TEMP_TEMP)
MASTER_SITES_TMP+= ${site}
. else
. for dir in ${_MASTER_SITE_SUBDIR_DEFAULT}
MASTER_SITES_TMP+= ${site:S^%SUBDIR%^\${dir}^}
. endfor
. endif
. endfor
. endif
.else
MASTER_SITES_TMP= ${_MASTER_SITES_DEFAULT:S^%SUBDIR%/^^}
.endif
_MASTER_SITES_DEFAULT:= ${MASTER_SITES_TMP}
MASTER_SITES_TMP=
.for _S in ${PATCH_SITES}
_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//:S/^://}
. if !empty(_S_TEMP)
. for _group in ${_S_TEMP:S/,/ /g}
. if !defined(_PATCH_SITE_SUBDIR_${_group})
PATCH_SITES_TMP= ${_PATCH_SITES_${_group}:S^%SUBDIR%/^^}
. else
_S_TEMP_TEMP= ${_PATCH_SITES_${_group}:M*%SUBDIR%/*}
. if empty(_S_TEMP_TEMP)
PATCH_SITES_TMP= ${_PATCH_SITES_${_group}}
. else
PATCH_SITES_TMP=
. for site in ${_PATCH_SITES_${_group}}
_S_TEMP_TEMP= ${site:M*%SUBDIR%/*}
. if empty(_S_TEMP_TEMP)
PATCH_SITES_TMP+= ${site}
. else
. for dir in ${_PATCH_SITE_SUBDIR_${_group}}
PATCH_SITES_TMP+= ${site:S^%SUBDIR%^\${dir}^}
. endfor
. endif
. endfor
. endif
. endif
_PATCH_SITES_${_group}:= ${PATCH_SITES_TMP}
. endfor
. endif
(1) ${MASTER_SITE_SUBDIR} is now a list, and ${MASTER_SITE_*} macros will be expanded multiple times if ${MASTER_SITE_SUBDIR} contains more than one item. Reviewed by: Bill "Mr. distfiles" Fenner (2) Replace stale site with a good one in MASTER_SITE_GNU. Submitted by: Bill "Mr. mastersites" Fenner (3) Add new variable USE_BZIP2, which, like USE_GMAKE, will change the default decompression method of distfiles from gzip to bzip2. Since tar doesn't have a simple flag to turn on bzip2 decompression, I changed the way EXTRACT_CMD and EXTRACT_{BEFORE,AFTER}_ARGS work. These are the new defaults: EXTRACT_CMD: gzip or bzip2 EXTRACT_BEFORE_ARGS: -dc EXTRACT_AFTER_ARGS: | tar -xf - (They used to be "tar", "-xzf", and "", respectively, before.) Also, EXTRACT_SUFX will default to ".tar.bz2" if USE_BZIP2 is set. There are a few things porters should be careful about: (a) If you are using bsd.port.{pre,post}.mk, USE_BZIP2 should be set before the .include of pre.mk. (b) Do not use ${EXTRACT_SUFX} as an alias of tar. There is a new variable ${TAR} for that purpose. (c) If you are calling ${EXTRACT_CMD} directly, you need both ${EXTRACT_BEFORE_ARGS} and ${EXTRACT_AFTER_ARGS} in the command line. (The latter was previously empty so could be omitted -- that is no longer the case.) (d) If you need to set any of EXTRACT_CMD, EXTRACT_BEFORE_ARGS or EXTRACT_AFTER_ARGS, define all three, even if they are the default. The values of these variables may very well change in the future (but the calling syntax probably will not) so it will save the port from breakage when that happens. Tested by: recompiling the entire ports tree
1999-02-03 11:06:19 +00:00
.endfor
.if defined(_PATCH_SITE_SUBDIR_DEFAULT)
_S_TEMP= ${_PATCH_SITES_DEFAULT:M*%SUBDIR%/*}
. if empty(_S_TEMP)
PATCH_SITES_TMP= ${_PATCH_SITES_DEFAULT}
. else
PATCH_SITES_TMP=
. for site in ${_PATCH_SITES_DEFAULT}
_S_TEMP_TEMP= ${site:M*%SUBDIR%/*}
. if empty(_S_TEMP_TEMP)
PATCH_SITES_TMP+= ${site}
. else
. for dir in ${_PATCH_SITE_SUBDIR_DEFAULT}
PATCH_SITES_TMP+= ${site:S^%SUBDIR%^\${dir}^}
. endfor
. endif
. endfor
. endif
.else
PATCH_SITES_TMP= ${_PATCH_SITES_DEFAULT:S^%SUBDIR%/^^}
.endif
_PATCH_SITES_DEFAULT:= ${PATCH_SITES_TMP}
PATCH_SITES_TMP=
# The primary backup site.
MASTER_SITE_BACKUP?= \
http://distcache.FreeBSD.org/ports-distfiles/${DIST_SUBDIR}/
MASTER_SITE_BACKUP:= ${MASTER_SITE_BACKUP:S^\${DIST_SUBDIR}/^^}
# If the user has MASTER_SITE_FREEBSD set, go to the FreeBSD repository
# for everything, but don't search it twice by appending it to the end.
.if defined(MASTER_SITE_FREEBSD)
_MASTER_SITE_OVERRIDE:= ${MASTER_SITE_BACKUP}
_MASTER_SITE_BACKUP:= # empty
.else
_MASTER_SITE_OVERRIDE= ${MASTER_SITE_OVERRIDE}
_MASTER_SITE_BACKUP= ${MASTER_SITE_BACKUP}
.endif
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
NOFETCHFILES?=
# Organize DISTFILES, PATCHFILES, _MASTER_SITES_ALL, _PATCH_SITES_ALL
# according to grouping rules (:something)
DISTFILES?= ${DISTNAME}${EXTRACT_SUFX}
_MASTER_SITES_ALL= ${_MASTER_SITES_DEFAULT}
_PATCH_SITES_ALL= ${_PATCH_SITES_DEFAULT}
_G_TEMP= DEFAULT
.for _D in ${DISTFILES}
_D_TEMP= ${_D:S/^${_D:C/:[^:]+$//}//}
. if !empty(_D_TEMP)
. for _group in ${_D_TEMP:S/^://:S/,/ /g}
. if !defined(_MASTER_SITES_${_group})
_G_TEMP_TEMP= ${_G_TEMP:M/${_group}/}
. if empty(_G_TEMP_TEMP)
_G_TEMP+= ${_group}
_MASTER_SITES_ALL+= ${_MASTER_SITES_${_group}}
. endif
. endif
. endfor
_DISTFILES+= ${_D:C/:[^:]+$//}
. else
_DISTFILES+= ${_D}
. endif
.endfor
_G_TEMP= DEFAULT
.for _P in ${PATCHFILES}
_P_TEMP= ${_P:C/:[^-:][^:]*$//}
_P_groups= ${_P:S/^${_P:C/:[^:]+$//}//:S/^://}
_P_file= ${_P_TEMP:C/:-[^:]+$//}
_P_strip= ${_P_TEMP:S/^${_P_TEMP:C/:-[^:]*$//}//:S/^://}
. if !empty(_P_groups)
. for _group in ${_P_groups:S/,/ /g}
. if !defined(_PATCH_SITES_${_group})
_G_TEMP_TEMP= ${_G_TEMP:M/${_group}/}
. if empty(_G_TEMP_TEMP)
_G_TEMP+= ${_group}
_PATCH_SITES_ALL+= ${_PATCH_SITES_${_group}}
. endif
. endif
. endfor
. endif
_PATCHFILES:= ${_PATCHFILES} ${_P_file}
. if !empty(_P_strip)
_PATCH_DIST_STRIP_CASES:= ${_PATCH_DIST_STRIP_CASES} ("${_P_file}") printf %s "${_P_strip}" ;;
. endif
.endfor
_P_groups=
_P_file=
_P_strip=
_G_TEMP=
_G_TEMP_TEMP=
ALLFILES?= ${_DISTFILES} ${_PATCHFILES}
#
# Sort the master site list according to the patterns in MASTER_SORT
#
MASTER_SORT?=
MASTER_SORT_REGEX?=
* Some spelling/grammar fixes in comments * Replace some bare uses of cat with ${CAT} * [ports/19112] Ignore RCS files (*,v) when applying patches * [ports/19270] Check whether ${DISTDIR} is writable and fail with a better error message if not (mostly caused by trying to fetch as the wrong user) * [ports/23560] Force patch backup files to be created with .orig suffix * [ports/34717] Don't enclose PTHREAD_LIBS in quotes, because it will cause problems if used in an already-quoted string. * [ports/34987] Fix an awk warning in MASTER_SORT/MASTER_SORT_REGEX code * [misc/38724] Change some uses of the deprecated test -h to test -L * [1] Registering real dependencies: dependency registration looks at the currently-installed version of the dependency and registers that version, instead of registering the version in ports which may be newer than what is installed. * [2] Further 100% speed-up of dependency registration process by eliminating second call to package-depends (using information from the first call stored in +CONTENTS file of package being installed). Very useful for developing GNOME or similar packages with zillion dependencies, when package-depends target could take few minutes to complete; * [2] Proper set-up of ${SHELL} variable in build environment, so that user's interactive shell isn't picked instead. This has various implications, ranging from build process speed-up due to using /bin/sh to invoke libtool instead of bash or any other much more bloated user's shell (configure scripts often pick it up from the ${SHELL} environment), to fixing problems some users have when building random ports. Submitted by: sobomax [1] [2], Aleksandr A. Babaylov <.@babolo.ru> [ports/19112], Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> [ports/19270], Alan Bawden <Alan@LCS.MIT.EDU> [ports/23560], Christian Weisgerber <naddy@mips.inka.de> [ports/34717], knu [ports/34987], april <april@oublinet.net> [ports/38724] PR: ports/19112, ports/19270, ports/23560, ports/34717, ports/34987, ports/36237, ports/38724 Tested on: bento 4-exp build
2002-09-19 00:16:39 +00:00
MASTER_SORT_REGEX+= ${MASTER_SORT:S|.|\\.|g:S|^|://[^/]*|:S|$|/|}
* Some spelling/grammar fixes in comments * Replace some bare uses of cat with ${CAT} * [ports/19112] Ignore RCS files (*,v) when applying patches * [ports/19270] Check whether ${DISTDIR} is writable and fail with a better error message if not (mostly caused by trying to fetch as the wrong user) * [ports/23560] Force patch backup files to be created with .orig suffix * [ports/34717] Don't enclose PTHREAD_LIBS in quotes, because it will cause problems if used in an already-quoted string. * [ports/34987] Fix an awk warning in MASTER_SORT/MASTER_SORT_REGEX code * [misc/38724] Change some uses of the deprecated test -h to test -L * [1] Registering real dependencies: dependency registration looks at the currently-installed version of the dependency and registers that version, instead of registering the version in ports which may be newer than what is installed. * [2] Further 100% speed-up of dependency registration process by eliminating second call to package-depends (using information from the first call stored in +CONTENTS file of package being installed). Very useful for developing GNOME or similar packages with zillion dependencies, when package-depends target could take few minutes to complete; * [2] Proper set-up of ${SHELL} variable in build environment, so that user's interactive shell isn't picked instead. This has various implications, ranging from build process speed-up due to using /bin/sh to invoke libtool instead of bash or any other much more bloated user's shell (configure scripts often pick it up from the ${SHELL} environment), to fixing problems some users have when building random ports. Submitted by: sobomax [1] [2], Aleksandr A. Babaylov <.@babolo.ru> [ports/19112], Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> [ports/19270], Alan Bawden <Alan@LCS.MIT.EDU> [ports/23560], Christian Weisgerber <naddy@mips.inka.de> [ports/34717], knu [ports/34987], april <april@oublinet.net> [ports/38724] PR: ports/19112, ports/19270, ports/23560, ports/34717, ports/34987, ports/36237, ports/38724 Tested on: bento 4-exp build
2002-09-19 00:16:39 +00:00
MASTER_SORT_AWK= BEGIN { RS = " "; ORS = " "; IGNORECASE = 1 ; gl = "${MASTER_SORT_REGEX:S|\\|\\\\|g}"; }
.for srt in ${MASTER_SORT_REGEX}
* Some spelling/grammar fixes in comments * Replace some bare uses of cat with ${CAT} * [ports/19112] Ignore RCS files (*,v) when applying patches * [ports/19270] Check whether ${DISTDIR} is writable and fail with a better error message if not (mostly caused by trying to fetch as the wrong user) * [ports/23560] Force patch backup files to be created with .orig suffix * [ports/34717] Don't enclose PTHREAD_LIBS in quotes, because it will cause problems if used in an already-quoted string. * [ports/34987] Fix an awk warning in MASTER_SORT/MASTER_SORT_REGEX code * [misc/38724] Change some uses of the deprecated test -h to test -L * [1] Registering real dependencies: dependency registration looks at the currently-installed version of the dependency and registers that version, instead of registering the version in ports which may be newer than what is installed. * [2] Further 100% speed-up of dependency registration process by eliminating second call to package-depends (using information from the first call stored in +CONTENTS file of package being installed). Very useful for developing GNOME or similar packages with zillion dependencies, when package-depends target could take few minutes to complete; * [2] Proper set-up of ${SHELL} variable in build environment, so that user's interactive shell isn't picked instead. This has various implications, ranging from build process speed-up due to using /bin/sh to invoke libtool instead of bash or any other much more bloated user's shell (configure scripts often pick it up from the ${SHELL} environment), to fixing problems some users have when building random ports. Submitted by: sobomax [1] [2], Aleksandr A. Babaylov <.@babolo.ru> [ports/19112], Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> [ports/19270], Alan Bawden <Alan@LCS.MIT.EDU> [ports/23560], Christian Weisgerber <naddy@mips.inka.de> [ports/34717], knu [ports/34987], april <april@oublinet.net> [ports/38724] PR: ports/19112, ports/19270, ports/23560, ports/34717, ports/34987, ports/36237, ports/38724 Tested on: bento 4-exp build
2002-09-19 00:16:39 +00:00
MASTER_SORT_AWK+= /${srt:S|/|\\/|g}/ { good["${srt:S|\\|\\\\|g}"] = good["${srt:S|\\|\\\\|g}"] " " $$0 ; next; }
.endfor
* Some spelling/grammar fixes in comments * Replace some bare uses of cat with ${CAT} * [ports/19112] Ignore RCS files (*,v) when applying patches * [ports/19270] Check whether ${DISTDIR} is writable and fail with a better error message if not (mostly caused by trying to fetch as the wrong user) * [ports/23560] Force patch backup files to be created with .orig suffix * [ports/34717] Don't enclose PTHREAD_LIBS in quotes, because it will cause problems if used in an already-quoted string. * [ports/34987] Fix an awk warning in MASTER_SORT/MASTER_SORT_REGEX code * [misc/38724] Change some uses of the deprecated test -h to test -L * [1] Registering real dependencies: dependency registration looks at the currently-installed version of the dependency and registers that version, instead of registering the version in ports which may be newer than what is installed. * [2] Further 100% speed-up of dependency registration process by eliminating second call to package-depends (using information from the first call stored in +CONTENTS file of package being installed). Very useful for developing GNOME or similar packages with zillion dependencies, when package-depends target could take few minutes to complete; * [2] Proper set-up of ${SHELL} variable in build environment, so that user's interactive shell isn't picked instead. This has various implications, ranging from build process speed-up due to using /bin/sh to invoke libtool instead of bash or any other much more bloated user's shell (configure scripts often pick it up from the ${SHELL} environment), to fixing problems some users have when building random ports. Submitted by: sobomax [1] [2], Aleksandr A. Babaylov <.@babolo.ru> [ports/19112], Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> [ports/19270], Alan Bawden <Alan@LCS.MIT.EDU> [ports/23560], Christian Weisgerber <naddy@mips.inka.de> [ports/34717], knu [ports/34987], april <april@oublinet.net> [ports/38724] PR: ports/19112, ports/19270, ports/23560, ports/34717, ports/34987, ports/36237, ports/38724 Tested on: bento 4-exp build
2002-09-19 00:16:39 +00:00
MASTER_SORT_AWK+= { rest = rest " " $$0; } END { n=split(gl, gla); for(i=1;i<=n;i++) { print good[gla[i]]; } print rest; }
SORTED_MASTER_SITES_DEFAULT_CMD= cd ${.CURDIR} && ${MAKE} master-sites-DEFAULT
SORTED_PATCH_SITES_DEFAULT_CMD= cd ${.CURDIR} && ${MAKE} patch-sites-DEFAULT
SORTED_MASTER_SITES_ALL_CMD= cd ${.CURDIR} && ${MAKE} master-sites-ALL
SORTED_PATCH_SITES_ALL_CMD= cd ${.CURDIR} && ${MAKE} patch-sites-ALL
# has similar effect to old targets, i.e., access only {MASTER,PATCH}_SITES, not working with the new _n variables
master-sites-DEFAULT:
@${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_MASTER_SITES_DEFAULT}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}
patch-sites-DEFAULT:
@${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_PATCH_SITES_DEFAULT}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}
#
# Sort the master site list according to the patterns in MASTER_SORT
# according to grouping rules (:something)
#
# for use in the fetch targets
.for _S in ${MASTER_SITES}
_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//}
. if !empty(_S_TEMP)
. for _group in ${_S_TEMP:S/^://:S/,/ /g}
. if !target(master-sites-${_group})
SORTED_MASTER_SITES_${_group}_CMD= cd ${.CURDIR} && ${MAKE} master-sites-${_group}
master-sites-${_group}:
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
@${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_MASTER_SITES_${_group}}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}
. endif
. endfor
. endif
.endfor
.for _S in ${PATCH_SITES}
_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//}
. if !empty(_S_TEMP)
. for _group in ${_S_TEMP:S/^://:S/,/ /g}
. if !target(patch-sites-${_group})
SORTED_PATCH_SITES_${_group}_CMD= cd ${.CURDIR} && ${MAKE} patch-sites-${_group}
patch-sites-${_group}:
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
@${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_PATCH_SITES_${_group}}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}
. endif
. endfor
. endif
.endfor
#
# Hackery to enable simple fetch targets with several dynamic MASTER_SITES
#
_MASTER_SITES_ENV= _MASTER_SITES_DEFAULT="${_MASTER_SITES_DEFAULT}"
.for _F in ${DISTFILES}
_F_TEMP= ${_F:S/^${_F:C/:[^:]+$//}//:S/^://}
. if !empty(_F_TEMP)
. for _group in ${_F_TEMP:S/,/ /g}
. if defined(_MASTER_SITES_${_group})
_MASTER_SITES_ENV+= _MASTER_SITES_${_group}="${_MASTER_SITES_${_group}}"
. endif
. endfor
. endif
.endfor
_PATCH_SITES_ENV= _PATCH_SITES_DEFAULT="${_PATCH_SITES_DEFAULT}"
.for _F in ${PATCHFILES}
_F_TEMP= ${_F:S/^${_F:C/:[^-:][^:]*$//}//:S/^://}
. if !empty(_F_TEMP)
. for _group in ${_F_TEMP:S/,/ /g}
. if defined(_PATCH_SITES_${_group})
_PATCH_SITES_ENV+= _PATCH_SITES_${_group}="${_PATCH_SITES_${_group}}"
. endif
. endfor
. endif
.endfor
master-sites-ALL:
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
@${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_MASTER_SITES_ALL}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}
patch-sites-ALL:
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
@${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_PATCH_SITES_ALL}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}
# synonyms, mnemonics
master-sites-all: master-sites-ALL
patch-sites-all: patch-sites-ALL
master-sites-default: master-sites-DEFAULT
patch-sites-default: patch-sites-DEFAULT
# compatibility with old behavior
master-sites: master-sites-DEFAULT
patch-sites: patch-sites-DEFAULT
CKSUMFILES= ${ALLFILES}
# List of all files, with ${DIST_SUBDIR} in front. Used for checksum.
.if defined(DIST_SUBDIR)
- Allow processing of info files in non-standard locations; the INFO_PATH variable may be used to specify their location. It defaults to 'share/info' for the standard PREFIX, and 'info' when PREFIX == /usr. [1] - Remove the <category>/pkg/COMMENT files in favour of a COMMENT variable in <category>/Makefile [2] - Prevent patch breakage with VERSION_CONTROL=numbered [3] - Fix some instances of incorrect WRKDIRPREFIX handling. [4] - remove useless ${MKDIR} ${WRKSRC} in config target [5] - remove reference to OpenBSD [6] - Exempt devel/p5-Module-Build from the self-dependency in PERL_MODBUILD so that this port may use the option without getting an infinite dependency list [7] - The default PERL_ARCH is currently determined as a function of OSVERSION. It should however be a function of PERL_LEVEL since the correct value depends on what Perl version one has installed (older Perl versions use ${ARCH}-freebsd, newer versions use mach). [8] - Fix PORTDOCS on older (4.7, 5.0) systems [9] - Allow 'make parallel' to generate a working makefile when not all categories are present (this does not mean you'll be able to build all ports, unless you make sure they don't have external dependencies) [10] - Don't report symlinks as world-writable in the security check [11] - Fix a comment that was broken by a mismerged patch [12] - Clarify the meaning of USE_*, WANT_*, WITH_* and WITHOUT_* [13] - Don't set _CHKSUMFILES/_IGNOREFILES if CKSUMFILES/IGNOREFILES is empty and DIST_SUBDIR is set. [14] - Fix comment for DISTDIR [15] - Update the documentation of the USE_GL variable [16] - Check to see if NONEXISTENT exists, and fail with an error if it does [17] - Fix fetching of new distfiles in 'make makesum' when SIZE is set [18] - Consistently set MAKE_ENV when USE_GCC=3.2 or 3.3 are set [19] - Rework INDEX builds: [20] * Fix the bsd.port.subdir.mk code that is supposed to report index breakage (the fallback code wasn't actually being run because make would halt immediately following the error). This should help with INDEX error reports because it will immediately show the cause of failure, so we won't have to pull teeth to extract it from the submitter. * Streamline the 'make describe' code a bit. * Provide some basic instructions to the user when an index build fails, on when and how to report index build failures (turn this off with INDEX_QUIET=1) * Removed INDEX_NOSORT, because I couldn't imagine it to be very useful and it doesn't cost very much anyway. * Don't prevent INDEX builds from seeing the local host environment. Since a lot of users are using 'make index' thesedays they should get an index that reflects their local settings and installed ports. If you want to build a 'default' index that isn't influenced by local settings (e.g. for release builds), set the INDEX_PRISTINE variable. * Allows parallel INDEX builds (using make -j). The most obvious way of doing this doesn't work, because I/O from child makes is broken up into 2k chunks, and output lines from 'make describe' that exceed this length (*cough* GNOME *cough*) will be intertwined with the output of other makes, leading to a corrupted INDEX. The I/O interleaving can be disabled using 'make -P', but this inserts extraneous output of its own, and redirects stderr, making it useless for our purposes. Instead, I collect the output from the child make processes in temporary files and recombine them at the end. * The number of concurrent make processes to spawn can be set using INDEX_JOBS. By default this is set to 2, which seems to be a sweet spot for both single and dual-processor systems. On my tests I do not see any significant performance changes on UP, but on a dual 4.x system the build time drops by 47% (6 minute index builds on one test machine!). Depending on your disk and CPU hardware you might see further gains with INDEX_JOBS=4 or higher, so you might like to experiment to see what works best. On a dual 5.x system the performance gains do not seem to be as great (20-30%), but this is still a significant net win. PR: 55493 [1], 59651 [2], 61552 [3], 62247 [4], 62329 [5], 62337 [6], 62422 [7], 62441 [8], 62627 [9], 62983 [10], 63112 [11], 63297 [12], 63335 [13], 64029 [14], 64069 [15], 64236 [16], 64519 [17], 62958 [18], 64237 [19] Submitted by: lev [1], Matthew Seaman <m.seaman@infracaninophile.co.uk> [2], Joel Ray Holveck <joelh@piquan.org> [3], ade [4], Sergey Matveychuk <sem@ciam.ru> [5], markus [6], mat [7], des [8], eik [9], Dmitry Morozovsky <marck@rinet.ru> [10], Andrew <andrew@ugh.net.au> [11], vs [12], linimon [13], edwin [14][15], gerald [16], marcus[17][18], kris [19][20]
2004-04-02 07:25:23 +00:00
.if defined(CKSUMFILES) && ${CKSUMFILES}!=""
_CKSUMFILES?= ${CKSUMFILES:S/^/${DIST_SUBDIR}\//}
- Allow processing of info files in non-standard locations; the INFO_PATH variable may be used to specify their location. It defaults to 'share/info' for the standard PREFIX, and 'info' when PREFIX == /usr. [1] - Remove the <category>/pkg/COMMENT files in favour of a COMMENT variable in <category>/Makefile [2] - Prevent patch breakage with VERSION_CONTROL=numbered [3] - Fix some instances of incorrect WRKDIRPREFIX handling. [4] - remove useless ${MKDIR} ${WRKSRC} in config target [5] - remove reference to OpenBSD [6] - Exempt devel/p5-Module-Build from the self-dependency in PERL_MODBUILD so that this port may use the option without getting an infinite dependency list [7] - The default PERL_ARCH is currently determined as a function of OSVERSION. It should however be a function of PERL_LEVEL since the correct value depends on what Perl version one has installed (older Perl versions use ${ARCH}-freebsd, newer versions use mach). [8] - Fix PORTDOCS on older (4.7, 5.0) systems [9] - Allow 'make parallel' to generate a working makefile when not all categories are present (this does not mean you'll be able to build all ports, unless you make sure they don't have external dependencies) [10] - Don't report symlinks as world-writable in the security check [11] - Fix a comment that was broken by a mismerged patch [12] - Clarify the meaning of USE_*, WANT_*, WITH_* and WITHOUT_* [13] - Don't set _CHKSUMFILES/_IGNOREFILES if CKSUMFILES/IGNOREFILES is empty and DIST_SUBDIR is set. [14] - Fix comment for DISTDIR [15] - Update the documentation of the USE_GL variable [16] - Check to see if NONEXISTENT exists, and fail with an error if it does [17] - Fix fetching of new distfiles in 'make makesum' when SIZE is set [18] - Consistently set MAKE_ENV when USE_GCC=3.2 or 3.3 are set [19] - Rework INDEX builds: [20] * Fix the bsd.port.subdir.mk code that is supposed to report index breakage (the fallback code wasn't actually being run because make would halt immediately following the error). This should help with INDEX error reports because it will immediately show the cause of failure, so we won't have to pull teeth to extract it from the submitter. * Streamline the 'make describe' code a bit. * Provide some basic instructions to the user when an index build fails, on when and how to report index build failures (turn this off with INDEX_QUIET=1) * Removed INDEX_NOSORT, because I couldn't imagine it to be very useful and it doesn't cost very much anyway. * Don't prevent INDEX builds from seeing the local host environment. Since a lot of users are using 'make index' thesedays they should get an index that reflects their local settings and installed ports. If you want to build a 'default' index that isn't influenced by local settings (e.g. for release builds), set the INDEX_PRISTINE variable. * Allows parallel INDEX builds (using make -j). The most obvious way of doing this doesn't work, because I/O from child makes is broken up into 2k chunks, and output lines from 'make describe' that exceed this length (*cough* GNOME *cough*) will be intertwined with the output of other makes, leading to a corrupted INDEX. The I/O interleaving can be disabled using 'make -P', but this inserts extraneous output of its own, and redirects stderr, making it useless for our purposes. Instead, I collect the output from the child make processes in temporary files and recombine them at the end. * The number of concurrent make processes to spawn can be set using INDEX_JOBS. By default this is set to 2, which seems to be a sweet spot for both single and dual-processor systems. On my tests I do not see any significant performance changes on UP, but on a dual 4.x system the build time drops by 47% (6 minute index builds on one test machine!). Depending on your disk and CPU hardware you might see further gains with INDEX_JOBS=4 or higher, so you might like to experiment to see what works best. On a dual 5.x system the performance gains do not seem to be as great (20-30%), but this is still a significant net win. PR: 55493 [1], 59651 [2], 61552 [3], 62247 [4], 62329 [5], 62337 [6], 62422 [7], 62441 [8], 62627 [9], 62983 [10], 63112 [11], 63297 [12], 63335 [13], 64029 [14], 64069 [15], 64236 [16], 64519 [17], 62958 [18], 64237 [19] Submitted by: lev [1], Matthew Seaman <m.seaman@infracaninophile.co.uk> [2], Joel Ray Holveck <joelh@piquan.org> [3], ade [4], Sergey Matveychuk <sem@ciam.ru> [5], markus [6], mat [7], des [8], eik [9], Dmitry Morozovsky <marck@rinet.ru> [10], Andrew <andrew@ugh.net.au> [11], vs [12], linimon [13], edwin [14][15], gerald [16], marcus[17][18], kris [19][20]
2004-04-02 07:25:23 +00:00
.endif
.else
_CKSUMFILES?= ${CKSUMFILES}
.endif
# This is what is actually going to be extracted, and is overridable
# by user.
EXTRACT_ONLY?= ${_DISTFILES}
.if !target(maintainer)
maintainer:
* Attempt to detect and disallow installation of a port with PREFIX set to a different value to that with which it was configured and built. This is achieved by recording the PREFIX in the build-stage cookies [1] * Add scheme [2], tcl84 and tk84 [5] as virtual categories * Add the PERL_PORT variable and use it to register the dependency on the correct perl port when PERL_LEVEL is set [3] * Add support for USE_AUTOHEADER [4] * Fix 'make maintainer' when MAINTAINER is set to a bogus value (not in user@example.com format). [6] * Add a 'package-recursive' target to create packages for a port and all of its dependencies [7] * Fix command-line overflow errors in 'make readmes' on certain ports, with the bonus of providing a measurable speed-up to readme generation [8] * Fix inclusion of alternative makefiles such as Makefile.inc, Makefile.local, etc. (broken since 1.403) [9] * Reintroduce support for install/deinstall targets checking for older versions of the port, and re-add the deinstall-all target that removes all existing installations of a port (originally introduced in 1.446 and backed out in 1.450). This patch has been reworked to eliminate the corner cases in the previous code. Ports that dynamically generate their ${PLIST} at install-time must now do so before the do-install target is run, e.g. in pre-install. [10] * When installing ports as non-root, use su(1) to execute the targets that require root privilege. This is achieved by splitting up the _INSTALL_SEQ target list into _INSTALL_SUSEQ [11]. PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6], 52388 [7], 51609 [11] Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1], Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11], Kimura Fuyuki <fuyuki@hadaly.org> [2], "Scot W. Hetzel" <hetzels@westbend.net> [3], Anton Berezin <tobez@FreeBSD.org> [3], nork [4], hsu [5], Mark Linimon <linimon@lonesome.com> [6], hoek [8], sobomax [9], marcus [10] [11], des [11]
2003-07-06 23:54:33 +00:00
@${ECHO_CMD} "${MAINTAINER}"
.endif
.if !defined(CATEGORIES)
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
check-categories:
@${ECHO_MSG} "${PKGNAME}: Makefile error: CATEGORIES is mandatory."
@${FALSE}
(1) Add new variable USE_NEWGCC. Set this if your port requires the latest gcc. This is currently the system compiler in 4-current and ports/lang/egcs in 3-stable. Setting USE_NEWGCC is a no-op if the compiler required is in the system. If it is to be provided by a port, it will cause the variables "CC" and "CXX" to be set to the names of executables for the C and C++ compiler, and adds a BUILD_DEPENDS on the appropriate port. Reviewed by: Chris Piazza <cpiazza@home.net> and Ade Lovett <ade@lovett.com> (2) Add new variables CHMOD and CHOWN, set to full pathnames of those commands. (Used in 3) (3) When run as root, change owner:group of all files under ${WRKDIR} to 0:0 after extraction. Set EXTRACT_PRESERVE_OWNERSHIP to turn off this feature. Problem reported by: Slawek Zak <zaks@prioris.im.pw.edu.pl> Reviewed by: the ports list (4) Update MASTER_SITE_XCONTRIB. PR: 12879 Submitted by: Will Andrews <andrews@technologist.com> (5) Update MASTER_SITE_GNU. Submitted by: Ralf "pth update of the day" Engelschall <rse@engelschall.com> (6) Add check for valid categories. If the port is not in a pre-approved list of categories, install will fail. If you need a local addition, put it in variable VALID_CATEGORIES. Reviewed by: the ports list (7) Experimental feature: DEPENDS_CLEAN. Define this variable and bsd.port.mk will attempt to run "make install clean" instead of "make install" when building dependencies. Might be useful if you are building a port with a large number of dependencies without the benefit of a large disk.
1999-08-22 11:20:25 +00:00
.else
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
VALID_CATEGORIES+= accessibility afterstep arabic archivers astro audio \
benchmarks biology cad chinese comms converters databases \
deskutils devel docs dns editors elisp emulators enlightenment finance french ftp \
games geography german gnome gnustep graphics hamradio haskell hebrew hungarian \
ipv6 irc japanese java kde kld korean lang linux lisp \
mail mate math mbone misc multimedia net net-im net-mgmt net-p2p news \
palm parallel pear perl5 plan9 polish portuguese ports-mgmt \
print python ruby rubygems russian \
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
scheme science security shells spanish sysutils \
tcl textproc tk \
ukrainian vietnamese windowmaker www \
x11 x11-clocks x11-drivers x11-fm x11-fonts x11-servers x11-themes \
x11-toolkits x11-wm xfce zope
(1) Add new variable USE_NEWGCC. Set this if your port requires the latest gcc. This is currently the system compiler in 4-current and ports/lang/egcs in 3-stable. Setting USE_NEWGCC is a no-op if the compiler required is in the system. If it is to be provided by a port, it will cause the variables "CC" and "CXX" to be set to the names of executables for the C and C++ compiler, and adds a BUILD_DEPENDS on the appropriate port. Reviewed by: Chris Piazza <cpiazza@home.net> and Ade Lovett <ade@lovett.com> (2) Add new variables CHMOD and CHOWN, set to full pathnames of those commands. (Used in 3) (3) When run as root, change owner:group of all files under ${WRKDIR} to 0:0 after extraction. Set EXTRACT_PRESERVE_OWNERSHIP to turn off this feature. Problem reported by: Slawek Zak <zaks@prioris.im.pw.edu.pl> Reviewed by: the ports list (4) Update MASTER_SITE_XCONTRIB. PR: 12879 Submitted by: Will Andrews <andrews@technologist.com> (5) Update MASTER_SITE_GNU. Submitted by: Ralf "pth update of the day" Engelschall <rse@engelschall.com> (6) Add check for valid categories. If the port is not in a pre-approved list of categories, install will fail. If you need a local addition, put it in variable VALID_CATEGORIES. Reviewed by: the ports list (7) Experimental feature: DEPENDS_CLEAN. Define this variable and bsd.port.mk will attempt to run "make install clean" instead of "make install" when building dependencies. Might be useful if you are building a port with a large number of dependencies without the benefit of a large disk.
1999-08-22 11:20:25 +00:00
check-categories:
.for cat in ${CATEGORIES}
. if empty(VALID_CATEGORIES:M${cat})
@${ECHO_MSG} "${PKGNAME}: Makefile error: category ${cat} not in list of valid categories."; \
${FALSE};
. endif
(1) Add new variable USE_NEWGCC. Set this if your port requires the latest gcc. This is currently the system compiler in 4-current and ports/lang/egcs in 3-stable. Setting USE_NEWGCC is a no-op if the compiler required is in the system. If it is to be provided by a port, it will cause the variables "CC" and "CXX" to be set to the names of executables for the C and C++ compiler, and adds a BUILD_DEPENDS on the appropriate port. Reviewed by: Chris Piazza <cpiazza@home.net> and Ade Lovett <ade@lovett.com> (2) Add new variables CHMOD and CHOWN, set to full pathnames of those commands. (Used in 3) (3) When run as root, change owner:group of all files under ${WRKDIR} to 0:0 after extraction. Set EXTRACT_PRESERVE_OWNERSHIP to turn off this feature. Problem reported by: Slawek Zak <zaks@prioris.im.pw.edu.pl> Reviewed by: the ports list (4) Update MASTER_SITE_XCONTRIB. PR: 12879 Submitted by: Will Andrews <andrews@technologist.com> (5) Update MASTER_SITE_GNU. Submitted by: Ralf "pth update of the day" Engelschall <rse@engelschall.com> (6) Add check for valid categories. If the port is not in a pre-approved list of categories, install will fail. If you need a local addition, put it in variable VALID_CATEGORIES. Reviewed by: the ports list (7) Experimental feature: DEPENDS_CLEAN. Define this variable and bsd.port.mk will attempt to run "make install clean" instead of "make install" when building dependencies. Might be useful if you are building a port with a large number of dependencies without the benefit of a large disk.
1999-08-22 11:20:25 +00:00
.endfor
.endif
PKGREPOSITORYSUBDIR?= All
PKGREPOSITORY?= ${PACKAGES}/${PKGREPOSITORYSUBDIR}
.if exists(${PACKAGES})
PKGFILE?= ${PKGREPOSITORY}/${PKGNAME}${PKG_SUFX}
.else
PKGFILE?= ${.CURDIR}/${PKGNAME}${PKG_SUFX}
.endif
WRKDIR_PKGFILE= ${WRKDIR}/pkg/${PKGNAME}${PKG_SUFX}
# The "latest version" link -- ${PKGNAME} minus everthing after the last '-'
PKGLATESTREPOSITORY?= ${PACKAGES}/Latest
(1) New variables INSTALL_SHLIBS and LDCONFIG_DIRS. When INSTALL_SHLIBS is set, ldconfig is automatically called from post-install and necessary @exec and @unexec lines are added to PLIST. Requested by: lioux@uol.com.br Reviewed by: the ports list, in particular sobomax (1a) Add PREFIX=%D LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} to PLIST_SUB. These are needed by INSTALL_SHLIBS, but also could be useful in general. (2) Move master/mirror site definitions to bsd.sites.mk and include it from bsd.port.mk. Open bsd.sites.mk to other committers. Submitted by: reg (2a) Add MASTER_SITE_SOURCEFORGE. Submitted by: sobomax (who wrote SORCEFORGE, but I assume that's a typo :) (2b) Move MASTER_SITE_LOCAL from ".../ports/distfiles/LOCAL_PORTS/" to ".../ports/local-distfiles/%SUBDIR%/" which will be mirrored from peoples' ~user/public_distfiles on freefall. Add two mirrors (Japan and Germany). Requested by: obrien (moving) Submitted by: will (German mirror) (3) Simplify definition of PKGBASE since it can now be defined as simply ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}, instead of sed'ing out the version number from ${PKGNAME}. Submitted by: hoek (4) Remove unnecessary targets prefix and mtree-file, which can be implemented as "make -V PREFIX" and "make -V MTREE_FILE", respectively. Don't define MTREE_FILE when NO_MTREE is set so "make -V MTREE_FILE" won't print out anything. (5) Various minor typo and grammar fixes. (6) Define NONEXISTENT?=/nonexistent. This will help quiet portlint warnings, among other things.
2000-06-14 02:14:49 +00:00
PKGBASE?= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
PKGLATESTFILE= ${PKGLATESTREPOSITORY}/${PKGBASE}${PKG_SUFX}
CONFIGURE_SCRIPT?= configure
CONFIGURE_CMD?= ./${CONFIGURE_SCRIPT}
CONFIGURE_TARGET?= ${ARCH}-portbld-${OPSYS:tl}${OSREL}
2008-08-21 06:18:49 +00:00
CONFIGURE_TARGET:= ${CONFIGURE_TARGET:S/--build=//}
CONFIGURE_LOG?= config.log
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
# A default message to print if do-configure fails.
CONFIGURE_FAIL_MESSAGE?= "Please report the problem to ${MAINTAINER} [maintainer] and attach the \"${CONFIGURE_WRKSRC}/${CONFIGURE_LOG}\" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. a ${PKG_INFO} -Ea)."
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
.if defined(GNU_CONFIGURE)
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
# Maximum command line length
.if !defined(CONFIGURE_MAX_CMD_LEN)
CONFIGURE_MAX_CMD_LEN!= ${SYSCTL} -n kern.argmax
.endif
_EXPORTED_VARS+= CONFIGURE_MAX_CMD_LEN
GNU_CONFIGURE_PREFIX?= ${PREFIX}
GNU_CONFIGURE_MANPREFIX?= ${MANPREFIX}
2013-08-29 16:46:54 +00:00
CONFIG_SITE?= ${PORTSDIR}/Templates/config.site
CONFIGURE_ARGS+= --prefix=${GNU_CONFIGURE_PREFIX} $${_LATE_CONFIGURE_ARGS}
.if defined(X_BUILD_FOR)
CONFIGURE_ARGS+= --host=${X_BUILD_FOR}
.endif
2013-08-29 16:46:54 +00:00
CONFIGURE_ENV+= CONFIG_SITE=${CONFIG_SITE} lt_cv_sys_max_cmd_len=${CONFIGURE_MAX_CMD_LEN}
HAS_CONFIGURE= yes
SET_LATE_CONFIGURE_ARGS= \
_LATE_CONFIGURE_ARGS="" ; \
if [ -z "${CONFIGURE_ARGS:M--localstatedir=*:Q}" ] && \
${CONFIGURE_CMD} --help 2>&1 | ${GREP} -- --localstatedir > /dev/null; then \
_LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --localstatedir=/var" ; \
fi ; \
if [ ! -z "`${CONFIGURE_CMD} --help 2>&1 | ${GREP} -- '--mandir'`" ]; then \
_LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --mandir=${GNU_CONFIGURE_MANPREFIX}/man" ; \
fi ; \
if [ ! -z "`${CONFIGURE_CMD} --help 2>&1 | ${GREP} -- '--infodir'`" ]; then \
_LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --infodir=${GNU_CONFIGURE_PREFIX}/${INFO_PATH}/${INFO_SUBDIR}" ; \
2008-08-21 06:18:49 +00:00
fi ; \
if [ -z "`${CONFIGURE_CMD} --version 2>&1 | ${EGREP} -i '(autoconf.*2\.13|Unrecognized option)'`" ]; then \
2008-08-21 06:18:49 +00:00
_LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --build=${CONFIGURE_TARGET}" ; \
else \
_LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} ${CONFIGURE_TARGET}" ; \
fi ;
.endif
# Passed to most of script invocations
SCRIPTS_ENV+= CURDIR=${MASTERDIR} DISTDIR=${DISTDIR} \
WRKDIR=${WRKDIR} WRKSRC=${WRKSRC} PATCHDIR=${PATCHDIR} \
SCRIPTDIR=${SCRIPTDIR} FILESDIR=${FILESDIR} \
PORTSDIR=${PORTSDIR} PREFIX=${PREFIX} LOCALBASE=${LOCALBASE}
.if defined(BATCH)
SCRIPTS_ENV+= BATCH=yes
.endif
Heroic attempt to reduce number of PRs assigned to portmgr@: 1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working. PR: 36537 Submitted by: tg 2. Propagate error code from failed `make depends', when one of the ports we depend upon is marked BROKEN/FORBIDDEN. PR: 25522 Submitted by: alex 3. By default, when bsd.port.mk configurating Makefile.PL only pass PREFIX as argument, but some Perl module (eg. Test-Harness) needed INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise default installation will goes to /usr/lib and not ${PREFIX}/lib, in some case, adding these tag to CONFIGURE_ARGS is not bad. PR: 29681 Submitted by: Shell Hung <shell@shellhung.org> 4. Update patch-libtool target, so that it doesn't break ports with autoconf 2.13-generated configure script. USE_LIBTOOL is still not very useful for such cases, but at least it doesn't break them badly anymore. PR: 31142 Submitted by: wjv 5. Make `make search' working even when /usr/obj/usr/ports exists. PR: 31862 Submitted by: gad 6. When configure script fails unexpectedly don't dump thousands lines of config.log to the user's screen, because it usually doesn't contain information useful for tracking the problem anyway. Instead display a message asking a user to report the failure to the proper entity (maintainer) and what to include into the problem report. PR: 34459, 35488 Submitted by: Thomas Hurst <freaky@aagh.net> Alan Eldridge <ports@geeksrus.net> sobomax other countless hackers whose names are lost in the noise Text of message suggested by: asmodai 7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr, bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as always, however those defaults are not appropriate for /usr, and better options are available. PR: 36030 Submitted by: DougB 8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to avoid clashing with system .mk settings (${ECHO} has a different meaning there). Actually the patch is imcomplete, because large portion of those ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce happy, which shouldn't be underestimated. PR: 34988 Submitted by: knu All of the above tested by: bento Special thanks goes to: kris (for his help with getting this tested) -------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
.if ${PREFIX} == /usr
MANPREFIX?= /usr/share
Heroic attempt to reduce number of PRs assigned to portmgr@: 1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working. PR: 36537 Submitted by: tg 2. Propagate error code from failed `make depends', when one of the ports we depend upon is marked BROKEN/FORBIDDEN. PR: 25522 Submitted by: alex 3. By default, when bsd.port.mk configurating Makefile.PL only pass PREFIX as argument, but some Perl module (eg. Test-Harness) needed INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise default installation will goes to /usr/lib and not ${PREFIX}/lib, in some case, adding these tag to CONFIGURE_ARGS is not bad. PR: 29681 Submitted by: Shell Hung <shell@shellhung.org> 4. Update patch-libtool target, so that it doesn't break ports with autoconf 2.13-generated configure script. USE_LIBTOOL is still not very useful for such cases, but at least it doesn't break them badly anymore. PR: 31142 Submitted by: wjv 5. Make `make search' working even when /usr/obj/usr/ports exists. PR: 31862 Submitted by: gad 6. When configure script fails unexpectedly don't dump thousands lines of config.log to the user's screen, because it usually doesn't contain information useful for tracking the problem anyway. Instead display a message asking a user to report the failure to the proper entity (maintainer) and what to include into the problem report. PR: 34459, 35488 Submitted by: Thomas Hurst <freaky@aagh.net> Alan Eldridge <ports@geeksrus.net> sobomax other countless hackers whose names are lost in the noise Text of message suggested by: asmodai 7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr, bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as always, however those defaults are not appropriate for /usr, and better options are available. PR: 36030 Submitted by: DougB 8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to avoid clashing with system .mk settings (${ECHO} has a different meaning there). Actually the patch is imcomplete, because large portion of those ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce happy, which shouldn't be underestimated. PR: 34988 Submitted by: knu All of the above tested by: bento Special thanks goes to: kris (for his help with getting this tested) -------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
.else
MANPREFIX?= ${PREFIX}
Heroic attempt to reduce number of PRs assigned to portmgr@: 1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working. PR: 36537 Submitted by: tg 2. Propagate error code from failed `make depends', when one of the ports we depend upon is marked BROKEN/FORBIDDEN. PR: 25522 Submitted by: alex 3. By default, when bsd.port.mk configurating Makefile.PL only pass PREFIX as argument, but some Perl module (eg. Test-Harness) needed INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise default installation will goes to /usr/lib and not ${PREFIX}/lib, in some case, adding these tag to CONFIGURE_ARGS is not bad. PR: 29681 Submitted by: Shell Hung <shell@shellhung.org> 4. Update patch-libtool target, so that it doesn't break ports with autoconf 2.13-generated configure script. USE_LIBTOOL is still not very useful for such cases, but at least it doesn't break them badly anymore. PR: 31142 Submitted by: wjv 5. Make `make search' working even when /usr/obj/usr/ports exists. PR: 31862 Submitted by: gad 6. When configure script fails unexpectedly don't dump thousands lines of config.log to the user's screen, because it usually doesn't contain information useful for tracking the problem anyway. Instead display a message asking a user to report the failure to the proper entity (maintainer) and what to include into the problem report. PR: 34459, 35488 Submitted by: Thomas Hurst <freaky@aagh.net> Alan Eldridge <ports@geeksrus.net> sobomax other countless hackers whose names are lost in the noise Text of message suggested by: asmodai 7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr, bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as always, however those defaults are not appropriate for /usr, and better options are available. PR: 36030 Submitted by: DougB 8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to avoid clashing with system .mk settings (${ECHO} has a different meaning there). Actually the patch is imcomplete, because large portion of those ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce happy, which shouldn't be underestimated. PR: 34988 Submitted by: knu All of the above tested by: bento Special thanks goes to: kris (for his help with getting this tested) -------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
.endif
MANDIRS+= ${MANPREFIX}/man
.for sect in 1 2 3 4 5 6 7 8 9
MAN${sect}PREFIX?= ${MANPREFIX}
.endfor
MANLPREFIX?= ${MANPREFIX}
MANNPREFIX?= ${MANPREFIX}
- Allow processing of info files in non-standard locations; the INFO_PATH variable may be used to specify their location. It defaults to 'share/info' for the standard PREFIX, and 'info' when PREFIX == /usr. [1] - Remove the <category>/pkg/COMMENT files in favour of a COMMENT variable in <category>/Makefile [2] - Prevent patch breakage with VERSION_CONTROL=numbered [3] - Fix some instances of incorrect WRKDIRPREFIX handling. [4] - remove useless ${MKDIR} ${WRKSRC} in config target [5] - remove reference to OpenBSD [6] - Exempt devel/p5-Module-Build from the self-dependency in PERL_MODBUILD so that this port may use the option without getting an infinite dependency list [7] - The default PERL_ARCH is currently determined as a function of OSVERSION. It should however be a function of PERL_LEVEL since the correct value depends on what Perl version one has installed (older Perl versions use ${ARCH}-freebsd, newer versions use mach). [8] - Fix PORTDOCS on older (4.7, 5.0) systems [9] - Allow 'make parallel' to generate a working makefile when not all categories are present (this does not mean you'll be able to build all ports, unless you make sure they don't have external dependencies) [10] - Don't report symlinks as world-writable in the security check [11] - Fix a comment that was broken by a mismerged patch [12] - Clarify the meaning of USE_*, WANT_*, WITH_* and WITHOUT_* [13] - Don't set _CHKSUMFILES/_IGNOREFILES if CKSUMFILES/IGNOREFILES is empty and DIST_SUBDIR is set. [14] - Fix comment for DISTDIR [15] - Update the documentation of the USE_GL variable [16] - Check to see if NONEXISTENT exists, and fail with an error if it does [17] - Fix fetching of new distfiles in 'make makesum' when SIZE is set [18] - Consistently set MAKE_ENV when USE_GCC=3.2 or 3.3 are set [19] - Rework INDEX builds: [20] * Fix the bsd.port.subdir.mk code that is supposed to report index breakage (the fallback code wasn't actually being run because make would halt immediately following the error). This should help with INDEX error reports because it will immediately show the cause of failure, so we won't have to pull teeth to extract it from the submitter. * Streamline the 'make describe' code a bit. * Provide some basic instructions to the user when an index build fails, on when and how to report index build failures (turn this off with INDEX_QUIET=1) * Removed INDEX_NOSORT, because I couldn't imagine it to be very useful and it doesn't cost very much anyway. * Don't prevent INDEX builds from seeing the local host environment. Since a lot of users are using 'make index' thesedays they should get an index that reflects their local settings and installed ports. If you want to build a 'default' index that isn't influenced by local settings (e.g. for release builds), set the INDEX_PRISTINE variable. * Allows parallel INDEX builds (using make -j). The most obvious way of doing this doesn't work, because I/O from child makes is broken up into 2k chunks, and output lines from 'make describe' that exceed this length (*cough* GNOME *cough*) will be intertwined with the output of other makes, leading to a corrupted INDEX. The I/O interleaving can be disabled using 'make -P', but this inserts extraneous output of its own, and redirects stderr, making it useless for our purposes. Instead, I collect the output from the child make processes in temporary files and recombine them at the end. * The number of concurrent make processes to spawn can be set using INDEX_JOBS. By default this is set to 2, which seems to be a sweet spot for both single and dual-processor systems. On my tests I do not see any significant performance changes on UP, but on a dual 4.x system the build time drops by 47% (6 minute index builds on one test machine!). Depending on your disk and CPU hardware you might see further gains with INDEX_JOBS=4 or higher, so you might like to experiment to see what works best. On a dual 5.x system the performance gains do not seem to be as great (20-30%), but this is still a significant net win. PR: 55493 [1], 59651 [2], 61552 [3], 62247 [4], 62329 [5], 62337 [6], 62422 [7], 62441 [8], 62627 [9], 62983 [10], 63112 [11], 63297 [12], 63335 [13], 64029 [14], 64069 [15], 64236 [16], 64519 [17], 62958 [18], 64237 [19] Submitted by: lev [1], Matthew Seaman <m.seaman@infracaninophile.co.uk> [2], Joel Ray Holveck <joelh@piquan.org> [3], ade [4], Sergey Matveychuk <sem@ciam.ru> [5], markus [6], mat [7], des [8], eik [9], Dmitry Morozovsky <marck@rinet.ru> [10], Andrew <andrew@ugh.net.au> [11], vs [12], linimon [13], edwin [14][15], gerald [16], marcus[17][18], kris [19][20]
2004-04-02 07:25:23 +00:00
.if ${PREFIX} == /usr
INFO_PATH?= share/info
.else
INFO_PATH?= info
.endif
.if defined(INFO)
RUN_DEPENDS+= indexinfo:print/indexinfo
. for D in ${INFO:H}
RD:= ${D}
. if ${RD} != "."
. if !defined(INFO_SUBDIR)
INFO_SUBDIR:= ${RD}
. elif ${INFO_SUBDIR} != ${RD}
BROKEN= only one subdirectory in INFO is allowed
. endif
. endif
.undef RD
. endfor
.endif
DOCSDIR_REL?= ${DOCSDIR:S,^${PREFIX}/,,}
EXAMPLESDIR_REL?= ${EXAMPLESDIR:S,^${PREFIX}/,,}
DATADIR_REL?= ${DATADIR:S,^${PREFIX}/,,}
WWWDIR_REL?= ${WWWDIR:S,^${PREFIX}/,,}
ETCDIR_REL?= ${ETCDIR:S,^${PREFIX}/,,}
PLIST_SUB+= DOCSDIR="${DOCSDIR_REL}" \
EXAMPLESDIR="${EXAMPLESDIR_REL}" \
DATADIR="${DATADIR_REL}" \
WWWDIR="${WWWDIR_REL}" \
ETCDIR="${ETCDIR_REL}"
DESKTOPDIR?= ${PREFIX}/share/applications
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
.MAIN: all
################################################################
Add NO_CDROM, RESTRICTED, BROKEN and Motif support. (1) The new NO_CDROM Boolean variable means "don't put the distfile/ package on the CDROM you're going to sell". It will basically turn off everything if FOR_CDROM is set. Many of the NO_PACKAGE ports are actually "don't sell for profit" types, which we shouldn't have any problem distributing via ftp. (2) The new RESTRICTED Boolean variable means don't build this unless you know what you are doing. It doesn't have any effect unless NO_RESTRICTED is also set. (3) BROKEN means this port is broken. At least it will now show up in INDEX and README.html, and give people more incentive to fix (I hope). RESTRICTED and BROKEN are expected to replace the pseudo-targets in parent Makefiles. (The RESTRICTED and BROKEN list didn't do anything before, they were solely for grepping purposes.) (4) The Motif support brings in four new variables: REQUIRES_MOTIF, which the porter sets for ports that require Motif to build; HAVE_MOTIF, which the user sets to indicate the system has Motif; MOTIF_STATIC, which the user sets to indicate that the static libXm, instead af the default dynamic library, is to be used; and MOTIFLIB, which is set to "${X11BASE}/lib/libXm.a" or "-L${X11BASE}/lib -lXm", depending on whether MOTIF_STATIC is set. The porter is expected to replace all occurrences of libXm in the {Im,M}akefiles with ${MOTIFLIB}, and this will allow both dynamic linkage (for users with Motif) and static linkage (for those who build packages to be used by those withot Motif, i.e., me ;) automatically. Original Motif support idea by: graichen
1996-04-12 08:08:36 +00:00
# Many ways to disable a port.
#
# If we're in BATCH mode and the port is interactive, or we're
# in interactive mode and the port is non-interactive, skip all
# the important targets. The reason we have two modes is that
# one might want to leave a build in BATCH mode running
# overnight, then come back in the morning and do _only_ the
# interactive ones that required your intervention.
#
# Ignore ports that can't be resold if building for a CDROM.
Add NO_CDROM, RESTRICTED, BROKEN and Motif support. (1) The new NO_CDROM Boolean variable means "don't put the distfile/ package on the CDROM you're going to sell". It will basically turn off everything if FOR_CDROM is set. Many of the NO_PACKAGE ports are actually "don't sell for profit" types, which we shouldn't have any problem distributing via ftp. (2) The new RESTRICTED Boolean variable means don't build this unless you know what you are doing. It doesn't have any effect unless NO_RESTRICTED is also set. (3) BROKEN means this port is broken. At least it will now show up in INDEX and README.html, and give people more incentive to fix (I hope). RESTRICTED and BROKEN are expected to replace the pseudo-targets in parent Makefiles. (The RESTRICTED and BROKEN list didn't do anything before, they were solely for grepping purposes.) (4) The Motif support brings in four new variables: REQUIRES_MOTIF, which the porter sets for ports that require Motif to build; HAVE_MOTIF, which the user sets to indicate the system has Motif; MOTIF_STATIC, which the user sets to indicate that the static libXm, instead af the default dynamic library, is to be used; and MOTIFLIB, which is set to "${X11BASE}/lib/libXm.a" or "-L${X11BASE}/lib -lXm", depending on whether MOTIF_STATIC is set. The porter is expected to replace all occurrences of libXm in the {Im,M}akefiles with ${MOTIFLIB}, and this will allow both dynamic linkage (for users with Motif) and static linkage (for those who build packages to be used by those withot Motif, i.e., me ;) automatically. Original Motif support idea by: graichen
1996-04-12 08:08:36 +00:00
#
# Don't build a port if it's restricted and we don't want to get
# into that.
#
# Don't build a port if it's broken, unless we're running a parallel
# build (in case it's fixed).
#
# Don't build a port if it's forbidden for whatever reason.
#
# Don't build a port if the system is too old.
################################################################
# Check the machine architectures
.if defined(ONLY_FOR_ARCHS)
.for __ARCH in ${ONLY_FOR_ARCHS}
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
.if ${ARCH:M${__ARCH}} != ""
__ARCH_OK?= 1
.endif
.endfor
.else
__ARCH_OK?= 1
.endif
.if defined(NOT_FOR_ARCHS)
.for __NARCH in ${NOT_FOR_ARCHS}
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
.if ${ARCH:M${__NARCH}} != ""
.undef __ARCH_OK
.endif
.endfor
.endif
.if !defined(__ARCH_OK)
.if defined(ONLY_FOR_ARCHS)
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
IGNORE= is only for ${ONLY_FOR_ARCHS},
.else # defined(NOT_FOR_ARCHS)
IGNORE= does not run on ${NOT_FOR_ARCHS},
.endif
IGNORE+= while you are running ${ARCH}
.if defined(ONLY_FOR_ARCHS_REASON_${ARCH})
IGNORE+= (reason: ${ONLY_FOR_ARCHS_REASON_${ARCH}})
.elif defined(ONLY_FOR_ARCHS_REASON)
IGNORE+= (reason: ${ONLY_FOR_ARCHS_REASON})
.endif
.if defined(NOT_FOR_ARCHS_REASON_${ARCH})
IGNORE+= (reason: ${NOT_FOR_ARCHS_REASON_${ARCH}})
.elif defined(NOT_FOR_ARCHS_REASON)
IGNORE+= (reason: ${NOT_FOR_ARCHS_REASON})
.endif
.endif
# Check the user interaction and legal issues
.if !defined(NO_IGNORE)
.if (defined(IS_INTERACTIVE) && defined(BATCH))
IGNORE= is an interactive port
.elif (!defined(IS_INTERACTIVE) && defined(INTERACTIVE))
IGNORE= is not an interactive port
.elif (defined(NO_CDROM) && defined(FOR_CDROM))
IGNORE= may not be placed on a CDROM: ${NO_CDROM}
.elif (defined(RESTRICTED) && defined(NO_RESTRICTED))
IGNORE= is restricted: ${RESTRICTED}
.elif (defined(NO_PACKAGE) && defined(PACKAGE_BUILDING))
IGNORE= may not be packaged: ${NO_PACKAGE}
.elif defined(BROKEN)
* Support verbose index builds with INDEX_VERBOSE [1] * Don't assume root is using /bin/sh when switching credentials to configure OPTIONS. [2] * Support glob expressions in USE_GETTEXT to allow more flexibility in the face of future gratuitous library version bumps by the gettext developers [3]: USE_GETTEXT=yEs # Works as before (case-insensitive) USE_GETTEXT=[5-7] # Accepts any of those libintl.so.x versions # in the LIB_DEPENDS * Correctly register dependencies when a non-system perl port is used on 4.x [4] * Extend 'make search' support to allow much more flexible searching. Syntax will be documented in CHANGES for brevity. [5] * Reorder the post-install-script target to before add-plist-info for consistency [6] * Various fixes to support port operations when a port directory exists under /usr/obj [7] * Extend USE_PERL5_BUILD and USE_PERL5 to add EXTRACT and PATCH dependencies since many ports require perl in those stages [8] * Move info file deregistration later in the deinstallation process so it works properly. [9] * Improve wording in EXPIRATION_DATE message. [10] * Fix dependencies for XFREE86_VERSION==3 (obtain imake from x11/XFree86 now that the former port is gone) [11] * While building index, treat non-existent dependencies as fatal. Previously the error was being hidden by the stderr redirection. [12] * Don't always retry BROKEN ports when package building (it is taking too much time to continually rebuild ports that are usually going to really be broken). Set TRYBROKEN if you want to attempt a build of a BROKEN port. [12] * Revert incorrect change from 1.487 relating to ALL-DEPENDS-LIST [13] PR: 24214 [1], 67529 [2], 63937 [3], 65554 [4], 40699 [5], 59162 [6], 63372 66567 [7], 63394 [8], 65304 [9], 65931 [10], 66565 [11], 66743 [13] Submitted by: roam [1], will [1], hrs [2], mi [3], ade [4], Roman Neuhauser <roman@bellavista.cz> [5], Sergey Matveychuk <sem@ciam.ru> [6], gad [7], adamw [8], kris [8][12], dinoex [9], Alexey Dokuchaev <danfe@regency.nsu.ru> [10], eik [11][13]
2004-06-10 07:30:19 +00:00
.if !defined(TRYBROKEN)
IGNORE= is marked as broken: ${BROKEN}
.endif
.elif defined(BROKEN_${ARCH})
.if !defined(TRYBROKEN)
IGNORE= is marked as broken on ${ARCH}: ${BROKEN_${ARCH}}
.endif
.elif defined(BROKEN_${OPSYS}_${OSREL:R})
.if !defined(TRYBROKEN)
IGNORE= is marked as broken on ${OPSYS} ${OSREL}: ${BROKEN_${OPSYS}_${OSREL:R}}
.endif
.elif defined(BROKEN_${OPSYS}_${OSREL:R}_${ARCH})
.if !defined(TRYBROKEN)
IGNORE= is marked as broken on ${OPSYS} ${OSREL} ${ARCH}: ${BROKEN_${OPSYS}_${OSREL:R}_${ARCH}}
.endif
.elif defined(BROKEN_${OPSYS})
.if !defined(TRYBROKEN)
IGNORE= is marked as broken on ${OPSYS}: ${BROKEN_${OPSYS}}
.endif
.elif defined(FORBIDDEN)
IGNORE= is forbidden: ${FORBIDDEN}
.endif
Add NO_CDROM, RESTRICTED, BROKEN and Motif support. (1) The new NO_CDROM Boolean variable means "don't put the distfile/ package on the CDROM you're going to sell". It will basically turn off everything if FOR_CDROM is set. Many of the NO_PACKAGE ports are actually "don't sell for profit" types, which we shouldn't have any problem distributing via ftp. (2) The new RESTRICTED Boolean variable means don't build this unless you know what you are doing. It doesn't have any effect unless NO_RESTRICTED is also set. (3) BROKEN means this port is broken. At least it will now show up in INDEX and README.html, and give people more incentive to fix (I hope). RESTRICTED and BROKEN are expected to replace the pseudo-targets in parent Makefiles. (The RESTRICTED and BROKEN list didn't do anything before, they were solely for grepping purposes.) (4) The Motif support brings in four new variables: REQUIRES_MOTIF, which the porter sets for ports that require Motif to build; HAVE_MOTIF, which the user sets to indicate the system has Motif; MOTIF_STATIC, which the user sets to indicate that the static libXm, instead af the default dynamic library, is to be used; and MOTIFLIB, which is set to "${X11BASE}/lib/libXm.a" or "-L${X11BASE}/lib -lXm", depending on whether MOTIF_STATIC is set. The porter is expected to replace all occurrences of libXm in the {Im,M}akefiles with ${MOTIFLIB}, and this will allow both dynamic linkage (for users with Motif) and static linkage (for those who build packages to be used by those withot Motif, i.e., me ;) automatically. Original Motif support idea by: graichen
1996-04-12 08:08:36 +00:00
# Define the text to be output to LEGAL
.if defined(LEGAL_TEXT)
LEGAL= ${LEGAL_TEXT}
.elif defined(RESTRICTED)
LEGAL= ${RESTRICTED}
.elif defined(NO_CDROM)
LEGAL= ${NO_CDROM}
.elif defined(NO_PACKAGE) && ! defined(LEGAL_PACKAGE)
LEGAL= ${NO_PACKAGE}
.endif
.if (defined(MANUAL_PACKAGE_BUILD) && defined(PACKAGE_BUILDING))
IGNORE= has to be built manually: ${MANUAL_PACKAGE_BUILD}
clean:
@${IGNORECMD}
.endif
Add NO_CDROM, RESTRICTED, BROKEN and Motif support. (1) The new NO_CDROM Boolean variable means "don't put the distfile/ package on the CDROM you're going to sell". It will basically turn off everything if FOR_CDROM is set. Many of the NO_PACKAGE ports are actually "don't sell for profit" types, which we shouldn't have any problem distributing via ftp. (2) The new RESTRICTED Boolean variable means don't build this unless you know what you are doing. It doesn't have any effect unless NO_RESTRICTED is also set. (3) BROKEN means this port is broken. At least it will now show up in INDEX and README.html, and give people more incentive to fix (I hope). RESTRICTED and BROKEN are expected to replace the pseudo-targets in parent Makefiles. (The RESTRICTED and BROKEN list didn't do anything before, they were solely for grepping purposes.) (4) The Motif support brings in four new variables: REQUIRES_MOTIF, which the porter sets for ports that require Motif to build; HAVE_MOTIF, which the user sets to indicate the system has Motif; MOTIF_STATIC, which the user sets to indicate that the static libXm, instead af the default dynamic library, is to be used; and MOTIFLIB, which is set to "${X11BASE}/lib/libXm.a" or "-L${X11BASE}/lib -lXm", depending on whether MOTIF_STATIC is set. The porter is expected to replace all occurrences of libXm in the {Im,M}akefiles with ${MOTIFLIB}, and this will allow both dynamic linkage (for users with Motif) and static linkage (for those who build packages to be used by those withot Motif, i.e., me ;) automatically. Original Motif support idea by: graichen
1996-04-12 08:08:36 +00:00
.if defined(IGNORE)
.if defined(IGNORE_SILENT)
IGNORECMD= ${DO_NADA}
.else
IGNORECMD= ${ECHO_MSG} "===> ${PKGNAME} "${IGNORE:Q}. | ${FMT} 75 79 ; exit 1
.endif
Heroic attempt to reduce number of PRs assigned to portmgr@: 1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working. PR: 36537 Submitted by: tg 2. Propagate error code from failed `make depends', when one of the ports we depend upon is marked BROKEN/FORBIDDEN. PR: 25522 Submitted by: alex 3. By default, when bsd.port.mk configurating Makefile.PL only pass PREFIX as argument, but some Perl module (eg. Test-Harness) needed INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise default installation will goes to /usr/lib and not ${PREFIX}/lib, in some case, adding these tag to CONFIGURE_ARGS is not bad. PR: 29681 Submitted by: Shell Hung <shell@shellhung.org> 4. Update patch-libtool target, so that it doesn't break ports with autoconf 2.13-generated configure script. USE_LIBTOOL is still not very useful for such cases, but at least it doesn't break them badly anymore. PR: 31142 Submitted by: wjv 5. Make `make search' working even when /usr/obj/usr/ports exists. PR: 31862 Submitted by: gad 6. When configure script fails unexpectedly don't dump thousands lines of config.log to the user's screen, because it usually doesn't contain information useful for tracking the problem anyway. Instead display a message asking a user to report the failure to the proper entity (maintainer) and what to include into the problem report. PR: 34459, 35488 Submitted by: Thomas Hurst <freaky@aagh.net> Alan Eldridge <ports@geeksrus.net> sobomax other countless hackers whose names are lost in the noise Text of message suggested by: asmodai 7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr, bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as always, however those defaults are not appropriate for /usr, and better options are available. PR: 36030 Submitted by: DougB 8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to avoid clashing with system .mk settings (${ECHO} has a different meaning there). Actually the patch is imcomplete, because large portion of those ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce happy, which shouldn't be underestimated. PR: 34988 Submitted by: knu All of the above tested by: bento Special thanks goes to: kris (for his help with getting this tested) -------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
_TARGETS= check-sanity fetch checksum extract patch configure all build \
install reinstall test package stage restage
Add support for staging area in the ports tree The ports tree is now staged by default. With pkgng the sequence hasn't changed, the main difference is that creating package is now independent from installing it. With pkg_install, the package is now created first and make install, do install the package. New macros: - STAGEDIR: PATH to the directory where the port will be staged. - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area) Unsupported macro if NO_STAGE is not set: - MAN* with staging man page compression and handling of hardlinks and symlinks is automatically done in the stage. the manpages becomes then a "normal" plist files and should be tracked in pkg-plist. - MANCOMPRESSED the compress-man target is able to only compress when it needed. New target: - stage: this installs everything into the stage directory - makeplist: this will create a pkg-plist and print it to stdout. This is a sample plist and it should always be _reviewed_ not directly used. NOTE: with staging only what is in the plist will be installed, nothing more, meaning a port staged cannot have leftovers exect directories left. It is really important to double check the pkg-plist to make sure all the files the maintainer want to package are in! make makeplist can help in that area. The goal is to handle as quickly as possible a full removal of the NO_STAGE support. More features can be added once the full ports tree is converted to using the staging area Conversion notes: - Remove NO_STAGE - in {pre,do,post}-install * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES} prepend ${STAGEDIR} * Remove any thing that is done by @exec or +INSTALL script it will be done automatically when syncing packages * Remove any code to show PKG-MESSAGE it will be done automatically when syncing packages * Directory creation should remain in post-install (in particular because pkgng doesn't work like pkg_install in that area and pkgng ignores the @exec mkdir but directly pack the directory even if empty) - PORTDOCS/PORTEXAMPELS To support PORTDOCS, PORTEXAMPLES most of the time there is no more need for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your plist then the given files from the stagedir will or will not sync according to NOPORTDOCS and NOPORTEXAMPLES. With hat: portmgr Reviewed by: bdrewery
2013-09-23 05:56:35 +00:00
.for target in ${_TARGETS}
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
.if !target(${target})
Heroic attempt to reduce number of PRs assigned to portmgr@: 1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working. PR: 36537 Submitted by: tg 2. Propagate error code from failed `make depends', when one of the ports we depend upon is marked BROKEN/FORBIDDEN. PR: 25522 Submitted by: alex 3. By default, when bsd.port.mk configurating Makefile.PL only pass PREFIX as argument, but some Perl module (eg. Test-Harness) needed INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise default installation will goes to /usr/lib and not ${PREFIX}/lib, in some case, adding these tag to CONFIGURE_ARGS is not bad. PR: 29681 Submitted by: Shell Hung <shell@shellhung.org> 4. Update patch-libtool target, so that it doesn't break ports with autoconf 2.13-generated configure script. USE_LIBTOOL is still not very useful for such cases, but at least it doesn't break them badly anymore. PR: 31142 Submitted by: wjv 5. Make `make search' working even when /usr/obj/usr/ports exists. PR: 31862 Submitted by: gad 6. When configure script fails unexpectedly don't dump thousands lines of config.log to the user's screen, because it usually doesn't contain information useful for tracking the problem anyway. Instead display a message asking a user to report the failure to the proper entity (maintainer) and what to include into the problem report. PR: 34459, 35488 Submitted by: Thomas Hurst <freaky@aagh.net> Alan Eldridge <ports@geeksrus.net> sobomax other countless hackers whose names are lost in the noise Text of message suggested by: asmodai 7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr, bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as always, however those defaults are not appropriate for /usr, and better options are available. PR: 36030 Submitted by: DougB 8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to avoid clashing with system .mk settings (${ECHO} has a different meaning there). Actually the patch is imcomplete, because large portion of those ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce happy, which shouldn't be underestimated. PR: 34988 Submitted by: knu All of the above tested by: bento Special thanks goes to: kris (for his help with getting this tested) -------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
${target}:
@${IGNORECMD}
Heroic attempt to reduce number of PRs assigned to portmgr@: 1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working. PR: 36537 Submitted by: tg 2. Propagate error code from failed `make depends', when one of the ports we depend upon is marked BROKEN/FORBIDDEN. PR: 25522 Submitted by: alex 3. By default, when bsd.port.mk configurating Makefile.PL only pass PREFIX as argument, but some Perl module (eg. Test-Harness) needed INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise default installation will goes to /usr/lib and not ${PREFIX}/lib, in some case, adding these tag to CONFIGURE_ARGS is not bad. PR: 29681 Submitted by: Shell Hung <shell@shellhung.org> 4. Update patch-libtool target, so that it doesn't break ports with autoconf 2.13-generated configure script. USE_LIBTOOL is still not very useful for such cases, but at least it doesn't break them badly anymore. PR: 31142 Submitted by: wjv 5. Make `make search' working even when /usr/obj/usr/ports exists. PR: 31862 Submitted by: gad 6. When configure script fails unexpectedly don't dump thousands lines of config.log to the user's screen, because it usually doesn't contain information useful for tracking the problem anyway. Instead display a message asking a user to report the failure to the proper entity (maintainer) and what to include into the problem report. PR: 34459, 35488 Submitted by: Thomas Hurst <freaky@aagh.net> Alan Eldridge <ports@geeksrus.net> sobomax other countless hackers whose names are lost in the noise Text of message suggested by: asmodai 7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr, bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as always, however those defaults are not appropriate for /usr, and better options are available. PR: 36030 Submitted by: DougB 8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to avoid clashing with system .mk settings (${ECHO} has a different meaning there). Actually the patch is imcomplete, because large portion of those ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce happy, which shouldn't be underestimated. PR: 34988 Submitted by: knu All of the above tested by: bento Special thanks goes to: kris (for his help with getting this tested) -------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
.if defined(INSTALLS_DEPENDS)
@${FALSE}
.endif
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
.endif
Heroic attempt to reduce number of PRs assigned to portmgr@: 1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working. PR: 36537 Submitted by: tg 2. Propagate error code from failed `make depends', when one of the ports we depend upon is marked BROKEN/FORBIDDEN. PR: 25522 Submitted by: alex 3. By default, when bsd.port.mk configurating Makefile.PL only pass PREFIX as argument, but some Perl module (eg. Test-Harness) needed INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise default installation will goes to /usr/lib and not ${PREFIX}/lib, in some case, adding these tag to CONFIGURE_ARGS is not bad. PR: 29681 Submitted by: Shell Hung <shell@shellhung.org> 4. Update patch-libtool target, so that it doesn't break ports with autoconf 2.13-generated configure script. USE_LIBTOOL is still not very useful for such cases, but at least it doesn't break them badly anymore. PR: 31142 Submitted by: wjv 5. Make `make search' working even when /usr/obj/usr/ports exists. PR: 31862 Submitted by: gad 6. When configure script fails unexpectedly don't dump thousands lines of config.log to the user's screen, because it usually doesn't contain information useful for tracking the problem anyway. Instead display a message asking a user to report the failure to the proper entity (maintainer) and what to include into the problem report. PR: 34459, 35488 Submitted by: Thomas Hurst <freaky@aagh.net> Alan Eldridge <ports@geeksrus.net> sobomax other countless hackers whose names are lost in the noise Text of message suggested by: asmodai 7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr, bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as always, however those defaults are not appropriate for /usr, and better options are available. PR: 36030 Submitted by: DougB 8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to avoid clashing with system .mk settings (${ECHO} has a different meaning there). Actually the patch is imcomplete, because large portion of those ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce happy, which shouldn't be underestimated. PR: 34988 Submitted by: knu All of the above tested by: bento Special thanks goes to: kris (for his help with getting this tested) -------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
.endfor
.endif
.endif
.if defined(IGNORE) || defined(NO_PACKAGE)
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
ignorelist: package-name
.else
ignorelist:
@${DO_NADA}
.endif
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
.if defined(IGNORE) || defined(NO_PACKAGE)
ignorelist-verbose:
.if defined(IGNORE)
@${ECHO_CMD} "${PKGNAME}|IGNORE: "${IGNORE:Q}
.else
@${ECHO_CMD} "${PKGNAME}|NO_PACKAGE: "${NO_PACKAGE:Q}
.endif
.else
ignorelist-verbose:
@${DO_NADA}
.endif
################################################################
# Clean directories for ftp or CDROM.
################################################################
.if !defined(LICENSE)
.if defined(RESTRICTED)
clean-restricted: delete-distfiles delete-package
clean-restricted-list: delete-distfiles-list delete-package-list
RESTRICTED_FILES?= ${_DISTFILES} ${_PATCHFILES}
.else
clean-restricted:
clean-restricted-list:
.endif
.if defined(NO_CDROM)
clean-for-cdrom: delete-distfiles delete-package
clean-for-cdrom-list: delete-distfiles-list delete-package-list
RESTRICTED_FILES?= ${_DISTFILES} ${_PATCHFILES}
.else
clean-for-cdrom:
clean-for-cdrom-list:
.endif
.endif # !defined(LICENSE)
.if defined(ALL_HOOK)
all:
@cd ${.CURDIR} && ${SETENV} CURDIR=${.CURDIR} DISTNAME=${DISTNAME} \
DISTDIR=${DISTDIR} WRKDIR=${WRKDIR} WRKSRC=${WRKSRC} \
PATCHDIR=${PATCHDIR} SCRIPTDIR=${SCRIPTDIR} \
FILESDIR=${FILESDIR} PORTSDIR=${PORTSDIR} PREFIX=${PREFIX} \
BUILD_DEPENDS="${BUILD_DEPENDS}" RUN_DEPENDS="${RUN_DEPENDS}" \
CONFLICTS="${CONFLICTS}" \
${ALL_HOOK}
.endif
.if !target(all)
all: stage
.endif
.if !defined(DEPENDS_TARGET)
.if defined(DEPENDS_PRECLEAN)
DEPENDS_TARGET= clean
DEPENDS_ARGS= NOCLEANDEPENDS=yes
.endif
.if make(reinstall)
DEPENDS_TARGET+= reinstall
.else
DEPENDS_TARGET+= install
.endif
(1) Add new variable USE_NEWGCC. Set this if your port requires the latest gcc. This is currently the system compiler in 4-current and ports/lang/egcs in 3-stable. Setting USE_NEWGCC is a no-op if the compiler required is in the system. If it is to be provided by a port, it will cause the variables "CC" and "CXX" to be set to the names of executables for the C and C++ compiler, and adds a BUILD_DEPENDS on the appropriate port. Reviewed by: Chris Piazza <cpiazza@home.net> and Ade Lovett <ade@lovett.com> (2) Add new variables CHMOD and CHOWN, set to full pathnames of those commands. (Used in 3) (3) When run as root, change owner:group of all files under ${WRKDIR} to 0:0 after extraction. Set EXTRACT_PRESERVE_OWNERSHIP to turn off this feature. Problem reported by: Slawek Zak <zaks@prioris.im.pw.edu.pl> Reviewed by: the ports list (4) Update MASTER_SITE_XCONTRIB. PR: 12879 Submitted by: Will Andrews <andrews@technologist.com> (5) Update MASTER_SITE_GNU. Submitted by: Ralf "pth update of the day" Engelschall <rse@engelschall.com> (6) Add check for valid categories. If the port is not in a pre-approved list of categories, install will fail. If you need a local addition, put it in variable VALID_CATEGORIES. Reviewed by: the ports list (7) Experimental feature: DEPENDS_CLEAN. Define this variable and bsd.port.mk will attempt to run "make install clean" instead of "make install" when building dependencies. Might be useful if you are building a port with a large number of dependencies without the benefit of a large disk.
1999-08-22 11:20:25 +00:00
.if defined(DEPENDS_CLEAN)
DEPENDS_TARGET+= clean
DEPENDS_ARGS+= NOCLEANDEPENDS=yes
.endif
.endif
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
################################################################
#
# Do preliminary work to detect if we need to run the config
# target or not.
#
################################################################
.if ((!defined(OPTIONS_DEFINE) && !defined(OPTIONS_SINGLE) && !defined(OPTIONS_MULTI)) \
&& !defined(OPTIONS_GROUP) && !defined(OPTIONS_RADIO) \
|| defined(CONFIG_DONE_${PKGBASE:tu}) || \
defined(PACKAGE_BUILDING) || defined(BATCH))
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
_OPTIONS_OK=yes
.endif
################################################################
# The following are used to create easy dummy targets for
# disabling some bit of default target behavior you don't want.
# They still check to see if the target exists, and if so don't
# do anything, since you might want to set this globally for a
# group of ports in a Makefile.inc, but still be able to
# override from an individual Makefile.
################################################################
# Disable checksum
.if defined(NO_CHECKSUM) && !target(checksum)
checksum: fetch
@${DO_NADA}
.endif
# Disable build
.if defined(NO_BUILD) && !target(build)
build: configure
@${TOUCH} ${TOUCH_FLAGS} ${BUILD_COOKIE}
.endif
# Disable test
.if defined(NO_TEST) && !target(test)
test: stage
@${DO_NADA}
.endif
# Disable package
.if defined(NO_PACKAGE) && !target(package)
package:
.if defined(IGNORE_SILENT)
@${DO_NADA}
.else
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
@${ECHO_MSG} "===> ${PKGNAME} may not be packaged: "${NO_PACKAGE:Q}.
.endif
.endif
# Disable describe
.if defined(NO_DESCRIBE) && !target(describe)
describe:
@${DO_NADA}
.endif
################################################################
# More standard targets start here.
1995-03-22 21:46:04 +00:00
#
# These are the body of the build/install framework. If you are
# not happy with the default actions, and you can't solve it by
# adding pre-* or post-* targets/scripts, override these.
################################################################
# Pre-everything
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
pre-everything::
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
@${DO_NADA}
.if defined(TRYBROKEN) && defined(BROKEN)
buildanyway-message:
@${ECHO_MSG} "Trying build of ${PKGNAME} even though it is marked BROKEN."
.endif
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
options-message:
.if defined(GNOME_OPTION_MSG) && (!defined(PACKAGE_BUILDING) || !defined(BATCH))
@for m in ${GNOME_OPTION_MSG}; do \
${ECHO_MSG} $$m; \
done
.else
@${DO_NADA}
.endif
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
.if defined(_OPTIONS_READ)
@${ECHO_MSG} "===> Found saved configuration for ${_OPTIONS_READ}"
.endif
${PKG_DBDIR} ${PREFIX} ${WRKDIR} ${EXTRACT_WRKDIR} ${WRKSRC}:
@${MKDIR} ${.TARGET}
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
# Warn user about deprecated packages. Advisory only.
.if !target(check-deprecated)
# Try and keep these messages in sync with the ones in create-manifest
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
check-deprecated:
.if ${MAINTAINER} == "ports@FreeBSD.org"
@${ECHO_MSG} "===> NOTICE:"
@${ECHO_MSG}
@${ECHO_MSG} "The ${PORTNAME} port currently does not have a maintainer. As a result, it is"
@${ECHO_MSG} "more likely to have unresolved issues, not be up-to-date, or even be removed in"
@${ECHO_MSG} "the future. To volunteer to maintain this port, please create an issue at:"
@${ECHO_MSG}
@${ECHO_MSG} "https://bugs.freebsd.org/bugzilla"
@${ECHO_MSG}
@${ECHO_MSG} "More information about port maintainership is available at:"
@${ECHO_MSG}
@${ECHO_MSG} "https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port"
@${ECHO_MSG}
.endif
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
.if defined(DEPRECATED)
@${ECHO_MSG} "===> NOTICE:"
@${ECHO_MSG}
@${ECHO_MSG} "This port is deprecated; you may wish to reconsider installing it:"
@${ECHO_MSG}
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
@${ECHO_MSG} ${DEPRECATED:Q}.
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
@${ECHO_MSG}
.if defined(EXPIRATION_DATE)
* Support verbose index builds with INDEX_VERBOSE [1] * Don't assume root is using /bin/sh when switching credentials to configure OPTIONS. [2] * Support glob expressions in USE_GETTEXT to allow more flexibility in the face of future gratuitous library version bumps by the gettext developers [3]: USE_GETTEXT=yEs # Works as before (case-insensitive) USE_GETTEXT=[5-7] # Accepts any of those libintl.so.x versions # in the LIB_DEPENDS * Correctly register dependencies when a non-system perl port is used on 4.x [4] * Extend 'make search' support to allow much more flexible searching. Syntax will be documented in CHANGES for brevity. [5] * Reorder the post-install-script target to before add-plist-info for consistency [6] * Various fixes to support port operations when a port directory exists under /usr/obj [7] * Extend USE_PERL5_BUILD and USE_PERL5 to add EXTRACT and PATCH dependencies since many ports require perl in those stages [8] * Move info file deregistration later in the deinstallation process so it works properly. [9] * Improve wording in EXPIRATION_DATE message. [10] * Fix dependencies for XFREE86_VERSION==3 (obtain imake from x11/XFree86 now that the former port is gone) [11] * While building index, treat non-existent dependencies as fatal. Previously the error was being hidden by the stderr redirection. [12] * Don't always retry BROKEN ports when package building (it is taking too much time to continually rebuild ports that are usually going to really be broken). Set TRYBROKEN if you want to attempt a build of a BROKEN port. [12] * Revert incorrect change from 1.487 relating to ALL-DEPENDS-LIST [13] PR: 24214 [1], 67529 [2], 63937 [3], 65554 [4], 40699 [5], 59162 [6], 63372 66567 [7], 63394 [8], 65304 [9], 65931 [10], 66565 [11], 66743 [13] Submitted by: roam [1], will [1], hrs [2], mi [3], ade [4], Roman Neuhauser <roman@bellavista.cz> [5], Sergey Matveychuk <sem@ciam.ru> [6], gad [7], adamw [8], kris [8][12], dinoex [9], Alexey Dokuchaev <danfe@regency.nsu.ru> [10], eik [11][13]
2004-06-10 07:30:19 +00:00
@${ECHO_MSG} "It is scheduled to be removed on or after ${EXPIRATION_DATE}."
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
@${ECHO_MSG}
.endif
.endif
.endif
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
# Check if the port is listed in the vulnerability database
AUDITFILE?= ${PKG_DBDIR}/vuln.xml
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
check-vulnerable:
.if !defined(DISABLE_VULNERABILITIES) && !defined(PACKAGE_BUILDING) \
&& exists(${AUDITFILE})
@${SETENV} \
dp_ECHO_MSG="${ECHO_MSG}" \
dp_PKG_BIN="${PKG_BIN}" \
dp_PORTNAME="${PORTNAME}" \
2016-05-25 18:41:21 +00:00
dp_PKGNAME="${PKGNAME}" \
dp_SCRIPTSDIR="${SCRIPTSDIR}" \
${SH} ${SCRIPTSDIR}/check-vulnerable.sh
.endif
# Quote simply quote all variables, except FETCH_ENV, some ports are creative
# with it, and it needs to be quoted twice to pass through the echo/eval in
# do-fetch.
_DO_FETCH_ENV= \
dp_DISABLE_SIZE='${DISABLE_SIZE}' \
dp_DISTDIR='${_DISTDIR}' \
dp_DISTINFO_FILE='${DISTINFO_FILE}' \
dp_DIST_SUBDIR='${DIST_SUBDIR}' \
dp_ECHO_MSG='${ECHO_MSG}' \
dp_FETCH_AFTER_ARGS='${FETCH_AFTER_ARGS}' \
dp_FETCH_BEFORE_ARGS='${FETCH_BEFORE_ARGS}' \
dp_FETCH_CMD='${FETCH_CMD}' \
dp_FETCH_ENV=${FETCH_ENV:Q:Q} \
dp_FORCE_FETCH_ALL='${FORCE_FETCH_ALL}' \
dp_FORCE_FETCH_LIST='${FORCE_FETCH_LIST}' \
dp_MASTER_SITE_BACKUP='${_MASTER_SITE_BACKUP}' \
dp_MASTER_SITE_OVERRIDE='${_MASTER_SITE_OVERRIDE}' \
dp_MASTER_SORT_AWK='${MASTER_SORT_AWK}' \
dp_NO_CHECKSUM='${NO_CHECKSUM}' \
dp_RANDOMIZE_SITES='${_RANDOMIZE_SITES}' \
dp_SCRIPTSDIR='${SCRIPTSDIR}' \
dp_SORTED_MASTER_SITES_DEFAULT_CMD='${SORTED_MASTER_SITES_DEFAULT_CMD}' \
dp_SORTED_PATCH_SITES_DEFAULT_CMD='${SORTED_PATCH_SITES_DEFAULT_CMD}' \
dp_TARGET='${.TARGET}'
.if defined(DEVELOPER)
_DO_FETCH_ENV+= dp_DEVELOPER=yes
.else
_DO_FETCH_ENV+= dp_DEVELOPER=
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
.endif
# Fetch
.if !target(do-fetch)
2014-07-22 12:56:21 +00:00
do-fetch:
.if !empty(DISTFILES)
@${SETENV} \
${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \
dp_SITE_FLAVOR=MASTER \
${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/}
.endif
.if defined(PATCHFILES) && !empty(PATCHFILES)
@${SETENV} \
${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \
dp_SITE_FLAVOR=PATCH \
${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/:-p[0-9]//:C/.*/'&'/}
.endif
.endif
#
# Prints out a list of files to fetch (useful to do a batch fetch)
.if !target(fetch-list)
fetch-list:
.if !empty(DISTFILES)
@${SETENV} \
${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \
dp_SITE_FLAVOR=MASTER \
${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/}
.endif
.if defined(PATCHFILES) && !empty(PATCHFILES)
@${SETENV} \
${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \
dp_SITE_FLAVOR=PATCH \
${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/:-p[0-9]//:C/.*/'&'/}
.endif
.endif
# Used by fetch-urlall-list and fetch-url-list
.if !target(fetch-url-list-int)
fetch-url-list-int:
.if !empty(DISTFILES)
@${SETENV} \
${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \
dp_SITE_FLAVOR=MASTER \
${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/}
.endif
.if defined(PATCHFILES) && !empty(PATCHFILES)
@${SETENV} \
${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \
dp_SITE_FLAVOR=PATCH \
${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/:-p[0-9]//:C/.*/'&'/}
.endif
.endif
# Prints out all the URL for all the DISTFILES and PATCHFILES.
.if !target(fetch-urlall-list)
fetch-urlall-list:
@cd ${.CURDIR} && ${SETENV} FORCE_FETCH_ALL=yes ${MAKE} fetch-url-list-int
.endif
# Prints the URL for all the DISTFILES and PATCHFILES that are not here
.if !target(fetch-url-list)
fetch-url-list: fetch-url-list-int
.endif
# Extract
clean-wrkdir:
@${RM} -rf ${WRKDIR}
.if !target(do-extract)
do-extract:
@for file in ${EXTRACT_ONLY}; do \
if ! (cd ${EXTRACT_WRKDIR} && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/$$file ${EXTRACT_AFTER_ARGS});\
then \
exit 1; \
fi; \
done
@if [ ${UID} = 0 ]; then \
(1) Add new variable USE_NEWGCC. Set this if your port requires the latest gcc. This is currently the system compiler in 4-current and ports/lang/egcs in 3-stable. Setting USE_NEWGCC is a no-op if the compiler required is in the system. If it is to be provided by a port, it will cause the variables "CC" and "CXX" to be set to the names of executables for the C and C++ compiler, and adds a BUILD_DEPENDS on the appropriate port. Reviewed by: Chris Piazza <cpiazza@home.net> and Ade Lovett <ade@lovett.com> (2) Add new variables CHMOD and CHOWN, set to full pathnames of those commands. (Used in 3) (3) When run as root, change owner:group of all files under ${WRKDIR} to 0:0 after extraction. Set EXTRACT_PRESERVE_OWNERSHIP to turn off this feature. Problem reported by: Slawek Zak <zaks@prioris.im.pw.edu.pl> Reviewed by: the ports list (4) Update MASTER_SITE_XCONTRIB. PR: 12879 Submitted by: Will Andrews <andrews@technologist.com> (5) Update MASTER_SITE_GNU. Submitted by: Ralf "pth update of the day" Engelschall <rse@engelschall.com> (6) Add check for valid categories. If the port is not in a pre-approved list of categories, install will fail. If you need a local addition, put it in variable VALID_CATEGORIES. Reviewed by: the ports list (7) Experimental feature: DEPENDS_CLEAN. Define this variable and bsd.port.mk will attempt to run "make install clean" instead of "make install" when building dependencies. Might be useful if you are building a port with a large number of dependencies without the benefit of a large disk.
1999-08-22 11:20:25 +00:00
${CHMOD} -R ug-s ${WRKDIR}; \
${CHOWN} -R 0:0 ${WRKDIR}; \
fi
.endif
# Patch
.if !target(do-patch)
do-patch:
.if defined(PATCHFILES)
@${ECHO_MSG} "===> Applying distribution patches for ${PKGNAME}"
2013-11-20 07:57:45 +00:00
@(set -e; \
cd ${_DISTDIR}; \
patch_dist_strip () { \
case "$$1" in \
${_PATCH_DIST_STRIP_CASES} \
esac; \
}; \
for i in ${_PATCHFILES}; do \
if [ ${PATCH_DEBUG_TMP} = yes ]; then \
${ECHO_MSG} "===> Applying distribution patch $$i" ; \
fi ; \
case $$i in \
*.Z|*.gz) ${GZCAT} $$i ;; \
*.bz2) ${BZCAT} $$i ;; \
*.xz) ${XZCAT} $$i ;; \
*.zip) ${UNZIP_NATIVE_CMD} -p $$i ;; \
*) ${CAT} $$i ;; \
esac | ${PATCH} ${PATCH_DIST_ARGS} `patch_dist_strip $$i` ; \
done )
(1) Fix the distfile deletion for cases where distfiles are specified with directory names. Submitted by: jdp (2) Preserve +REQUIRED_BY file when FORCE_PKG_REGISTER is defined. Reviewed by: steve (3) Add new variable EXTRA_PATCHES, which can be set to some files outside of ${PATCHDIR} (which usually means ${WRKDIR}). These will be applied after distribution patches but before the normal ${PATCHDIR} patches. Useful when you have dynamic patches. (4) Move USE_QT2 earlier, the USE_NEWGCC dependency wasn't working because it came after the USE_NEWGCC check. Move USE_QT alongside new location of USE_QT2. Submitted by: imura (5) Substitute ftp.cdrom.com for ftp.funet.fi in MASTER_SITE_SUNSITE, which no longer seems to be a full mirror anymore. Submitted by: Ade Lovett <ade@lovett.com> PR: 14221 (6) Fix typo in MASTER_SITE_FREEBSD case -- it used ${MASTER_SITES} (instead of ${PATCH_SITES}) to fetch distribution patches. That obviously would fail if the user attempted to build a port before the distribution patches showed up at ftp.FreeBSD.org. (7) Remove tcl75, tk41 and tk81 from the list of valid categories. (tcl81 is still used.) Submitted by: jseger (8) Make delete-package-list a little more verbose by making it check the existence of a package file and print out what it's doing. Silence bogus warnings from delete-distfiles-list by redirecting stderr from rmdir to /dev/null. (9) Remove OpenBSD_MAINTAINER=imp, he hasn't been doing any work with this file on the OpenBSD repository for a long time. Submitted by: imp
1999-11-11 02:36:15 +00:00
.endif
.if defined(EXTRA_PATCHES)
@set -e ; \
for i in ${EXTRA_PATCHES}; do \
case $$i in \
*:-p[0-9]) patch_file=$${i%:*} ; patch_strip=$${i##*:} ;; \
*) patch_file=$$i ;; \
esac ; \
${ECHO_MSG} "===> Applying extra patch $$patch_file" ; \
case $$patch_file in \
*.Z|*.gz) ${GZCAT} $$patch_file ;; \
*.bz2) ${BZCAT} $$patch_file ;; \
*.xz) ${XZCAT} $$patch_file ;; \
*.zip) ${UNZIP_NATIVE_CMD} -p $$patch_file ;; \
*) ${CAT} $$patch_file ;; \
esac | ${PATCH} ${PATCH_ARGS} $$patch_strip ; \
done
.endif
@set -e ;\
if [ -d ${PATCHDIR} ]; then \
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
if [ "`${ECHO_CMD} ${PATCHDIR}/patch-*`" != "${PATCHDIR}/patch-*" ]; then \
${ECHO_MSG} "===> Applying ${OPSYS} patches for ${PKGNAME}" ; \
PATCHES_APPLIED="" ; \
for i in ${PATCHDIR}/patch-*; do \
case $$i in \
* Some spelling/grammar fixes in comments * Replace some bare uses of cat with ${CAT} * [ports/19112] Ignore RCS files (*,v) when applying patches * [ports/19270] Check whether ${DISTDIR} is writable and fail with a better error message if not (mostly caused by trying to fetch as the wrong user) * [ports/23560] Force patch backup files to be created with .orig suffix * [ports/34717] Don't enclose PTHREAD_LIBS in quotes, because it will cause problems if used in an already-quoted string. * [ports/34987] Fix an awk warning in MASTER_SORT/MASTER_SORT_REGEX code * [misc/38724] Change some uses of the deprecated test -h to test -L * [1] Registering real dependencies: dependency registration looks at the currently-installed version of the dependency and registers that version, instead of registering the version in ports which may be newer than what is installed. * [2] Further 100% speed-up of dependency registration process by eliminating second call to package-depends (using information from the first call stored in +CONTENTS file of package being installed). Very useful for developing GNOME or similar packages with zillion dependencies, when package-depends target could take few minutes to complete; * [2] Proper set-up of ${SHELL} variable in build environment, so that user's interactive shell isn't picked instead. This has various implications, ranging from build process speed-up due to using /bin/sh to invoke libtool instead of bash or any other much more bloated user's shell (configure scripts often pick it up from the ${SHELL} environment), to fixing problems some users have when building random ports. Submitted by: sobomax [1] [2], Aleksandr A. Babaylov <.@babolo.ru> [ports/19112], Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> [ports/19270], Alan Bawden <Alan@LCS.MIT.EDU> [ports/23560], Christian Weisgerber <naddy@mips.inka.de> [ports/34717], knu [ports/34987], april <april@oublinet.net> [ports/38724] PR: ports/19112, ports/19270, ports/23560, ports/34717, ports/34987, ports/36237, ports/38724 Tested on: bento 4-exp build
2002-09-19 00:16:39 +00:00
*.orig|*.rej|*~|*,v) \
${ECHO_MSG} "===> Ignoring patchfile $$i" ; \
;; \
*) \
if [ ${PATCH_DEBUG_TMP} = yes ]; then \
${ECHO_MSG} "===> Applying ${OPSYS} patch $$i" ; \
fi; \
if ${PATCH} ${PATCH_ARGS} < $$i ; then \
PATCHES_APPLIED="$$PATCHES_APPLIED $$i" ; \
else \
${ECHO_MSG} `${ECHO_CMD} "=> Patch $$i failed to apply cleanly." | ${SED} "s|${PATCHDIR}/||"` ; \
if [ x"$$PATCHES_APPLIED" != x"" -a ${PATCH_SILENT} != "yes" ]; then \
${ECHO_MSG} `${ECHO_CMD} "=> Patch(es) $$PATCHES_APPLIED applied cleanly." | ${SED} "s|${PATCHDIR}/||g"` ; \
fi; \
${FALSE} ; \
fi; \
;; \
esac; \
done; \
fi; \
fi
.endif
1995-01-03 11:52:01 +00:00
.if !target(run-autotools-fixup)
run-autotools-fixup:
# Work around an issue where FreeBSD 10.0 is detected as FreeBSD 1.x.
.if ${OSVERSION} >= 1000000 && !defined(WITHOUT_FBSD10_FIX)
-@for f in `${FIND} ${WRKDIR} -type f \( -name config.libpath -o \
-name config.rpath -o -name configure -o -name libtool.m4 -o \
-name ltconfig -o -name libtool -o -name aclocal.m4 -o \
-name acinclude.m4 \)` ; do \
${SED} -i.fbsd10bak \
-e 's|freebsd1\*)|freebsd1.\*)|g' \
-e 's|freebsd\[12\]\*)|freebsd[12].*)|g' \
-e 's|freebsd\[123\]\*)|freebsd[123].*)|g' \
-e 's|freebsd\[\[12\]\]\*)|freebsd[[12]].*)|g' \
-e 's|freebsd\[\[123\]\]\*)|freebsd[[123]].*)|g' \
$${f} ; \
cmp -s $${f}.fbsd10bak $${f} || \
${ECHO_MSG} "===> FreeBSD 10 autotools fix applied to $${f}"; \
${TOUCH} ${TOUCH_FLAGS} -mr $${f}.fbsd10bak $${f} ; \
${RM} -f $${f}.fbsd10bak ; \
done
.endif
.endif
# Configure
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
.if !target(do-configure)
do-configure:
@if [ -f ${SCRIPTDIR}/configure ]; then \
cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \
${SCRIPTDIR}/configure; \
fi
.if defined(GNU_CONFIGURE)
@CONFIG_GUESS_DIRS=$$(${FIND} ${WRKDIR} -name config.guess -o -name config.sub \
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
| ${XARGS} -n 1 ${DIRNAME}); \
for _D in $${CONFIG_GUESS_DIRS}; do \
${RM} $${_D}/config.guess; \
${CP} ${TEMPLATES}/config.guess $${_D}/config.guess; \
${CHMOD} a+rx $${_D}/config.guess; \
${RM} $${_D}/config.sub; \
${CP} ${TEMPLATES}/config.sub $${_D}/config.sub; \
${CHMOD} a+rx $${_D}/config.sub; \
done
.endif
.if defined(HAS_CONFIGURE)
@${MKDIR} ${CONFIGURE_WRKSRC}
(1) New directive USE_AUTOMAKE and AUTOMAKE variable for automake support. Implies USE_AUTOCONF. Submitted by: kiri@pis.toba-cmt.ac.jp Reviewed by: ports (2) New variable CONFIGURE_WRKSRC (default: ${WRKSRC}) to be set when ${CONFIGURE_SCRIPT} needs to be run in some place other than ${WRKSRC}. Submitted by: Mario Ferreira <lioux@uol.com.br> Reviewed by: ports (3) Slight change in message about the port being too old for bsd.port.mk due to missing PORTNAME/PORTVERSION. Explicitly say that the user needs to update the port (although I'm not sure how anyone can interpret the old message otherwise ;). (4) Use NO_CHECKSUM instead of the undocumented FORCE_FETCH to override the "distfile missing from files/md5" check. Also change the NO_CHECKSUM message a bit more forceful ("If you are absolutely sure..."). Submitted by: mharo (5) Refer to the OpenSSL section in handbook by name, not number. Approved by: Kris PR: 17524 (6) New file bsd.emacs.mk that will be automatically be included if EMACS_PORT_NAME is defined. bsd.emacs.mk sets various variables to make maintenance of emacs ports easy. Submitted by: shige Reviewed (in spirit) by: ports, ports-jp (7) Remove the automatic creation of ${PREFIX}/info/dir from /usr/share/info/dir (install-info from 3.1R onwards automatically creates the dir file if none exists). Delete ${PREFIX}/info/dir upon deinstallation if it doesn't have any menu entries. Reviewed by: ports (8) Two new targets mtree-file and prefix. They print ${MTREE_FILE} (empty if NO_MTREE is set) and ${PREFIX}, respectively. They are used by package building scripts. (9) Don't register package dependency in +REQUIRED_BY for PKG_IGNORE_DEPENDS ports. Otherwise you'll end up with bogus entries since "pkg_delete oneko" won't delete oneko from XFree86/+REQUIRED_BY, etc. Found by: bento
2000-05-06 10:45:35 +00:00
@(cd ${CONFIGURE_WRKSRC} && \
${SET_LATE_CONFIGURE_ARGS} \
if ! ${SETENV} CC="${CC}" CPP="${CPP}" CXX="${CXX}" \
CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}" CXXFLAGS="${CXXFLAGS}" \
Support LIBS like LDFLAGS. - Add LIBS="${LIBS}" to MAKE_ENV and CONFIGURE_ENV. - Add an option helper for LIBS. - Adjust all ports that already use LIBS. Also remove references to PTHREAD_CFLAGS and PTHREAD_LIBS while here. - Some ports did not support having a LIBS environment variable and required additional patches. Somewhat simplified a linker command line looks like: ${CC} ${src_LDFLAGS} ${LDFLAGS} ${src_LIBS} ${LIBS} where src_LDFLAGS and src_LIBS are controlled by upstream and LDFLAGS and LIBS can be controlled by us. If possible -L and -l flags need to be added to LIBS to make sure they appear after any -L and -l flags set by upstream. Many ports currently add -L${LOCALBASE}/lib to LDFLAGS but this may appear too early on the command line causing installed libraries to be linked in instead of freshly built ones. Additional changes: benchmarks/netio: Replace WITH_IPV6 with an IPV6 option. comms/gnokii: Replace some patches with USES=pathfix. Also remove -fPIC. graphics/gimageview: USES=libtool and install desktop file in DESKTOPDIR. graphics/visionworkbench: Remove FreeBSD 7 support. multimedia/libmovtar: New LIB_DEPENDS syntax. multimedia/opencinematools: Use standard do-build. net/siproxd: USES=libtool:keepla (port actually needs .la files for plugins) net-mgmt/nagios: Remove -fPIC. net-mgmt/nagios4: Remove -fPIC. print/cups-base: Only add -lssp_nonshared on i386 and OSVERSION < 1000036. security/p11-kit: Replace PTHREAD_LIBS in CONFIGURE_ENV with ac_cv_func_pthread_mutexattr_init=no in CONFIGURE_ARGS. This skips a test in configure that falsely detects pthread_mutexattr_init in our libc. sysutils/dar: Fix iconv detection. x11/rxvt-unicode: Remove -lstdc++ and patch configure to remove a FreeBSD hack and use $CXX as linker as on other platforms. PR: 190592 Exp-run by: antoine Approved by: portmgr (antoine)
2014-06-11 14:49:59 +00:00
LDFLAGS="${LDFLAGS}" LIBS="${LIBS}" \
INSTALL="/usr/bin/install -c" \
INSTALL_DATA="${INSTALL_DATA}" \
INSTALL_LIB="${INSTALL_LIB}" \
INSTALL_PROGRAM="${INSTALL_PROGRAM}" \
INSTALL_SCRIPT="${INSTALL_SCRIPT}" \
${CONFIGURE_ENV} ${CONFIGURE_CMD} ${CONFIGURE_ARGS}; then \
${ECHO_MSG} "===> Script \"${CONFIGURE_SCRIPT}\" failed unexpectedly."; \
(${ECHO_CMD} ${CONFIGURE_FAIL_MESSAGE}) | ${FMT} 75 79 ; \
Heroic attempt to reduce number of PRs assigned to portmgr@: 1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working. PR: 36537 Submitted by: tg 2. Propagate error code from failed `make depends', when one of the ports we depend upon is marked BROKEN/FORBIDDEN. PR: 25522 Submitted by: alex 3. By default, when bsd.port.mk configurating Makefile.PL only pass PREFIX as argument, but some Perl module (eg. Test-Harness) needed INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise default installation will goes to /usr/lib and not ${PREFIX}/lib, in some case, adding these tag to CONFIGURE_ARGS is not bad. PR: 29681 Submitted by: Shell Hung <shell@shellhung.org> 4. Update patch-libtool target, so that it doesn't break ports with autoconf 2.13-generated configure script. USE_LIBTOOL is still not very useful for such cases, but at least it doesn't break them badly anymore. PR: 31142 Submitted by: wjv 5. Make `make search' working even when /usr/obj/usr/ports exists. PR: 31862 Submitted by: gad 6. When configure script fails unexpectedly don't dump thousands lines of config.log to the user's screen, because it usually doesn't contain information useful for tracking the problem anyway. Instead display a message asking a user to report the failure to the proper entity (maintainer) and what to include into the problem report. PR: 34459, 35488 Submitted by: Thomas Hurst <freaky@aagh.net> Alan Eldridge <ports@geeksrus.net> sobomax other countless hackers whose names are lost in the noise Text of message suggested by: asmodai 7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr, bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as always, however those defaults are not appropriate for /usr, and better options are available. PR: 36030 Submitted by: DougB 8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to avoid clashing with system .mk settings (${ECHO} has a different meaning there). Actually the patch is imcomplete, because large portion of those ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce happy, which shouldn't be underestimated. PR: 34988 Submitted by: knu All of the above tested by: bento Special thanks goes to: kris (for his help with getting this tested) -------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
${FALSE}; \
fi)
.endif
.endif
# Build
# XXX: ${MAKE_ARGS:N${DESTDIRNAME}=*} would be easier but it is not valid with the old fmake
DO_MAKE_BUILD?= ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS:C,^${DESTDIRNAME}=.*,,g}
.if !target(do-build)
do-build:
@(cd ${BUILD_WRKSRC}; if ! ${DO_MAKE_BUILD} ${ALL_TARGET}; then \
if [ -n "${BUILD_FAIL_MESSAGE}" ] ; then \
${ECHO_MSG} "===> Compilation failed unexpectedly."; \
2013-07-06 12:53:57 +00:00
(${ECHO_CMD} "${BUILD_FAIL_MESSAGE}") | ${FMT} 75 79 ; \
fi; \
${FALSE}; \
fi)
.endif
# Check conflicts
.if !target(check-conflicts)
check-conflicts: check-build-conflicts check-install-conflicts
.endif
.if !target(check-build-conflicts)
check-build-conflicts:
.if ( defined(CONFLICTS) || defined(CONFLICTS_BUILD) ) && !defined(DISABLE_CONFLICTS) && !defined(DEFER_CONFLICTS_CHECK)
@conflicts_with=$$( \
{ ${PKG_QUERY} -g "%n-%v %p %o" ${CONFLICTS:C/.+/'&'/} ${CONFLICTS_BUILD:C/.+/'&'/} 2>/dev/null || : ; } \
| while read pkgname prfx orgn; do \
if [ "/${PREFIX}" = "/$${prfx}" -a "/${PKGORIGIN}" != "/$${orgn}" ]; then \
${ECHO_CMD} -n " $${pkgname}"; \
fi; \
done); \
if [ -n "$${conflicts_with}" ]; then \
${ECHO_MSG}; \
${ECHO_MSG} "===> ${PKGNAME} conflicts with installed package(s): "; \
for entry in $${conflicts_with}; do \
${ECHO_MSG} " $${entry}"; \
done; \
${ECHO_MSG}; \
${ECHO_MSG} " They will not build together."; \
${ECHO_MSG} " Please remove them first with pkg delete."; \
exit 1;\
fi
.endif
.endif
.if !target(identify-install-conflicts)
identify-install-conflicts:
.if ( defined(CONFLICTS) || defined(CONFLICTS_INSTALL) ) && !defined(DISABLE_CONFLICTS)
@conflicts_with=$$( \
{ ${PKG_QUERY} -g "%n-%v %p %o" ${CONFLICTS:C/.+/'&'/} ${CONFLICTS_INSTALL:C/.+/'&'/} 2>/dev/null || : ; } \
| while read pkgname prfx orgn; do \
if [ "/${PREFIX}" = "/$${prfx}" -a "/${PKGORIGIN}" != "/$${orgn}" ]; then \
${ECHO_CMD} -n " $${pkgname}"; \
fi; \
done); \
if [ -n "$${conflicts_with}" ]; then \
${ECHO_MSG}; \
${ECHO_MSG} "===> ${PKGNAME} conflicts with installed package(s): "; \
for entry in $${conflicts_with}; do \
${ECHO_MSG} " $${entry}"; \
done; \
${ECHO_MSG}; \
${ECHO_MSG} " They install files into the same place."; \
${ECHO_MSG} " You may want to stop build with Ctrl + C."; \
sleep 10; \
fi
.endif
.endif
.if !target(check-install-conflicts)
check-install-conflicts:
.if ( defined(CONFLICTS) || defined(CONFLICTS_INSTALL) || ( defined(CONFLICTS_BUILD) && defined(DEFER_CONFLICTS_CHECK) ) ) && !defined(DISABLE_CONFLICTS)
.if defined(DEFER_CONFLICTS_CHECK)
@conflicts_with=$$( \
{ ${PKG_QUERY} -g "%n-%v %p %o" ${CONFLICTS:C/.+/'&'/} ${CONFLICTS_BUILD:C/.+/'&'/} ${CONFLICTS_INSTALL:C/.+/'&'/} 2>/dev/null || : ; } \
| while read pkgname prfx orgn; do \
if [ "/${PREFIX}" = "/$${prfx}" -a "/${PKGORIGIN}" != "/$${orgn}" ]; then \
${ECHO_CMD} -n " $${pkgname}"; \
fi; \
done); \
if [ -n "$${conflicts_with}" ]; then \
${ECHO_MSG}; \
${ECHO_MSG} "===> ${PKGNAME} conflicts with installed package(s): "; \
for entry in $${conflicts_with}; do \
${ECHO_MSG} " $${entry}"; \
done; \
${ECHO_MSG}; \
${ECHO_MSG} " Please remove them first with pkg delete."; \
exit 1; \
fi
.else
@conflicts_with=$$( \
{ ${PKG_QUERY} -g "%n-%v %p %o" ${CONFLICTS:C/.+/'&'/} ${CONFLICTS_INSTALL:C/.+/'&'/} 2>/dev/null || : ; } \
| while read pkgname prfx orgn; do \
if [ "/${PREFIX}" = "/$${prfx}" -a "/${PKGORIGIN}" != "/$${orgn}" ]; then \
${ECHO_CMD} -n " $${pkgname}"; \
fi; \
done); \
if [ -n "$${conflicts_with}" ]; then \
${ECHO_MSG}; \
${ECHO_MSG} "===> ${PKGNAME} conflicts with installed package(s): "; \
for entry in $${conflicts_with}; do \
${ECHO_MSG} " $${entry}"; \
done; \
${ECHO_MSG}; \
${ECHO_MSG} " They install files into the same place."; \
${ECHO_MSG} " Please remove them first with pkg delete."; \
exit 1; \
fi
.endif # defined(DEFER_CONFLICTS_CHECK)
.endif
.endif
# Install
.if !target(do-install) && !defined(NO_INSTALL)
do-install:
@(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${FAKEROOT} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET})
.endif
# Test
.if !target(do-test) && defined(TEST_TARGET)
DO_MAKE_TEST?= ${SETENV} ${TEST_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${TEST_ARGS:C,^${DESTDIRNAME}=.*,,g}
do-test:
@(cd ${TEST_WRKSRC}; if ! ${DO_MAKE_TEST} ${TEST_TARGET}; then \
if [ -n "${TEST_FAIL_MESSAGE}" ] ; then \
${ECHO_MSG} "===> Tests failed unexpectedly."; \
(${ECHO_CMD} "${TEST_FAIL_MESSAGE}") | ${FMT} 75 79 ; \
fi; \
${FALSE}; \
fi)
.elif !target(do-test)
do-test:
@${DO_NADA}
.endif
# Package
.if !target(do-package)
PKG_CREATE_ARGS= -r ${STAGEDIR} -m ${METADIR} -p ${TMPPLIST}
.if defined(PKG_CREATE_VERBOSE)
PKG_CREATE_ARGS+= -v
.endif
do-package: create-manifest
do-package: ${TMPPLIST}
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
@if [ -d ${PACKAGES} ]; then \
if [ ! -d ${PKGREPOSITORY} ]; then \
if ! ${MKDIR} ${PKGREPOSITORY}; then \
${ECHO_MSG} "=> Can't create directory ${PKGREPOSITORY}."; \
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
exit 1; \
fi; \
fi; \
fi
@for cat in ${CATEGORIES}; do \
${RM} -f ${PACKAGES}/$$cat/${PKGNAMEPREFIX}${PORTNAME}*${PKG_SUFX} ; \
done
@${MKDIR} ${WRKDIR}/pkg
@if ${SETENV} ${PKG_ENV} FORCE_POST="${_FORCE_POST_PATTERNS}" ${PKG_CREATE} ${PKG_CREATE_ARGS} -f ${PKG_SUFX:S/.//} -o ${WRKDIR}/pkg ${PKGNAME}; then \
if [ -d ${PKGREPOSITORY} -a -w ${PKGREPOSITORY} ]; then \
${LN} -f ${WRKDIR_PKGFILE} ${PKGFILE} 2>/dev/null \
|| ${CP} -f ${WRKDIR_PKGFILE} ${PKGFILE}; \
if [ "${PKGORIGIN}" = "ports-mgmt/pkg" -o "${PKGORIGIN}" = "ports-mgmt/pkg-devel" ]; then \
if [ ! -d ${PKGLATESTREPOSITORY} ]; then \
if ! ${MKDIR} ${PKGLATESTREPOSITORY}; then \
${ECHO_MSG} "=> Can't create directory ${PKGLATESTREPOSITORY}."; \
exit 1; \
fi; \
fi ; \
${LN} -sf ../${PKGREPOSITORYSUBDIR}/${PKGNAME}${PKG_SUFX} ${PKGLATESTFILE} ; \
fi; \
elif [ ! -d ${PACKAGES} ]; then \
${LN} -f ${WRKDIR_PKGFILE} ${PKGFILE} 2>/dev/null \
|| ${CP} -f ${WRKDIR_PKGFILE} ${PKGFILE}; \
Add support for staging area in the ports tree The ports tree is now staged by default. With pkgng the sequence hasn't changed, the main difference is that creating package is now independent from installing it. With pkg_install, the package is now created first and make install, do install the package. New macros: - STAGEDIR: PATH to the directory where the port will be staged. - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area) Unsupported macro if NO_STAGE is not set: - MAN* with staging man page compression and handling of hardlinks and symlinks is automatically done in the stage. the manpages becomes then a "normal" plist files and should be tracked in pkg-plist. - MANCOMPRESSED the compress-man target is able to only compress when it needed. New target: - stage: this installs everything into the stage directory - makeplist: this will create a pkg-plist and print it to stdout. This is a sample plist and it should always be _reviewed_ not directly used. NOTE: with staging only what is in the plist will be installed, nothing more, meaning a port staged cannot have leftovers exect directories left. It is really important to double check the pkg-plist to make sure all the files the maintainer want to package are in! make makeplist can help in that area. The goal is to handle as quickly as possible a full removal of the NO_STAGE support. More features can be added once the full ports tree is converted to using the staging area Conversion notes: - Remove NO_STAGE - in {pre,do,post}-install * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES} prepend ${STAGEDIR} * Remove any thing that is done by @exec or +INSTALL script it will be done automatically when syncing packages * Remove any code to show PKG-MESSAGE it will be done automatically when syncing packages * Directory creation should remain in post-install (in particular because pkgng doesn't work like pkg_install in that area and pkgng ignores the @exec mkdir but directly pack the directory even if empty) - PORTDOCS/PORTEXAMPELS To support PORTDOCS, PORTEXAMPLES most of the time there is no more need for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your plist then the given files from the stagedir will or will not sync according to NOPORTDOCS and NOPORTEXAMPLES. With hat: portmgr Reviewed by: bdrewery
2013-09-23 05:56:35 +00:00
fi; \
else \
cd ${.CURDIR} && eval ${MAKE} delete-package >/dev/null; \
Add support for staging area in the ports tree The ports tree is now staged by default. With pkgng the sequence hasn't changed, the main difference is that creating package is now independent from installing it. With pkg_install, the package is now created first and make install, do install the package. New macros: - STAGEDIR: PATH to the directory where the port will be staged. - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area) Unsupported macro if NO_STAGE is not set: - MAN* with staging man page compression and handling of hardlinks and symlinks is automatically done in the stage. the manpages becomes then a "normal" plist files and should be tracked in pkg-plist. - MANCOMPRESSED the compress-man target is able to only compress when it needed. New target: - stage: this installs everything into the stage directory - makeplist: this will create a pkg-plist and print it to stdout. This is a sample plist and it should always be _reviewed_ not directly used. NOTE: with staging only what is in the plist will be installed, nothing more, meaning a port staged cannot have leftovers exect directories left. It is really important to double check the pkg-plist to make sure all the files the maintainer want to package are in! make makeplist can help in that area. The goal is to handle as quickly as possible a full removal of the NO_STAGE support. More features can be added once the full ports tree is converted to using the staging area Conversion notes: - Remove NO_STAGE - in {pre,do,post}-install * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES} prepend ${STAGEDIR} * Remove any thing that is done by @exec or +INSTALL script it will be done automatically when syncing packages * Remove any code to show PKG-MESSAGE it will be done automatically when syncing packages * Directory creation should remain in post-install (in particular because pkgng doesn't work like pkg_install in that area and pkgng ignores the @exec mkdir but directly pack the directory even if empty) - PORTDOCS/PORTEXAMPELS To support PORTDOCS, PORTEXAMPLES most of the time there is no more need for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your plist then the given files from the stagedir will or will not sync according to NOPORTDOCS and NOPORTEXAMPLES. With hat: portmgr Reviewed by: bdrewery
2013-09-23 05:56:35 +00:00
exit 1; \
fi
.endif
# Some support rules for do-package
.if !target(delete-package)
delete-package:
@${ECHO_MSG} "===> Deleting package for ${PKGNAME}"
# When staging, the package may only be in the workdir if not root
@${RM} -f ${PKGFILE} ${WRKDIR_PKGFILE} 2>/dev/null || :
.endif
.if !target(delete-package-list)
delete-package-list:
Heroic attempt to reduce number of PRs assigned to portmgr@: 1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working. PR: 36537 Submitted by: tg 2. Propagate error code from failed `make depends', when one of the ports we depend upon is marked BROKEN/FORBIDDEN. PR: 25522 Submitted by: alex 3. By default, when bsd.port.mk configurating Makefile.PL only pass PREFIX as argument, but some Perl module (eg. Test-Harness) needed INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise default installation will goes to /usr/lib and not ${PREFIX}/lib, in some case, adding these tag to CONFIGURE_ARGS is not bad. PR: 29681 Submitted by: Shell Hung <shell@shellhung.org> 4. Update patch-libtool target, so that it doesn't break ports with autoconf 2.13-generated configure script. USE_LIBTOOL is still not very useful for such cases, but at least it doesn't break them badly anymore. PR: 31142 Submitted by: wjv 5. Make `make search' working even when /usr/obj/usr/ports exists. PR: 31862 Submitted by: gad 6. When configure script fails unexpectedly don't dump thousands lines of config.log to the user's screen, because it usually doesn't contain information useful for tracking the problem anyway. Instead display a message asking a user to report the failure to the proper entity (maintainer) and what to include into the problem report. PR: 34459, 35488 Submitted by: Thomas Hurst <freaky@aagh.net> Alan Eldridge <ports@geeksrus.net> sobomax other countless hackers whose names are lost in the noise Text of message suggested by: asmodai 7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr, bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as always, however those defaults are not appropriate for /usr, and better options are available. PR: 36030 Submitted by: DougB 8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to avoid clashing with system .mk settings (${ECHO} has a different meaning there). Actually the patch is imcomplete, because large portion of those ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce happy, which shouldn't be underestimated. PR: 34988 Submitted by: knu All of the above tested by: bento Special thanks goes to: kris (for his help with getting this tested) -------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
@${ECHO_CMD} "[ -f ${PKGFILE} ] && (${ECHO_CMD} deleting ${PKGFILE}; ${RM} -f ${PKGFILE})"
.endif
# Used by scripts and users to install a package from local repository.
# Poudriere -i uses this, please keep.
Add support for staging area in the ports tree The ports tree is now staged by default. With pkgng the sequence hasn't changed, the main difference is that creating package is now independent from installing it. With pkg_install, the package is now created first and make install, do install the package. New macros: - STAGEDIR: PATH to the directory where the port will be staged. - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area) Unsupported macro if NO_STAGE is not set: - MAN* with staging man page compression and handling of hardlinks and symlinks is automatically done in the stage. the manpages becomes then a "normal" plist files and should be tracked in pkg-plist. - MANCOMPRESSED the compress-man target is able to only compress when it needed. New target: - stage: this installs everything into the stage directory - makeplist: this will create a pkg-plist and print it to stdout. This is a sample plist and it should always be _reviewed_ not directly used. NOTE: with staging only what is in the plist will be installed, nothing more, meaning a port staged cannot have leftovers exect directories left. It is really important to double check the pkg-plist to make sure all the files the maintainer want to package are in! make makeplist can help in that area. The goal is to handle as quickly as possible a full removal of the NO_STAGE support. More features can be added once the full ports tree is converted to using the staging area Conversion notes: - Remove NO_STAGE - in {pre,do,post}-install * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES} prepend ${STAGEDIR} * Remove any thing that is done by @exec or +INSTALL script it will be done automatically when syncing packages * Remove any code to show PKG-MESSAGE it will be done automatically when syncing packages * Directory creation should remain in post-install (in particular because pkgng doesn't work like pkg_install in that area and pkgng ignores the @exec mkdir but directly pack the directory even if empty) - PORTDOCS/PORTEXAMPELS To support PORTDOCS, PORTEXAMPLES most of the time there is no more need for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your plist then the given files from the stagedir will or will not sync according to NOPORTDOCS and NOPORTEXAMPLES. With hat: portmgr Reviewed by: bdrewery
2013-09-23 05:56:35 +00:00
.if !target(install-package)
.if defined(FORCE_PKG_REGISTER)
_INSTALL_PKG_ARGS= -f
.endif
.if defined(INSTALLS_DEPENDS)
_INSTALL_PKG_ARGS+= -A
.endif
install-package:
@if [ -f "${WRKDIR}/pkg/${PKGNAME}${PKG_SUFX}" ]; then \
_pkgfile="${WRKDIR_PKGFILE}"; \
else \
_pkgfile="${PKGFILE}"; \
fi; \
${PKG_ADD} ${_INSTALL_PKG_ARGS} $${_pkgfile}
.endif
Add support for staging area in the ports tree The ports tree is now staged by default. With pkgng the sequence hasn't changed, the main difference is that creating package is now independent from installing it. With pkg_install, the package is now created first and make install, do install the package. New macros: - STAGEDIR: PATH to the directory where the port will be staged. - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area) Unsupported macro if NO_STAGE is not set: - MAN* with staging man page compression and handling of hardlinks and symlinks is automatically done in the stage. the manpages becomes then a "normal" plist files and should be tracked in pkg-plist. - MANCOMPRESSED the compress-man target is able to only compress when it needed. New target: - stage: this installs everything into the stage directory - makeplist: this will create a pkg-plist and print it to stdout. This is a sample plist and it should always be _reviewed_ not directly used. NOTE: with staging only what is in the plist will be installed, nothing more, meaning a port staged cannot have leftovers exect directories left. It is really important to double check the pkg-plist to make sure all the files the maintainer want to package are in! make makeplist can help in that area. The goal is to handle as quickly as possible a full removal of the NO_STAGE support. More features can be added once the full ports tree is converted to using the staging area Conversion notes: - Remove NO_STAGE - in {pre,do,post}-install * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES} prepend ${STAGEDIR} * Remove any thing that is done by @exec or +INSTALL script it will be done automatically when syncing packages * Remove any code to show PKG-MESSAGE it will be done automatically when syncing packages * Directory creation should remain in post-install (in particular because pkgng doesn't work like pkg_install in that area and pkgng ignores the @exec mkdir but directly pack the directory even if empty) - PORTDOCS/PORTEXAMPELS To support PORTDOCS, PORTEXAMPLES most of the time there is no more need for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your plist then the given files from the stagedir will or will not sync according to NOPORTDOCS and NOPORTEXAMPLES. With hat: portmgr Reviewed by: bdrewery
2013-09-23 05:56:35 +00:00
# Utility targets follow
.if !target(check-already-installed)
.if !defined(NO_PKG_REGISTER) && !defined(FORCE_PKG_REGISTER)
check-already-installed:
@${ECHO_MSG} "===> Checking if ${PKGBASE} already installed"; \
pkgname=`${PKG_INFO} -q -O ${PKGBASE}`; \
if [ -n "$${pkgname}" ]; then \
v=`${PKG_VERSION} -t $${pkgname} ${PKGNAME}`; \
if [ "$${v}" = "<" ]; then \
${ECHO_CMD} "===> An older version of ${PKGBASE} is already installed ($${pkgname})"; \
else \
${ECHO_CMD} "===> ${PKGNAME} is already installed"; \
fi; \
${ECHO_MSG} " You may wish to \`\`make deinstall'' and install this port again"; \
${ECHO_MSG} " by \`\`make reinstall'' to upgrade it properly."; \
${ECHO_MSG} " If you really wish to overwrite the old port of ${PKGBASE}"; \
${ECHO_MSG} " without deleting it first, set the variable \"FORCE_PKG_REGISTER\""; \
${ECHO_MSG} " in your environment or the \"make install\" command line."; \
exit 1; \
* Attempt to detect and disallow installation of a port with PREFIX set to a different value to that with which it was configured and built. This is achieved by recording the PREFIX in the build-stage cookies [1] * Add scheme [2], tcl84 and tk84 [5] as virtual categories * Add the PERL_PORT variable and use it to register the dependency on the correct perl port when PERL_LEVEL is set [3] * Add support for USE_AUTOHEADER [4] * Fix 'make maintainer' when MAINTAINER is set to a bogus value (not in user@example.com format). [6] * Add a 'package-recursive' target to create packages for a port and all of its dependencies [7] * Fix command-line overflow errors in 'make readmes' on certain ports, with the bonus of providing a measurable speed-up to readme generation [8] * Fix inclusion of alternative makefiles such as Makefile.inc, Makefile.local, etc. (broken since 1.403) [9] * Reintroduce support for install/deinstall targets checking for older versions of the port, and re-add the deinstall-all target that removes all existing installations of a port (originally introduced in 1.446 and backed out in 1.450). This patch has been reworked to eliminate the corner cases in the previous code. Ports that dynamically generate their ${PLIST} at install-time must now do so before the do-install target is run, e.g. in pre-install. [10] * When installing ports as non-root, use su(1) to execute the targets that require root privilege. This is achieved by splitting up the _INSTALL_SEQ target list into _INSTALL_SUSEQ [11]. PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6], 52388 [7], 51609 [11] Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1], Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11], Kimura Fuyuki <fuyuki@hadaly.org> [2], "Scot W. Hetzel" <hetzels@westbend.net> [3], Anton Berezin <tobez@FreeBSD.org> [3], nork [4], hsu [5], Mark Linimon <linimon@lonesome.com> [6], hoek [8], sobomax [9], marcus [10] [11], des [11]
2003-07-06 23:54:33 +00:00
fi
.endif
.endif
.if !target(check-umask)
check-umask:
@if [ `${SH} -c umask` != 0022 ]; then \
${ECHO_MSG} "===> Warning: your umask is \"`${SH} -c umask`"\".; \
${ECHO_MSG} " If this is not desired, set it to an appropriate value"; \
${ECHO_MSG} " and install this port again by \`\`make reinstall''."; \
fi
.endif
.if !target(install-mtree)
Update to 1.3.8 Changes: - Plist parser do not accept modes like o+w g+s u+r - @owner/@group with no argument reset the default ownership to root/wheel - Plug regression tests into the release mechanism as mandatory - Allow url in repository configuration to be overriden by another configuration file - If one of -P, -I or -R is not explicitly given on the command line do not emit error messages while searching for a mechanism to find data about the latest available ports. - External keywords can now take arguments - Directories under PREFIX are automatically handled and removed if needed - MTREE are not packaged anymore neither extracted on final installation - OS major checking (to determine if pkg is running on an upgraded base system) uses the same mechanism as ABI detection instead of relying on UNAME_r which can have false positivie on jails - Add @dir keyword for plist which is used to package explicitly directories (directories with non root/wheel or outside prefix) and empty directories (@dirrm and @dirrmtry are now considered as deprecated) - root/wheel are now considered as the default user/group when creating a package except @owner/@group are used to change that behaviour - Import newer version of libucl which improves error messages in case of problem parsing manifest or configuration files - Fix pkg register so it checks for conflicts before actually copying files on to the filesystem - pkg now support a new no_provide_lib annotation to preventing automatic populating of provided libs (useful for packages bundling libraries like wine) - Improve documentations - Ability to select usage of IPv4/IPv6 via config, repository config or command line - Lots of bug fixes Side effects: - Convert to install-mtree target into a no-op target Add empty directories to plist of ports that needs them to run: - share/aclocal to devel/automake and devel/automake14 - share/applications to devel/desktop-file-utils - share/xml share/sgml to textproc/xmlcatmgr - Prevent check-plist to issue warnings about some @dir* - Adjist check_leftovers.sh to not take in account anything related to mtree - Bump the default required version of pkg to 1.3.8
2014-09-22 05:47:32 +00:00
install-mtree:
@${DO_NADA}
.endif
.if !target(install-ldconfig-file)
install-ldconfig-file:
. if defined(USE_LDCONFIG) || defined(USE_LDCONFIG32)
. if defined(USE_LDCONFIG)
. if !defined(USE_LINUX_PREFIX)
. if ${USE_LDCONFIG} != "${LOCALBASE}/lib" && !defined(INSTALL_AS_USER)
@${ECHO_MSG} "===> Installing ldconfig configuration file"
. if defined(NO_MTREE) || ${PREFIX} != ${LOCALBASE}
@${MKDIR} ${STAGEDIR}${LOCALBASE}/${LDCONFIG_DIR}
. endif
@${ECHO_CMD} ${USE_LDCONFIG} | ${TR} ' ' '\n' \
> ${STAGEDIR}${LOCALBASE}/${LDCONFIG_DIR}/${PKGBASE}
@${ECHO_CMD} ${LOCALBASE}/${LDCONFIG_DIR}/${PKGBASE} >> ${TMPPLIST}
. if ${PREFIX} != ${LOCALBASE}
@${ECHO_CMD} "@dir ${LOCALBASE}/${LDCONFIG_DIR}" >> ${TMPPLIST}
. endif
. endif
. endif
. endif
. if defined(USE_LDCONFIG32)
. if !defined(INSTALL_AS_USER)
@${ECHO_MSG} "===> Installing 32-bit ldconfig configuration file"
. if defined(NO_MTREE) || ${PREFIX} != ${LOCALBASE}
@${MKDIR} ${STAGEDIR}${LOCALBASE}/${LDCONFIG32_DIR}
. endif
@${ECHO_CMD} ${USE_LDCONFIG32} | ${TR} ' ' '\n' \
> ${STAGEDIR}${LOCALBASE}/${LDCONFIG32_DIR}/${PKGBASE}
@${ECHO_CMD} ${LOCALBASE}/${LDCONFIG32_DIR}/${PKGBASE} >> ${TMPPLIST}
. if ${PREFIX} != ${LOCALBASE}
@${ECHO_CMD} "@dir ${LOCALBASE}/${LDCONFIG32_DIR}" >> ${TMPPLIST}
. endif
. endif
. endif
. endif
.endif
.if !target(create-users-groups)
.if defined(GROUPS) || defined(USERS)
_UG_INSTALL= ${WRKDIR}/users-groups-install.sh
_UG_DEINSTALL= ${WRKDIR}/users-groups-deinstall.sh
PKGPREINSTALL+= ${_UG_INSTALL}
PKGPOSTDEINSTALL+= ${_UG_DEINSTALL}
create-users-groups:
@${SETENV} \
dp_ECHO_MSG="${ECHO_MSG}" \
dp_GID_FILES="${GID_FILES}" \
dp_GID_OFFSET="${GID_OFFSET}" \
dp_GROUPS_BLACKLIST="${GROUPS_BLACKLIST}" \
dp_INSTALL="${INSTALL}" \
dp_OPSYS="${OPSYS}" \
dp_OSVERSION="${OSVERSION}" \
dp_PREFIX="${PREFIX}" \
dp_PW="${PW}" \
dp_SCRIPTSDIR="${SCRIPTSDIR}" \
dp_UG_DEINSTALL="${_UG_DEINSTALL}" \
dp_UG_INSTALL="${_UG_INSTALL}" \
dp_UID_FILES="${UID_FILES}" \
dp_UID_OFFSET="${UID_OFFSET}" \
dp_USERS_BLACKLIST="${USERS_BLACKLIST}" \
${SH} ${SCRIPTSDIR}/do-users-groups.sh "${USERS}" "${GROUPS}"
.endif
.endif
.if !defined(DISABLE_SECURITY_CHECK)
.if !target(security-check)
security-check: ${TMPPLIST}
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
# Scan PLIST for:
# 1. setugid files
# 2. accept()/recvfrom() which indicates network listening capability
# 3. insecure functions (gets/mktemp/tempnam/[XXX])
# 4. startup scripts, in conjunction with 2.
# 5. world-writable files/dirs
#
-@${RM} -f ${WRKDIR}/.PLIST.setuid ${WRKDIR}/.PLIST.writable ${WRKDIR}/.PLIST.objdump; \
${AWK} -v prefix='${PREFIX}' ' \
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
match($$0, /^@cwd /) { prefix = substr($$0, RSTART + RLENGTH); if (prefix == "/") prefix=""; next; } \
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
/^@/ { next; } \
/^\// { print; next; } \
{ print prefix "/" $$0; } \
' ${TMPPLIST} > ${WRKDIR}/.PLIST.flattened; \
${TR} '\n' '\0' < ${WRKDIR}/.PLIST.flattened \
| ${XARGS} -0 -J % ${FIND} % -prune ! -type l -type f \( -perm -4000 -o -perm -2000 \) \( -perm -0010 -o -perm -0001 \) 2> /dev/null > ${WRKDIR}/.PLIST.setuid; \
${TR} '\n' '\0' < ${WRKDIR}/.PLIST.flattened \
- Allow processing of info files in non-standard locations; the INFO_PATH variable may be used to specify their location. It defaults to 'share/info' for the standard PREFIX, and 'info' when PREFIX == /usr. [1] - Remove the <category>/pkg/COMMENT files in favour of a COMMENT variable in <category>/Makefile [2] - Prevent patch breakage with VERSION_CONTROL=numbered [3] - Fix some instances of incorrect WRKDIRPREFIX handling. [4] - remove useless ${MKDIR} ${WRKSRC} in config target [5] - remove reference to OpenBSD [6] - Exempt devel/p5-Module-Build from the self-dependency in PERL_MODBUILD so that this port may use the option without getting an infinite dependency list [7] - The default PERL_ARCH is currently determined as a function of OSVERSION. It should however be a function of PERL_LEVEL since the correct value depends on what Perl version one has installed (older Perl versions use ${ARCH}-freebsd, newer versions use mach). [8] - Fix PORTDOCS on older (4.7, 5.0) systems [9] - Allow 'make parallel' to generate a working makefile when not all categories are present (this does not mean you'll be able to build all ports, unless you make sure they don't have external dependencies) [10] - Don't report symlinks as world-writable in the security check [11] - Fix a comment that was broken by a mismerged patch [12] - Clarify the meaning of USE_*, WANT_*, WITH_* and WITHOUT_* [13] - Don't set _CHKSUMFILES/_IGNOREFILES if CKSUMFILES/IGNOREFILES is empty and DIST_SUBDIR is set. [14] - Fix comment for DISTDIR [15] - Update the documentation of the USE_GL variable [16] - Check to see if NONEXISTENT exists, and fail with an error if it does [17] - Fix fetching of new distfiles in 'make makesum' when SIZE is set [18] - Consistently set MAKE_ENV when USE_GCC=3.2 or 3.3 are set [19] - Rework INDEX builds: [20] * Fix the bsd.port.subdir.mk code that is supposed to report index breakage (the fallback code wasn't actually being run because make would halt immediately following the error). This should help with INDEX error reports because it will immediately show the cause of failure, so we won't have to pull teeth to extract it from the submitter. * Streamline the 'make describe' code a bit. * Provide some basic instructions to the user when an index build fails, on when and how to report index build failures (turn this off with INDEX_QUIET=1) * Removed INDEX_NOSORT, because I couldn't imagine it to be very useful and it doesn't cost very much anyway. * Don't prevent INDEX builds from seeing the local host environment. Since a lot of users are using 'make index' thesedays they should get an index that reflects their local settings and installed ports. If you want to build a 'default' index that isn't influenced by local settings (e.g. for release builds), set the INDEX_PRISTINE variable. * Allows parallel INDEX builds (using make -j). The most obvious way of doing this doesn't work, because I/O from child makes is broken up into 2k chunks, and output lines from 'make describe' that exceed this length (*cough* GNOME *cough*) will be intertwined with the output of other makes, leading to a corrupted INDEX. The I/O interleaving can be disabled using 'make -P', but this inserts extraneous output of its own, and redirects stderr, making it useless for our purposes. Instead, I collect the output from the child make processes in temporary files and recombine them at the end. * The number of concurrent make processes to spawn can be set using INDEX_JOBS. By default this is set to 2, which seems to be a sweet spot for both single and dual-processor systems. On my tests I do not see any significant performance changes on UP, but on a dual 4.x system the build time drops by 47% (6 minute index builds on one test machine!). Depending on your disk and CPU hardware you might see further gains with INDEX_JOBS=4 or higher, so you might like to experiment to see what works best. On a dual 5.x system the performance gains do not seem to be as great (20-30%), but this is still a significant net win. PR: 55493 [1], 59651 [2], 61552 [3], 62247 [4], 62329 [5], 62337 [6], 62422 [7], 62441 [8], 62627 [9], 62983 [10], 63112 [11], 63297 [12], 63335 [13], 64029 [14], 64069 [15], 64236 [16], 64519 [17], 62958 [18], 64237 [19] Submitted by: lev [1], Matthew Seaman <m.seaman@infracaninophile.co.uk> [2], Joel Ray Holveck <joelh@piquan.org> [3], ade [4], Sergey Matveychuk <sem@ciam.ru> [5], markus [6], mat [7], des [8], eik [9], Dmitry Morozovsky <marck@rinet.ru> [10], Andrew <andrew@ugh.net.au> [11], vs [12], linimon [13], edwin [14][15], gerald [16], marcus[17][18], kris [19][20]
2004-04-02 07:25:23 +00:00
| ${XARGS} -0 -J % ${FIND} % -prune -perm -0002 \! -type l 2> /dev/null > ${WRKDIR}/.PLIST.writable; \
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
${TR} '\n' '\0' < ${WRKDIR}/.PLIST.flattened \
| ${XARGS} -0 -J % ${FIND} % -prune ! -type l -type f -print0 2> /dev/null \
| ${XARGS} -0 -n 1 ${OBJDUMP} -R 2> /dev/null > ${WRKDIR}/.PLIST.objdump; \
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
if \
! ${AWK} -v audit="$${PORTS_AUDIT}" -f ${SCRIPTSDIR}/security-check.awk \
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
${WRKDIR}/.PLIST.flattened ${WRKDIR}/.PLIST.objdump ${WRKDIR}/.PLIST.setuid ${WRKDIR}/.PLIST.writable; \
then \
www_site=$$(cd ${.CURDIR} && ${MAKE} www-site); \
- Allow processing of info files in non-standard locations; the INFO_PATH variable may be used to specify their location. It defaults to 'share/info' for the standard PREFIX, and 'info' when PREFIX == /usr. [1] - Remove the <category>/pkg/COMMENT files in favour of a COMMENT variable in <category>/Makefile [2] - Prevent patch breakage with VERSION_CONTROL=numbered [3] - Fix some instances of incorrect WRKDIRPREFIX handling. [4] - remove useless ${MKDIR} ${WRKSRC} in config target [5] - remove reference to OpenBSD [6] - Exempt devel/p5-Module-Build from the self-dependency in PERL_MODBUILD so that this port may use the option without getting an infinite dependency list [7] - The default PERL_ARCH is currently determined as a function of OSVERSION. It should however be a function of PERL_LEVEL since the correct value depends on what Perl version one has installed (older Perl versions use ${ARCH}-freebsd, newer versions use mach). [8] - Fix PORTDOCS on older (4.7, 5.0) systems [9] - Allow 'make parallel' to generate a working makefile when not all categories are present (this does not mean you'll be able to build all ports, unless you make sure they don't have external dependencies) [10] - Don't report symlinks as world-writable in the security check [11] - Fix a comment that was broken by a mismerged patch [12] - Clarify the meaning of USE_*, WANT_*, WITH_* and WITHOUT_* [13] - Don't set _CHKSUMFILES/_IGNOREFILES if CKSUMFILES/IGNOREFILES is empty and DIST_SUBDIR is set. [14] - Fix comment for DISTDIR [15] - Update the documentation of the USE_GL variable [16] - Check to see if NONEXISTENT exists, and fail with an error if it does [17] - Fix fetching of new distfiles in 'make makesum' when SIZE is set [18] - Consistently set MAKE_ENV when USE_GCC=3.2 or 3.3 are set [19] - Rework INDEX builds: [20] * Fix the bsd.port.subdir.mk code that is supposed to report index breakage (the fallback code wasn't actually being run because make would halt immediately following the error). This should help with INDEX error reports because it will immediately show the cause of failure, so we won't have to pull teeth to extract it from the submitter. * Streamline the 'make describe' code a bit. * Provide some basic instructions to the user when an index build fails, on when and how to report index build failures (turn this off with INDEX_QUIET=1) * Removed INDEX_NOSORT, because I couldn't imagine it to be very useful and it doesn't cost very much anyway. * Don't prevent INDEX builds from seeing the local host environment. Since a lot of users are using 'make index' thesedays they should get an index that reflects their local settings and installed ports. If you want to build a 'default' index that isn't influenced by local settings (e.g. for release builds), set the INDEX_PRISTINE variable. * Allows parallel INDEX builds (using make -j). The most obvious way of doing this doesn't work, because I/O from child makes is broken up into 2k chunks, and output lines from 'make describe' that exceed this length (*cough* GNOME *cough*) will be intertwined with the output of other makes, leading to a corrupted INDEX. The I/O interleaving can be disabled using 'make -P', but this inserts extraneous output of its own, and redirects stderr, making it useless for our purposes. Instead, I collect the output from the child make processes in temporary files and recombine them at the end. * The number of concurrent make processes to spawn can be set using INDEX_JOBS. By default this is set to 2, which seems to be a sweet spot for both single and dual-processor systems. On my tests I do not see any significant performance changes on UP, but on a dual 4.x system the build time drops by 47% (6 minute index builds on one test machine!). Depending on your disk and CPU hardware you might see further gains with INDEX_JOBS=4 or higher, so you might like to experiment to see what works best. On a dual 5.x system the performance gains do not seem to be as great (20-30%), but this is still a significant net win. PR: 55493 [1], 59651 [2], 61552 [3], 62247 [4], 62329 [5], 62337 [6], 62422 [7], 62441 [8], 62627 [9], 62983 [10], 63112 [11], 63297 [12], 63335 [13], 64029 [14], 64069 [15], 64236 [16], 64519 [17], 62958 [18], 64237 [19] Submitted by: lev [1], Matthew Seaman <m.seaman@infracaninophile.co.uk> [2], Joel Ray Holveck <joelh@piquan.org> [3], ade [4], Sergey Matveychuk <sem@ciam.ru> [5], markus [6], mat [7], des [8], eik [9], Dmitry Morozovsky <marck@rinet.ru> [10], Andrew <andrew@ugh.net.au> [11], vs [12], linimon [13], edwin [14][15], gerald [16], marcus[17][18], kris [19][20]
2004-04-02 07:25:23 +00:00
if [ ! -z "$${www_site}" ]; then \
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
${ECHO_MSG}; \
${ECHO_MSG} " For more information, and contact details about the security"; \
${ECHO_MSG} " status of this software, see the following webpage: "; \
- Allow processing of info files in non-standard locations; the INFO_PATH variable may be used to specify their location. It defaults to 'share/info' for the standard PREFIX, and 'info' when PREFIX == /usr. [1] - Remove the <category>/pkg/COMMENT files in favour of a COMMENT variable in <category>/Makefile [2] - Prevent patch breakage with VERSION_CONTROL=numbered [3] - Fix some instances of incorrect WRKDIRPREFIX handling. [4] - remove useless ${MKDIR} ${WRKSRC} in config target [5] - remove reference to OpenBSD [6] - Exempt devel/p5-Module-Build from the self-dependency in PERL_MODBUILD so that this port may use the option without getting an infinite dependency list [7] - The default PERL_ARCH is currently determined as a function of OSVERSION. It should however be a function of PERL_LEVEL since the correct value depends on what Perl version one has installed (older Perl versions use ${ARCH}-freebsd, newer versions use mach). [8] - Fix PORTDOCS on older (4.7, 5.0) systems [9] - Allow 'make parallel' to generate a working makefile when not all categories are present (this does not mean you'll be able to build all ports, unless you make sure they don't have external dependencies) [10] - Don't report symlinks as world-writable in the security check [11] - Fix a comment that was broken by a mismerged patch [12] - Clarify the meaning of USE_*, WANT_*, WITH_* and WITHOUT_* [13] - Don't set _CHKSUMFILES/_IGNOREFILES if CKSUMFILES/IGNOREFILES is empty and DIST_SUBDIR is set. [14] - Fix comment for DISTDIR [15] - Update the documentation of the USE_GL variable [16] - Check to see if NONEXISTENT exists, and fail with an error if it does [17] - Fix fetching of new distfiles in 'make makesum' when SIZE is set [18] - Consistently set MAKE_ENV when USE_GCC=3.2 or 3.3 are set [19] - Rework INDEX builds: [20] * Fix the bsd.port.subdir.mk code that is supposed to report index breakage (the fallback code wasn't actually being run because make would halt immediately following the error). This should help with INDEX error reports because it will immediately show the cause of failure, so we won't have to pull teeth to extract it from the submitter. * Streamline the 'make describe' code a bit. * Provide some basic instructions to the user when an index build fails, on when and how to report index build failures (turn this off with INDEX_QUIET=1) * Removed INDEX_NOSORT, because I couldn't imagine it to be very useful and it doesn't cost very much anyway. * Don't prevent INDEX builds from seeing the local host environment. Since a lot of users are using 'make index' thesedays they should get an index that reflects their local settings and installed ports. If you want to build a 'default' index that isn't influenced by local settings (e.g. for release builds), set the INDEX_PRISTINE variable. * Allows parallel INDEX builds (using make -j). The most obvious way of doing this doesn't work, because I/O from child makes is broken up into 2k chunks, and output lines from 'make describe' that exceed this length (*cough* GNOME *cough*) will be intertwined with the output of other makes, leading to a corrupted INDEX. The I/O interleaving can be disabled using 'make -P', but this inserts extraneous output of its own, and redirects stderr, making it useless for our purposes. Instead, I collect the output from the child make processes in temporary files and recombine them at the end. * The number of concurrent make processes to spawn can be set using INDEX_JOBS. By default this is set to 2, which seems to be a sweet spot for both single and dual-processor systems. On my tests I do not see any significant performance changes on UP, but on a dual 4.x system the build time drops by 47% (6 minute index builds on one test machine!). Depending on your disk and CPU hardware you might see further gains with INDEX_JOBS=4 or higher, so you might like to experiment to see what works best. On a dual 5.x system the performance gains do not seem to be as great (20-30%), but this is still a significant net win. PR: 55493 [1], 59651 [2], 61552 [3], 62247 [4], 62329 [5], 62337 [6], 62422 [7], 62441 [8], 62627 [9], 62983 [10], 63112 [11], 63297 [12], 63335 [13], 64029 [14], 64069 [15], 64236 [16], 64519 [17], 62958 [18], 64237 [19] Submitted by: lev [1], Matthew Seaman <m.seaman@infracaninophile.co.uk> [2], Joel Ray Holveck <joelh@piquan.org> [3], ade [4], Sergey Matveychuk <sem@ciam.ru> [5], markus [6], mat [7], des [8], eik [9], Dmitry Morozovsky <marck@rinet.ru> [10], Andrew <andrew@ugh.net.au> [11], vs [12], linimon [13], edwin [14][15], gerald [16], marcus[17][18], kris [19][20]
2004-04-02 07:25:23 +00:00
${ECHO_MSG} "$${www_site}"; \
The following changes are all Reviewed by: the ports list (1) Add PORTREVISION and PORTEPOCH, which are both optional, to PKGNAME. PKGNAME is now defined as ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}[_${PORTREVISION}][,${PORTEPOCH}] PORTREVISION denotes some FreeBSD internal change to the port that requires the user to upgrade it. A security fix or a shared library version change will be valid reasons to change (or define) PORTREVISION. PORTEPOCH is used to re-sort versions that is screwed up by the author. PORTEPOCH is sorted before all other fields for the purpose of determining which version is newer than the other. Submitted by: kris (2) Add fetch-recursive and fetch-recursive-list. These are like fetch and fetch-list but they also descend into dependencies. While I'm here, clean up some internal target names and comments. Requested by PR: 12548 (2') Fix bug in fetch-list I introduced in rev 1.347. (3) Add new variables LINUXBASE, USE_LINUX and USE_LINUX_PREFIX. LINUXBASE defaults to /compat/linux and will be the default PREFIX if USE_LINUX_PREFIX is defined. USE_LINUX, which is also implied by USE_LINUX_PREFIX, will add a runtime dependency to the emulators/linux_base port. Approved by: marcel (4) Include bsd.python.mk when USE_PYTHON and PYTHON_VERSION are defined. Submitted by: tg (5a) Change USE_FREETYPE to always depend on print/freetype -- it turns out that XFree86-4-libraries only used freetype internally and didn't install the libraries nor headers. Submitted by: Taguchi-san (XFree86-4-* maintainer) (5b) Change USE_MESA to lib-depend on GLU.1:graphics/Mesa3 when XFREE86_VERSION=4. The Mesa port has been changed to only install components missing from the XFree86 distribution when XF8V=4. Submitted by: sobomax (5c) New variable XFREE86_HTML_MAN, which defaults to "no" when XF8V=3 or USE_IMAKE is not defined, and "yes" when XF8V=4 and USE_IMAKE is defined. When this variable's value is "yes", generate-plist will add html-ified manpages to the generated PLIST. Approved by: Taguchi-san (6) Allow user to override MD5_FILE. Requested by: many (7) Small message change: "...doesn't seem to exist on this system" -> "... to exist in ${_DISTDIR}". Requested by: some mail in the mailing lists...can't remember which ;)
2000-09-09 13:21:14 +00:00
fi; \
fi
.endif
.else # i.e. defined(DISABLE_SECURITY_CHECK)
security-check:
@${ECHO_MSG} " WARNING: Security check has been disabled."
.endif # !defined(DISABLE_SECURITY_CHECK)
The following changes are all Reviewed by: the ports list (1) Add PORTREVISION and PORTEPOCH, which are both optional, to PKGNAME. PKGNAME is now defined as ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}[_${PORTREVISION}][,${PORTEPOCH}] PORTREVISION denotes some FreeBSD internal change to the port that requires the user to upgrade it. A security fix or a shared library version change will be valid reasons to change (or define) PORTREVISION. PORTEPOCH is used to re-sort versions that is screwed up by the author. PORTEPOCH is sorted before all other fields for the purpose of determining which version is newer than the other. Submitted by: kris (2) Add fetch-recursive and fetch-recursive-list. These are like fetch and fetch-list but they also descend into dependencies. While I'm here, clean up some internal target names and comments. Requested by PR: 12548 (2') Fix bug in fetch-list I introduced in rev 1.347. (3) Add new variables LINUXBASE, USE_LINUX and USE_LINUX_PREFIX. LINUXBASE defaults to /compat/linux and will be the default PREFIX if USE_LINUX_PREFIX is defined. USE_LINUX, which is also implied by USE_LINUX_PREFIX, will add a runtime dependency to the emulators/linux_base port. Approved by: marcel (4) Include bsd.python.mk when USE_PYTHON and PYTHON_VERSION are defined. Submitted by: tg (5a) Change USE_FREETYPE to always depend on print/freetype -- it turns out that XFree86-4-libraries only used freetype internally and didn't install the libraries nor headers. Submitted by: Taguchi-san (XFree86-4-* maintainer) (5b) Change USE_MESA to lib-depend on GLU.1:graphics/Mesa3 when XFREE86_VERSION=4. The Mesa port has been changed to only install components missing from the XFree86 distribution when XF8V=4. Submitted by: sobomax (5c) New variable XFREE86_HTML_MAN, which defaults to "no" when XF8V=3 or USE_IMAKE is not defined, and "yes" when XF8V=4 and USE_IMAKE is defined. When this variable's value is "yes", generate-plist will add html-ified manpages to the generated PLIST. Approved by: Taguchi-san (6) Allow user to override MD5_FILE. Requested by: many (7) Small message change: "...doesn't seem to exist on this system" -> "... to exist in ${_DISTDIR}". Requested by: some mail in the mailing lists...can't remember which ;)
2000-09-09 13:21:14 +00:00
################################################################
# Skeleton targets start here
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
#
# You shouldn't have to change these. Either add the pre-* or
# post-* targets/scripts or redefine the do-* targets. These
# targets don't do anything other than checking for cookies and
# call the necessary targets/scripts.
################################################################
extract-message:
@${ECHO_MSG} "===> Extracting for ${PKGNAME}"
patch-message:
@${ECHO_MSG} "===> Patching for ${PKGNAME}"
configure-message:
@${ECHO_MSG} "===> Configuring for ${PKGNAME}"
build-message:
@${ECHO_MSG} "===> Building for ${PKGNAME}"
Add support for staging area in the ports tree The ports tree is now staged by default. With pkgng the sequence hasn't changed, the main difference is that creating package is now independent from installing it. With pkg_install, the package is now created first and make install, do install the package. New macros: - STAGEDIR: PATH to the directory where the port will be staged. - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area) Unsupported macro if NO_STAGE is not set: - MAN* with staging man page compression and handling of hardlinks and symlinks is automatically done in the stage. the manpages becomes then a "normal" plist files and should be tracked in pkg-plist. - MANCOMPRESSED the compress-man target is able to only compress when it needed. New target: - stage: this installs everything into the stage directory - makeplist: this will create a pkg-plist and print it to stdout. This is a sample plist and it should always be _reviewed_ not directly used. NOTE: with staging only what is in the plist will be installed, nothing more, meaning a port staged cannot have leftovers exect directories left. It is really important to double check the pkg-plist to make sure all the files the maintainer want to package are in! make makeplist can help in that area. The goal is to handle as quickly as possible a full removal of the NO_STAGE support. More features can be added once the full ports tree is converted to using the staging area Conversion notes: - Remove NO_STAGE - in {pre,do,post}-install * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES} prepend ${STAGEDIR} * Remove any thing that is done by @exec or +INSTALL script it will be done automatically when syncing packages * Remove any code to show PKG-MESSAGE it will be done automatically when syncing packages * Directory creation should remain in post-install (in particular because pkgng doesn't work like pkg_install in that area and pkgng ignores the @exec mkdir but directly pack the directory even if empty) - PORTDOCS/PORTEXAMPELS To support PORTDOCS, PORTEXAMPLES most of the time there is no more need for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your plist then the given files from the stagedir will or will not sync according to NOPORTDOCS and NOPORTEXAMPLES. With hat: portmgr Reviewed by: bdrewery
2013-09-23 05:56:35 +00:00
stage-message:
@${ECHO_MSG} "===> Staging for ${PKGNAME}"
install-message:
@${ECHO_MSG} "===> Installing for ${PKGNAME}"
test-message:
@${ECHO_MSG} "===> Testing for ${PKGNAME}"
package-message:
@${ECHO_MSG} "===> Building package for ${PKGNAME}"
# Empty pre-* and post-* targets
.for stage in pre post
Add support for staging area in the ports tree The ports tree is now staged by default. With pkgng the sequence hasn't changed, the main difference is that creating package is now independent from installing it. With pkg_install, the package is now created first and make install, do install the package. New macros: - STAGEDIR: PATH to the directory where the port will be staged. - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area) Unsupported macro if NO_STAGE is not set: - MAN* with staging man page compression and handling of hardlinks and symlinks is automatically done in the stage. the manpages becomes then a "normal" plist files and should be tracked in pkg-plist. - MANCOMPRESSED the compress-man target is able to only compress when it needed. New target: - stage: this installs everything into the stage directory - makeplist: this will create a pkg-plist and print it to stdout. This is a sample plist and it should always be _reviewed_ not directly used. NOTE: with staging only what is in the plist will be installed, nothing more, meaning a port staged cannot have leftovers exect directories left. It is really important to double check the pkg-plist to make sure all the files the maintainer want to package are in! make makeplist can help in that area. The goal is to handle as quickly as possible a full removal of the NO_STAGE support. More features can be added once the full ports tree is converted to using the staging area Conversion notes: - Remove NO_STAGE - in {pre,do,post}-install * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES} prepend ${STAGEDIR} * Remove any thing that is done by @exec or +INSTALL script it will be done automatically when syncing packages * Remove any code to show PKG-MESSAGE it will be done automatically when syncing packages * Directory creation should remain in post-install (in particular because pkgng doesn't work like pkg_install in that area and pkgng ignores the @exec mkdir but directly pack the directory even if empty) - PORTDOCS/PORTEXAMPELS To support PORTDOCS, PORTEXAMPLES most of the time there is no more need for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your plist then the given files from the stagedir will or will not sync according to NOPORTDOCS and NOPORTEXAMPLES. With hat: portmgr Reviewed by: bdrewery
2013-09-23 05:56:35 +00:00
.for name in pkg check-sanity fetch extract patch configure build stage install package
.if exists(${SCRIPTDIR}/${stage}-${name})
.if !target(${stage}-${name}-script)
${stage}-${name}-script:
@ cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \
${SCRIPTDIR}/${.TARGET:S/-script$//}
.endif
.endif
.endfor
.endfor
.if !target(pretty-print-www-site)
pretty-print-www-site:
@www_site=$$(cd ${.CURDIR} && ${MAKE} www-site); \
if [ -n "$${www_site}" ]; then \
${ECHO_MSG} -n " and/or visit the "; \
${ECHO_MSG} -n "<a href=\"$${www_site}\">web site</a>"; \
${ECHO_MSG} " for further information"; \
fi
.endif
################################################################
# Some more targets supplied for users' convenience
################################################################
# Checkpatch
#
# Special target to verify patches
.if !target(checkpatch)
checkpatch:
@cd ${.CURDIR} && ${MAKE} ${PATCH_SILENT} PATCH_CHECK_ONLY=yes ${_PATCH_DEP} ${_PATCH_REAL_SEQ}
.endif
# Reinstall
#
# Special target to re-run install
.if !target(reinstall)
reinstall:
@${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE}
@cd ${.CURDIR} && DEPENDS_TARGET="${DEPENDS_TARGET}" ${MAKE} -DFORCE_PKG_REGISTER install
.endif
Add support for staging area in the ports tree The ports tree is now staged by default. With pkgng the sequence hasn't changed, the main difference is that creating package is now independent from installing it. With pkg_install, the package is now created first and make install, do install the package. New macros: - STAGEDIR: PATH to the directory where the port will be staged. - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area) Unsupported macro if NO_STAGE is not set: - MAN* with staging man page compression and handling of hardlinks and symlinks is automatically done in the stage. the manpages becomes then a "normal" plist files and should be tracked in pkg-plist. - MANCOMPRESSED the compress-man target is able to only compress when it needed. New target: - stage: this installs everything into the stage directory - makeplist: this will create a pkg-plist and print it to stdout. This is a sample plist and it should always be _reviewed_ not directly used. NOTE: with staging only what is in the plist will be installed, nothing more, meaning a port staged cannot have leftovers exect directories left. It is really important to double check the pkg-plist to make sure all the files the maintainer want to package are in! make makeplist can help in that area. The goal is to handle as quickly as possible a full removal of the NO_STAGE support. More features can be added once the full ports tree is converted to using the staging area Conversion notes: - Remove NO_STAGE - in {pre,do,post}-install * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES} prepend ${STAGEDIR} * Remove any thing that is done by @exec or +INSTALL script it will be done automatically when syncing packages * Remove any code to show PKG-MESSAGE it will be done automatically when syncing packages * Directory creation should remain in post-install (in particular because pkgng doesn't work like pkg_install in that area and pkgng ignores the @exec mkdir but directly pack the directory even if empty) - PORTDOCS/PORTEXAMPELS To support PORTDOCS, PORTEXAMPLES most of the time there is no more need for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your plist then the given files from the stagedir will or will not sync according to NOPORTDOCS and NOPORTEXAMPLES. With hat: portmgr Reviewed by: bdrewery
2013-09-23 05:56:35 +00:00
.if !target(restage)
restage:
@${RM} -rf ${STAGEDIR} ${STAGE_COOKIE} ${INSTALL_COOKIE} ${PACKAGE_COOKIE}
Add support for staging area in the ports tree The ports tree is now staged by default. With pkgng the sequence hasn't changed, the main difference is that creating package is now independent from installing it. With pkg_install, the package is now created first and make install, do install the package. New macros: - STAGEDIR: PATH to the directory where the port will be staged. - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area) Unsupported macro if NO_STAGE is not set: - MAN* with staging man page compression and handling of hardlinks and symlinks is automatically done in the stage. the manpages becomes then a "normal" plist files and should be tracked in pkg-plist. - MANCOMPRESSED the compress-man target is able to only compress when it needed. New target: - stage: this installs everything into the stage directory - makeplist: this will create a pkg-plist and print it to stdout. This is a sample plist and it should always be _reviewed_ not directly used. NOTE: with staging only what is in the plist will be installed, nothing more, meaning a port staged cannot have leftovers exect directories left. It is really important to double check the pkg-plist to make sure all the files the maintainer want to package are in! make makeplist can help in that area. The goal is to handle as quickly as possible a full removal of the NO_STAGE support. More features can be added once the full ports tree is converted to using the staging area Conversion notes: - Remove NO_STAGE - in {pre,do,post}-install * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES} prepend ${STAGEDIR} * Remove any thing that is done by @exec or +INSTALL script it will be done automatically when syncing packages * Remove any code to show PKG-MESSAGE it will be done automatically when syncing packages * Directory creation should remain in post-install (in particular because pkgng doesn't work like pkg_install in that area and pkgng ignores the @exec mkdir but directly pack the directory even if empty) - PORTDOCS/PORTEXAMPELS To support PORTDOCS, PORTEXAMPLES most of the time there is no more need for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your plist then the given files from the stagedir will or will not sync according to NOPORTDOCS and NOPORTEXAMPLES. With hat: portmgr Reviewed by: bdrewery
2013-09-23 05:56:35 +00:00
@cd ${.CURDIR} && ${MAKE} stage
.endif
# Deinstall
#
# Special target to remove installation
.if !target(deinstall)
deinstall:
.if defined(UID) && ${UID} != 0 && !defined(INSTALL_AS_USER)
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
@${ECHO_MSG} "===> Switching to root credentials for '${.TARGET}' target"
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
@cd ${.CURDIR} && \
${SU_CMD} "${MAKE} ${.TARGET}"
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
@${ECHO_MSG} "===> Returning to user credentials"
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
.else
@${ECHO_MSG} "===> Deinstalling for ${PKGBASE}"
@if ${PKG_INFO} -e ${PKGBASE}; then \
p=`${PKG_INFO} -q -O ${PKGBASE}`; \
${ECHO_MSG} "===> Deinstalling $${p}"; \
${PKG_DELETE} -f ${PKGBASE} ; \
else \
${ECHO_MSG} "===> ${PKGBASE} not installed, skipping"; \
* Attempt to detect and disallow installation of a port with PREFIX set to a different value to that with which it was configured and built. This is achieved by recording the PREFIX in the build-stage cookies [1] * Add scheme [2], tcl84 and tk84 [5] as virtual categories * Add the PERL_PORT variable and use it to register the dependency on the correct perl port when PERL_LEVEL is set [3] * Add support for USE_AUTOHEADER [4] * Fix 'make maintainer' when MAINTAINER is set to a bogus value (not in user@example.com format). [6] * Add a 'package-recursive' target to create packages for a port and all of its dependencies [7] * Fix command-line overflow errors in 'make readmes' on certain ports, with the bonus of providing a measurable speed-up to readme generation [8] * Fix inclusion of alternative makefiles such as Makefile.inc, Makefile.local, etc. (broken since 1.403) [9] * Reintroduce support for install/deinstall targets checking for older versions of the port, and re-add the deinstall-all target that removes all existing installations of a port (originally introduced in 1.446 and backed out in 1.450). This patch has been reworked to eliminate the corner cases in the previous code. Ports that dynamically generate their ${PLIST} at install-time must now do so before the do-install target is run, e.g. in pre-install. [10] * When installing ports as non-root, use su(1) to execute the targets that require root privilege. This is achieved by splitting up the _INSTALL_SEQ target list into _INSTALL_SUSEQ [11]. PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6], 52388 [7], 51609 [11] Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1], Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11], Kimura Fuyuki <fuyuki@hadaly.org> [2], "Scot W. Hetzel" <hetzels@westbend.net> [3], Anton Berezin <tobez@FreeBSD.org> [3], nork [4], hsu [5], Mark Linimon <linimon@lonesome.com> [6], hoek [8], sobomax [9], marcus [10] [11], des [11]
2003-07-06 23:54:33 +00:00
fi
@${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE}
.endif
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
.endif
* Attempt to detect and disallow installation of a port with PREFIX set to a different value to that with which it was configured and built. This is achieved by recording the PREFIX in the build-stage cookies [1] * Add scheme [2], tcl84 and tk84 [5] as virtual categories * Add the PERL_PORT variable and use it to register the dependency on the correct perl port when PERL_LEVEL is set [3] * Add support for USE_AUTOHEADER [4] * Fix 'make maintainer' when MAINTAINER is set to a bogus value (not in user@example.com format). [6] * Add a 'package-recursive' target to create packages for a port and all of its dependencies [7] * Fix command-line overflow errors in 'make readmes' on certain ports, with the bonus of providing a measurable speed-up to readme generation [8] * Fix inclusion of alternative makefiles such as Makefile.inc, Makefile.local, etc. (broken since 1.403) [9] * Reintroduce support for install/deinstall targets checking for older versions of the port, and re-add the deinstall-all target that removes all existing installations of a port (originally introduced in 1.446 and backed out in 1.450). This patch has been reworked to eliminate the corner cases in the previous code. Ports that dynamically generate their ${PLIST} at install-time must now do so before the do-install target is run, e.g. in pre-install. [10] * When installing ports as non-root, use su(1) to execute the targets that require root privilege. This is achieved by splitting up the _INSTALL_SEQ target list into _INSTALL_SUSEQ [11]. PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6], 52388 [7], 51609 [11] Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1], Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11], Kimura Fuyuki <fuyuki@hadaly.org> [2], "Scot W. Hetzel" <hetzels@westbend.net> [3], Anton Berezin <tobez@FreeBSD.org> [3], nork [4], hsu [5], Mark Linimon <linimon@lonesome.com> [6], hoek [8], sobomax [9], marcus [10] [11], des [11]
2003-07-06 23:54:33 +00:00
# Deinstall-all
#
# Special target to remove installation of all ports of the same origin
.if !target(deinstall-all)
deinstall-all:
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
.if ${UID} != 0 && !defined(INSTALL_AS_USER)
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
@${ECHO_MSG} "===> Switching to root credentials for '${.TARGET}' target"
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
@cd ${.CURDIR} && \
${SU_CMD} "${MAKE} ${.TARGET}"
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
@${ECHO_MSG} "===> Returning to user credentials"
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
.else
* Attempt to detect and disallow installation of a port with PREFIX set to a different value to that with which it was configured and built. This is achieved by recording the PREFIX in the build-stage cookies [1] * Add scheme [2], tcl84 and tk84 [5] as virtual categories * Add the PERL_PORT variable and use it to register the dependency on the correct perl port when PERL_LEVEL is set [3] * Add support for USE_AUTOHEADER [4] * Fix 'make maintainer' when MAINTAINER is set to a bogus value (not in user@example.com format). [6] * Add a 'package-recursive' target to create packages for a port and all of its dependencies [7] * Fix command-line overflow errors in 'make readmes' on certain ports, with the bonus of providing a measurable speed-up to readme generation [8] * Fix inclusion of alternative makefiles such as Makefile.inc, Makefile.local, etc. (broken since 1.403) [9] * Reintroduce support for install/deinstall targets checking for older versions of the port, and re-add the deinstall-all target that removes all existing installations of a port (originally introduced in 1.446 and backed out in 1.450). This patch has been reworked to eliminate the corner cases in the previous code. Ports that dynamically generate their ${PLIST} at install-time must now do so before the do-install target is run, e.g. in pre-install. [10] * When installing ports as non-root, use su(1) to execute the targets that require root privilege. This is achieved by splitting up the _INSTALL_SEQ target list into _INSTALL_SUSEQ [11]. PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6], 52388 [7], 51609 [11] Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1], Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11], Kimura Fuyuki <fuyuki@hadaly.org> [2], "Scot W. Hetzel" <hetzels@westbend.net> [3], Anton Berezin <tobez@FreeBSD.org> [3], nork [4], hsu [5], Mark Linimon <linimon@lonesome.com> [6], hoek [8], sobomax [9], marcus [10] [11], des [11]
2003-07-06 23:54:33 +00:00
@${ECHO_MSG} "===> Deinstalling for ${PKGORIGIN}"
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
@deinstall_names=`${PKG_INFO} -q -O ${PKGORIGIN}`; \
for oldpkgorigin in $$(${GREP} "|${PKGORIGIN}|" ${PORTSDIR}/MOVED | ${CUT} -f 1 -d '|' | ${SORT} -u); do \
deinstall_names="$${deinstall_names} $$(${PKG_INFO} -q -O $${oldpkgorigin})"; \
done; \
* Attempt to detect and disallow installation of a port with PREFIX set to a different value to that with which it was configured and built. This is achieved by recording the PREFIX in the build-stage cookies [1] * Add scheme [2], tcl84 and tk84 [5] as virtual categories * Add the PERL_PORT variable and use it to register the dependency on the correct perl port when PERL_LEVEL is set [3] * Add support for USE_AUTOHEADER [4] * Fix 'make maintainer' when MAINTAINER is set to a bogus value (not in user@example.com format). [6] * Add a 'package-recursive' target to create packages for a port and all of its dependencies [7] * Fix command-line overflow errors in 'make readmes' on certain ports, with the bonus of providing a measurable speed-up to readme generation [8] * Fix inclusion of alternative makefiles such as Makefile.inc, Makefile.local, etc. (broken since 1.403) [9] * Reintroduce support for install/deinstall targets checking for older versions of the port, and re-add the deinstall-all target that removes all existing installations of a port (originally introduced in 1.446 and backed out in 1.450). This patch has been reworked to eliminate the corner cases in the previous code. Ports that dynamically generate their ${PLIST} at install-time must now do so before the do-install target is run, e.g. in pre-install. [10] * When installing ports as non-root, use su(1) to execute the targets that require root privilege. This is achieved by splitting up the _INSTALL_SEQ target list into _INSTALL_SUSEQ [11]. PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6], 52388 [7], 51609 [11] Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1], Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11], Kimura Fuyuki <fuyuki@hadaly.org> [2], "Scot W. Hetzel" <hetzels@westbend.net> [3], Anton Berezin <tobez@FreeBSD.org> [3], nork [4], hsu [5], Mark Linimon <linimon@lonesome.com> [6], hoek [8], sobomax [9], marcus [10] [11], des [11]
2003-07-06 23:54:33 +00:00
if [ -n "$${deinstall_names}" ]; then \
for d in $${deinstall_names}; do \
${ECHO_MSG} "===> Deinstalling $${d}"; \
* Attempt to detect and disallow installation of a port with PREFIX set to a different value to that with which it was configured and built. This is achieved by recording the PREFIX in the build-stage cookies [1] * Add scheme [2], tcl84 and tk84 [5] as virtual categories * Add the PERL_PORT variable and use it to register the dependency on the correct perl port when PERL_LEVEL is set [3] * Add support for USE_AUTOHEADER [4] * Fix 'make maintainer' when MAINTAINER is set to a bogus value (not in user@example.com format). [6] * Add a 'package-recursive' target to create packages for a port and all of its dependencies [7] * Fix command-line overflow errors in 'make readmes' on certain ports, with the bonus of providing a measurable speed-up to readme generation [8] * Fix inclusion of alternative makefiles such as Makefile.inc, Makefile.local, etc. (broken since 1.403) [9] * Reintroduce support for install/deinstall targets checking for older versions of the port, and re-add the deinstall-all target that removes all existing installations of a port (originally introduced in 1.446 and backed out in 1.450). This patch has been reworked to eliminate the corner cases in the previous code. Ports that dynamically generate their ${PLIST} at install-time must now do so before the do-install target is run, e.g. in pre-install. [10] * When installing ports as non-root, use su(1) to execute the targets that require root privilege. This is achieved by splitting up the _INSTALL_SEQ target list into _INSTALL_SUSEQ [11]. PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6], 52388 [7], 51609 [11] Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1], Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11], Kimura Fuyuki <fuyuki@hadaly.org> [2], "Scot W. Hetzel" <hetzels@westbend.net> [3], Anton Berezin <tobez@FreeBSD.org> [3], nork [4], hsu [5], Mark Linimon <linimon@lonesome.com> [6], hoek [8], sobomax [9], marcus [10] [11], des [11]
2003-07-06 23:54:33 +00:00
${PKG_DELETE} -f $${d}; \
done; \
else \
${ECHO_MSG} "===> ${PKGORIGIN} not installed, skipping"; \
fi; \
${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE}
.endif
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
.endif
# Cleaning up
.if !target(do-clean)
do-clean:
@if [ -d ${WRKDIR} ]; then \
if [ -w ${WRKDIR} ]; then \
${RM} -rf ${WRKDIR}; \
else \
${ECHO_MSG} "===> ${WRKDIR} not writable, skipping"; \
fi; \
fi
.endif
.if !target(clean)
clean:
.if !defined(NOCLEANDEPENDS)
@cd ${.CURDIR} && ${MAKE} limited-clean-depends
.endif
@${ECHO_MSG} "===> Cleaning for ${PKGNAME}"
.if target(pre-clean)
@cd ${.CURDIR} && ${MAKE} pre-clean
.endif
@cd ${.CURDIR} && ${MAKE} do-clean
.if target(post-clean)
@cd ${.CURDIR} && ${MAKE} post-clean
.endif
.endif
.if !target(pre-distclean)
pre-distclean:
@${DO_NADA}
.endif
.if !target(distclean)
distclean: pre-distclean clean
@cd ${.CURDIR} && ${MAKE} delete-distfiles RESTRICTED_FILES="${_DISTFILES} ${_PATCHFILES}"
.endif
.if !target(delete-distfiles)
delete-distfiles:
@${ECHO_MSG} "===> Deleting distfiles for ${PKGNAME}"
@(if [ "X${RESTRICTED_FILES}" != "X" -a -d ${_DISTDIR} ]; then \
cd ${_DISTDIR}; \
for file in ${RESTRICTED_FILES}; do \
(1) Fix the distfile deletion for cases where distfiles are specified with directory names. Submitted by: jdp (2) Preserve +REQUIRED_BY file when FORCE_PKG_REGISTER is defined. Reviewed by: steve (3) Add new variable EXTRA_PATCHES, which can be set to some files outside of ${PATCHDIR} (which usually means ${WRKDIR}). These will be applied after distribution patches but before the normal ${PATCHDIR} patches. Useful when you have dynamic patches. (4) Move USE_QT2 earlier, the USE_NEWGCC dependency wasn't working because it came after the USE_NEWGCC check. Move USE_QT alongside new location of USE_QT2. Submitted by: imura (5) Substitute ftp.cdrom.com for ftp.funet.fi in MASTER_SITE_SUNSITE, which no longer seems to be a full mirror anymore. Submitted by: Ade Lovett <ade@lovett.com> PR: 14221 (6) Fix typo in MASTER_SITE_FREEBSD case -- it used ${MASTER_SITES} (instead of ${PATCH_SITES}) to fetch distribution patches. That obviously would fail if the user attempted to build a port before the distribution patches showed up at ftp.FreeBSD.org. (7) Remove tcl75, tk41 and tk81 from the list of valid categories. (tcl81 is still used.) Submitted by: jseger (8) Make delete-package-list a little more verbose by making it check the existence of a package file and print out what it's doing. Silence bogus warnings from delete-distfiles-list by redirecting stderr from rmdir to /dev/null. (9) Remove OpenBSD_MAINTAINER=imp, he hasn't been doing any work with this file on the OpenBSD repository for a long time. Submitted by: imp
1999-11-11 02:36:15 +00:00
${RM} -f $${file}; \
dir=$${file%/*}; \
if [ "$${dir}" != "$${file}" ]; then \
${RMDIR} -p $${dir} >/dev/null 2>&1 || :; \
fi; \
done; \
fi)
.if defined(DIST_SUBDIR)
-@${RMDIR} ${_DISTDIR} >/dev/null 2>&1 || ${TRUE}
.endif
.endif
.if !target(delete-distfiles-list)
delete-distfiles-list:
Heroic attempt to reduce number of PRs assigned to portmgr@: 1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working. PR: 36537 Submitted by: tg 2. Propagate error code from failed `make depends', when one of the ports we depend upon is marked BROKEN/FORBIDDEN. PR: 25522 Submitted by: alex 3. By default, when bsd.port.mk configurating Makefile.PL only pass PREFIX as argument, but some Perl module (eg. Test-Harness) needed INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise default installation will goes to /usr/lib and not ${PREFIX}/lib, in some case, adding these tag to CONFIGURE_ARGS is not bad. PR: 29681 Submitted by: Shell Hung <shell@shellhung.org> 4. Update patch-libtool target, so that it doesn't break ports with autoconf 2.13-generated configure script. USE_LIBTOOL is still not very useful for such cases, but at least it doesn't break them badly anymore. PR: 31142 Submitted by: wjv 5. Make `make search' working even when /usr/obj/usr/ports exists. PR: 31862 Submitted by: gad 6. When configure script fails unexpectedly don't dump thousands lines of config.log to the user's screen, because it usually doesn't contain information useful for tracking the problem anyway. Instead display a message asking a user to report the failure to the proper entity (maintainer) and what to include into the problem report. PR: 34459, 35488 Submitted by: Thomas Hurst <freaky@aagh.net> Alan Eldridge <ports@geeksrus.net> sobomax other countless hackers whose names are lost in the noise Text of message suggested by: asmodai 7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr, bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as always, however those defaults are not appropriate for /usr, and better options are available. PR: 36030 Submitted by: DougB 8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to avoid clashing with system .mk settings (${ECHO} has a different meaning there). Actually the patch is imcomplete, because large portion of those ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce happy, which shouldn't be underestimated. PR: 34988 Submitted by: knu All of the above tested by: bento Special thanks goes to: kris (for his help with getting this tested) -------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
@${ECHO_CMD} "# ${PKGNAME}"
@if [ "X${RESTRICTED_FILES}" != "X" ]; then \
for file in ${RESTRICTED_FILES}; do \
Heroic attempt to reduce number of PRs assigned to portmgr@: 1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working. PR: 36537 Submitted by: tg 2. Propagate error code from failed `make depends', when one of the ports we depend upon is marked BROKEN/FORBIDDEN. PR: 25522 Submitted by: alex 3. By default, when bsd.port.mk configurating Makefile.PL only pass PREFIX as argument, but some Perl module (eg. Test-Harness) needed INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise default installation will goes to /usr/lib and not ${PREFIX}/lib, in some case, adding these tag to CONFIGURE_ARGS is not bad. PR: 29681 Submitted by: Shell Hung <shell@shellhung.org> 4. Update patch-libtool target, so that it doesn't break ports with autoconf 2.13-generated configure script. USE_LIBTOOL is still not very useful for such cases, but at least it doesn't break them badly anymore. PR: 31142 Submitted by: wjv 5. Make `make search' working even when /usr/obj/usr/ports exists. PR: 31862 Submitted by: gad 6. When configure script fails unexpectedly don't dump thousands lines of config.log to the user's screen, because it usually doesn't contain information useful for tracking the problem anyway. Instead display a message asking a user to report the failure to the proper entity (maintainer) and what to include into the problem report. PR: 34459, 35488 Submitted by: Thomas Hurst <freaky@aagh.net> Alan Eldridge <ports@geeksrus.net> sobomax other countless hackers whose names are lost in the noise Text of message suggested by: asmodai 7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr, bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as always, however those defaults are not appropriate for /usr, and better options are available. PR: 36030 Submitted by: DougB 8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to avoid clashing with system .mk settings (${ECHO} has a different meaning there). Actually the patch is imcomplete, because large portion of those ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce happy, which shouldn't be underestimated. PR: 34988 Submitted by: knu All of the above tested by: bento Special thanks goes to: kris (for his help with getting this tested) -------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
${ECHO_CMD} "[ -f ${_DISTDIR}/$$file ] && (${ECHO_CMD} deleting ${_DISTDIR}/$$file; ${RM} -f ${_DISTDIR}/$$file)"; \
(1) Fix the distfile deletion for cases where distfiles are specified with directory names. Submitted by: jdp (2) Preserve +REQUIRED_BY file when FORCE_PKG_REGISTER is defined. Reviewed by: steve (3) Add new variable EXTRA_PATCHES, which can be set to some files outside of ${PATCHDIR} (which usually means ${WRKDIR}). These will be applied after distribution patches but before the normal ${PATCHDIR} patches. Useful when you have dynamic patches. (4) Move USE_QT2 earlier, the USE_NEWGCC dependency wasn't working because it came after the USE_NEWGCC check. Move USE_QT alongside new location of USE_QT2. Submitted by: imura (5) Substitute ftp.cdrom.com for ftp.funet.fi in MASTER_SITE_SUNSITE, which no longer seems to be a full mirror anymore. Submitted by: Ade Lovett <ade@lovett.com> PR: 14221 (6) Fix typo in MASTER_SITE_FREEBSD case -- it used ${MASTER_SITES} (instead of ${PATCH_SITES}) to fetch distribution patches. That obviously would fail if the user attempted to build a port before the distribution patches showed up at ftp.FreeBSD.org. (7) Remove tcl75, tk41 and tk81 from the list of valid categories. (tcl81 is still used.) Submitted by: jseger (8) Make delete-package-list a little more verbose by making it check the existence of a package file and print out what it's doing. Silence bogus warnings from delete-distfiles-list by redirecting stderr from rmdir to /dev/null. (9) Remove OpenBSD_MAINTAINER=imp, he hasn't been doing any work with this file on the OpenBSD repository for a long time. Submitted by: imp
1999-11-11 02:36:15 +00:00
dir=$${file%/*}; \
if [ "$${dir}" != "$${file}" ]; then \
Heroic attempt to reduce number of PRs assigned to portmgr@: 1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working. PR: 36537 Submitted by: tg 2. Propagate error code from failed `make depends', when one of the ports we depend upon is marked BROKEN/FORBIDDEN. PR: 25522 Submitted by: alex 3. By default, when bsd.port.mk configurating Makefile.PL only pass PREFIX as argument, but some Perl module (eg. Test-Harness) needed INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise default installation will goes to /usr/lib and not ${PREFIX}/lib, in some case, adding these tag to CONFIGURE_ARGS is not bad. PR: 29681 Submitted by: Shell Hung <shell@shellhung.org> 4. Update patch-libtool target, so that it doesn't break ports with autoconf 2.13-generated configure script. USE_LIBTOOL is still not very useful for such cases, but at least it doesn't break them badly anymore. PR: 31142 Submitted by: wjv 5. Make `make search' working even when /usr/obj/usr/ports exists. PR: 31862 Submitted by: gad 6. When configure script fails unexpectedly don't dump thousands lines of config.log to the user's screen, because it usually doesn't contain information useful for tracking the problem anyway. Instead display a message asking a user to report the failure to the proper entity (maintainer) and what to include into the problem report. PR: 34459, 35488 Submitted by: Thomas Hurst <freaky@aagh.net> Alan Eldridge <ports@geeksrus.net> sobomax other countless hackers whose names are lost in the noise Text of message suggested by: asmodai 7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr, bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as always, however those defaults are not appropriate for /usr, and better options are available. PR: 36030 Submitted by: DougB 8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to avoid clashing with system .mk settings (${ECHO} has a different meaning there). Actually the patch is imcomplete, because large portion of those ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce happy, which shouldn't be underestimated. PR: 34988 Submitted by: knu All of the above tested by: bento Special thanks goes to: kris (for his help with getting this tested) -------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
${ECHO_CMD} "(cd ${_DISTDIR} && ${RMDIR} -p $${dir} 2>/dev/null)"; \
(1) Fix the distfile deletion for cases where distfiles are specified with directory names. Submitted by: jdp (2) Preserve +REQUIRED_BY file when FORCE_PKG_REGISTER is defined. Reviewed by: steve (3) Add new variable EXTRA_PATCHES, which can be set to some files outside of ${PATCHDIR} (which usually means ${WRKDIR}). These will be applied after distribution patches but before the normal ${PATCHDIR} patches. Useful when you have dynamic patches. (4) Move USE_QT2 earlier, the USE_NEWGCC dependency wasn't working because it came after the USE_NEWGCC check. Move USE_QT alongside new location of USE_QT2. Submitted by: imura (5) Substitute ftp.cdrom.com for ftp.funet.fi in MASTER_SITE_SUNSITE, which no longer seems to be a full mirror anymore. Submitted by: Ade Lovett <ade@lovett.com> PR: 14221 (6) Fix typo in MASTER_SITE_FREEBSD case -- it used ${MASTER_SITES} (instead of ${PATCH_SITES}) to fetch distribution patches. That obviously would fail if the user attempted to build a port before the distribution patches showed up at ftp.FreeBSD.org. (7) Remove tcl75, tk41 and tk81 from the list of valid categories. (tcl81 is still used.) Submitted by: jseger (8) Make delete-package-list a little more verbose by making it check the existence of a package file and print out what it's doing. Silence bogus warnings from delete-distfiles-list by redirecting stderr from rmdir to /dev/null. (9) Remove OpenBSD_MAINTAINER=imp, he hasn't been doing any work with this file on the OpenBSD repository for a long time. Submitted by: imp
1999-11-11 02:36:15 +00:00
fi; \
done; \
fi
.if defined(DIST_SUBDIR)
Heroic attempt to reduce number of PRs assigned to portmgr@: 1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working. PR: 36537 Submitted by: tg 2. Propagate error code from failed `make depends', when one of the ports we depend upon is marked BROKEN/FORBIDDEN. PR: 25522 Submitted by: alex 3. By default, when bsd.port.mk configurating Makefile.PL only pass PREFIX as argument, but some Perl module (eg. Test-Harness) needed INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise default installation will goes to /usr/lib and not ${PREFIX}/lib, in some case, adding these tag to CONFIGURE_ARGS is not bad. PR: 29681 Submitted by: Shell Hung <shell@shellhung.org> 4. Update patch-libtool target, so that it doesn't break ports with autoconf 2.13-generated configure script. USE_LIBTOOL is still not very useful for such cases, but at least it doesn't break them badly anymore. PR: 31142 Submitted by: wjv 5. Make `make search' working even when /usr/obj/usr/ports exists. PR: 31862 Submitted by: gad 6. When configure script fails unexpectedly don't dump thousands lines of config.log to the user's screen, because it usually doesn't contain information useful for tracking the problem anyway. Instead display a message asking a user to report the failure to the proper entity (maintainer) and what to include into the problem report. PR: 34459, 35488 Submitted by: Thomas Hurst <freaky@aagh.net> Alan Eldridge <ports@geeksrus.net> sobomax other countless hackers whose names are lost in the noise Text of message suggested by: asmodai 7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr, bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as always, however those defaults are not appropriate for /usr, and better options are available. PR: 36030 Submitted by: DougB 8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to avoid clashing with system .mk settings (${ECHO} has a different meaning there). Actually the patch is imcomplete, because large portion of those ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce happy, which shouldn't be underestimated. PR: 34988 Submitted by: knu All of the above tested by: bento Special thanks goes to: kris (for his help with getting this tested) -------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
@${ECHO_CMD} "${RMDIR} ${_DISTDIR} 2>/dev/null || ${TRUE}"
.endif
.endif
# Generates patches.
update-patches:
@toedit=`PATCH_WRKSRC=${PATCH_WRKSRC} \
PATCHDIR=${PATCHDIR} \
PATCH_LIST=${PATCHDIR}/patch-* \
DIFF_ARGS=${DIFF_ARGS} \
DISTORIG=${DISTORIG} \
${SH} ${PORTSDIR}/Tools/scripts/update-patches`; \
case $$toedit in "");; \
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
*) ${ECHO_CMD} -n 'edit patches: '; read i; \
cd ${PATCHDIR} && $${VISUAL:-$${EDIT:-/usr/bin/vi}} $$toedit;; esac
# Checksumming utilities
# List all algorithms here, all the variables name must begin with dp_
_CHECKSUM_INIT_ENV= \
dp_SHA256=${SHA256}
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
.if !target(makesum)
# Some port change the options with OPTIONS_*_FORCE when make(makesum) to be
# able to add all distfiles in one go.
# For this to work, we need to call the do-fetch script directly here so that
# the options consistent when fetching and when makesum'ing.
# As we're fetching new distfiles, that are not in the distinfo file, disable
# checksum and sizes checks.
makesum:
.if !empty(DISTFILES)
@${SETENV} \
${_DO_FETCH_ENV} ${_MASTER_SITES_ENV} \
dp_NO_CHECKSUM=yes dp_DISABLE_SIZE=yes \
dp_SITE_FLAVOR=MASTER \
${SH} ${SCRIPTSDIR}/do-fetch.sh ${DISTFILES:C/.*/'&'/}
.endif
.if defined(PATCHFILES) && !empty(PATCHFILES)
@${SETENV} \
${_DO_FETCH_ENV} ${_PATCH_SITES_ENV} \
dp_NO_CHECKSUM=yes dp_DISABLE_SIZE=yes \
dp_SITE_FLAVOR=PATCH \
${SH} ${SCRIPTSDIR}/do-fetch.sh ${PATCHFILES:C/:-p[0-9]//:C/.*/'&'/}
.endif
@${SETENV} \
${_CHECKSUM_INIT_ENV} \
dp_CHECKSUM_ALGORITHMS='${CHECKSUM_ALGORITHMS:tu}' \
dp_CKSUMFILES='${_CKSUMFILES}' \
dp_DISTDIR='${DISTDIR}' \
dp_DISTINFO_FILE='${DISTINFO_FILE}' \
dp_ECHO_MSG='${ECHO_MSG}' \
dp_SCRIPTSDIR='${SCRIPTSDIR}' \
${SH} ${SCRIPTSDIR}/makesum.sh ${DISTFILES:C/.*/'&'/}
.endif
.if !target(checksum)
checksum: fetch
.if !empty(_CKSUMFILES)
@${SETENV} \
${_CHECKSUM_INIT_ENV} \
dp_CHECKSUM_ALGORITHMS='${CHECKSUM_ALGORITHMS:tu}' \
dp_CURDIR='${.CURDIR}' \
dp_DISTDIR='${DISTDIR}' \
dp_DISTINFO_FILE='${DISTINFO_FILE}' \
dp_DIST_SUBDIR='${DIST_SUBDIR}' \
dp_ECHO_MSG='${ECHO_MSG}' \
dp_FETCH_REGET='${FETCH_REGET}' \
dp_MAKE='${MAKE}' \
dp_MAKEFLAGS='${.MAKEFLAGS}' \
dp_SCRIPTSDIR='${SCRIPTSDIR}' \
dp_DISABLE_SIZE='${DISABLE_SIZE}' \
dp_NO_CHECKSUM='${NO_CHECKSUM}' \
${SH} ${SCRIPTSDIR}/checksum.sh ${_CKSUMFILES:C/.*/'&'/}
.endif
.endif
################################################################
# The special package-building targets
# You probably won't need to touch these
################################################################
# Nobody should want to override this unless PKGNAME is simply bogus.
.if !target(package-name)
package-name:
Heroic attempt to reduce number of PRs assigned to portmgr@: 1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working. PR: 36537 Submitted by: tg 2. Propagate error code from failed `make depends', when one of the ports we depend upon is marked BROKEN/FORBIDDEN. PR: 25522 Submitted by: alex 3. By default, when bsd.port.mk configurating Makefile.PL only pass PREFIX as argument, but some Perl module (eg. Test-Harness) needed INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise default installation will goes to /usr/lib and not ${PREFIX}/lib, in some case, adding these tag to CONFIGURE_ARGS is not bad. PR: 29681 Submitted by: Shell Hung <shell@shellhung.org> 4. Update patch-libtool target, so that it doesn't break ports with autoconf 2.13-generated configure script. USE_LIBTOOL is still not very useful for such cases, but at least it doesn't break them badly anymore. PR: 31142 Submitted by: wjv 5. Make `make search' working even when /usr/obj/usr/ports exists. PR: 31862 Submitted by: gad 6. When configure script fails unexpectedly don't dump thousands lines of config.log to the user's screen, because it usually doesn't contain information useful for tracking the problem anyway. Instead display a message asking a user to report the failure to the proper entity (maintainer) and what to include into the problem report. PR: 34459, 35488 Submitted by: Thomas Hurst <freaky@aagh.net> Alan Eldridge <ports@geeksrus.net> sobomax other countless hackers whose names are lost in the noise Text of message suggested by: asmodai 7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr, bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as always, however those defaults are not appropriate for /usr, and better options are available. PR: 36030 Submitted by: DougB 8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to avoid clashing with system .mk settings (${ECHO} has a different meaning there). Actually the patch is imcomplete, because large portion of those ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce happy, which shouldn't be underestimated. PR: 34988 Submitted by: knu All of the above tested by: bento Special thanks goes to: kris (for his help with getting this tested) -------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
@${ECHO_CMD} ${PKGNAME}
.endif
# Build a package but don't check the package cookie
.if !target(repackage)
repackage: pre-repackage package
pre-repackage:
@${RM} -f ${PACKAGE_COOKIE}
.endif
# Build a package but don't check the cookie for installation, also don't
# install package cookie
.if !target(package-noinstall)
package-noinstall: package
.endif
################################################################
# Dependency checking
################################################################
.if !target(depends)
depends: pkg-depends extract-depends patch-depends lib-depends fetch-depends build-depends run-depends
.for deptype in PKG EXTRACT PATCH FETCH BUILD LIB RUN TEST
${deptype:tl}-depends:
.if defined(${deptype}_DEPENDS) && !defined(NO_DEPENDS)
@${SETENV} \
dp_RAWDEPENDS="${${deptype}_DEPENDS}" \
dp_DEPTYPE="${deptype}_DEPENDS" \
dp_DEPENDS_TARGET="${DEPENDS_TARGET}" \
dp_DEPENDS_PRECLEAN="${DEPENDS_PRECLEAN}" \
dp_DEPENDS_CLEAN="${DEPENDS_CLEAN}" \
dp_DEPENDS_ARGS="${DEPENDS_ARGS}" \
dp_USE_PACKAGE_DEPENDS="${USE_PACKAGE_DEPENDS}" \
dp_USE_PACKAGE_DEPENDS_ONLY="${USE_PACKAGE_DEPENDS_ONLY}" \
dp_PKG_ADD="${PKG_ADD}" \
dp_PKG_INFO="${PKG_INFO}" \
dp_WRKDIR="${WRKDIR}" \
dp_PKGNAME="${PKGNAME}" \
dp_STRICT_DEPENDS="${STRICT_DEPENDS}" \
dp_LOCALBASE="${LOCALBASE}" \
dp_LIB_DIRS="${LIB_DIRS}" \
dp_SH="${SH}" \
dp_SCRIPTSDIR="${SCRIPTSDIR}" \
PORTSDIR="${PORTSDIR}" \
dp_MAKE="${MAKE}" \
${SH} ${SCRIPTSDIR}/do-depends.sh
.endif
.endfor
.endif
The following changes are all Reviewed by: the ports list (1) Add PORTREVISION and PORTEPOCH, which are both optional, to PKGNAME. PKGNAME is now defined as ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}[_${PORTREVISION}][,${PORTEPOCH}] PORTREVISION denotes some FreeBSD internal change to the port that requires the user to upgrade it. A security fix or a shared library version change will be valid reasons to change (or define) PORTREVISION. PORTEPOCH is used to re-sort versions that is screwed up by the author. PORTEPOCH is sorted before all other fields for the purpose of determining which version is newer than the other. Submitted by: kris (2) Add fetch-recursive and fetch-recursive-list. These are like fetch and fetch-list but they also descend into dependencies. While I'm here, clean up some internal target names and comments. Requested by PR: 12548 (2') Fix bug in fetch-list I introduced in rev 1.347. (3) Add new variables LINUXBASE, USE_LINUX and USE_LINUX_PREFIX. LINUXBASE defaults to /compat/linux and will be the default PREFIX if USE_LINUX_PREFIX is defined. USE_LINUX, which is also implied by USE_LINUX_PREFIX, will add a runtime dependency to the emulators/linux_base port. Approved by: marcel (4) Include bsd.python.mk when USE_PYTHON and PYTHON_VERSION are defined. Submitted by: tg (5a) Change USE_FREETYPE to always depend on print/freetype -- it turns out that XFree86-4-libraries only used freetype internally and didn't install the libraries nor headers. Submitted by: Taguchi-san (XFree86-4-* maintainer) (5b) Change USE_MESA to lib-depend on GLU.1:graphics/Mesa3 when XFREE86_VERSION=4. The Mesa port has been changed to only install components missing from the XFree86 distribution when XF8V=4. Submitted by: sobomax (5c) New variable XFREE86_HTML_MAN, which defaults to "no" when XF8V=3 or USE_IMAKE is not defined, and "yes" when XF8V=4 and USE_IMAKE is defined. When this variable's value is "yes", generate-plist will add html-ified manpages to the generated PLIST. Approved by: Taguchi-san (6) Allow user to override MD5_FILE. Requested by: many (7) Small message change: "...doesn't seem to exist on this system" -> "... to exist in ${_DISTDIR}". Requested by: some mail in the mailing lists...can't remember which ;)
2000-09-09 13:21:14 +00:00
# Dependency lists: both build and runtime, recursive. Print out directory names.
_UNIFIED_DEPENDS=${PKG_DEPENDS} ${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} ${RUN_DEPENDS} ${TEST_DEPENDS}
_DEPEND_SPECIALS= ${_UNIFIED_DEPENDS:M*\:*\:*:C,^[^:]*:([^:]*):.*$,\1,}
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
.for d in ${_UNIFIED_DEPENDS:M*\:/*}
# Fight .for variable interpolation differently for each version of make...
.if defined(.PARSEDIR)
_PORTSDIR_STR= $${PORTSDIR}/
DEV_WARNING+= "It looks like the ${d} depends line has an absolute port origin, make sure to remove \$${_PORTSDIR_STR} from it."
.else
_PORTSDIR_STR= $$$${PORTSDIR}/
DEV_WARNING+= "It looks like the ${d} depends line has an absolute port origin, make sure to remove \$${_PORTSDIR_STR} from it."
.endif
.endfor
The following changes are all Reviewed by: the ports list (1) Add PORTREVISION and PORTEPOCH, which are both optional, to PKGNAME. PKGNAME is now defined as ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}[_${PORTREVISION}][,${PORTEPOCH}] PORTREVISION denotes some FreeBSD internal change to the port that requires the user to upgrade it. A security fix or a shared library version change will be valid reasons to change (or define) PORTREVISION. PORTEPOCH is used to re-sort versions that is screwed up by the author. PORTEPOCH is sorted before all other fields for the purpose of determining which version is newer than the other. Submitted by: kris (2) Add fetch-recursive and fetch-recursive-list. These are like fetch and fetch-list but they also descend into dependencies. While I'm here, clean up some internal target names and comments. Requested by PR: 12548 (2') Fix bug in fetch-list I introduced in rev 1.347. (3) Add new variables LINUXBASE, USE_LINUX and USE_LINUX_PREFIX. LINUXBASE defaults to /compat/linux and will be the default PREFIX if USE_LINUX_PREFIX is defined. USE_LINUX, which is also implied by USE_LINUX_PREFIX, will add a runtime dependency to the emulators/linux_base port. Approved by: marcel (4) Include bsd.python.mk when USE_PYTHON and PYTHON_VERSION are defined. Submitted by: tg (5a) Change USE_FREETYPE to always depend on print/freetype -- it turns out that XFree86-4-libraries only used freetype internally and didn't install the libraries nor headers. Submitted by: Taguchi-san (XFree86-4-* maintainer) (5b) Change USE_MESA to lib-depend on GLU.1:graphics/Mesa3 when XFREE86_VERSION=4. The Mesa port has been changed to only install components missing from the XFree86 distribution when XF8V=4. Submitted by: sobomax (5c) New variable XFREE86_HTML_MAN, which defaults to "no" when XF8V=3 or USE_IMAKE is not defined, and "yes" when XF8V=4 and USE_IMAKE is defined. When this variable's value is "yes", generate-plist will add html-ified manpages to the generated PLIST. Approved by: Taguchi-san (6) Allow user to override MD5_FILE. Requested by: many (7) Small message change: "...doesn't seem to exist on this system" -> "... to exist in ${_DISTDIR}". Requested by: some mail in the mailing lists...can't remember which ;)
2000-09-09 13:21:14 +00:00
all-depends-list:
@${ALL-DEPENDS-LIST}
# This script is shared among several dependency list variables. See file for
# usage.
DEPENDS-LIST= \
${SETENV} \
PORTSDIR="${PORTSDIR}" \
dp_MAKE="${MAKE}" \
dp_PKGNAME="${PKGNAME}" \
dp_SCRIPTSDIR="${SCRIPTSDIR}" \
${SH} ${SCRIPTSDIR}/depends-list.sh
ALL-DEPENDS-LIST= ${DEPENDS-LIST} -r ${_UNIFIED_DEPENDS:Q}
TEST-DEPENDS-LIST= ${DEPENDS-LIST} ${TEST_DEPENDS:Q}
CLEAN-DEPENDS-LIST= ${DEPENDS-LIST} -wr ${_UNIFIED_DEPENDS:Q}
CLEAN-DEPENDS-LIMITED-LIST= ${DEPENDS-LIST} -w ${_UNIFIED_DEPENDS:Q}
.if !target(clean-depends)
clean-depends:
@for dir in $$(${CLEAN-DEPENDS-LIST}); do \
(cd $$dir; ${MAKE} NOCLEANDEPENDS=yes clean); \
done
.endif
.if !target(limited-clean-depends)
limited-clean-depends:
@for dir in $$(${CLEAN-DEPENDS-LIMITED-LIST}); do \
(cd $$dir; ${MAKE} NOCLEANDEPENDS=yes clean); \
done
.endif
.if !target(deinstall-depends)
deinstall-depends:
The following changes are all Reviewed by: the ports list (1) Add PORTREVISION and PORTEPOCH, which are both optional, to PKGNAME. PKGNAME is now defined as ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}[_${PORTREVISION}][,${PORTEPOCH}] PORTREVISION denotes some FreeBSD internal change to the port that requires the user to upgrade it. A security fix or a shared library version change will be valid reasons to change (or define) PORTREVISION. PORTEPOCH is used to re-sort versions that is screwed up by the author. PORTEPOCH is sorted before all other fields for the purpose of determining which version is newer than the other. Submitted by: kris (2) Add fetch-recursive and fetch-recursive-list. These are like fetch and fetch-list but they also descend into dependencies. While I'm here, clean up some internal target names and comments. Requested by PR: 12548 (2') Fix bug in fetch-list I introduced in rev 1.347. (3) Add new variables LINUXBASE, USE_LINUX and USE_LINUX_PREFIX. LINUXBASE defaults to /compat/linux and will be the default PREFIX if USE_LINUX_PREFIX is defined. USE_LINUX, which is also implied by USE_LINUX_PREFIX, will add a runtime dependency to the emulators/linux_base port. Approved by: marcel (4) Include bsd.python.mk when USE_PYTHON and PYTHON_VERSION are defined. Submitted by: tg (5a) Change USE_FREETYPE to always depend on print/freetype -- it turns out that XFree86-4-libraries only used freetype internally and didn't install the libraries nor headers. Submitted by: Taguchi-san (XFree86-4-* maintainer) (5b) Change USE_MESA to lib-depend on GLU.1:graphics/Mesa3 when XFREE86_VERSION=4. The Mesa port has been changed to only install components missing from the XFree86 distribution when XF8V=4. Submitted by: sobomax (5c) New variable XFREE86_HTML_MAN, which defaults to "no" when XF8V=3 or USE_IMAKE is not defined, and "yes" when XF8V=4 and USE_IMAKE is defined. When this variable's value is "yes", generate-plist will add html-ified manpages to the generated PLIST. Approved by: Taguchi-san (6) Allow user to override MD5_FILE. Requested by: many (7) Small message change: "...doesn't seem to exist on this system" -> "... to exist in ${_DISTDIR}". Requested by: some mail in the mailing lists...can't remember which ;)
2000-09-09 13:21:14 +00:00
@for dir in $$(${ALL-DEPENDS-LIST}); do \
(cd $$dir; ${MAKE} deinstall); \
done
.endif
.if !target(fetch-specials)
fetch-specials:
@${ECHO_MSG} "===> Fetching all distfiles required by ${PKGNAME} for building"
@for dir in ${_DEPEND_SPECIALS}; do \
case $$dir in \
/*) ;; \
*) dir=${PORTSDIR}/$$dir ;; \
esac; \
(cd $$dir; ${MAKE} fetch); \
done
.endif
The following changes are all Reviewed by: the ports list (1) Add PORTREVISION and PORTEPOCH, which are both optional, to PKGNAME. PKGNAME is now defined as ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}[_${PORTREVISION}][,${PORTEPOCH}] PORTREVISION denotes some FreeBSD internal change to the port that requires the user to upgrade it. A security fix or a shared library version change will be valid reasons to change (or define) PORTREVISION. PORTEPOCH is used to re-sort versions that is screwed up by the author. PORTEPOCH is sorted before all other fields for the purpose of determining which version is newer than the other. Submitted by: kris (2) Add fetch-recursive and fetch-recursive-list. These are like fetch and fetch-list but they also descend into dependencies. While I'm here, clean up some internal target names and comments. Requested by PR: 12548 (2') Fix bug in fetch-list I introduced in rev 1.347. (3) Add new variables LINUXBASE, USE_LINUX and USE_LINUX_PREFIX. LINUXBASE defaults to /compat/linux and will be the default PREFIX if USE_LINUX_PREFIX is defined. USE_LINUX, which is also implied by USE_LINUX_PREFIX, will add a runtime dependency to the emulators/linux_base port. Approved by: marcel (4) Include bsd.python.mk when USE_PYTHON and PYTHON_VERSION are defined. Submitted by: tg (5a) Change USE_FREETYPE to always depend on print/freetype -- it turns out that XFree86-4-libraries only used freetype internally and didn't install the libraries nor headers. Submitted by: Taguchi-san (XFree86-4-* maintainer) (5b) Change USE_MESA to lib-depend on GLU.1:graphics/Mesa3 when XFREE86_VERSION=4. The Mesa port has been changed to only install components missing from the XFree86 distribution when XF8V=4. Submitted by: sobomax (5c) New variable XFREE86_HTML_MAN, which defaults to "no" when XF8V=3 or USE_IMAKE is not defined, and "yes" when XF8V=4 and USE_IMAKE is defined. When this variable's value is "yes", generate-plist will add html-ified manpages to the generated PLIST. Approved by: Taguchi-san (6) Allow user to override MD5_FILE. Requested by: many (7) Small message change: "...doesn't seem to exist on this system" -> "... to exist in ${_DISTDIR}". Requested by: some mail in the mailing lists...can't remember which ;)
2000-09-09 13:21:14 +00:00
.if !target(fetch-recursive)
fetch-recursive:
@${ECHO_MSG} "===> Fetching all distfiles for ${PKGNAME} and dependencies"
@for dir in ${.CURDIR} $$(${ALL-DEPENDS-LIST}); do \
(cd $$dir; ${MAKE} fetch); \
done
.endif
.if !target(fetch-recursive-list)
fetch-recursive-list:
@for dir in ${.CURDIR} $$(${ALL-DEPENDS-LIST}); do \
(cd $$dir; ${MAKE} fetch-list); \
done
.endif
# Used by fetch-required and fetch-required list, this script looks
# at each of the dependencies. If 3 items are specified in the tuple,
# such as foo:graphics/foo:extract, the first item (foo)
# is examined. Only if it begins with a / and does not exist on the
# file-system will ``make targ'' proceed.
# For more usual (dual-item) dependency tuples, the ``make targ''
# proceeds, if the exact package, which the directory WOULD'VE installed,
# is not yet installed.
# This is the exact behaviour of the old code, and it may need
# revisiting. For example, the entire first case seems dubious, and in
# the second case we, probably, should be satisfied with _any_ (earlier)
# package, with the same origin as that of the dir.
#
# -mi
FETCH_LIST?= for i in $$deps; do \
prog=$${i%%:*}; dir=$${i\#*:}; \
case $$dir in \
/*) ;; \
*) dir=${PORTSDIR}/$$dir ;; \
esac; \
case $$dir in \
*:*) if [ $$prog != $${prog\#/} -o ! -e $$prog ]; then \
dir=$${dir%%:*}; \
else \
continue; \
fi;; \
*) if [ -d ${PKG_DBDIR}/$$(cd $$dir; ${MAKE} -V PKGNAME) ]; then \
continue; \
fi;; \
esac; \
echo cd $$dir; cd $$dir; ${MAKE} $$targ; \
done
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
.if !target(fetch-required)
- Improve USE_PACKAGE_DEPENDS to work correctly for LIB_DEPENDS, and avoid installing packages when the target is configure or extract [1] - If PYTHON_VERSION is set, do not automatically add a dependency on python: USE_PYTHON must now be specified explicitly. This allows the variable to be set in make.conf or the environment to specify a preference for the python version to be used. [2] - When checking for an existing installation of the port, check by port origin instead of only looking for the current version of the package. [3] - Do not install perllocal.pod files; they are not used on FreeBSD. [4] - Improve 'make deinstall' to deinstall any existing version of the package (e.g. older versions) instead of only trying to deinstall the version currently described by the port. [5] - Check for world-writable files/directories in the security-check target. [6] - Improve the patching of libtool so it works with pathnames ending in a slash. [7] - Allow ports that use the INSTALL macros to install files when running as non-root (i.e. don't try to chown/chgrp) [8]. - Add the USE_GETOPT_LONG variable, which adds a dependency on libgnugetopt on systems older than 500041, and uses the system version otherwise. [9] - Improve the fetch-required target to correctly deal with fetching dependencies that use the ':target' form. [10] - Add support for re-fetching interrupted distfiles. The FETCH_REGET variable specifies the number of times to try continuing the distfile fetch if it fails the md5 checksum. [11] PR: 36083 [1], 44875 [2], 48646 [3], 48960 [4], 49017 [5], 49969 [6], 50069 [7], 50159 [8], 50323 [9], 50669 [10], 12325 [11] Submitted by: dinoex [1], Gerhard Schmidt <estartu@augusta.de> [2], Sergey Matveychuk <sem@ciam.ru> [3] [5], tobez [4], Erwin Lansing <erwin@lansing.dk> [4], Arjan de Vet <devet@devet.org> [6], Hartmut Brandt <brandt@fokus.fraunhofer.de> [7], gerald [8], Sergei Kolobov <sergei@kolobov.com> [9], Erwin Lansing <erwin@lansing.dk> [10], alex [11]
2003-04-17 10:27:06 +00:00
fetch-required: fetch
.if defined(NO_DEPENDS)
@${ECHO_MSG} "===> NO_DEPENDS is set, not fetching any other distfiles for ${PKGNAME}"
.else
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
@${ECHO_MSG} "===> Fetching all required distfiles for ${PKGNAME} and dependencies"
.for deptype in PKG EXTRACT PATCH FETCH BUILD RUN
- Improve USE_PACKAGE_DEPENDS to work correctly for LIB_DEPENDS, and avoid installing packages when the target is configure or extract [1] - If PYTHON_VERSION is set, do not automatically add a dependency on python: USE_PYTHON must now be specified explicitly. This allows the variable to be set in make.conf or the environment to specify a preference for the python version to be used. [2] - When checking for an existing installation of the port, check by port origin instead of only looking for the current version of the package. [3] - Do not install perllocal.pod files; they are not used on FreeBSD. [4] - Improve 'make deinstall' to deinstall any existing version of the package (e.g. older versions) instead of only trying to deinstall the version currently described by the port. [5] - Check for world-writable files/directories in the security-check target. [6] - Improve the patching of libtool so it works with pathnames ending in a slash. [7] - Allow ports that use the INSTALL macros to install files when running as non-root (i.e. don't try to chown/chgrp) [8]. - Add the USE_GETOPT_LONG variable, which adds a dependency on libgnugetopt on systems older than 500041, and uses the system version otherwise. [9] - Improve the fetch-required target to correctly deal with fetching dependencies that use the ':target' form. [10] - Add support for re-fetching interrupted distfiles. The FETCH_REGET variable specifies the number of times to try continuing the distfile fetch if it fails the md5 checksum. [11] PR: 36083 [1], 44875 [2], 48646 [3], 48960 [4], 49017 [5], 49969 [6], 50069 [7], 50159 [8], 50323 [9], 50669 [10], 12325 [11] Submitted by: dinoex [1], Gerhard Schmidt <estartu@augusta.de> [2], Sergey Matveychuk <sem@ciam.ru> [3] [5], tobez [4], Erwin Lansing <erwin@lansing.dk> [4], Arjan de Vet <devet@devet.org> [6], Hartmut Brandt <brandt@fokus.fraunhofer.de> [7], gerald [8], Sergei Kolobov <sergei@kolobov.com> [9], Erwin Lansing <erwin@lansing.dk> [10], alex [11]
2003-04-17 10:27:06 +00:00
.if defined(${deptype}_DEPENDS)
@targ=fetch; deps="${${deptype}_DEPENDS}"; ${FETCH_LIST}
- Improve USE_PACKAGE_DEPENDS to work correctly for LIB_DEPENDS, and avoid installing packages when the target is configure or extract [1] - If PYTHON_VERSION is set, do not automatically add a dependency on python: USE_PYTHON must now be specified explicitly. This allows the variable to be set in make.conf or the environment to specify a preference for the python version to be used. [2] - When checking for an existing installation of the port, check by port origin instead of only looking for the current version of the package. [3] - Do not install perllocal.pod files; they are not used on FreeBSD. [4] - Improve 'make deinstall' to deinstall any existing version of the package (e.g. older versions) instead of only trying to deinstall the version currently described by the port. [5] - Check for world-writable files/directories in the security-check target. [6] - Improve the patching of libtool so it works with pathnames ending in a slash. [7] - Allow ports that use the INSTALL macros to install files when running as non-root (i.e. don't try to chown/chgrp) [8]. - Add the USE_GETOPT_LONG variable, which adds a dependency on libgnugetopt on systems older than 500041, and uses the system version otherwise. [9] - Improve the fetch-required target to correctly deal with fetching dependencies that use the ':target' form. [10] - Add support for re-fetching interrupted distfiles. The FETCH_REGET variable specifies the number of times to try continuing the distfile fetch if it fails the md5 checksum. [11] PR: 36083 [1], 44875 [2], 48646 [3], 48960 [4], 49017 [5], 49969 [6], 50069 [7], 50159 [8], 50323 [9], 50669 [10], 12325 [11] Submitted by: dinoex [1], Gerhard Schmidt <estartu@augusta.de> [2], Sergey Matveychuk <sem@ciam.ru> [3] [5], tobez [4], Erwin Lansing <erwin@lansing.dk> [4], Arjan de Vet <devet@devet.org> [6], Hartmut Brandt <brandt@fokus.fraunhofer.de> [7], gerald [8], Sergei Kolobov <sergei@kolobov.com> [9], Erwin Lansing <erwin@lansing.dk> [10], alex [11]
2003-04-17 10:27:06 +00:00
.endif
.endfor
.endif
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
.endif
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
.if !target(fetch-required-list)
- Improve USE_PACKAGE_DEPENDS to work correctly for LIB_DEPENDS, and avoid installing packages when the target is configure or extract [1] - If PYTHON_VERSION is set, do not automatically add a dependency on python: USE_PYTHON must now be specified explicitly. This allows the variable to be set in make.conf or the environment to specify a preference for the python version to be used. [2] - When checking for an existing installation of the port, check by port origin instead of only looking for the current version of the package. [3] - Do not install perllocal.pod files; they are not used on FreeBSD. [4] - Improve 'make deinstall' to deinstall any existing version of the package (e.g. older versions) instead of only trying to deinstall the version currently described by the port. [5] - Check for world-writable files/directories in the security-check target. [6] - Improve the patching of libtool so it works with pathnames ending in a slash. [7] - Allow ports that use the INSTALL macros to install files when running as non-root (i.e. don't try to chown/chgrp) [8]. - Add the USE_GETOPT_LONG variable, which adds a dependency on libgnugetopt on systems older than 500041, and uses the system version otherwise. [9] - Improve the fetch-required target to correctly deal with fetching dependencies that use the ':target' form. [10] - Add support for re-fetching interrupted distfiles. The FETCH_REGET variable specifies the number of times to try continuing the distfile fetch if it fails the md5 checksum. [11] PR: 36083 [1], 44875 [2], 48646 [3], 48960 [4], 49017 [5], 49969 [6], 50069 [7], 50159 [8], 50323 [9], 50669 [10], 12325 [11] Submitted by: dinoex [1], Gerhard Schmidt <estartu@augusta.de> [2], Sergey Matveychuk <sem@ciam.ru> [3] [5], tobez [4], Erwin Lansing <erwin@lansing.dk> [4], Arjan de Vet <devet@devet.org> [6], Hartmut Brandt <brandt@fokus.fraunhofer.de> [7], gerald [8], Sergei Kolobov <sergei@kolobov.com> [9], Erwin Lansing <erwin@lansing.dk> [10], alex [11]
2003-04-17 10:27:06 +00:00
fetch-required-list: fetch-list
.if !defined(NO_DEPENDS)
.for deptype in PKG EXTRACT PATCH FETCH BUILD RUN
- Improve USE_PACKAGE_DEPENDS to work correctly for LIB_DEPENDS, and avoid installing packages when the target is configure or extract [1] - If PYTHON_VERSION is set, do not automatically add a dependency on python: USE_PYTHON must now be specified explicitly. This allows the variable to be set in make.conf or the environment to specify a preference for the python version to be used. [2] - When checking for an existing installation of the port, check by port origin instead of only looking for the current version of the package. [3] - Do not install perllocal.pod files; they are not used on FreeBSD. [4] - Improve 'make deinstall' to deinstall any existing version of the package (e.g. older versions) instead of only trying to deinstall the version currently described by the port. [5] - Check for world-writable files/directories in the security-check target. [6] - Improve the patching of libtool so it works with pathnames ending in a slash. [7] - Allow ports that use the INSTALL macros to install files when running as non-root (i.e. don't try to chown/chgrp) [8]. - Add the USE_GETOPT_LONG variable, which adds a dependency on libgnugetopt on systems older than 500041, and uses the system version otherwise. [9] - Improve the fetch-required target to correctly deal with fetching dependencies that use the ':target' form. [10] - Add support for re-fetching interrupted distfiles. The FETCH_REGET variable specifies the number of times to try continuing the distfile fetch if it fails the md5 checksum. [11] PR: 36083 [1], 44875 [2], 48646 [3], 48960 [4], 49017 [5], 49969 [6], 50069 [7], 50159 [8], 50323 [9], 50669 [10], 12325 [11] Submitted by: dinoex [1], Gerhard Schmidt <estartu@augusta.de> [2], Sergey Matveychuk <sem@ciam.ru> [3] [5], tobez [4], Erwin Lansing <erwin@lansing.dk> [4], Arjan de Vet <devet@devet.org> [6], Hartmut Brandt <brandt@fokus.fraunhofer.de> [7], gerald [8], Sergei Kolobov <sergei@kolobov.com> [9], Erwin Lansing <erwin@lansing.dk> [10], alex [11]
2003-04-17 10:27:06 +00:00
.if defined(${deptype}_DEPENDS)
@targ=fetch-list; deps="${${deptype}_DEPENDS}"; ${FETCH_LIST}
- Improve USE_PACKAGE_DEPENDS to work correctly for LIB_DEPENDS, and avoid installing packages when the target is configure or extract [1] - If PYTHON_VERSION is set, do not automatically add a dependency on python: USE_PYTHON must now be specified explicitly. This allows the variable to be set in make.conf or the environment to specify a preference for the python version to be used. [2] - When checking for an existing installation of the port, check by port origin instead of only looking for the current version of the package. [3] - Do not install perllocal.pod files; they are not used on FreeBSD. [4] - Improve 'make deinstall' to deinstall any existing version of the package (e.g. older versions) instead of only trying to deinstall the version currently described by the port. [5] - Check for world-writable files/directories in the security-check target. [6] - Improve the patching of libtool so it works with pathnames ending in a slash. [7] - Allow ports that use the INSTALL macros to install files when running as non-root (i.e. don't try to chown/chgrp) [8]. - Add the USE_GETOPT_LONG variable, which adds a dependency on libgnugetopt on systems older than 500041, and uses the system version otherwise. [9] - Improve the fetch-required target to correctly deal with fetching dependencies that use the ':target' form. [10] - Add support for re-fetching interrupted distfiles. The FETCH_REGET variable specifies the number of times to try continuing the distfile fetch if it fails the md5 checksum. [11] PR: 36083 [1], 44875 [2], 48646 [3], 48960 [4], 49017 [5], 49969 [6], 50069 [7], 50159 [8], 50323 [9], 50669 [10], 12325 [11] Submitted by: dinoex [1], Gerhard Schmidt <estartu@augusta.de> [2], Sergey Matveychuk <sem@ciam.ru> [3] [5], tobez [4], Erwin Lansing <erwin@lansing.dk> [4], Arjan de Vet <devet@devet.org> [6], Hartmut Brandt <brandt@fokus.fraunhofer.de> [7], gerald [8], Sergei Kolobov <sergei@kolobov.com> [9], Erwin Lansing <erwin@lansing.dk> [10], alex [11]
2003-04-17 10:27:06 +00:00
.endif
.endfor
.endif
.endif
* Add considerable documentation about available variables, their meaning and default settings [1] * Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various internal bsd.port.mk dependencies to use them [2] * Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION} for perl ports, removing the need to define this locally in every port [3] * Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl ports can be made to clean up after themselves properly [4] * Properly quote filenames in the security-check target. This unbreaks package registration for ports that install filenames containing metacharacters [5] * Use "cat /dev/null >" instead of "rm -f" in the makesum target so that the file retains the correct ownership and permissions [6] * Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or make.conf, and which attempts to use existing local packages to satisfy port dependencies, instead of building them from ports [7] * Add a first attempt at fetch-required and fetch-required-list targets which fetch or print all the distfiles that are required to build the port. Dependencies that are already installed need not have their distfiles listed, and will not be reported [8]. This needs more work, because ports that do things like: BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee will not have their distfiles listed and will therefore fail to fetch completely. The target needs to be changed to include distfiles for ports that have a target listed Submitted by: Mark Linimon <linimon@lonesome.com> [1], Jim Trigg <jtrigg@spamcop.net> [2], skv [3], kuriyama [4], marcus [5], sheldonh [6], dinoex [7], Erwin Lansing <erwin@lansing.dk> PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6], 36083 [7], 48473 [8]
2003-03-02 02:06:56 +00:00
The following changes are all Reviewed by: the ports list (1) Add PORTREVISION and PORTEPOCH, which are both optional, to PKGNAME. PKGNAME is now defined as ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}[_${PORTREVISION}][,${PORTEPOCH}] PORTREVISION denotes some FreeBSD internal change to the port that requires the user to upgrade it. A security fix or a shared library version change will be valid reasons to change (or define) PORTREVISION. PORTEPOCH is used to re-sort versions that is screwed up by the author. PORTEPOCH is sorted before all other fields for the purpose of determining which version is newer than the other. Submitted by: kris (2) Add fetch-recursive and fetch-recursive-list. These are like fetch and fetch-list but they also descend into dependencies. While I'm here, clean up some internal target names and comments. Requested by PR: 12548 (2') Fix bug in fetch-list I introduced in rev 1.347. (3) Add new variables LINUXBASE, USE_LINUX and USE_LINUX_PREFIX. LINUXBASE defaults to /compat/linux and will be the default PREFIX if USE_LINUX_PREFIX is defined. USE_LINUX, which is also implied by USE_LINUX_PREFIX, will add a runtime dependency to the emulators/linux_base port. Approved by: marcel (4) Include bsd.python.mk when USE_PYTHON and PYTHON_VERSION are defined. Submitted by: tg (5a) Change USE_FREETYPE to always depend on print/freetype -- it turns out that XFree86-4-libraries only used freetype internally and didn't install the libraries nor headers. Submitted by: Taguchi-san (XFree86-4-* maintainer) (5b) Change USE_MESA to lib-depend on GLU.1:graphics/Mesa3 when XFREE86_VERSION=4. The Mesa port has been changed to only install components missing from the XFree86 distribution when XF8V=4. Submitted by: sobomax (5c) New variable XFREE86_HTML_MAN, which defaults to "no" when XF8V=3 or USE_IMAKE is not defined, and "yes" when XF8V=4 and USE_IMAKE is defined. When this variable's value is "yes", generate-plist will add html-ified manpages to the generated PLIST. Approved by: Taguchi-san (6) Allow user to override MD5_FILE. Requested by: many (7) Small message change: "...doesn't seem to exist on this system" -> "... to exist in ${_DISTDIR}". Requested by: some mail in the mailing lists...can't remember which ;)
2000-09-09 13:21:14 +00:00
.if !target(checksum-recursive)
checksum-recursive:
@${ECHO_MSG} "===> Fetching and checking checksums for ${PKGNAME} and dependencies"
@for dir in ${.CURDIR} $$(${ALL-DEPENDS-LIST}); do \
(cd $$dir; ${MAKE} checksum); \
done
.endif
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
# Dependency lists: build and runtime. Print out directory names.
build-depends-list:
.if defined(PKG_DEPENDS) || defined(EXTRACT_DEPENDS) || defined(PATCH_DEPENDS) || defined(FETCH_DEPENDS) || defined(BUILD_DEPENDS) || defined(LIB_DEPENDS)
@${BUILD-DEPENDS-LIST}
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
.endif
BUILD-DEPENDS-LIST= \
for dir in $$(${ECHO_CMD} "${PKG_DEPENDS} ${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS}" | ${SED} -E -e 's,([^: ]*):([^: ]*)(:[^ ]*)?,\2,g' -e 'y/ /\n/'| ${SORT} -u); do \
case $$dir in \
/*) pdir=$$dir ;; \
*) pdir=${PORTSDIR}/$$dir ;; \
esac ; \
if [ -d $$pdir ]; then \
${ECHO_CMD} $$pdir; \
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
else \
${ECHO_MSG} "${PKGNAME}: \"$$pdir\" non-existent -- dependency list incomplete" >&2; \
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
fi; \
done | ${SORT} -u
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
run-depends-list:
.if defined(LIB_DEPENDS) || defined(RUN_DEPENDS)
@${RUN-DEPENDS-LIST}
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
.endif
RUN-DEPENDS-LIST= \
for dir in $$(${ECHO_CMD} "${_LIB_RUN_DEPENDS:C,.*:([^:]*).*,\1,}" | ${SED} -e 'y/ /\n/' | ${SORT} -u); do \
case $$dir in \
/*) pdir=$$dir ;; \
*) pdir=${PORTSDIR}/$$dir ;; \
esac ; \
if [ -d $$pdir ]; then \
${ECHO_CMD} $$pdir; \
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
else \
${ECHO_MSG} "${PKGNAME}: \"$$pdir\" non-existent -- dependency list incomplete" >&2; \
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
fi; \
done | ${SORT} -u
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
test-depends-list:
.if defined(TEST_DEPENDS)
@${TEST-DEPENDS-LIST}
.endif
# Package (recursive runtime) dependency list. Print out both directory names
# and package names.
package-depends-list:
.if defined(CHILD_DEPENDS) || defined(LIB_DEPENDS) || defined(RUN_DEPENDS)
@${PACKAGE-DEPENDS-LIST}
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
.endif
_LIB_RUN_DEPENDS= ${LIB_DEPENDS} ${RUN_DEPENDS}
* Some spelling/grammar fixes in comments * Replace some bare uses of cat with ${CAT} * [ports/19112] Ignore RCS files (*,v) when applying patches * [ports/19270] Check whether ${DISTDIR} is writable and fail with a better error message if not (mostly caused by trying to fetch as the wrong user) * [ports/23560] Force patch backup files to be created with .orig suffix * [ports/34717] Don't enclose PTHREAD_LIBS in quotes, because it will cause problems if used in an already-quoted string. * [ports/34987] Fix an awk warning in MASTER_SORT/MASTER_SORT_REGEX code * [misc/38724] Change some uses of the deprecated test -h to test -L * [1] Registering real dependencies: dependency registration looks at the currently-installed version of the dependency and registers that version, instead of registering the version in ports which may be newer than what is installed. * [2] Further 100% speed-up of dependency registration process by eliminating second call to package-depends (using information from the first call stored in +CONTENTS file of package being installed). Very useful for developing GNOME or similar packages with zillion dependencies, when package-depends target could take few minutes to complete; * [2] Proper set-up of ${SHELL} variable in build environment, so that user's interactive shell isn't picked instead. This has various implications, ranging from build process speed-up due to using /bin/sh to invoke libtool instead of bash or any other much more bloated user's shell (configure scripts often pick it up from the ${SHELL} environment), to fixing problems some users have when building random ports. Submitted by: sobomax [1] [2], Aleksandr A. Babaylov <.@babolo.ru> [ports/19112], Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> [ports/19270], Alan Bawden <Alan@LCS.MIT.EDU> [ports/23560], Christian Weisgerber <naddy@mips.inka.de> [ports/34717], knu [ports/34987], april <april@oublinet.net> [ports/38724] PR: ports/19112, ports/19270, ports/23560, ports/34717, ports/34987, ports/36237, ports/38724 Tested on: bento 4-exp build
2002-09-19 00:16:39 +00:00
PACKAGE-DEPENDS-LIST?= \
if [ "${CHILD_DEPENDS}" ]; then \
* Some spelling/grammar fixes in comments * Replace some bare uses of cat with ${CAT} * [ports/19112] Ignore RCS files (*,v) when applying patches * [ports/19270] Check whether ${DISTDIR} is writable and fail with a better error message if not (mostly caused by trying to fetch as the wrong user) * [ports/23560] Force patch backup files to be created with .orig suffix * [ports/34717] Don't enclose PTHREAD_LIBS in quotes, because it will cause problems if used in an already-quoted string. * [ports/34987] Fix an awk warning in MASTER_SORT/MASTER_SORT_REGEX code * [misc/38724] Change some uses of the deprecated test -h to test -L * [1] Registering real dependencies: dependency registration looks at the currently-installed version of the dependency and registers that version, instead of registering the version in ports which may be newer than what is installed. * [2] Further 100% speed-up of dependency registration process by eliminating second call to package-depends (using information from the first call stored in +CONTENTS file of package being installed). Very useful for developing GNOME or similar packages with zillion dependencies, when package-depends target could take few minutes to complete; * [2] Proper set-up of ${SHELL} variable in build environment, so that user's interactive shell isn't picked instead. This has various implications, ranging from build process speed-up due to using /bin/sh to invoke libtool instead of bash or any other much more bloated user's shell (configure scripts often pick it up from the ${SHELL} environment), to fixing problems some users have when building random ports. Submitted by: sobomax [1] [2], Aleksandr A. Babaylov <.@babolo.ru> [ports/19112], Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> [ports/19270], Alan Bawden <Alan@LCS.MIT.EDU> [ports/23560], Christian Weisgerber <naddy@mips.inka.de> [ports/34717], knu [ports/34987], april <april@oublinet.net> [ports/38724] PR: ports/19112, ports/19270, ports/23560, ports/34717, ports/34987, ports/36237, ports/38724 Tested on: bento 4-exp build
2002-09-19 00:16:39 +00:00
installed=$$(${PKG_INFO} -qO ${PKGORIGIN} 2>/dev/null || \
${TRUE}); \
if [ "$$installed" ]; then \
break; \
fi; \
if [ -z "$$installed" ]; then \
installed="${PKGNAME}"; \
fi; \
for pkgname in $$installed; do \
${ECHO_CMD} "$$pkgname ${.CURDIR} ${PKGORIGIN}"; \
done; \
fi; \
checked="${PARENT_CHECKED}"; \
for dir in ${_LIB_RUN_DEPENDS:C,[^:]*:([^:]*):?.*,\1,}; do \
case "$$dir" in \
/*) ;; \
*) dir=${PORTSDIR}/$$dir ;; \
esac ; \
dir=$$(${REALPATH} $$dir); \
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
if [ -d $$dir ]; then \
case $$checked in \
$$dir|$$dir\ *|*\ $$dir|*\ $$dir\ *) continue;; \
esac; \
childout=$$(cd $$dir; ${MAKE} CHILD_DEPENDS=yes PARENT_CHECKED="$$checked" package-depends-list); \
set -- $$childout; \
childdir=""; \
while [ $$\# != 0 ]; do \
childdir="$$childdir $$2"; \
${ECHO_CMD} "$$1 $$2 $$3"; \
shift 3; \
done; \
checked="$$dir $$childdir $$checked"; \
else \
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
${ECHO_MSG} "${PKGNAME}: \"$$dir\" non-existent -- dependency list incomplete" >&2; \
fi; \
done
ACTUAL-PACKAGE-DEPENDS?= \
depfiles="" ; \
for lib in ${LIB_DEPENDS:C/\:.*//}; do \
depfiles="$$depfiles `${SETENV} LIB_DIRS="${LIB_DIRS}" LOCALBASE="${LOCALBASE}" ${SH} ${SCRIPTSDIR}/find-lib.sh $${lib}`" ; \
done ; \
${SETENV} PKG_BIN="${PKG_BIN}" ${SH} ${SCRIPTSDIR}/actual-package-depends.sh $${depfiles} ${RUN_DEPENDS:C/(.*)\:.*/"\1"/}
create-manifest:
@${MKDIR} ${METADIR}; \
(\
echo "name: \"${PKGBASE}\"" ; \
echo "version: \"${PKGVERSION}\"" ; \
echo "origin: ${PKGORIGIN}" ; \
echo "comment: <<EOD" ; \
echo ${COMMENT:Q} ; \
echo "EOD" ; \
echo "maintainer: ${MAINTAINER}" ; \
echo "prefix: ${PREFIX}" ; \
[ -z "${WWW}" ] || echo "www: ${WWW}" ; \
echo "deps: { "; \
${ACTUAL-PACKAGE-DEPENDS} | ${GREP} -v -E ${PKG_IGNORE_DEPENDS} | ${SORT} -u ; \
echo "}" ; \
echo "categories: [ ${CATEGORIES:u:S/$/,/} ]" ; \
l=${LICENSE_COMB} ; \
[ -n "${NO_ARCH}" ] && echo "arch : `${PKG_BIN} config abi | tr '[:upper:]' '[:lower:]' | ${CUT} -d: -f1,2`:*" ; \
2014-12-11 08:15:55 +00:00
[ -n "${NO_ARCH}" ] && echo "abi : `${PKG_BIN} config abi | ${CUT} -d: -f1,2`:*" ; \
echo "licenselogic: $${l:-single}" ; \
[ -z "${LICENSE}" ] || echo "licenses: [ ${LICENSE:u:S/$/,/} ]" ; \
[ -z "${USERS}" ] || echo "users: [ ${USERS:u:S/$/,/} ]" ; \
[ -z "${GROUPS}" ] || echo "groups: [ ${GROUPS:u:S/$/,/} ]" ; \
) > ${MANIFESTF}
@${ECHO_CMD} -n "options: {" >> ${MANIFESTF}
.for opt in ${COMPLETE_OPTIONS_LIST}
@[ -z "${PORT_OPTIONS:M${opt}}" ] || match="on" ; ${ECHO_MSG} -n " ${opt}: $${match:-off}," >> ${MANIFESTF}
.endfor
@${ECHO_CMD} "}" >> ${MANIFESTF}
.if defined(PKG_NOTES)
@${ECHO_CMD} -n "annotations: {" >> ${MANIFESTF}
.for note in ${PKG_NOTES}
@${ECHO_CMD} -n ' ${note}: "${PKG_NOTE_${note}:S/"/\"/g}",' >> ${MANIFESTF}
.endfor
@${ECHO_CMD} " }" >> ${MANIFESTF}
.endif
@[ -f ${PKGINSTALL} ] && ${CP} ${PKGINSTALL} ${METADIR}/+INSTALL; \
${RM} -f ${METADIR}/+PRE_INSTALL ; \
for a in ${PKGPREINSTALL}; do \
[ -f $$a ] && ${CAT} $$a >> ${METADIR}/+PRE_INSTALL ; \
done ; \
${RM} -f ${METADIR}/+POST_INSTALL ; \
for a in ${PKGPOSTINSTALL}; do \
[ -f $$a ] && ${CAT} $$a >> ${METADIR}/+POST_INSTALL ; \
done ; \
[ -f ${PKGDEINSTALL} ] && ${CP} ${PKGDEINSTALL} ${METADIR}/+DEINSTALL; \
${RM} -f ${METADIR}/+PRE_DEINSTALL ; \
for a in ${PKGPREDEINSTALL}; do \
[ -f $$a ] && ${CAT} $$a >> ${METADIR}/+PRE_DEINSTALL ; \
done ; \
${RM} -f ${METADIR}/+POST_DEINSTALL ; \
for a in ${PKGPOSTDEINSTALL}; do \
[ -f $$a ] && ${CAT} $$a >> ${METADIR}/+POST_DEINSTALL ; \
done ; \
[ -f ${PKGUPGRADE} ] && ${CP} ${PKGUPGRADE} ${METADIR}/+UPGRADE; \
[ -f ${PKGPREUPGRADE} ] && ${CP} ${PKGPREUPGRADE} ${METADIR}/+PRE_UPGRADE; \
[ -f ${PKGPOSTUPGRADE} ] && ${CP} ${PKGPOSTUPGRADE} ${METADIR}/+POST_UPGRADE; \
${CP} ${DESCR} ${METADIR}/+DESC; \
[ -f ${PKGMESSAGE} ] && ${CP} ${PKGMESSAGE} ${METADIR}/+DISPLAY || return 0
# Try and keep these messages in sync with check-deprecated
.if ${MAINTAINER} == "ports@FreeBSD.org"
@( \
if [ -f "${METADIR}/+DISPLAY" ]; then ${ECHO_CMD}; fi; \
${ECHO_CMD} "===> NOTICE:"; \
${ECHO_CMD}; \
${ECHO_CMD} "The ${PORTNAME} port currently does not have a maintainer. As a result, it is"; \
${ECHO_CMD} "more likely to have unresolved issues, not be up-to-date, or even be removed in"; \
${ECHO_CMD} "the future. To volunteer to maintain this port, please create an issue at:"; \
${ECHO_CMD}; \
${ECHO_CMD} "https://bugs.freebsd.org/bugzilla"; \
${ECHO_CMD}; \
${ECHO_CMD} "More information about port maintainership is available at:"; \
${ECHO_CMD}; \
${ECHO_CMD} "https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port"; \
) >> ${METADIR}/+DISPLAY
.endif
.if defined(DEPRECATED)
@( \
if [ -f "${METADIR}/+DISPLAY" ]; then ${ECHO_CMD}; fi; \
${ECHO_CMD} "===> NOTICE:"; \
${ECHO_CMD}; \
${ECHO_CMD} "This port is deprecated; you may wish to reconsider installing it:"; \
${ECHO_CMD}; \
${ECHO_CMD} ${DEPRECATED:Q}.; \
${ECHO_CMD}; \
) >> ${METADIR}/+DISPLAY
.if defined(EXPIRATION_DATE)
@( \
${ECHO_CMD} "It is scheduled to be removed on or after ${EXPIRATION_DATE}."; \
${ECHO_CMD}; \
) >> ${METADIR}/+DISPLAY
.endif
.endif
The following changes are all Reviewed by: the ports list (1) Add PORTREVISION and PORTEPOCH, which are both optional, to PKGNAME. PKGNAME is now defined as ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}[_${PORTREVISION}][,${PORTEPOCH}] PORTREVISION denotes some FreeBSD internal change to the port that requires the user to upgrade it. A security fix or a shared library version change will be valid reasons to change (or define) PORTREVISION. PORTEPOCH is used to re-sort versions that is screwed up by the author. PORTEPOCH is sorted before all other fields for the purpose of determining which version is newer than the other. Submitted by: kris (2) Add fetch-recursive and fetch-recursive-list. These are like fetch and fetch-list but they also descend into dependencies. While I'm here, clean up some internal target names and comments. Requested by PR: 12548 (2') Fix bug in fetch-list I introduced in rev 1.347. (3) Add new variables LINUXBASE, USE_LINUX and USE_LINUX_PREFIX. LINUXBASE defaults to /compat/linux and will be the default PREFIX if USE_LINUX_PREFIX is defined. USE_LINUX, which is also implied by USE_LINUX_PREFIX, will add a runtime dependency to the emulators/linux_base port. Approved by: marcel (4) Include bsd.python.mk when USE_PYTHON and PYTHON_VERSION are defined. Submitted by: tg (5a) Change USE_FREETYPE to always depend on print/freetype -- it turns out that XFree86-4-libraries only used freetype internally and didn't install the libraries nor headers. Submitted by: Taguchi-san (XFree86-4-* maintainer) (5b) Change USE_MESA to lib-depend on GLU.1:graphics/Mesa3 when XFREE86_VERSION=4. The Mesa port has been changed to only install components missing from the XFree86 distribution when XF8V=4. Submitted by: sobomax (5c) New variable XFREE86_HTML_MAN, which defaults to "no" when XF8V=3 or USE_IMAKE is not defined, and "yes" when XF8V=4 and USE_IMAKE is defined. When this variable's value is "yes", generate-plist will add html-ified manpages to the generated PLIST. Approved by: Taguchi-san (6) Allow user to override MD5_FILE. Requested by: many (7) Small message change: "...doesn't seem to exist on this system" -> "... to exist in ${_DISTDIR}". Requested by: some mail in the mailing lists...can't remember which ;)
2000-09-09 13:21:14 +00:00
# Print out package names.
package-depends:
* Some spelling/grammar fixes in comments * Replace some bare uses of cat with ${CAT} * [ports/19112] Ignore RCS files (*,v) when applying patches * [ports/19270] Check whether ${DISTDIR} is writable and fail with a better error message if not (mostly caused by trying to fetch as the wrong user) * [ports/23560] Force patch backup files to be created with .orig suffix * [ports/34717] Don't enclose PTHREAD_LIBS in quotes, because it will cause problems if used in an already-quoted string. * [ports/34987] Fix an awk warning in MASTER_SORT/MASTER_SORT_REGEX code * [misc/38724] Change some uses of the deprecated test -h to test -L * [1] Registering real dependencies: dependency registration looks at the currently-installed version of the dependency and registers that version, instead of registering the version in ports which may be newer than what is installed. * [2] Further 100% speed-up of dependency registration process by eliminating second call to package-depends (using information from the first call stored in +CONTENTS file of package being installed). Very useful for developing GNOME or similar packages with zillion dependencies, when package-depends target could take few minutes to complete; * [2] Proper set-up of ${SHELL} variable in build environment, so that user's interactive shell isn't picked instead. This has various implications, ranging from build process speed-up due to using /bin/sh to invoke libtool instead of bash or any other much more bloated user's shell (configure scripts often pick it up from the ${SHELL} environment), to fixing problems some users have when building random ports. Submitted by: sobomax [1] [2], Aleksandr A. Babaylov <.@babolo.ru> [ports/19112], Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> [ports/19270], Alan Bawden <Alan@LCS.MIT.EDU> [ports/23560], Christian Weisgerber <naddy@mips.inka.de> [ports/34717], knu [ports/34987], april <april@oublinet.net> [ports/38724] PR: ports/19112, ports/19270, ports/23560, ports/34717, ports/34987, ports/36237, ports/38724 Tested on: bento 4-exp build
2002-09-19 00:16:39 +00:00
@${PACKAGE-DEPENDS-LIST} | ${AWK} '{print $$1":"$$3}'
actual-package-depends:
@${ACTUAL-PACKAGE-DEPENDS}
* Attempt to detect and disallow installation of a port with PREFIX set to a different value to that with which it was configured and built. This is achieved by recording the PREFIX in the build-stage cookies [1] * Add scheme [2], tcl84 and tk84 [5] as virtual categories * Add the PERL_PORT variable and use it to register the dependency on the correct perl port when PERL_LEVEL is set [3] * Add support for USE_AUTOHEADER [4] * Fix 'make maintainer' when MAINTAINER is set to a bogus value (not in user@example.com format). [6] * Add a 'package-recursive' target to create packages for a port and all of its dependencies [7] * Fix command-line overflow errors in 'make readmes' on certain ports, with the bonus of providing a measurable speed-up to readme generation [8] * Fix inclusion of alternative makefiles such as Makefile.inc, Makefile.local, etc. (broken since 1.403) [9] * Reintroduce support for install/deinstall targets checking for older versions of the port, and re-add the deinstall-all target that removes all existing installations of a port (originally introduced in 1.446 and backed out in 1.450). This patch has been reworked to eliminate the corner cases in the previous code. Ports that dynamically generate their ${PLIST} at install-time must now do so before the do-install target is run, e.g. in pre-install. [10] * When installing ports as non-root, use su(1) to execute the targets that require root privilege. This is achieved by splitting up the _INSTALL_SEQ target list into _INSTALL_SUSEQ [11]. PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6], 52388 [7], 51609 [11] Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1], Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11], Kimura Fuyuki <fuyuki@hadaly.org> [2], "Scot W. Hetzel" <hetzels@westbend.net> [3], Anton Berezin <tobez@FreeBSD.org> [3], nork [4], hsu [5], Mark Linimon <linimon@lonesome.com> [6], hoek [8], sobomax [9], marcus [10] [11], des [11]
2003-07-06 23:54:33 +00:00
# Build packages for port and dependencies
package-recursive: package
@for dir in $$(${ALL-DEPENDS-LIST}); do \
(cd $$dir; ${MAKE} package-noinstall); \
* Attempt to detect and disallow installation of a port with PREFIX set to a different value to that with which it was configured and built. This is achieved by recording the PREFIX in the build-stage cookies [1] * Add scheme [2], tcl84 and tk84 [5] as virtual categories * Add the PERL_PORT variable and use it to register the dependency on the correct perl port when PERL_LEVEL is set [3] * Add support for USE_AUTOHEADER [4] * Fix 'make maintainer' when MAINTAINER is set to a bogus value (not in user@example.com format). [6] * Add a 'package-recursive' target to create packages for a port and all of its dependencies [7] * Fix command-line overflow errors in 'make readmes' on certain ports, with the bonus of providing a measurable speed-up to readme generation [8] * Fix inclusion of alternative makefiles such as Makefile.inc, Makefile.local, etc. (broken since 1.403) [9] * Reintroduce support for install/deinstall targets checking for older versions of the port, and re-add the deinstall-all target that removes all existing installations of a port (originally introduced in 1.446 and backed out in 1.450). This patch has been reworked to eliminate the corner cases in the previous code. Ports that dynamically generate their ${PLIST} at install-time must now do so before the do-install target is run, e.g. in pre-install. [10] * When installing ports as non-root, use su(1) to execute the targets that require root privilege. This is achieved by splitting up the _INSTALL_SEQ target list into _INSTALL_SUSEQ [11]. PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6], 52388 [7], 51609 [11] Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1], Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11], Kimura Fuyuki <fuyuki@hadaly.org> [2], "Scot W. Hetzel" <hetzels@westbend.net> [3], Anton Berezin <tobez@FreeBSD.org> [3], nork [4], hsu [5], Mark Linimon <linimon@lonesome.com> [6], hoek [8], sobomax [9], marcus [10] [11], des [11]
2003-07-06 23:54:33 +00:00
done
# Show missing dependencies
missing:
@_origins=$$(${PKG_INFO} -aoq); \
for dir in $$(${ALL-DEPENDS-LIST}); do \
_origin=$${dir##${PORTSDIR}/}; \
if ! $$(${ECHO_CMD} $${_origins} | ${GREP} -q $${_origin}); then \
${ECHO_CMD} $${_origin}; \
fi; \
done
# Show missing dependencies by name
missing-packages:
@_packages=$$(${PKG_INFO} -aq); \
for dir in $$(${ALL-DEPENDS-LIST}); do \
_p=$$(cd $$dir; ${MAKE} -VPKGNAME); \
if ! $$(${ECHO_CMD} $${_packages} | ${GREP} -q $${_p}); then \
${ECHO_CMD} $${_p}; \
fi; \
done
################################################################
# Everything after here are internal targets and really
# shouldn't be touched by anybody but the release engineers.
################################################################
# This target generates an index entry suitable for aggregation into
# a large index. Format is:
#
# distribution-name|port-path|installation-prefix|comment| \
# description-file|maintainer|categories|extract-depends| \
# patch-depends|fetch-depends|build-depends|run-depends|www site
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
#
# If this ever changes, portmgr should contact the portsnap maintainer
# first to avoid gratuitous breakage.
Major optimizations for 'make index' and other recursive traversal targets. * Use /rescue/sh for index builds instead of /bin/sh, when it exists. The former is statically linked and faster to execute, which becomes significant when executing it tens of thousands of times. This trick can be used with other recursive targets by passing in __MAKE_SHELL. * Get rid of make variable assignments that use != command invocations in the critical path, using several methods: - rewriting logic to use shell or make builtins instead of external command executions - macroizing commands and executing them in the targets where they are needed instead of with every invocation of make - precomputing the results of invariant commands in bsd.port.subdir.mk and passing them in explicitly to child makes, and using this to avoid recalculation in all the children. NB: the commands are still run one per top-level subdirectory but this does not currently seem to be a major issue. They could be moved further up into the top-level Makefile at the cost of some cleanliness. - Committers are strongly discouraged from adding further "bare" != assignments to the ports tree, even in their own ports. One of the above strategies should be used to avoid future bloat. * Rewrite the core 'describe' target to work entirely within a single shell process using only builtin commands. The old version is retained as a backup for use on systems older than 603104, which does not have the make :u modifier. This cuts down the number of processes executed during the course of a 'make index' by an order of magnitude, and we are essentially now amortized to the minimum of a single make + sh instance per port, plus whatever commands the port makefile itself executes (which are usually unnecessary and bogus). * Less validation of the WWW: target is performed; this can become policed at a port level by portlint. Specifically we look at the second word of the first line beginning with "WWW:" in pkg-descr, and append "http://" to it unless it already begins with "http://", "https://" or "ftp://". Thanks to dougb for the idea of how to extract WWW: using shell builtins. * Use the "true" shell builtin instead of echo > /dev/null for a measurable decrease in CPU use. * Add a note about dubious escaping strategy in bsd.port.subdir.mk * Minor change in output of 'make describe': it no longer strips trailing CR characters from pkg-descr files with MSDOS CR/LF termination. Instead the makeindex perl script that post-processes make describe into the INDEX is tweaked to strip on input. The bottom line is that on my test hardware INDEX builds are now faster by more than a factor of 2 and with a reduction in system time by a factor of 4-8 depending on configuration.
2008-07-19 17:59:41 +00:00
. if !target(describe)
_EXTRACT_DEPENDS=${EXTRACT_DEPENDS:C/^[^ :]+:([^ :]+)(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
_PATCH_DEPENDS=${PATCH_DEPENDS:C/^[^ :]+:([^ :]+)(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
_FETCH_DEPENDS=${FETCH_DEPENDS:C/^[^ :]+:([^ :]+)(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
_LIB_DEPENDS=${LIB_DEPENDS:C/^[^ :]+:([^ :]+)(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
_BUILD_DEPENDS=${BUILD_DEPENDS:C/^[^ :]+:([^ :]+)(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} ${_LIB_DEPENDS}
_RUN_DEPENDS=${RUN_DEPENDS:C/^[^ :]+:([^ :]+)(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} ${_LIB_DEPENDS}
Major optimizations for 'make index' and other recursive traversal targets. * Use /rescue/sh for index builds instead of /bin/sh, when it exists. The former is statically linked and faster to execute, which becomes significant when executing it tens of thousands of times. This trick can be used with other recursive targets by passing in __MAKE_SHELL. * Get rid of make variable assignments that use != command invocations in the critical path, using several methods: - rewriting logic to use shell or make builtins instead of external command executions - macroizing commands and executing them in the targets where they are needed instead of with every invocation of make - precomputing the results of invariant commands in bsd.port.subdir.mk and passing them in explicitly to child makes, and using this to avoid recalculation in all the children. NB: the commands are still run one per top-level subdirectory but this does not currently seem to be a major issue. They could be moved further up into the top-level Makefile at the cost of some cleanliness. - Committers are strongly discouraged from adding further "bare" != assignments to the ports tree, even in their own ports. One of the above strategies should be used to avoid future bloat. * Rewrite the core 'describe' target to work entirely within a single shell process using only builtin commands. The old version is retained as a backup for use on systems older than 603104, which does not have the make :u modifier. This cuts down the number of processes executed during the course of a 'make index' by an order of magnitude, and we are essentially now amortized to the minimum of a single make + sh instance per port, plus whatever commands the port makefile itself executes (which are usually unnecessary and bogus). * Less validation of the WWW: target is performed; this can become policed at a port level by portlint. Specifically we look at the second word of the first line beginning with "WWW:" in pkg-descr, and append "http://" to it unless it already begins with "http://", "https://" or "ftp://". Thanks to dougb for the idea of how to extract WWW: using shell builtins. * Use the "true" shell builtin instead of echo > /dev/null for a measurable decrease in CPU use. * Add a note about dubious escaping strategy in bsd.port.subdir.mk * Minor change in output of 'make describe': it no longer strips trailing CR characters from pkg-descr files with MSDOS CR/LF termination. Instead the makeindex perl script that post-processes make describe into the INDEX is tweaked to strip on input. The bottom line is that on my test hardware INDEX builds are now faster by more than a factor of 2 and with a reduction in system time by a factor of 4-8 depending on configuration.
2008-07-19 17:59:41 +00:00
. if exists(${DESCR})
_DESCR=${DESCR}
. else
_DESCR=/dev/null
. endif
. if defined(BUILDING_INDEX) && defined(INDEX_PORTS)
INDEX_OUT=${INDEX_TMPDIR}/${INDEXFILE}.desc.aggr
. else
INDEX_OUT=/dev/stdout
. endif
Major optimizations for 'make index' and other recursive traversal targets. * Use /rescue/sh for index builds instead of /bin/sh, when it exists. The former is statically linked and faster to execute, which becomes significant when executing it tens of thousands of times. This trick can be used with other recursive targets by passing in __MAKE_SHELL. * Get rid of make variable assignments that use != command invocations in the critical path, using several methods: - rewriting logic to use shell or make builtins instead of external command executions - macroizing commands and executing them in the targets where they are needed instead of with every invocation of make - precomputing the results of invariant commands in bsd.port.subdir.mk and passing them in explicitly to child makes, and using this to avoid recalculation in all the children. NB: the commands are still run one per top-level subdirectory but this does not currently seem to be a major issue. They could be moved further up into the top-level Makefile at the cost of some cleanliness. - Committers are strongly discouraged from adding further "bare" != assignments to the ports tree, even in their own ports. One of the above strategies should be used to avoid future bloat. * Rewrite the core 'describe' target to work entirely within a single shell process using only builtin commands. The old version is retained as a backup for use on systems older than 603104, which does not have the make :u modifier. This cuts down the number of processes executed during the course of a 'make index' by an order of magnitude, and we are essentially now amortized to the minimum of a single make + sh instance per port, plus whatever commands the port makefile itself executes (which are usually unnecessary and bogus). * Less validation of the WWW: target is performed; this can become policed at a port level by portlint. Specifically we look at the second word of the first line beginning with "WWW:" in pkg-descr, and append "http://" to it unless it already begins with "http://", "https://" or "ftp://". Thanks to dougb for the idea of how to extract WWW: using shell builtins. * Use the "true" shell builtin instead of echo > /dev/null for a measurable decrease in CPU use. * Add a note about dubious escaping strategy in bsd.port.subdir.mk * Minor change in output of 'make describe': it no longer strips trailing CR characters from pkg-descr files with MSDOS CR/LF termination. Instead the makeindex perl script that post-processes make describe into the INDEX is tweaked to strip on input. The bottom line is that on my test hardware INDEX builds are now faster by more than a factor of 2 and with a reduction in system time by a factor of 4-8 depending on configuration.
2008-07-19 17:59:41 +00:00
describe:
@(${ECHO_CMD} -n "${PKGNAME}|${.CURDIR}|${PREFIX}|"; \
Major optimizations for 'make index' and other recursive traversal targets. * Use /rescue/sh for index builds instead of /bin/sh, when it exists. The former is statically linked and faster to execute, which becomes significant when executing it tens of thousands of times. This trick can be used with other recursive targets by passing in __MAKE_SHELL. * Get rid of make variable assignments that use != command invocations in the critical path, using several methods: - rewriting logic to use shell or make builtins instead of external command executions - macroizing commands and executing them in the targets where they are needed instead of with every invocation of make - precomputing the results of invariant commands in bsd.port.subdir.mk and passing them in explicitly to child makes, and using this to avoid recalculation in all the children. NB: the commands are still run one per top-level subdirectory but this does not currently seem to be a major issue. They could be moved further up into the top-level Makefile at the cost of some cleanliness. - Committers are strongly discouraged from adding further "bare" != assignments to the ports tree, even in their own ports. One of the above strategies should be used to avoid future bloat. * Rewrite the core 'describe' target to work entirely within a single shell process using only builtin commands. The old version is retained as a backup for use on systems older than 603104, which does not have the make :u modifier. This cuts down the number of processes executed during the course of a 'make index' by an order of magnitude, and we are essentially now amortized to the minimum of a single make + sh instance per port, plus whatever commands the port makefile itself executes (which are usually unnecessary and bogus). * Less validation of the WWW: target is performed; this can become policed at a port level by portlint. Specifically we look at the second word of the first line beginning with "WWW:" in pkg-descr, and append "http://" to it unless it already begins with "http://", "https://" or "ftp://". Thanks to dougb for the idea of how to extract WWW: using shell builtins. * Use the "true" shell builtin instead of echo > /dev/null for a measurable decrease in CPU use. * Add a note about dubious escaping strategy in bsd.port.subdir.mk * Minor change in output of 'make describe': it no longer strips trailing CR characters from pkg-descr files with MSDOS CR/LF termination. Instead the makeindex perl script that post-processes make describe into the INDEX is tweaked to strip on input. The bottom line is that on my test hardware INDEX builds are now faster by more than a factor of 2 and with a reduction in system time by a factor of 4-8 depending on configuration.
2008-07-19 17:59:41 +00:00
${ECHO_CMD} -n ${COMMENT:Q}; \
${ECHO_CMD} -n "|${_DESCR}|${MAINTAINER}|${CATEGORIES}|${_EXTRACT_DEPENDS}|${_PATCH_DEPENDS}|${_FETCH_DEPENDS}|${_BUILD_DEPENDS:O:u}|${_RUN_DEPENDS:O:u}|"; \
while read one two discard; do \
case "$$one" in \
WWW:) case "$$two" in \
https://*|http://*|ftp://*) ${ECHO_CMD} -n "$$two" ;; \
*) ${ECHO_CMD} -n "http://$$two" ;; \
esac; \
break; \
;; \
esac; \
done < ${DESCR}; ${ECHO_CMD}) >>${INDEX_OUT}
Major optimizations for 'make index' and other recursive traversal targets. * Use /rescue/sh for index builds instead of /bin/sh, when it exists. The former is statically linked and faster to execute, which becomes significant when executing it tens of thousands of times. This trick can be used with other recursive targets by passing in __MAKE_SHELL. * Get rid of make variable assignments that use != command invocations in the critical path, using several methods: - rewriting logic to use shell or make builtins instead of external command executions - macroizing commands and executing them in the targets where they are needed instead of with every invocation of make - precomputing the results of invariant commands in bsd.port.subdir.mk and passing them in explicitly to child makes, and using this to avoid recalculation in all the children. NB: the commands are still run one per top-level subdirectory but this does not currently seem to be a major issue. They could be moved further up into the top-level Makefile at the cost of some cleanliness. - Committers are strongly discouraged from adding further "bare" != assignments to the ports tree, even in their own ports. One of the above strategies should be used to avoid future bloat. * Rewrite the core 'describe' target to work entirely within a single shell process using only builtin commands. The old version is retained as a backup for use on systems older than 603104, which does not have the make :u modifier. This cuts down the number of processes executed during the course of a 'make index' by an order of magnitude, and we are essentially now amortized to the minimum of a single make + sh instance per port, plus whatever commands the port makefile itself executes (which are usually unnecessary and bogus). * Less validation of the WWW: target is performed; this can become policed at a port level by portlint. Specifically we look at the second word of the first line beginning with "WWW:" in pkg-descr, and append "http://" to it unless it already begins with "http://", "https://" or "ftp://". Thanks to dougb for the idea of how to extract WWW: using shell builtins. * Use the "true" shell builtin instead of echo > /dev/null for a measurable decrease in CPU use. * Add a note about dubious escaping strategy in bsd.port.subdir.mk * Minor change in output of 'make describe': it no longer strips trailing CR characters from pkg-descr files with MSDOS CR/LF termination. Instead the makeindex perl script that post-processes make describe into the INDEX is tweaked to strip on input. The bottom line is that on my test hardware INDEX builds are now faster by more than a factor of 2 and with a reduction in system time by a factor of 4-8 depending on configuration.
2008-07-19 17:59:41 +00:00
. endif
www-site:
.if exists(${DESCR})
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
@${AWK} '$$1 ~ /^WWW:/ {print $$2}' ${DESCR} | ${HEAD} -1
.else
Heroic attempt to reduce number of PRs assigned to portmgr@: 1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working. PR: 36537 Submitted by: tg 2. Propagate error code from failed `make depends', when one of the ports we depend upon is marked BROKEN/FORBIDDEN. PR: 25522 Submitted by: alex 3. By default, when bsd.port.mk configurating Makefile.PL only pass PREFIX as argument, but some Perl module (eg. Test-Harness) needed INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise default installation will goes to /usr/lib and not ${PREFIX}/lib, in some case, adding these tag to CONFIGURE_ARGS is not bad. PR: 29681 Submitted by: Shell Hung <shell@shellhung.org> 4. Update patch-libtool target, so that it doesn't break ports with autoconf 2.13-generated configure script. USE_LIBTOOL is still not very useful for such cases, but at least it doesn't break them badly anymore. PR: 31142 Submitted by: wjv 5. Make `make search' working even when /usr/obj/usr/ports exists. PR: 31862 Submitted by: gad 6. When configure script fails unexpectedly don't dump thousands lines of config.log to the user's screen, because it usually doesn't contain information useful for tracking the problem anyway. Instead display a message asking a user to report the failure to the proper entity (maintainer) and what to include into the problem report. PR: 34459, 35488 Submitted by: Thomas Hurst <freaky@aagh.net> Alan Eldridge <ports@geeksrus.net> sobomax other countless hackers whose names are lost in the noise Text of message suggested by: asmodai 7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr, bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as always, however those defaults are not appropriate for /usr, and better options are available. PR: 36030 Submitted by: DougB 8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to avoid clashing with system .mk settings (${ECHO} has a different meaning there). Actually the patch is imcomplete, because large portion of those ${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce happy, which shouldn't be underestimated. PR: 34988 Submitted by: knu All of the above tested by: bento Special thanks goes to: kris (for his help with getting this tested) -------------------------- THE END (to be continued) ------------------------
2002-04-25 15:28:48 +00:00
@${ECHO_CMD}
.endif
.if !target(readmes)
readmes: readme
.endif
.if !target(readme)
readme:
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
@${RM} -f ${.CURDIR}/README.html
@cd ${.CURDIR} && ${MAKE} ${.CURDIR}/README.html
.endif
${.CURDIR}/README.html:
1998-08-12 01:47:47 +00:00
@${ECHO_MSG} "===> Creating README.html for ${PKGNAME}"
@${SED} -e 's|%%PORT%%|'$$(${ECHO_CMD} ${.CURDIR} | \
${SED} -e 's|.*/\([^/]*/[^/]*\)$$|\1|')'|g' \
-e 's|%%PKG%%|${PKGNAME}|g' \
-e 's|%%COMMENT%%|'"$$(${ECHO_CMD} ${COMMENT:Q})"'|' \
-e '/%%COMMENT%%/d' \
-e 's|%%DESCR%%|'"$$(${ECHO_CMD} ${DESCR} | \
${SED} -e 's|${.CURDIR}/||')"'|' \
-e 's|%%EMAIL%%|'"$$(${ECHO_CMD} "${MAINTAINER}" | \
${SED} -e 's/([^)]*)//;s/.*<//;s/>.*//')"'|g' \
-e 's|%%MAINTAINER%%|${MAINTAINER}|g' \
-e 's|%%WEBSITE%%|'"$$(cd ${.CURDIR} && eval ${MAKE} pretty-print-www-site)"'|' \
-e 's|%%BUILD_DEPENDS%%|'"$$(cd ${.CURDIR} && eval ${MAKE} pretty-print-build-depends-list)"'|' \
-e 's|%%RUN_DEPENDS%%|'"$$(cd ${.CURDIR} && eval ${MAKE} pretty-print-run-depends-list)"'|' \
-e 's|%%TOP%%|'"$$(${ECHO_CMD} ${CATEGORIES} | \
${SED} -e 's| .*||' -e 's|[^/]*|..|g')"'/..|' \
${TEMPLATES}/README.port >> ${.TARGET}
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
# The following two targets require an up-to-date INDEX in ${PORTSDIR}
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
_PRETTY_PRINT_DEPENDS_LIST=\
- Fix possibility of "infinite make fork" when "Registering install for ..." EMACS ports. [1] - Allow building a port as root using an NFS-mounted /usr/ports if the server maps root to a UID other than root. [2] - Make 'BROKEN' and 'IGNORED' ports exit their "make install" with a fail status rather than success. [3] - Improve behavior when dealing with versioned dependencies. [4] - Fix false positives in check-conflicts target. [5] - Remove obsolete bzip2 code. [6] - Add physical category net-p2p. [7] - Don't fetch INDEXFILE if not necessary; respect FETCH_ENV. [8], [11] - INDEX can now be moved outside of ports tree. [9] - Add ghostscript-gpl. [10] - Remove obsolete USE_MESA. [12] - Force pkg_install tools from ports on FreeBSD 4.10 and older. [13] - Document ALWAYS_KEEP_DISTFILES. [14] - Remove USE_REINPLACE from bsd.port.mk USE_DOS2UNIX patch. [15] PR: ports/37596 [1], ports/57259 [2], ports/63216 [3], ports/89448 [4], ports/89710 [5], ports/88996 [6], ports/89260 [7], ports/89363 [8], ports/89809 [9], ports/89853 [10], ports/91086 [11], ports/91710 [12], ports/91727 [13], ports/92111 [14], ports/92124 [15] Submitted by: Jay Sachs <jay at eziba dot com> [1], sem [1, 3, 8, 12], Andrew Heybey <ath at niksun dot com> [2], Jamie Jones <jamie at thompson dot bishopston dot net>, tobez [4], Mark Andrews <Mark_Andrews at isc dot org> [5], edwin [6, 11, 15], pav [7, 13], Peter Jeremy <PeterJeremy at optushome dot com dot au> [9], Ulrich Spoerlein <q at galgenberg dot net> [10], netchild [11], erwin [14] Reviewed by: kris, clement (partially)
2006-01-28 02:11:35 +00:00
if [ ! -r ${INDEXDIR}/${INDEXFILE} ] ; then \
${ECHO_MSG} "${.TARGET} requires an INDEX file (${INDEXFILE}). Please run make index or make fetchindex."; \
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
else \
target=${.TARGET:C/pretty-print-(.*)-depends-list/\1/} ; \
if [ "$$target" = "build" ] ; then fldnum=8 ; else fldnum=9 ; fi; \
${ECHO_MSG} -n 'This port requires package(s) "' ; \
${ECHO_MSG} -n `${AWK} -F\| "\\$$1 ~ /^${PKGNAME}/ {print \\$$$${fldnum};}" ${INDEXDIR}/${INDEXFILE}` ; \
${ECHO_MSG} "\" to $$target."; \
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
fi;
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
.if !target(pretty-print-build-depends-list)
pretty-print-build-depends-list:
2012-07-31 18:41:21 +00:00
.if defined(PKG_DEPENDS) || defined(EXTRACT_DEPENDS) || defined(PATCH_DEPENDS) || \
defined(FETCH_DEPENDS) || defined(BUILD_DEPENDS) || defined(LIB_DEPENDS)
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
@${_PRETTY_PRINT_DEPENDS_LIST}
.endif
.endif
(0) Fast INDEX generation. Only print out the directory name and don't recurse in "make describe". The new INDEX target in ports/Makefile invokes a perl script to recurse and convert them into package names. While I'm here, change the name of targets and move them around a little bit for the sake of consistency. It is also probably worth noting here that the meaning of the "build dependency" list in INDEX has been changed slightly changed. The old list was "build depends and its build depends" -- not particularly useful if you had things like autoconf, which run-depend on gm4 (you install all the things listed here and you'll get an autoconf that won't run). It is now "build depends and its run depends" -- you install everything listed here, and you'll be able to build the port. Submitted by: steve (0') Fast README.html generation. It uses ports/INDEX to find dependencies instead of embarking on to a recursive loop. Submitted by: steve (1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right side), and they get in the way of read-only port trees. (2) Surround first few variable definitions with ".if !defined()". This will make cross-compilation easier and also speed up make processes. (3) Call sysctl with absolute path. Prefer the one in /sbin over the one in /usr/sbin. (4) Add four new variables PKGINSTALL?= ${PKGDIR}/INSTALL PKGDEINSTALL?= ${PKGDIR}/DEINSTALL PKGREQ?= ${PKGDIR}/REQ PKGMESSAGE?= ${PKGDIR}/MESSAGE and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is strongly discouraged. (5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is defined. This is intended only for our own use. (6) Add more sites to MASTER_SITE_GNU. Submitted by: billf (7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is defined. This is intended only for our own use. (8) Add new target "ignorelist" which will print out the package name if the port is not going to be built on this machine. This is intended only for our own use. (9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
.if !target(pretty-print-run-depends-list)
pretty-print-run-depends-list:
.if defined(RUN_DEPENDS) || defined(LIB_DEPENDS)
- Fix 'all-depends-list' target in cases if dependencies list is very long and if some dependencies can't be added into the list. [1] - Fix FAM support. Make gamin the default FAM system. [2] - Introduce new 'quicksearch' target to show only port, path and info section of the matching ports. [3] - Introduce new category - rubygems. [4] - Fix stale dependencies while installing qmail slaveport and another port that depends on qmail. [5] - Add commentary for describes target in bsd.port.mk. [6] - Fix warning issued during make index on archs !368. [7] - Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from all files under ${WRKSRC}. If set to a string, remove in all files under ${WRKSRC} with one of these names the ^Ms. [8] - Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by checking the existance of the Perl modules with the "perl -e 'use module;'" command. [9] - Fix bsd.port.mk variable quoting issues. No quoting is necessary anymore either in the Makefile or on the command line. Affected variables include: BROKEN FORBIDDEN IGNORE MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED [10] - Add NOFETCHFILES variable. If set, don't download these files from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from ${MASTER_SITE_OVERRIDE}). [11] - Improve 'search' target output. [12] - Add a new virtual category for Amateur Radio - hamradio. [13] - Cleanup some old/unused pathes in bsd.port.mk. [14] - Add @dirrmtry for plists which does the same as: "@unexec rmdir %D/foo 2>/dev/null || true" [15] - Remove virtual category - offix. [16] - Use portsnap instead of cvsup or cvs on "make update" in /usr/ports. [17] - Move location of bsd.autotools.mk within bsd.port.mk [18] - Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19] - Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20] - Replace the string "FreeBSD" by "The FreeBSD Project" in the security warning [21] - Add bsd.local.mk for local modification to ports framework. [22] - Replace rcNG spelling by rc.d [23] - Remove superfluous USE_REINPLACE. [24] Special thanks to: linimon for spending hours with all these patches clement for fixes kris for help with pointyhat PR: ports/86310 [1], ports/89498 [2], ports/83530 [3], ports/83789 [4], ports/84053 [5], ports/86281 [6], ports/87214 [7], ports/87234 [8], ports/87318 [9], ports/87396 [10], ports/87605 [11], ports/87840 [12], ports/88230 [13], ports/88493 [14], ports/88711 [15], ports/88751 [16], ports/89281 [17], ports/89999 [18], ports/90031 [19], ports/90150 [20], ports/90668 [21], ports/91433 [23], ports/88754 [24] Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3], pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7], edwin [8, 9, 11, 15, 21], fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12], Carl Makin <carl@stagecraft.cx> [13], arved [14], NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18], jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
@${_PRETTY_PRINT_DEPENDS_LIST}
.endif
.endif
_SUB_LIST_TEMP= ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/}
.if !target(apply-slist)
apply-slist:
.if defined(SUB_FILES)
.for file in ${SUB_FILES}
.if !exists(${FILESDIR}/${file}.in)
@${ECHO_MSG} "** Missing ${FILESDIR}/${file}.in for ${PKGNAME}."; exit 1
.else
@${SED} ${_SUB_LIST_TEMP} -e '/^@comment /d' ${FILESDIR}/${file}.in > ${WRKDIR}/${file}
.endif
.endfor
.for i in pkg-message pkg-install pkg-deinstall pkg-req
.if ${SUB_FILES:M${i}*}!=""
${i:S/-//:tu}= ${WRKDIR}/${SUB_FILES:M${i}*}
.endif
.endfor
.endif
.endif
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
# Generate packing list. Also tests to make sure all required package
# files exist.
.if !target(generate-plist)
generate-plist: ${WRKDIR}
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
@${ECHO_MSG} "===> Generating temporary packing list"
2015-10-10 21:19:43 +00:00
@${MKDIR} ${TMPPLIST:H}
@if [ ! -f ${DESCR} ]; then ${ECHO_MSG} "** Missing pkg-descr for ${PKGNAME}."; exit 1; fi
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
@>${TMPPLIST}
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
@for file in ${PLIST_FILES}; do \
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
${ECHO_CMD} $${file} | ${SED} ${PLIST_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} >> ${TMPPLIST}; \
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
done
@if [ -f ${PLIST} ]; then \
${SED} ${PLIST_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} ${PLIST} >> ${TMPPLIST}; \
fi
# Keep PLIST_DIRSTRY as compatibility
.for dir in ${PLIST_DIRS} ${PLIST_DIRSTRY}
@${ECHO_CMD} ${dir} | ${SED} ${PLIST_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} -e 's,^,@dir ,' >> ${TMPPLIST}
.endfor
.if defined(USE_LINUX_PREFIX)
.if defined(USE_LDCONFIG)
@${ECHO_CMD} "@postexec ${LDCONFIG_CMD}" >> ${TMPPLIST}
@${ECHO_CMD} "@postunexec ${LDCONFIG_CMD}" >> ${TMPPLIST}
.endif
.else
.if defined(USE_LDCONFIG)
.if !defined(INSTALL_AS_USER)
@${ECHO_CMD} "@postexec ${LDCONFIG} -m ${USE_LDCONFIG}" >> ${TMPPLIST}
@${ECHO_CMD} "@postunexec ${LDCONFIG} -R" >> ${TMPPLIST}
.else
@${ECHO_CMD} "@postexec ${LDCONFIG} -m ${USE_LDCONFIG} || ${TRUE}" >> ${TMPPLIST}
@${ECHO_CMD} "@postunexec ${LDCONFIG} -R || ${TRUE}" >> ${TMPPLIST}
.endif
.endif
.if defined(USE_LDCONFIG32)
.if !defined(INSTALL_AS_USER)
@${ECHO_CMD} "@postexec ${LDCONFIG} -32 -m ${USE_LDCONFIG32}" >> ${TMPPLIST}
@${ECHO_CMD} "@postunexec ${LDCONFIG} -32 -R" >> ${TMPPLIST}
.else
@${ECHO_CMD} "@postexec ${LDCONFIG} -32 -m ${USE_LDCONFIG32} || ${TRUE}" >> ${TMPPLIST}
@${ECHO_CMD} "@postunexec ${LDCONFIG} -32 -R || ${TRUE}" >> ${TMPPLIST}
.endif
.endif
.endif
.endif
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
${TMPPLIST}:
@cd ${.CURDIR} && ${MAKE} generate-plist
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
${TMPPLIST_SORT}: ${TMPPLIST}
@${SORT} -u ${TMPPLIST} >${TMPPLIST_SORT}
.for _type in EXAMPLES DOCS
.if !target(add-plist-${_type:tl})
.if defined(PORT${_type}) && !defined(NOPORT${_type})
add-plist-${_type:tl}:
.for x in ${PORT${_type}}
@if ${ECHO_CMD} "${x}"| ${AWK} '$$1 ~ /(\*|\||\[|\]|\?|\{|\}|\$$)/ { exit 1};'; then \
if [ ! -e ${STAGEDIR}${${_type}DIR}/${x} ]; then \
${ECHO_CMD} ${${_type}DIR}/${x} >> ${TMPPLIST}; \
fi;fi
* Change bento to pointyhat names in comments. [1] * Document DISABLE_VULNERABILITIES variable. [2] * Add WWW: line for 'search' target. [3] * Speedup check-vulnerable invokation, if portaudit is installed. [4] * Run install-info for all .info files. [5] * Run add-plist-docs more strictly and prevent some situations with leftover files in the future. [6] * Introduce two new variables: MASTER_PORT and SLAVE_PORT. The results from these variables is only used as information for users. [7] * Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8] * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc' target allows users to check gcc version if USE_GCC is used. Give maintainers opportunity to add '+' character to USE_GCC version for using specified and higher versions. [9] * Install startup scripts with the help of USE_RC_SUBR variable. [10] * Add three new targets: config-recursive, rmconfig-recursive and config-conditional. You can set or delete OPTIONS for all dependencies before every build. config-conditional target is used to skip configuring ports which have already been configured. [11] * Fix using of WANT_PGSQL_VER variable if postgresql is already installed. [12] PR: ports/75768 [1], ports/75728 [2], ports/76187 [3], ports/76191 [4], ports/76182 [5], ports/75379 [6], ports/75286 [7], ports/75727 [8], ports/76489 [9], ports/73691 ports/69217 [10], ports/76254 [11], ports/76988 [12] Submitted by: dinoex [1], edwin [2] [5] [6] [8] [9] [10], Marcus Grando <marcus@corp.grupos.com.br> [3], tobez and Valentin Nechayev <netch@netch.kiev.ua> [4], linimon [7], Florent Thoumie <flz@xbsd.org> [10], Chris Dillon <cdillon@wolves.k12.mo.us> [11], girgen [12]
2005-02-07 11:17:50 +00:00
.endfor
@${FIND} -P ${PORT${_type}:S/^/${STAGEDIR}${${_type}DIR}\//} ! -type d 2>/dev/null | \
${SED} -ne 's,^${STAGEDIR},,p' >> ${TMPPLIST}
* Improve the test for the old ports directory layout [1] * Include SITE_PERL earlier [2] * Use the correct versions of autoconf and automake [3] * Add a PORTDOCS macro for automating installation of documentation files [4] * Define a default Fortran compiler for each version of USE_GCC [5] * Fix package builds when WRKDIRPREFIX is set [6] * Add more comment documentation on default targets [7] * Fix plist generation in certain cases [8] * Fix COMMENT/COMMENTFILE checking [9] * Use SU_CMD for deinstall and deinstall-all targets (provided INSTALL_AS_USER is not set) [10] * Define a default WWWOWN and WWWGRP [11] * Make INDEX builds work even when the port name is the same as a default target [12] * Fix the new share/nls/C links [13] * Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14] * Document package-recursive [15] * Create a new virtual category, lisp [16] * Create a new real category, arabic * Add a new GCCVERSION macro for eaisly tracking compiler version changes [17] * Abstract out some of the common Apache bits [18] * Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19] * Add a new virtual category, pear [20] * Add support for randomizing MASTER_SITES [21] * Don't accept PORTVERSIONS that pkg_version can't handle [22] * Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and pkg-req scripts [23] * Don't redirect stderr when running pkg_info -O. This may help troubleshoot mysterious "Error 1" messages. * Fix up the order of the various PKGNAME related macros to be consistent with portlint [24] PR: 21885 [1] 51588 [2] 55325 [3] 57778 [4] 55674 [5] 56096 [6] 56355 [7] 56533 [8] 57272 [9] 57378 [10] 57403 [11] 57438 [12] 57488 [13] 57664 [14] 57928 [15] 58232 [16] 58317 [17] 32604 [18] 57529 [19] 56582 [20] 48377 [21] 56960 [22] 58885 [23] 54351 [24] Submitted by: trevor [1] eik@fillmore-labs.com [2] rehsack@liwing.de, ade [3] eikemeier@fillmore-labs.com [4] thierry@pompo.net [5] Palle Girgensohn <girgen@pingpong.net> [6] edwin [7] leeym [8] edwin [9] fjoe [10] edwin [11] eikemeier@fillmore-labs.com [12] fuyuki@nigredo.org [13] eikemeier@fillmore-labs.com [14] freebsd@generalresources.com [15] linimon [16] linimon [17] dinoex [18] eikemeier@fillmore-labs.com [19] edwin [20] seanc [21] eikemeier@fillmore-labs.com [22] Reviewed by: eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
.endif
.endif
.endfor
.if !target(add-plist-data)
.if defined(PORTDATA)
add-plist-data:
.for x in ${PORTDATA}
@if ${ECHO_CMD} "${x}"| ${AWK} '$$1 ~ /(\*|\||\[|\]|\?|\{|\}|\$$)/ { exit 1};'; then \
Add support for staging area in the ports tree The ports tree is now staged by default. With pkgng the sequence hasn't changed, the main difference is that creating package is now independent from installing it. With pkg_install, the package is now created first and make install, do install the package. New macros: - STAGEDIR: PATH to the directory where the port will be staged. - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area) Unsupported macro if NO_STAGE is not set: - MAN* with staging man page compression and handling of hardlinks and symlinks is automatically done in the stage. the manpages becomes then a "normal" plist files and should be tracked in pkg-plist. - MANCOMPRESSED the compress-man target is able to only compress when it needed. New target: - stage: this installs everything into the stage directory - makeplist: this will create a pkg-plist and print it to stdout. This is a sample plist and it should always be _reviewed_ not directly used. NOTE: with staging only what is in the plist will be installed, nothing more, meaning a port staged cannot have leftovers exect directories left. It is really important to double check the pkg-plist to make sure all the files the maintainer want to package are in! make makeplist can help in that area. The goal is to handle as quickly as possible a full removal of the NO_STAGE support. More features can be added once the full ports tree is converted to using the staging area Conversion notes: - Remove NO_STAGE - in {pre,do,post}-install * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES} prepend ${STAGEDIR} * Remove any thing that is done by @exec or +INSTALL script it will be done automatically when syncing packages * Remove any code to show PKG-MESSAGE it will be done automatically when syncing packages * Directory creation should remain in post-install (in particular because pkgng doesn't work like pkg_install in that area and pkgng ignores the @exec mkdir but directly pack the directory even if empty) - PORTDOCS/PORTEXAMPELS To support PORTDOCS, PORTEXAMPLES most of the time there is no more need for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your plist then the given files from the stagedir will or will not sync according to NOPORTDOCS and NOPORTEXAMPLES. With hat: portmgr Reviewed by: bdrewery
2013-09-23 05:56:35 +00:00
if [ ! -e ${STAGEDIR}${DATADIR}/${x} ]; then \
${ECHO_CMD} ${DATADIR}/${x} >> ${TMPPLIST}; \
fi;fi
.endfor
@${FIND} -P ${PORTDATA:S/^/${STAGEDIR}${DATADIR}\//} ! -type d 2>/dev/null | \
${SED} -ne 's,^${STAGEDIR},,p' >> ${TMPPLIST}
.endif
.endif
.if !target(add-plist-info)
.if defined(INFO)
add-plist-info:
.for i in ${INFO}
@${LS} ${STAGEDIR}${PREFIX}/${INFO_PATH}/$i.info* | ${SED} -e s:${STAGEDIR}:@info\ :g >> ${TMPPLIST}
.endfor
.endif
.endif
# If we're installing into a non-standard PREFIX, we need to remove that directory at
# deinstall-time
.if !target(add-plist-post)
.if (${PREFIX} != ${LOCALBASE} && ${PREFIX} != ${LINUXBASE} && \
${PREFIX} != "/usr" && !defined(NO_PREFIX_RMDIR))
add-plist-post:
@${ECHO_CMD} "@dir ${PREFIX}" >> ${TMPPLIST}
* Support verbose index builds with INDEX_VERBOSE [1] * Don't assume root is using /bin/sh when switching credentials to configure OPTIONS. [2] * Support glob expressions in USE_GETTEXT to allow more flexibility in the face of future gratuitous library version bumps by the gettext developers [3]: USE_GETTEXT=yEs # Works as before (case-insensitive) USE_GETTEXT=[5-7] # Accepts any of those libintl.so.x versions # in the LIB_DEPENDS * Correctly register dependencies when a non-system perl port is used on 4.x [4] * Extend 'make search' support to allow much more flexible searching. Syntax will be documented in CHANGES for brevity. [5] * Reorder the post-install-script target to before add-plist-info for consistency [6] * Various fixes to support port operations when a port directory exists under /usr/obj [7] * Extend USE_PERL5_BUILD and USE_PERL5 to add EXTRACT and PATCH dependencies since many ports require perl in those stages [8] * Move info file deregistration later in the deinstallation process so it works properly. [9] * Improve wording in EXPIRATION_DATE message. [10] * Fix dependencies for XFREE86_VERSION==3 (obtain imake from x11/XFree86 now that the former port is gone) [11] * While building index, treat non-existent dependencies as fatal. Previously the error was being hidden by the stderr redirection. [12] * Don't always retry BROKEN ports when package building (it is taking too much time to continually rebuild ports that are usually going to really be broken). Set TRYBROKEN if you want to attempt a build of a BROKEN port. [12] * Revert incorrect change from 1.487 relating to ALL-DEPENDS-LIST [13] PR: 24214 [1], 67529 [2], 63937 [3], 65554 [4], 40699 [5], 59162 [6], 63372 66567 [7], 63394 [8], 65304 [9], 65931 [10], 66565 [11], 66743 [13] Submitted by: roam [1], will [1], hrs [2], mi [3], ade [4], Roman Neuhauser <roman@bellavista.cz> [5], Sergey Matveychuk <sem@ciam.ru> [6], gad [7], adamw [8], kris [8][12], dinoex [9], Alexey Dokuchaev <danfe@regency.nsu.ru> [10], eik [11][13]
2004-06-10 07:30:19 +00:00
.endif
.endif
* Change bento to pointyhat names in comments. [1] * Document DISABLE_VULNERABILITIES variable. [2] * Add WWW: line for 'search' target. [3] * Speedup check-vulnerable invokation, if portaudit is installed. [4] * Run install-info for all .info files. [5] * Run add-plist-docs more strictly and prevent some situations with leftover files in the future. [6] * Introduce two new variables: MASTER_PORT and SLAVE_PORT. The results from these variables is only used as information for users. [7] * Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8] * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc' target allows users to check gcc version if USE_GCC is used. Give maintainers opportunity to add '+' character to USE_GCC version for using specified and higher versions. [9] * Install startup scripts with the help of USE_RC_SUBR variable. [10] * Add three new targets: config-recursive, rmconfig-recursive and config-conditional. You can set or delete OPTIONS for all dependencies before every build. config-conditional target is used to skip configuring ports which have already been configured. [11] * Fix using of WANT_PGSQL_VER variable if postgresql is already installed. [12] PR: ports/75768 [1], ports/75728 [2], ports/76187 [3], ports/76191 [4], ports/76182 [5], ports/75379 [6], ports/75286 [7], ports/75727 [8], ports/76489 [9], ports/73691 ports/69217 [10], ports/76254 [11], ports/76988 [12] Submitted by: dinoex [1], edwin [2] [5] [6] [8] [9] [10], Marcus Grando <marcus@corp.grupos.com.br> [3], tobez and Valentin Nechayev <netch@netch.kiev.ua> [4], linimon [7], Florent Thoumie <flz@xbsd.org> [10], Chris Dillon <cdillon@wolves.k12.mo.us> [11], girgen [12]
2005-02-07 11:17:50 +00:00
.if !target(install-rc-script)
.if defined(USE_RC_SUBR)
install-rc-script:
Add support for staging area in the ports tree The ports tree is now staged by default. With pkgng the sequence hasn't changed, the main difference is that creating package is now independent from installing it. With pkg_install, the package is now created first and make install, do install the package. New macros: - STAGEDIR: PATH to the directory where the port will be staged. - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area) Unsupported macro if NO_STAGE is not set: - MAN* with staging man page compression and handling of hardlinks and symlinks is automatically done in the stage. the manpages becomes then a "normal" plist files and should be tracked in pkg-plist. - MANCOMPRESSED the compress-man target is able to only compress when it needed. New target: - stage: this installs everything into the stage directory - makeplist: this will create a pkg-plist and print it to stdout. This is a sample plist and it should always be _reviewed_ not directly used. NOTE: with staging only what is in the plist will be installed, nothing more, meaning a port staged cannot have leftovers exect directories left. It is really important to double check the pkg-plist to make sure all the files the maintainer want to package are in! make makeplist can help in that area. The goal is to handle as quickly as possible a full removal of the NO_STAGE support. More features can be added once the full ports tree is converted to using the staging area Conversion notes: - Remove NO_STAGE - in {pre,do,post}-install * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES} prepend ${STAGEDIR} * Remove any thing that is done by @exec or +INSTALL script it will be done automatically when syncing packages * Remove any code to show PKG-MESSAGE it will be done automatically when syncing packages * Directory creation should remain in post-install (in particular because pkgng doesn't work like pkg_install in that area and pkgng ignores the @exec mkdir but directly pack the directory even if empty) - PORTDOCS/PORTEXAMPELS To support PORTDOCS, PORTEXAMPLES most of the time there is no more need for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your plist then the given files from the stagedir will or will not sync according to NOPORTDOCS and NOPORTEXAMPLES. With hat: portmgr Reviewed by: bdrewery
2013-09-23 05:56:35 +00:00
@${ECHO_MSG} "===> Staging rc.d startup script(s)"
* Change bento to pointyhat names in comments. [1] * Document DISABLE_VULNERABILITIES variable. [2] * Add WWW: line for 'search' target. [3] * Speedup check-vulnerable invokation, if portaudit is installed. [4] * Run install-info for all .info files. [5] * Run add-plist-docs more strictly and prevent some situations with leftover files in the future. [6] * Introduce two new variables: MASTER_PORT and SLAVE_PORT. The results from these variables is only used as information for users. [7] * Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8] * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc' target allows users to check gcc version if USE_GCC is used. Give maintainers opportunity to add '+' character to USE_GCC version for using specified and higher versions. [9] * Install startup scripts with the help of USE_RC_SUBR variable. [10] * Add three new targets: config-recursive, rmconfig-recursive and config-conditional. You can set or delete OPTIONS for all dependencies before every build. config-conditional target is used to skip configuring ports which have already been configured. [11] * Fix using of WANT_PGSQL_VER variable if postgresql is already installed. [12] PR: ports/75768 [1], ports/75728 [2], ports/76187 [3], ports/76191 [4], ports/76182 [5], ports/75379 [6], ports/75286 [7], ports/75727 [8], ports/76489 [9], ports/73691 ports/69217 [10], ports/76254 [11], ports/76988 [12] Submitted by: dinoex [1], edwin [2] [5] [6] [8] [9] [10], Marcus Grando <marcus@corp.grupos.com.br> [3], tobez and Valentin Nechayev <netch@netch.kiev.ua> [4], linimon [7], Florent Thoumie <flz@xbsd.org> [10], Chris Dillon <cdillon@wolves.k12.mo.us> [11], girgen [12]
2005-02-07 11:17:50 +00:00
@for i in ${USE_RC_SUBR}; do \
_prefix=${PREFIX}; \
[ "${PREFIX}" = "/usr" ] && _prefix="" ; \
${INSTALL_SCRIPT} ${WRKDIR}/$${i} ${STAGEDIR}$${_prefix}/etc/rc.d/$${i%.sh}; \
${ECHO_CMD} "$${_prefix}/etc/rc.d/$${i%.sh}" >> ${TMPPLIST}; \
* Change bento to pointyhat names in comments. [1] * Document DISABLE_VULNERABILITIES variable. [2] * Add WWW: line for 'search' target. [3] * Speedup check-vulnerable invokation, if portaudit is installed. [4] * Run install-info for all .info files. [5] * Run add-plist-docs more strictly and prevent some situations with leftover files in the future. [6] * Introduce two new variables: MASTER_PORT and SLAVE_PORT. The results from these variables is only used as information for users. [7] * Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8] * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc' target allows users to check gcc version if USE_GCC is used. Give maintainers opportunity to add '+' character to USE_GCC version for using specified and higher versions. [9] * Install startup scripts with the help of USE_RC_SUBR variable. [10] * Add three new targets: config-recursive, rmconfig-recursive and config-conditional. You can set or delete OPTIONS for all dependencies before every build. config-conditional target is used to skip configuring ports which have already been configured. [11] * Fix using of WANT_PGSQL_VER variable if postgresql is already installed. [12] PR: ports/75768 [1], ports/75728 [2], ports/76187 [3], ports/76191 [4], ports/76182 [5], ports/75379 [6], ports/75286 [7], ports/75727 [8], ports/76489 [9], ports/73691 ports/69217 [10], ports/76254 [11], ports/76988 [12] Submitted by: dinoex [1], edwin [2] [5] [6] [8] [9] [10], Marcus Grando <marcus@corp.grupos.com.br> [3], tobez and Valentin Nechayev <netch@netch.kiev.ua> [4], linimon [7], Florent Thoumie <flz@xbsd.org> [10], Chris Dillon <cdillon@wolves.k12.mo.us> [11], girgen [12]
2005-02-07 11:17:50 +00:00
done
.endif
.endif
.if !target(check-man)
check-man: stage
@${ECHO_MSG} "====> Checking man pages (check-man)"
@mdirs= ; \
for dir in ${MANDIRS:S/^/${STAGEDIR}/} ; do \
[ -d $$dir ] && mdirs="$$mdirs $$dir" ;\
done ; \
err=0 ; \
for dir in $$mdirs; do \
for f in $$(find $$dir -name "*.gz"); do \
${ECHO_CMD} "===> Checking $${f##*/}" ; \
gunzip -c $$f | mandoc -Tlint -Werror && continue ; \
err=1 ; \
done ; \
done ; \
exit $$err
.endif
# Compress all manpage not already compressed which are not hardlinks
# Find all manpages which are not compressed and are hadlinks, and only get the list of inodes concerned, for each of them compress the first one found and recreate the hardlinks for the others
# Fixes all dead symlinks left by the previous round
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
.if !target(compress-man)
compress-man:
@${ECHO_MSG} "====> Compressing man pages (compress-man)"
@mdirs= ; \
for dir in ${MANDIRS:S/^/${STAGEDIR}/} ; do \
[ -d $$dir ] && mdirs="$$mdirs $$dir" ;\
done ; \
for dir in $$mdirs; do \
${FIND} $$dir -type f \! -name "*.gz" -links 1 -exec ${GZIP_CMD} {} \; ; \
${FIND} $$dir -type f \! -name "*.gz" \! -links 1 -exec ${STAT} -f '%i' {} \; | \
${SORT} -u | while read inode ; do \
unset ref ; \
for f in $$(${FIND} $$dir -type f -inum $${inode} -print); do \
if [ -z $$ref ]; then \
ref=$${f}.gz ; \
${GZIP_CMD} $${f} ; \
continue ; \
fi ; \
${RM} -f $${f} ; \
(cd $${f%/*}; ${LN} -f $${ref##*/} $${f##*/}.gz) ; \
done ; \
done ; \
${FIND} $$dir -type l \! -name "*.gz" | while read link ; do \
${LN} -sf $$(readlink $$link).gz $$link.gz ;\
${RM} -f $$link ; \
done; \
done
.endif
.if !target(stage-dir)
stage-dir:
@${MKDIR} ${STAGEDIR}${PREFIX}
.if !defined(NO_MTREE)
@${MTREE_CMD} ${MTREE_ARGS} ${STAGEDIR}${PREFIX} > /dev/null
.endif
.endif
.if !target(makeplist)
makeplist: stage
@${SETENV} ${CO_ENV} ${SH} ${SCRIPTSDIR}/check-stagedir.sh makeplist
.endif
.if !target(check-plist)
check-plist: stage
@${ECHO_MSG} "====> Checking for pkg-plist issues (check-plist)"
@${SETENV} ${CO_ENV} ${SH} ${SCRIPTSDIR}/check-stagedir.sh checkplist
@${ECHO_MSG} "===> No pkg-plist issues found (check-plist)"
.endif
.if !target(check-orphans)
check-orphans: check-plist
Hope I haven't missed anything or forgotten to credit anybody. (By the way, most of the things below are "Reviewed by: hoek" as well.) The changes are (roughly in order of appearance): (1) Revamp comments at beginning of file. Major rewrites. Reorder them into more relevant sections. Make clear which ones are user variables and not to be set in ports' Makefiles. Reviewed by: hoek (well, he's the only one who sent any comments) (2) Include ${.CURDIR}/Makefile.local if it exists. This is a local configuration file (ala rc.conf.local and make.conf.local) so please do not commit a file with this name to the repository. Suggested by: dillon (3) MANCOMPRESSED now takes three possible values: "yes", "no" and "maybe". (It used to be a binary variable -- the old behavior is now accomplished by "MANCOMPRESSED=yes". Ports that defined this variable to other values have been corrected.) "yes" means the manpages are installed compressed, "no" means they are not, and "maybe" means the port already respects the value of NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without NO_INSTALL_MANPAGES, and "no" otherwise. Add "compress-man" target and move manpage {,de}compression there. Reviewed by: hoek etc. and a full build of the ports tree (4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports for /usr/lib/aout mess. Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi) (5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to ${WRKDIR}/.PLIST.mktmp. Suggested by: hoek Strongly seconded by: steve (6) Change a couple more relative pathnames to absolute ones. Submitted by: hoek (7) Move checksum into real-extract. (8) Change way rules are chained. Instead of: build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build we now have build: ${BUILD_COOKIE} ${BUILD_COOKIE}: @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure @cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build Other than being more PC (pmake clean), this really speeds up skipping ports already built. For instance, "make package" on a fully packaged games subtree used to take 269 seconds on average, now it's 45 seconds on average. The flip side of this is that it will create more processes when the targets actually chain, but when you're actually compiling things, your make is creating half a bazzilion processes anyway so I don't think it matters. (9) ${TMPPLIST} is now a real dependency. Create "generate-plist" target to generate ${TMPPLIST}. Make sure it's called when needed (usually between do-install and post-install), and that the required files exist. (10) Change some messages so we can tell where "make index" failed. (11) Check if LIB_DEPENDS really generated the required shared lib or not. Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
.endif
.if !target(stage-qa)
stage-qa:
@${ECHO_MSG} "====> Running Q/A tests (stage-qa)"
@${SETENV} ${QA_ENV} ${SH} ${SCRIPTSDIR}/qa.sh
.if !defined(DEVELOPER)
@${ECHO_MSG} "/!\\ To run stage-qa automatically add DEVELOPER=yes to your environment /!\\"
.endif
.endif
# Fake installation of package so that user can pkg delete it later.
.if !target(fake-pkg)
STAGE_ARGS= -i ${STAGEDIR}
.if !defined(NO_PKG_REGISTER)
fake-pkg: create-manifest
.if defined(INSTALLS_DEPENDS)
@${ECHO_MSG} "===> Registering installation for ${PKGNAME} as automatic"
.else
@${ECHO_MSG} "===> Registering installation for ${PKGNAME}"
* Some spelling/grammar fixes in comments * Replace some bare uses of cat with ${CAT} * [ports/19112] Ignore RCS files (*,v) when applying patches * [ports/19270] Check whether ${DISTDIR} is writable and fail with a better error message if not (mostly caused by trying to fetch as the wrong user) * [ports/23560] Force patch backup files to be created with .orig suffix * [ports/34717] Don't enclose PTHREAD_LIBS in quotes, because it will cause problems if used in an already-quoted string. * [ports/34987] Fix an awk warning in MASTER_SORT/MASTER_SORT_REGEX code * [misc/38724] Change some uses of the deprecated test -h to test -L * [1] Registering real dependencies: dependency registration looks at the currently-installed version of the dependency and registers that version, instead of registering the version in ports which may be newer than what is installed. * [2] Further 100% speed-up of dependency registration process by eliminating second call to package-depends (using information from the first call stored in +CONTENTS file of package being installed). Very useful for developing GNOME or similar packages with zillion dependencies, when package-depends target could take few minutes to complete; * [2] Proper set-up of ${SHELL} variable in build environment, so that user's interactive shell isn't picked instead. This has various implications, ranging from build process speed-up due to using /bin/sh to invoke libtool instead of bash or any other much more bloated user's shell (configure scripts often pick it up from the ${SHELL} environment), to fixing problems some users have when building random ports. Submitted by: sobomax [1] [2], Aleksandr A. Babaylov <.@babolo.ru> [ports/19112], Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> [ports/19270], Alan Bawden <Alan@LCS.MIT.EDU> [ports/23560], Christian Weisgerber <naddy@mips.inka.de> [ports/34717], knu [ports/34987], april <april@oublinet.net> [ports/38724] PR: ports/19112, ports/19270, ports/23560, ports/34717, ports/34987, ports/36237, ports/38724 Tested on: bento 4-exp build
2002-09-19 00:16:39 +00:00
.endif
.if defined(INSTALLS_DEPENDS)
@${SETENV} ${PKG_ENV} FORCE_POST="${_FORCE_POST_PATTERNS}" ${PKG_CMD} -d ${STAGE_ARGS} -m ${METADIR} -f ${TMPPLIST}
.else
@${SETENV} ${PKG_ENV} FORCE_POST="${_FORCE_POST_PATTERNS}" ${PKG_CMD} ${STAGE_ARGS} -m ${METADIR} -f ${TMPPLIST}
.endif
@${RM} -rf ${METADIR}
.endif
.endif
# Depend is generally meaningless for arbitrary ports, but if someone wants
# one they can override this. This is just to catch people who've gotten into
# the habit of typing `make depend all install' as a matter of course.
# Same goes for tags
.for _t in depend tags
.if !target(${_t})
${_t}:
.endif
.endfor
.if !defined(NOPRECIOUSMAKEVARS)
# These won't change, so we can pass them through the environment
.for var in ${_EXPORTED_VARS}
.if empty(.MAKEFLAGS:M${var}=*) && !empty(${var})
.MAKEFLAGS: ${var}=${${var}:Q}
.endif
.endfor
.endif
.if !target(pre-check-config)
pre-check-config:
.for single in ${OPTIONS_SINGLE}
. for opt in ${OPTIONS_SINGLE_${single}}
. if empty(ALL_OPTIONS:M${single}) || !empty(PORT_OPTIONS:M${single})
. if !empty(PORT_OPTIONS:M${opt})
. if defined(OPTFOUND)
OPTIONS_WRONG_SINGLE+= ${single}
. else
OPTFOUND= true
. endif
. endif
. else
# if conditional and if the condition is unchecked, remove opt from the list of
# set options
PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}}
OPTNOCHECK= true
. endif
. endfor
. if !defined(OPTFOUND) && !defined(OPTNOCHECK)
OPTIONS_WRONG_SINGLE+= ${single}
. endif
. undef OPTFOUND
. undef OPTNOCHECK
.endfor
.undef single
.for radio in ${OPTIONS_RADIO}
. for opt in ${OPTIONS_RADIO_${radio}}
. if !empty(PORT_OPTIONS:M${opt})
. if defined(OPTFOUND)
OPTIONS_WRONG_RADIO+= ${radio}
. else
OPTFOUND= true
. endif
. endif
. endfor
. undef OPTFOUND
.endfor
.for multi in ${OPTIONS_MULTI}
. for opt in ${OPTIONS_MULTI_${multi}}
. if empty(ALL_OPTIONS:M${multi}) || !empty(PORT_OPTIONS:M${multi})
. if !empty(PORT_OPTIONS:M${opt})
OPTFOUND= true
. endif
. else
# if conditional and if the condition is unchecked, remove opt from the list of
# set options
PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}}
OPTNOCHECK= true
. endif
. endfor
. if !defined(OPTFOUND) && !defined(OPTNOCHECK)
OPTIONS_WRONG_MULTI+= ${multi}
. endif
. undef OPTFOUND
. undef OPTNOCHECK
.endfor
.undef multi
.for opt in ${PORT_OPTIONS}
. for conflict in ${${opt}_PREVENTS}
. if ${PORT_OPTIONS:M${conflict}}
. if empty(OPTIONS_WRONG_PREVENTS:M${opt})
OPTIONS_WRONG_PREVENTS+= ${opt}
. endif
OPTIONS_WRONG_PREVENTS_${opt}+= ${conflict}
. endif
. endfor
.endfor
.undef conflict
.undef opt
.endif #pre-check-config
.if !target(_check-config)
_check-config: pre-check-config
.for multi in ${OPTIONS_WRONG_MULTI}
@${ECHO_MSG} "====> You must check at least one option in the ${multi} multi"
.endfor
.for single in ${OPTIONS_WRONG_SINGLE}
@${ECHO_MSG} "====> You must select one and only one option from the ${single} single"
.endfor
.for radio in ${OPTIONS_WRONG_RADIO}
@${ECHO_MSG} "====> You cannot select multiple options from the ${radio} radio"
.endfor
.if defined(OPTIONS_WRONG_PREVENTS)
@${ECHO_MSG} "====> Two or more enabled options conflict with each other"
. for prevents in ${OPTIONS_WRONG_PREVENTS}
@${ECHO_MSG} "=====> Option ${prevents} conflicts with ${OPTIONS_WRONG_PREVENTS_${prevents}} (select only one)"
. if defined(${prevents}_PREVENTS_MSG)
@${ECHO_MSG} "======> ${${prevents}_PREVENTS_MSG}"
. endif
. endfor
.endif
.if !empty(OPTIONS_WRONG_MULTI) || !empty(OPTIONS_WRONG_SINGLE) || !empty(OPTIONS_WRONG_RADIO) || !empty(OPTIONS_WRONG_PREVENTS)
_CHECK_CONFIG_ERROR= true
.endif
.endif # _check-config
.if !target(check-config)
check-config: _check-config
.if !empty(_CHECK_CONFIG_ERROR)
@${FALSE}
.endif
.endif # check-config
.if !target(sanity-config)
sanity-config: _check-config
.if !empty(_CHECK_CONFIG_ERROR)
@echo -n "Config is invalid. Re-edit? [Y/n] "; \
read answer; \
case $$answer in \
[Nn]|[Nn][Oo]) \
exit 0; \
esac; \
cd ${.CURDIR} && ${MAKE} config
.endif
.endif # sanity-config
.if !target(pre-config)
pre-config:
D4P_ENV= PKGNAME="${PKGNAME}" \
PORT_OPTIONS="${PORT_OPTIONS}" \
ALL_OPTIONS="${ALL_OPTIONS}" \
OPTIONS_MULTI="${OPTIONS_MULTI}" \
OPTIONS_SINGLE="${OPTIONS_SINGLE}" \
OPTIONS_RADIO="${OPTIONS_RADIO}" \
OPTIONS_GROUP="${OPTIONS_GROUP}" \
NEW_OPTIONS="${NEW_OPTIONS}" \
DIALOG4PORTS="${DIALOG4PORTS}" \
PREFIX="${PREFIX}" \
LOCALBASE="${LOCALBASE}" \
PORTSDIR="${PORTSDIR}" \
MAKE="${MAKE}" \
D4PHEIGHT="${D4PHEIGHT}" \
D4PWIDTH="${D4PWIDTH}" \
D4PFULLSCREEN="${D4PFULLSCREEN}"
.if exists(${PKGHELP})
D4P_ENV+= PKGHELP="${PKGHELP}"
.endif
.for opt in ${ALL_OPTIONS}
D4P_ENV+= ${opt}_DESC=""${${opt}_DESC:Q}""
.endfor
2013-06-10 06:40:45 +00:00
.for otype in MULTI GROUP SINGLE RADIO
. for m in ${OPTIONS_${otype}}
D4P_ENV+= OPTIONS_${otype}_${m}="${OPTIONS_${otype}_${m}}" \
${m}_DESC=""${${m}_DESC:Q}""
. for opt in ${OPTIONS_${otype}_${m}}
D4P_ENV+= ${opt}_DESC=""${${opt}_DESC:Q}""
2013-06-10 06:40:45 +00:00
. endfor
. endfor
.endfor
2013-06-10 06:40:45 +00:00
.undef m
.undef otype
.undef opt
.endif # pre-config
.if !target(do-config)
do-config:
.if empty(ALL_OPTIONS) && empty(OPTIONS_SINGLE) && empty(OPTIONS_MULTI) && empty(OPTIONS_RADIO) && empty(OPTIONS_GROUP)
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
@${ECHO_MSG} "===> No options to configure"
.else
@optionsdir=${OPTIONS_FILE:H}; \
if [ ! -w "${PORT_DBDIR}" -a "`stat -f %u ${PORT_DBDIR:H}`" = 0 ]; \
then \
${ECHO_MSG} "===> Switching to root credentials to create $${optionsdir}"; \
(${SU_CMD} "${SH} -c \"${MKDIR} $${optionsdir} 2> /dev/null\"") || \
(${ECHO_MSG} "===> Cannot create $${optionsdir}, check permissions"; exit 1); \
${ECHO_MSG} "===> Returning to user credentials" ; \
else \
${MKDIR} $${optionsdir} 2> /dev/null || \
(${ECHO_MSG} "===> Cannot create $${optionsdir}, check permissions"; exit 1) ; \
fi
@TMPOPTIONSFILE=$$(mktemp -t portoptions); \
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
trap "${RM} -f $${TMPOPTIONSFILE}; exit 1" 1 2 3 5 10 13 15; \
${SETENV} ${D4P_ENV} ${SH} ${SCRIPTSDIR}/dialog4ports.sh $${TMPOPTIONSFILE} || { \
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
${RM} -f $${TMPOPTIONSFILE}; \
${ECHO_MSG} "===> Options unchanged"; \
exit 0; \
}; \
${ECHO_CMD}; \
if [ ! -e $${TMPOPTIONSFILE} ]; then \
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
${ECHO_MSG} "===> No user-specified options to save for ${PKGNAME}"; \
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
exit 0; \
fi; \
SELOPTIONS=$$(${CAT} $${TMPOPTIONSFILE}); \
${RM} -f $${TMPOPTIONSFILE}; \
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
TMPOPTIONSFILE=$$(mktemp -t portoptions); \
trap "${RM} -f $${TMPOPTIONSFILE}; exit 1" 1 2 3 5 10 13 15; \
${ECHO_CMD} "# This file is auto-generated by 'make config'." > $${TMPOPTIONSFILE}; \
${ECHO_CMD} "# Options for ${PKGNAME}" >> $${TMPOPTIONSFILE}; \
${ECHO_CMD} "_OPTIONS_READ=${PKGNAME}" >> $${TMPOPTIONSFILE}; \
${ECHO_CMD} "_FILE_COMPLETE_OPTIONS_LIST=${COMPLETE_OPTIONS_LIST}" >> $${TMPOPTIONSFILE}; \
for i in ${COMPLETE_OPTIONS_LIST}; do \
if ${ECHO_CMD} $${SELOPTIONS} | ${GREP} -qw $${i}; then \
${ECHO_CMD} "OPTIONS_FILE_SET+=$${i}" >> $${TMPOPTIONSFILE}; \
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
else \
${ECHO_CMD} "OPTIONS_FILE_UNSET+=$${i}" >> $${TMPOPTIONSFILE}; \
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
fi; \
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
done; \
if [ ! -w "${OPTIONS_FILE:H}" -a "`stat -f %u ${OPTIONS_FILE:H}`" != ${UID} ]; \
then \
${ECHO_MSG} "===> Switching to root credentials to write ${OPTIONS_FILE}"; \
${SU_CMD} "${CAT} $${TMPOPTIONSFILE} > ${OPTIONS_FILE}"; \
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
${ECHO_MSG} "===> Returning to user credentials"; \
else \
${CAT} $${TMPOPTIONSFILE} > ${OPTIONS_FILE}; \
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
fi; \
${RM} -f $${TMPOPTIONSFILE}
@cd ${.CURDIR} && ${MAKE} sanity-config
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
.endif
.endif # do-config
.if !target(config)
.if !defined(NO_DIALOG)
config: pre-config do-config
.else
config:
@${ECHO_MSG} "===> Skipping 'config' as NO_DIALOG is defined"
.endif
.endif # config
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
* Change bento to pointyhat names in comments. [1] * Document DISABLE_VULNERABILITIES variable. [2] * Add WWW: line for 'search' target. [3] * Speedup check-vulnerable invokation, if portaudit is installed. [4] * Run install-info for all .info files. [5] * Run add-plist-docs more strictly and prevent some situations with leftover files in the future. [6] * Introduce two new variables: MASTER_PORT and SLAVE_PORT. The results from these variables is only used as information for users. [7] * Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8] * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc' target allows users to check gcc version if USE_GCC is used. Give maintainers opportunity to add '+' character to USE_GCC version for using specified and higher versions. [9] * Install startup scripts with the help of USE_RC_SUBR variable. [10] * Add three new targets: config-recursive, rmconfig-recursive and config-conditional. You can set or delete OPTIONS for all dependencies before every build. config-conditional target is used to skip configuring ports which have already been configured. [11] * Fix using of WANT_PGSQL_VER variable if postgresql is already installed. [12] PR: ports/75768 [1], ports/75728 [2], ports/76187 [3], ports/76191 [4], ports/76182 [5], ports/75379 [6], ports/75286 [7], ports/75727 [8], ports/76489 [9], ports/73691 ports/69217 [10], ports/76254 [11], ports/76988 [12] Submitted by: dinoex [1], edwin [2] [5] [6] [8] [9] [10], Marcus Grando <marcus@corp.grupos.com.br> [3], tobez and Valentin Nechayev <netch@netch.kiev.ua> [4], linimon [7], Florent Thoumie <flz@xbsd.org> [10], Chris Dillon <cdillon@wolves.k12.mo.us> [11], girgen [12]
2005-02-07 11:17:50 +00:00
.if !target(config-recursive)
config-recursive:
@${ECHO_MSG} "===> Setting user-specified options for ${PKGNAME} and dependencies";
@for dir in ${.CURDIR} $$(${ALL-DEPENDS-LIST}); do \
(cd $$dir; ${MAKE} config-conditional); \
done
.endif # config-recursive
* Change bento to pointyhat names in comments. [1] * Document DISABLE_VULNERABILITIES variable. [2] * Add WWW: line for 'search' target. [3] * Speedup check-vulnerable invokation, if portaudit is installed. [4] * Run install-info for all .info files. [5] * Run add-plist-docs more strictly and prevent some situations with leftover files in the future. [6] * Introduce two new variables: MASTER_PORT and SLAVE_PORT. The results from these variables is only used as information for users. [7] * Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8] * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc' target allows users to check gcc version if USE_GCC is used. Give maintainers opportunity to add '+' character to USE_GCC version for using specified and higher versions. [9] * Install startup scripts with the help of USE_RC_SUBR variable. [10] * Add three new targets: config-recursive, rmconfig-recursive and config-conditional. You can set or delete OPTIONS for all dependencies before every build. config-conditional target is used to skip configuring ports which have already been configured. [11] * Fix using of WANT_PGSQL_VER variable if postgresql is already installed. [12] PR: ports/75768 [1], ports/75728 [2], ports/76187 [3], ports/76191 [4], ports/76182 [5], ports/75379 [6], ports/75286 [7], ports/75727 [8], ports/76489 [9], ports/73691 ports/69217 [10], ports/76254 [11], ports/76988 [12] Submitted by: dinoex [1], edwin [2] [5] [6] [8] [9] [10], Marcus Grando <marcus@corp.grupos.com.br> [3], tobez and Valentin Nechayev <netch@netch.kiev.ua> [4], linimon [7], Florent Thoumie <flz@xbsd.org> [10], Chris Dillon <cdillon@wolves.k12.mo.us> [11], girgen [12]
2005-02-07 11:17:50 +00:00
.if !target(config-conditional)
config-conditional:
.if !empty(NEW_OPTIONS)
@cd ${.CURDIR} && ${MAKE} config;
* Change bento to pointyhat names in comments. [1] * Document DISABLE_VULNERABILITIES variable. [2] * Add WWW: line for 'search' target. [3] * Speedup check-vulnerable invokation, if portaudit is installed. [4] * Run install-info for all .info files. [5] * Run add-plist-docs more strictly and prevent some situations with leftover files in the future. [6] * Introduce two new variables: MASTER_PORT and SLAVE_PORT. The results from these variables is only used as information for users. [7] * Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8] * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc' target allows users to check gcc version if USE_GCC is used. Give maintainers opportunity to add '+' character to USE_GCC version for using specified and higher versions. [9] * Install startup scripts with the help of USE_RC_SUBR variable. [10] * Add three new targets: config-recursive, rmconfig-recursive and config-conditional. You can set or delete OPTIONS for all dependencies before every build. config-conditional target is used to skip configuring ports which have already been configured. [11] * Fix using of WANT_PGSQL_VER variable if postgresql is already installed. [12] PR: ports/75768 [1], ports/75728 [2], ports/76187 [3], ports/76191 [4], ports/76182 [5], ports/75379 [6], ports/75286 [7], ports/75727 [8], ports/76489 [9], ports/73691 ports/69217 [10], ports/76254 [11], ports/76988 [12] Submitted by: dinoex [1], edwin [2] [5] [6] [8] [9] [10], Marcus Grando <marcus@corp.grupos.com.br> [3], tobez and Valentin Nechayev <netch@netch.kiev.ua> [4], linimon [7], Florent Thoumie <flz@xbsd.org> [10], Chris Dillon <cdillon@wolves.k12.mo.us> [11], girgen [12]
2005-02-07 11:17:50 +00:00
.endif
.endif # config-conditional
* Change bento to pointyhat names in comments. [1] * Document DISABLE_VULNERABILITIES variable. [2] * Add WWW: line for 'search' target. [3] * Speedup check-vulnerable invokation, if portaudit is installed. [4] * Run install-info for all .info files. [5] * Run add-plist-docs more strictly and prevent some situations with leftover files in the future. [6] * Introduce two new variables: MASTER_PORT and SLAVE_PORT. The results from these variables is only used as information for users. [7] * Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8] * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc' target allows users to check gcc version if USE_GCC is used. Give maintainers opportunity to add '+' character to USE_GCC version for using specified and higher versions. [9] * Install startup scripts with the help of USE_RC_SUBR variable. [10] * Add three new targets: config-recursive, rmconfig-recursive and config-conditional. You can set or delete OPTIONS for all dependencies before every build. config-conditional target is used to skip configuring ports which have already been configured. [11] * Fix using of WANT_PGSQL_VER variable if postgresql is already installed. [12] PR: ports/75768 [1], ports/75728 [2], ports/76187 [3], ports/76191 [4], ports/76182 [5], ports/75379 [6], ports/75286 [7], ports/75727 [8], ports/76489 [9], ports/73691 ports/69217 [10], ports/76254 [11], ports/76988 [12] Submitted by: dinoex [1], edwin [2] [5] [6] [8] [9] [10], Marcus Grando <marcus@corp.grupos.com.br> [3], tobez and Valentin Nechayev <netch@netch.kiev.ua> [4], linimon [7], Florent Thoumie <flz@xbsd.org> [10], Chris Dillon <cdillon@wolves.k12.mo.us> [11], girgen [12]
2005-02-07 11:17:50 +00:00
.if !target(showconfig) && (make(*config*) || (!empty(.MAKEFLAGS:M-V) && !empty(.MAKEFLAGS:M*_DESC)))
.include "${PORTSDIR}/Mk/bsd.options.desc.mk"
2013-06-10 07:27:05 +00:00
MULTI_EOL= : you have to choose at least one of them
SINGLE_EOL= : you have to select exactly one of them
RADIO_EOL= : you can only select none or one of them
showconfig: check-config
.if !empty(COMPLETE_OPTIONS_LIST)
@${ECHO_MSG} "===> The following configuration options are available for ${PKGNAME}":
.for opt in ${ALL_OPTIONS}
@[ -z "${PORT_OPTIONS:M${opt}}" ] || match="on" ; ${ECHO_MSG} -n " ${opt}=$${match:-off}"
. if !empty(${opt}_DESC)
@${ECHO_MSG} -n ": "${${opt}_DESC:Q}
. endif
@${ECHO_MSG} ""
.endfor
#multi and conditional multis
.for otype in MULTI GROUP SINGLE RADIO
. for m in ${OPTIONS_${otype}}
. if empty(${m}_DESC)
@${ECHO_MSG} "====> Options available for the ${otype:tl} ${m}${${otype}_EOL}"
. else
@${ECHO_MSG} "====> ${${m}_DESC}${${otype}_EOL}"
. endif
. for opt in ${OPTIONS_${otype}_${m}}
@[ -z "${PORT_OPTIONS:M${opt}}" ] || match="on" ; ${ECHO_MSG} -n " ${opt}=$${match:-off}"
. if !empty(${opt}_DESC)
@${ECHO_MSG} -n ": "${${opt}_DESC:Q}
. endif
@${ECHO_MSG} ""
. endfor
. endfor
.endfor
.undef otype
.undef m
.undef opt
@${ECHO_MSG} "===> Use 'make config' to modify these settings"
.endif
.endif # showconfig
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
.if !target(showconfig-recursive)
showconfig-recursive:
@${ECHO_MSG} "===> The following configuration options are available for ${PKGNAME} and dependencies";
@for dir in ${.CURDIR} $$(${ALL-DEPENDS-LIST}); do \
(cd $$dir; ${MAKE} showconfig); \
done
.endif # showconfig-recursive
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
.if !target(rmconfig)
rmconfig:
.if exists(${OPTIONS_FILE})
-@${ECHO_MSG} "===> Removing user-configured options for ${PKGNAME}"; \
2014-12-28 19:01:42 +00:00
optionsdir=${OPTIONS_FILE:H}; \
if [ ${UID} != 0 -a "x${INSTALL_AS_USER}" = "x" -a ! -w "${OPTIONS_FILE}" ]; then \
${ECHO_MSG} "===> Switching to root credentials to remove ${OPTIONS_FILE} and $${optionsdir}"; \
${SU_CMD} "${RM} -f ${OPTIONS_FILE} ; \
${RMDIR} $${optionsdir}"; \
${ECHO_MSG} "===> Returning to user credentials"; \
else \
${RM} -f ${OPTIONS_FILE}; \
${RMDIR} $${optionsdir} 2>/dev/null || return 0; \
fi
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
.else
* Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1] * Remove trailing whitespace from bsd.port.mk [2] * Enhanced OPTIONS handling [3] * Add a USE_ICONV macro [4] * Add a USE_GETTEXT macro [5] * Add support for p5-Module::Build [6] * Enhance bsd.sdl.mk with WANT_SDL [7] * Remove NetBSD and OpenBSD bits from bsd.port.mk [8] * Correct a type in PKGDIR description in bsd.port.mk [9] * Add new DIRNAME macro [10] * Cleanup bsd.port.mk [11] * The default Perl for -CURRENT has been updated to 5.8.2 [12] * Optimize recursive operations on the ports tree [13] * Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is not defined [14] * Remove sysutils/rc_subr dependency on -CURRENT [15] * Add MySQL 5.X support to the ports system [16] * Fix a comment typo related to MySQL [17] * Change PTHREAD_{CFLAGS,LIBS} behavior [18] * Do not check distfile size on FreeBSD < 4.8 [19] * Do not install ports with security vulnerabilities [20] * Use ${LOCALBASE}/sbin/pkg_* tools if found [21] * A new net-mgmt physical category has been added [22] * Stop relying on port.mkversion [23] * Fix a regression in checksum processing [24] * Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25] * Switch to root to run config and rmconfig targets [26] * Add SIZE attributes for distfiles by default [27] PR: 61683 [3] 62131 [4] 61992 [5] 61621 [6] 61877 [7] 61401 [8] 61684 [10] 61684 61955 [11] 61857 [12] 61757 [14] 61454 [15] 60559 [16] 62039 [20] 62039 [21] 61856 [23] 61972 [27] Submitted by: ale [1] marcus [2] eik [3] trevor [4] trevor [5] skv [6] edwin [7] Markus Brueffer <brueffer@phoenix-systems.de> [8] trevor [9] eik [10] eik des [11] des [12] kris [13] marcus [14] Sergey Matveychuk <sem@ciam.ru> [15] ale [16] linimon [17] eischen netchild [18] marcus netchild [20] eik [21] wollman [22] des [23] marcus eik [24] marcus [25] marcus [26] trevor [27]
2004-02-04 04:27:04 +00:00
@${ECHO_MSG} "===> No user-specified options configured for ${PKGNAME}"
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
.endif
.endif # rmconfig
Here come the patches! * Add ghostscript knobs [1] * Add per-port persistent build options with a menu-driven front-end [2] * Allow porters to override the message generated when do-configure fails [3] * Add patch to obviate many pkg-plist files [4] * Fix the PKG_DBDIR comment [5] * Make ports framework more robust with regard to make index [6] * Add new command macros to bsd.port.mk [7] * Remove direct command use from bsd.port.mk [8] * Make the ports system respect WITHOUT_CPU_CFLAGS [9] * Break the SDL code out into bsd.sdl.mk [10] * Add working support for USE_SIZE [11] * Fix RANDOMIZE_MASTER_SITES on -CURRENT [12] * Convert some spaces to tabs [13] * Add new physcial categories accessibility and x11-themes [14] * Speed up GNU configure scripts [15] * Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall [16] * Be more specific about looking for files in distinfo [17] * Add new run-autotools target, and resort configure targets [18] * Make CONFLICTS compare prefix for installed packages and PREFIX [19] * Change directory to ${.CURDIR} before running certain make commands [20] * When INSTALL_AS_USER is set, run ldconfig with failures ignored [21] * Speed up the security check phase [22] * Fix some corner cases in the PORTDOCS code [23] * Add a new DEPRECATED macro [24] * Make INDEX breakage more informative [25] Look for a full write-up to follow on ports@ and ports-developers@. PR: 36112 [1] 59909 [4] 61351 [6] 59058 [7] 59058 [8] 59493 [9] 55494 [10] 59058 [11] 59315 [12] 59058 [13] 59811 [15] 59058 [16] 59058 [17] 60882 [18] 58149 [19] 59058 [20] 61133 [21] 55331 [22] 59070 [23] 59362 [24] 59626 [25] Submitted by: linimon [1] eivind [2] marcus [3] trevor [4] gerald [5] linimon [6] eik [7] eik [8] jeh [9] edwin [10] eik [11] Sergey Matveychuk <sem@ciam.ru> [12] eik [13] trevor gnome [14] adamw [15] eik [16] eik [17] edwin [18] clement [19] eik [20] edwin lev [21] Eugene M. Kim <ab@astralblue.com> [22] eik [23] linimon [24] eik [25]
2004-01-20 09:14:10 +00:00
* Change bento to pointyhat names in comments. [1] * Document DISABLE_VULNERABILITIES variable. [2] * Add WWW: line for 'search' target. [3] * Speedup check-vulnerable invokation, if portaudit is installed. [4] * Run install-info for all .info files. [5] * Run add-plist-docs more strictly and prevent some situations with leftover files in the future. [6] * Introduce two new variables: MASTER_PORT and SLAVE_PORT. The results from these variables is only used as information for users. [7] * Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8] * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc' target allows users to check gcc version if USE_GCC is used. Give maintainers opportunity to add '+' character to USE_GCC version for using specified and higher versions. [9] * Install startup scripts with the help of USE_RC_SUBR variable. [10] * Add three new targets: config-recursive, rmconfig-recursive and config-conditional. You can set or delete OPTIONS for all dependencies before every build. config-conditional target is used to skip configuring ports which have already been configured. [11] * Fix using of WANT_PGSQL_VER variable if postgresql is already installed. [12] PR: ports/75768 [1], ports/75728 [2], ports/76187 [3], ports/76191 [4], ports/76182 [5], ports/75379 [6], ports/75286 [7], ports/75727 [8], ports/76489 [9], ports/73691 ports/69217 [10], ports/76254 [11], ports/76988 [12] Submitted by: dinoex [1], edwin [2] [5] [6] [8] [9] [10], Marcus Grando <marcus@corp.grupos.com.br> [3], tobez and Valentin Nechayev <netch@netch.kiev.ua> [4], linimon [7], Florent Thoumie <flz@xbsd.org> [10], Chris Dillon <cdillon@wolves.k12.mo.us> [11], girgen [12]
2005-02-07 11:17:50 +00:00
.if !target(rmconfig-recursive)
rmconfig-recursive:
@${ECHO_MSG} "===> Removing user-specified options for ${PKGNAME} and dependencies";
@for dir in ${.CURDIR} $$(${ALL-DEPENDS-LIST}); do \
(cd $$dir; ${MAKE} rmconfig); \
done
.endif # rmconfig-recursive
.if !target(pretty-print-config)
MULTI_START= [
MULTI_END= ]
GROUP_START= [
GROUP_END= ]
SINGLE_START= (
SINGLE_END= )
RADIO_START= (
RADIO_END= )
pretty-print-config:
.for opt in ${ALL_OPTIONS}
@[ -z "${PORT_OPTIONS:M${opt}}" ] || match="+" ; ${ECHO_MSG} -n "$${match:--}${opt} "
.endfor
.for otype in MULTI GROUP SINGLE RADIO
. for m in ${OPTIONS_${otype}}
@${ECHO_MSG} -n "${m}${${otype}_START} "
. for opt in ${OPTIONS_${otype}_${m}}
@[ -z "${PORT_OPTIONS:M${opt}}" ] || match="+" ; ${ECHO_MSG} -n "$${match:--}${opt} "
. endfor
@${ECHO_MSG} -n "${${otype}_END} "
. endfor
.endfor
.undef otype
.undef m
.undef opt
@${ECHO_MSG} ""
.endif # pretty-print-config
* Change bento to pointyhat names in comments. [1] * Document DISABLE_VULNERABILITIES variable. [2] * Add WWW: line for 'search' target. [3] * Speedup check-vulnerable invokation, if portaudit is installed. [4] * Run install-info for all .info files. [5] * Run add-plist-docs more strictly and prevent some situations with leftover files in the future. [6] * Introduce two new variables: MASTER_PORT and SLAVE_PORT. The results from these variables is only used as information for users. [7] * Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8] * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc' target allows users to check gcc version if USE_GCC is used. Give maintainers opportunity to add '+' character to USE_GCC version for using specified and higher versions. [9] * Install startup scripts with the help of USE_RC_SUBR variable. [10] * Add three new targets: config-recursive, rmconfig-recursive and config-conditional. You can set or delete OPTIONS for all dependencies before every build. config-conditional target is used to skip configuring ports which have already been configured. [11] * Fix using of WANT_PGSQL_VER variable if postgresql is already installed. [12] PR: ports/75768 [1], ports/75728 [2], ports/76187 [3], ports/76191 [4], ports/76182 [5], ports/75379 [6], ports/75286 [7], ports/75727 [8], ports/76489 [9], ports/73691 ports/69217 [10], ports/76254 [11], ports/76988 [12] Submitted by: dinoex [1], edwin [2] [5] [6] [8] [9] [10], Marcus Grando <marcus@corp.grupos.com.br> [3], tobez and Valentin Nechayev <netch@netch.kiev.ua> [4], linimon [7], Florent Thoumie <flz@xbsd.org> [10], Chris Dillon <cdillon@wolves.k12.mo.us> [11], girgen [12]
2005-02-07 11:17:50 +00:00
desktop-categories:
@categories=""; \
for native_category in ${CATEGORIES}; do \
c=""; \
case $$native_category in \
accessibility) c="Utility Accessibility" ;; \
archivers) c="Utility Archiving" ;; \
astro) c="Education Science Astronomy" ;; \
audio) c="AudioVideo Audio" ;; \
benchmarks) c="System" ;; \
biology) c="Education Science Biology" ;; \
cad) c="Graphics Engineering" ;; \
comms) c="Utility" ;; \
converters) c="Utility" ;; \
databases) c="Office Database" ;; \
deskutils) c="Utility" ;; \
devel) c="Development" ;; \
dns) c="Network" ;; \
elisp) c="Development" ;; \
editors) c="Utility" ;; \
emulators) c="System Emulator" ;; \
finance) c="Office Finance" ;; \
ftp) c="Network FileTransfer" ;; \
games) c="Game" ;; \
geography) c="Education Science Geography" ;; \
gnome) c="GNOME GTK" ;; \
graphics) c="Graphics" ;; \
hamradio) c="HamRadio" ;; \
haskell) c="Development" ;; \
irc) c="Network IRCClient" ;; \
java) c="Development Java" ;; \
kde) c="KDE Qt" ;; \
lang) c="Development" ;; \
lisp) c="Development" ;; \
mail) c="Office Email" ;; \
mate) c="MATE GTK" ;; \
math) c="Education Science Math" ;; \
mbone) c="Network AudioVideo" ;; \
multimedia) c="AudioVideo" ;; \
net) c="Network" ;; \
net-im) c="Network InstantMessaging" ;; \
net-mgmt) c="Network" ;; \
net-p2p) c="Network P2P" ;; \
news) c="Network News" ;; \
palm) c="Office PDA" ;; \
parallel) c="ParallelComputing" ;; \
pear) c="Development WebDevelopment" ;; \
perl5) c="Development" ;; \
python) c="Development" ;; \
ruby) c="Development" ;; \
rubygems) c="Development" ;; \
scheme) c="Development" ;; \
science) c="Science Education" ;; \
security) c="System Security" ;; \
shells) c="System Shell" ;; \
sysutils) c="System" ;; \
tcl*|tk*) c="Development" ;; \
textproc) c="Utility TextTools" ;; \
www) c="Network" ;; \
x11-clocks) c="Utility Clock" ;; \
x11-fm) c="System FileManager" ;; \
xfce) c="GTK XFCE" ;; \
zope) c="Development WebDevelopment" ;; \
esac; \
if [ -n "$$c" ]; then \
categories="$$categories $$c"; \
fi; \
done; \
if [ -n "$$categories" ]; then \
for c in $$categories; do ${ECHO_MSG} "$$c"; done \
| ${SORT} -u | ${TR} '\n' ';'; \
${ECHO_MSG}; \
fi
# http://standards.freedesktop.org/menu-spec/menu-spec-latest.html
DESKTOP_CATEGORIES_MAIN= AudioVideo Audio Video Development Education \
Game Graphics Network Office Science Settings System Utility
DESKTOP_CATEGORIES_ADDITIONAL= Building Debugger IDE GUIDesigner Profiling \
RevisionControl Translation Calendar ContactManagement Database \
Dictionary Chart Email Finance FlowChart PDA ProjectManagement \
Presentation Spreadsheet WordProcessor 2DGraphics VectorGraphics \
RasterGraphics 3DGraphics Scanning OCR Photography Publishing Viewer \
TextTools DesktopSettings HardwareSettings Printing PackageManager \
Dialup InstantMessaging Chat IRCClient Feed FileTransfer HamRadio News \
P2P RemoteAccess Telephony TelephonyTools VideoConference WebBrowser \
WebDevelopment Midi Mixer Sequencer Tuner TV AudioVideoEditing Player \
Recorder DiscBurning ActionGame AdventureGame ArcadeGame BoardGame \
BlocksGame CardGame KidsGame LogicGame RolePlaying Shooter Simulation \
SportsGame StrategyGame Art Construction Music Languages \
ArtificialIntelligence Astronomy Biology Chemistry ComputerScience \
DataVisualization Economy Electricity Geography Geology Geoscience \
History Humanities ImageProcessing Literature Maps Math \
NumericalAnalysis MedicalSoftware Physics Robotics Spirituality Sports \
ParallelComputing Amusement Archiving Compression Electronics Emulator \
Engineering FileTools FileManager TerminalEmulator Filesystem Monitor \
Security Accessibility Calculator Clock TextEditor Documentation Adult \
Core KDE GNOME MATE XFCE GTK Qt Motif Java ConsoleOnly
DESKTOP_CATEGORIES_RESERVED= Screensaver TrayIcon Applet Shell
VALID_DESKTOP_CATEGORIES+= ${DESKTOP_CATEGORIES_MAIN} \
${DESKTOP_CATEGORIES_ADDITIONAL} \
${DESKTOP_CATEGORIES_RESERVED}
.if defined(DESKTOP_ENTRIES)
check-desktop-entries:
@set -- ${DESKTOP_ENTRIES} XXX; \
if [ `${EXPR} \( $$# - 1 \) % 6` -ne 0 ]; then \
${ECHO_MSG} "${PKGNAME}: Makefile error: the DESKTOP_ENTRIES list must contain one or more groups of 6 elements"; \
exit 1; \
fi; \
num=1; \
while [ $$# -gt 6 ]; do \
entry="#$$num"; \
if [ -n "$$4" ]; then \
entry="$$entry ($$4)"; \
elif [ -n "$$1" ]; then \
entry="$$entry ($$1)"; \
fi; \
if [ -z "$$1" ]; then \
${ECHO_MSG} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 1 (Name) is empty"; \
exit 1; \
fi; \
if ${ECHO_CMD} "$$3" | ${GREP} -iq '.\(png\|svg\|xpm\)$$'; then \
if ! ${ECHO_CMD} "$$3" | ${GREP} -iq '^/'; then \
${ECHO_MSG} "${PKGNAME}: Makefile warning: in desktop entry $$entry: field 3 (Icon) should be either absolute path or icon name without extension if installed icons follow Icon Theme Specification"; \
fi; \
fi; \
if [ -z "$$4" ]; then \
${ECHO_MSG} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 4 (Exec) is empty"; \
exit 1; \
fi; \
if [ -n "$$5" ]; then \
for c in `${ECHO_CMD} "$$5" | ${TR} ';' ' '`; do \
if ! ${ECHO_CMD} ${VALID_DESKTOP_CATEGORIES} | ${GREP} -wq $$c; then \
${ECHO_CMD} "${PKGNAME}: Makefile warning: in desktop entry $$entry: category $$c is not a valid desktop category"; \
fi; \
done; \
if ! ${ECHO_CMD} "$$5" | ${GREP} -q "`${ECHO_CMD} ${DESKTOP_CATEGORIES_MAIN} | ${SED} -E 's,[[:blank:]]+,\\\|,g'`"; then \
${ECHO_CMD} "${PKGNAME}: Makefile warning: in desktop entry $$entry: field 5 (Categories) must contain at least one main desktop category (make -VDESKTOP_CATEGORIES_MAIN)"; \
fi; \
if ! ${ECHO_CMD} "$$5" | ${GREP} -q ';$$'; then \
${ECHO_MSG} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 5 (Categories) does not end with a semicolon"; \
exit 1; \
fi; \
else \
if [ -z "`cd ${.CURDIR} && ${MAKE} desktop-categories`" ]; then \
${ECHO_MSG} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 5 (Categories) is empty and could not be deduced from the CATEGORIES variable"; \
exit 1; \
fi; \
fi; \
if [ "x$$6" != "xtrue" ] && [ "x$$6" != "xfalse" ] && [ "x$$6" != "x" ]; then \
${ECHO_MSG} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 6 (StartupNotify) is not \"true\", \"false\" or \"\"(empty)"; \
exit 1; \
fi; \
shift 6; \
num=`${EXPR} $$num + 1`; \
done
.endif
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
.if !target(install-desktop-entries)
.if defined(DESKTOP_ENTRIES)
install-desktop-entries:
@set -- ${DESKTOP_ENTRIES} XXX; \
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
while [ $$# -gt 6 ]; do \
filename="`${ECHO_CMD} "$$4" | ${SED} -e 's,^/,,g;s,[/ ],_,g;s,[^_[:alnum:]],,g'`.desktop"; \
pathname="${STAGEDIR}${DESKTOPDIR}/$$filename"; \
categories="$$5"; \
if [ -z "$$categories" ]; then \
categories="`cd ${.CURDIR} && ${MAKE} desktop-categories`"; \
fi; \
${ECHO_CMD} "${DESKTOPDIR}/$$filename" >> ${TMPPLIST}; \
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
${ECHO_CMD} "[Desktop Entry]" > $$pathname; \
${ECHO_CMD} "Type=Application" >> $$pathname; \
${ECHO_CMD} "Version=1.0" >> $$pathname; \
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
${ECHO_CMD} "Name=$$1" >> $$pathname; \
comment="$$2"; \
if [ -z "$$2" ]; then \
comment="`cd ${.CURDIR} && ${MAKE} -VCOMMENT`"; \
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
fi; \
${ECHO_CMD} "GenericName=$$comment" >> $$pathname; \
${ECHO_CMD} "Comment=$$comment" >> $$pathname; \
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
if [ -n "$$3" ]; then \
${ECHO_CMD} "Icon=$$3" >> $$pathname; \
fi; \
${ECHO_CMD} "Exec=$$4" >> $$pathname; \
${ECHO_CMD} "Categories=$$categories" >> $$pathname; \
if [ -n "$$6" ]; then \
${ECHO_CMD} "StartupNotify=$$6" >> $$pathname; \
fi; \
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
shift 6; \
done
* Add bsd.database.mk [1] - move out from bsd.port.mk USE_MYSQL and USE_PGSQL. - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE knobs). * Espace '+' in make search [2] * Add "makepatch" target to simplify creation of patches during porting [3] * Replace deprecated MACHINE_ARCH with ARCH [4] * Remove support of OpenLDAP 2.1 [5] * Add bsd.tcl.mk [6] It introduces USE_TCL/USE_TCL_BUILD knobs to support various version of tcl (8.0 -> 8.4) * Fix cosmetic bugs in security-check target [7] * Add support for INDEX-7 and above (up to INDEX-9 actually) [8] * Add "package-recursive" to bsd.port.subdir.mk [9] * Remove check for FreeBSD version < 460101 [10] * New category: net-im [11] * Add .desktop file facilities It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12] * Add SHA256 support to "*checksum" targets [13] * Fix USE_PYTHON with OPTIONS [14] * Force NO_LINT to MAKE_ENV to avoid library breaks [15] * Fix typo: s/RC_ORDER/USE_RCORDER/g [16] * Add support for PostgreSQL 8.1 [17] * Add bsd.apache.mk USE_APACHE knob enhancements [18] PR: ports/85695 [1], ports/85669 [2], ports/85488 [3], ports/84489 [4], ports/83835 [5], ports/83718 [6], ports/83716 [7], ports/83710 [8], ports/82753 [9], ports/82138 [10], ports/81206 [11], ports/79509 [12], ports/79123 [13], ports/74866 [14], ports/85490 [15], ports/83514 [16], ports/88466 [17] Submitted by: vsevolod [1] [6], Ricardo Alves dos Reis <ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4], krion [5] [8] , Petr Rehor <prehor@gmail.com> [7], clement [8] [18], jhs@berklix.org [9], edwin [10] [13], pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
.endif
.endif
.if defined(WARNING)
WARNING_WAIT?= 10
show-warnings:
@${ECHO_MSG} "/!\\ WARNING /!\\"
.for m in ${WARNING}
@${ECHO_MSG} "${m}"
.endfor
@${ECHO_MSG}
@sleep ${WARNING_WAIT}
.endif
.if defined(DEVELOPER)
.if defined(DEV_WARNING)
DEV_WARNING_WAIT?= 10
show-dev-warnings:
@${ECHO_MSG} "/!\\ ${PKGNAME}: Makefile warnings, please consider fixing /!\\"
@${ECHO_MSG}
.for m in ${DEV_WARNING}
@${ECHO_MSG} ${m}
.endfor
@${ECHO_MSG}
.if defined(DEV_WARNING_FATAL)
@${FALSE}
.else
@sleep ${DEV_WARNING_WAIT}
.endif
.endif
.if defined(DEV_ERROR)
show-dev-errors:
@${ECHO_MSG} "/!\\ ${PKGNAME}: Makefile errors /!\\"
@${ECHO_MSG}
2013-09-19 08:17:21 +00:00
.for m in ${DEV_ERROR}
@${ECHO_MSG} "${m}"
.endfor
@${ECHO_MSG}
@${FALSE}
.endif
2013-11-20 21:50:11 +00:00
.endif #DEVELOPER
# Please note that the order of the following targets is important, and
# should not be modified.
_TARGETS_STAGES= SANITY PKG FETCH EXTRACT PATCH CONFIGURE BUILD INSTALL TEST PACKAGE STAGE
# Define the SEQ of actions to take when each target is ran, and which targets
# it depends on before running its SEQ.
#
# Main target has a priority of 500, pre-target 300, post-target 700,
# target-depends 150. Other targets are spaced in between those
#
# If you change the pre-foo and post-foo values here, go and keep them in sync
# in _OPTIONS_TARGETS in bsd.options.mk
_SANITY_SEQ= 050:post-chroot 100:pre-everything 150:check-makefile \
200:show-warnings 210:show-dev-warnings 220:show-dev-errors \
250:check-categories 300:check-makevars \
350:check-desktop-entries 400:check-depends \
450:identify-install-conflicts 500:check-deprecated \
550:check-vulnerable 600:check-license 650:check-config \
700:buildanyway-message 750:options-message ${_USES_sanity}
_PKG_DEP= check-sanity
_PKG_SEQ= 500:pkg-depends
_FETCH_DEP= pkg
_FETCH_SEQ= 150:fetch-depends 300:pre-fetch 450:pre-fetch-script \
500:do-fetch 550:fetch-specials 700:post-fetch \
850:post-fetch-script \
${_OPTIONS_fetch} ${_USES_fetch}
_EXTRACT_DEP= fetch
_EXTRACT_SEQ= 010:check-build-conflicts 050:extract-message 100:checksum \
150:extract-depends 190:clean-wrkdir 200:${EXTRACT_WRKDIR} \
300:pre-extract 450:pre-extract-script 500:do-extract \
700:post-extract 850:post-extract-script \
${_OPTIONS_extract} ${_USES_extract}
_PATCH_DEP= extract
_PATCH_SEQ= 050:ask-license 100:patch-message 150:patch-depends \
300:pre-patch 450:pre-patch-script 500:do-patch \
700:post-patch 850:post-patch-script \
${_OPTIONS_patch} ${_USES_patch}
_CONFIGURE_DEP= patch
_CONFIGURE_SEQ= 150:build-depends 151:lib-depends 200:configure-message \
300:pre-configure 450:pre-configure-script 460:run-autotools \
490:run-autotools-fixup 500:do-configure 700:post-configure \
850:post-configure-script \
${_OPTIONS_configure} ${_USES_configure}
_BUILD_DEP= configure
_BUILD_SEQ= 100:build-message 300:pre-build 450:pre-build-script \
500:do-build 700:post-build 850:post-build-script \
${_OPTIONS_build} ${_USES_build}
_STAGE_DEP= build
# STAGE is special in its numbering as it has install and stage, so install is
# the main, and stage goes after.
_STAGE_SEQ= 050:stage-message 100:stage-dir 150:run-depends \
151:lib-depends 200:apply-slist 300:pre-install \
400:generate-plist 450:pre-su-install 475:create-users-groups \
500:do-install 550:kmod-post-install 700:post-install \
750:post-install-script 800:post-stage 850:compress-man \
860:install-rc-script 870:install-ldconfig-file \
880:install-license 890:install-desktop-entries \
900:add-plist-info 910:add-plist-docs 920:add-plist-examples \
930:add-plist-data 940:add-plist-post ${POST_PLIST:C/^/990:/} \
${_OPTIONS_install} ${_USES_install} \
${_OPTIONS_stage} ${_USES_stage}
.if defined(DEVELOPER)
_STAGE_SEQ+= 995:stage-qa
.else
stage-qa: stage
.endif
_TEST_DEP= stage
_TEST_SEQ= 100:test-message 150:test-depends 300:pre-test 500:do-test \
800:post-test \
${_OPTIONS_test} ${_USES_test}
_INSTALL_DEP= stage
_INSTALL_SEQ= 100:install-message 150:run-depends 151:lib-depends \
200:check-already-installed
_INSTALL_SUSEQ= 300:fake-pkg 500:security-check
_PACKAGE_DEP= stage
_PACKAGE_SEQ= 100:package-message 300:pre-package 450:pre-package-script \
500:do-package 850:post-package-script \
${_OPTIONS_package} ${_USES_package}
# Enforce order for -jN builds
.for _t in ${_TARGETS_STAGES}
# Check if the port need to change the default order of some targets...
. if defined(TARGET_ORDER_OVERRIDE)
_tmp_seq:=
. for _entry in ${_${_t}_SEQ}
# for _target because :M${_target} does not work with fmake
. for _target in ${_entry:C/^[0-9]+://}
. if ${TARGET_ORDER_OVERRIDE:M*\:${_target}}
_tmp_seq:= ${_tmp_seq} ${TARGET_ORDER_OVERRIDE:M*\:${_target}}
. else
_tmp_seq:= ${_tmp_seq} ${_entry}
. endif
. endfor
. endfor
_${_t}_SEQ:= ${_tmp_seq}
. endif
. for s in ${_${_t}_SEQ:O:C/^[0-9]+://}
. if target(${s})
. if ! ${NOTPHONY:M${s}}
_PHONY_TARGETS+= ${s}
. endif
_${_t}_REAL_SEQ+= ${s}
. endif
. endfor
. for s in ${_${_t}_SUSEQ:O:C/^[0-9]+://}
. if target(${s})
. if ! ${NOTPHONY:M${s}}
_PHONY_TARGETS+= ${s}
. endif
_${_t}_REAL_SUSEQ+= ${s}
. endif
. endfor
.ORDER: ${_${_t}_DEP} ${_${_t}_REAL_SEQ}
.endfor
# Define all of the main targets which depend on a sequence of other targets.
# See above *_SEQ and *_DEP. The _DEP will run before this defined target is
# ran. The _SEQ will run as this target once _DEP is satisfied.
.for target in extract patch configure build stage install package
# Check if config dialog needs to show and execute it if needed. If is it not
# needed (_OPTIONS_OK), then just depend on the cookie which is defined later
# to depend on the *_DEP and execute the *_SEQ.
# If options are required, execute config-conditional and then re-execute the
# target noting that config is no longer needed.
.if !target(${target}) && defined(_OPTIONS_OK)
2014-01-04 00:05:01 +00:00
_PHONY_TARGETS+= ${target}
${target}: ${${target:tu}_COOKIE}
.elif !target(${target})
${target}: config-conditional
@cd ${.CURDIR} && ${MAKE} CONFIG_DONE_${PKGBASE:tu}=1 ${${target:tu}_COOKIE}
.elif target(${target}) && defined(IGNORE)
.endif
.if !exists(${${target:tu}_COOKIE})
# Define the real target behavior. Depend on the target's *_DEP. Execute
# the target's *_SEQ. Also handle su and USE_SUBMAKE needs.
.if ${UID} != 0 && defined(_${target:tu}_REAL_SUSEQ) && !defined(INSTALL_AS_USER)
. if defined(USE_SUBMAKE)
${${target:tu}_COOKIE}: ${_${target:tu}_DEP}
@cd ${.CURDIR} && ${MAKE} ${_${target:tu}_REAL_SEQ}
. else # !USE_SUBMAKE
${${target:tu}_COOKIE}: ${_${target:tu}_DEP} ${_${target:tu}_REAL_SEQ}
. endif # USE_SUBMAKE
@${ECHO_MSG} "===> Switching to root credentials for '${target}' target"
@cd ${.CURDIR} && \
${SU_CMD} "${MAKE} ${_${target:tu}_REAL_SUSEQ}"
@${ECHO_MSG} "===> Returning to user credentials"
@${TOUCH} ${TOUCH_FLAGS} ${.TARGET}
.else # No SU needed
. if defined(USE_SUBMAKE)
${${target:tu}_COOKIE}: ${_${target:tu}_DEP}
@cd ${.CURDIR} && \
${MAKE} ${_${target:tu}_REAL_SEQ} ${_${target:tu}_REAL_SUSEQ}
@${TOUCH} ${TOUCH_FLAGS} ${.TARGET}
. else # !USE_SUBMAKE
${${target:tu}_COOKIE}: ${_${target:tu}_DEP} ${_${target:tu}_REAL_SEQ} ${_${target:tu}_REAL_SUSEQ}
@${TOUCH} ${TOUCH_FLAGS} ${.TARGET}
. endif # USE_SUBMAKE
.endif # SU needed
.else # exists(cookie)
${${target:tu}_COOKIE}::
@if [ -e ${.TARGET} ]; then \
${DO_NADA}; \
else \
cd ${.CURDIR} && ${MAKE} ${.TARGET}; \
fi
.endif # !exists(cookie)
.endfor # foreach(targets)
2014-01-04 00:05:01 +00:00
.PHONY: ${_PHONY_TARGETS} check-sanity fetch pkg
.if !target(check-sanity)
check-sanity: ${_SANITY_REAL_SEQ}
.endif
.if !target(fetch)
fetch: ${_FETCH_DEP} ${_FETCH_REAL_SEQ}
.endif
.if !target(pkg)
pkg: ${_PKG_DEP} ${_PKG_REAL_SEQ}
.endif
.if !target(test)
test: ${_TEST_DEP} ${_TEST_REAL_SEQ}
.endif
.endif
# End of post-makefile section.
.endif
# End of the DESTDIR if statement